﻿/* ===========================================
   Theme Contract Reference
   Documentation only — do not assign values here.
   The active type.*.css theme file must define
   the complete variable set below.

   Purpose:
   - content.css consumes variables only
   - theme files own all token values
   - every theme file should have identical shape

   Categories:
   - Core design tokens: new Typematter primitives
   - Legacy/widget tokens: shared tokens for older
     widgets and site chrome that now live in this
     single shared stylesheet
=========================================== */

/*
:root {
    Core design tokens
    --tm-bg-light:
    --tm-bg-muted:
    --tm-bg-dark:
    --tm-text-light:
    --tm-text-dark:
    --tm-primary:
    --tm-primary-hover:
    --tm-badge-bg:
    --tm-badge-bg-dark:
    --tm-code-bg:
    --tm-code-text:
    --tm-radius-sm:
    --tm-radius-md:
    --tm-radius-lg:
    --tm-shadow-sm:
    --tm-shadow-md:
    --tm-pad-sm:
    --tm-pad-md:
    --tm-pad-lg:
    --tm-pad-xl:

    Legacy/widget typography
    --cms-body-font-size:
    --cms-body-line-height:
    --cms-body-font-family:

    Legacy/widget surfaces
    --cms-table-border-color:
    --cms-table-header-bg:

    Legacy/widget navigation
    --cms-topnav-link-color:
    --cms-topnav-link-padding:
    --cms-topnav-link-hover-color:
    --cms-topnav-border:
    --cms-topnav-bg:
    --cms-topnav-border-bottom:
    --cms-menu-item-border:
    --cms-menu-bg:
    --cms-menu-toggle-color:
    --cms-menu-toggle-icon-color:
    --cms-menu-toggle-icon-offset:
    --cms-submenu-link-hover-color:
    --cms-submenu-link-hover-bg:
    --cms-mobile-menu-bg:
    --cms-mobile-menu-min-width:
    --cms-selected-menu-item-bg:
    --cms-selected-menu-item-offset:
    --cms-selected-menu-item-border-top:
    --cms-selected-menu-item-width:
    --cms-selected-menu-link-color:
    --cms-selected-menu-link-bg:
    --cms-submenu-width:
    --cms-topnav-submenu-width:
    --cms-submenu-offset-x:
    --cms-submenu-inner-padding-left:
    --cms-deep-submenu-padding-left:
    --cms-mobile-menu-item-border-bottom:
    --cms-sidebar-item-min-width:
    --cms-sidebar-item-border:
    --cms-sidebar-item-bg:
    --cms-sidebar-item-margin:
    --cms-sidebar-item-color:
    --cms-sidebar-item-font-size:
    --cms-sidebar-item-active-border-top:
    --cms-sidebar-item-active-link-color:
    --cms-sidebar-group-label-bg:
    --cms-sidebar-group-label-color:
    --cms-sidebar-title-bg:
    --cms-sidebar-title-color:
    --cms-sidebar-title-min-width:
    --cms-sidebar-title-padding-left:
    --cms-sidebar-title-padding:
    --cms-sidebar-title-font-size:
    --cms-sidebar-title-margin:
    --cms-sidebar-title-margin-top:
    --cms-utility-text-color:
    --cms-footer-text-color:
    --cms-footer-bg:
    --cms-footer-padding:

    Legacy/widget buttons
    --cms-button-primary-bg:
    --cms-button-primary-border:
    --cms-button-primary-radius:
    --cms-button-primary-hover-bg:
    --cms-button-success-bg:
    --cms-button-success-border:
    --cms-button-success-radius:
    --cms-button-success-hover-bg:

    Legacy/widget content
    --cms-heading-1-color:
    --cms-heading-2-color:
    --cms-heading-4-color:
    --cms-heading-5-color:
    --cms-body-text-color:
    --cms-inline-link-color:

    Legacy/widget special sections
    --cms-highlight-section-bg:
    --cms-highlight-section-color:
    --cms-highlight-section-padding:
    --cms-highlight-section-text-align:
    --cms-contact-section-bg:
    --cms-contact-section-color:
    --cms-contact-section-padding:
    --cms-contact-section-text-align:
    --cms-sidebar-nav-width:
    --cms-sidebar-nav-padding:
    --cms-sidebar-nav-bg:
    --cms-sidebar-nav-float:
    --cms-highlight-chip-bg:

    Legacy/widget list blocks
    --cms-list-block-bg:
    --cms-list-block-border:
    --cms-list-block-link-color:
    --cms-list-block-link-padding:
    --cms-list-block-hover-bg:

    Legacy/widget scoped links
    --cms-inline-card-link-color:
    --cms-inline-card-link-decoration:
    --cms-inline-card-link-padding:
    --cms-inline-card-link-bg:

    Legacy/widget person gallery
    --cms-person-gallery-title-bg:
    --cms-person-gallery-title-color:
}
*/

/* ===========================================
   Core design token consumers
=========================================== */

/* Theme token values are provided by the active type.*.css theme file. */




/* ===========================================
   Section
=========================================== */

.tm-section {
    width: 100%;
    position: relative;
}

.tm-pad-sm {
    padding: var(--tm-pad-sm) 0;
}

.tm-pad-md {
    padding: var(--tm-pad-md) 0;
}

.tm-pad-lg {
    padding: var(--tm-pad-lg) 0;
}

.tm-pad-xl {
    padding: var(--tm-pad-xl) 0;
}

.tm-tone-light {
    background: var(--tm-bg-light);
    color: var(--tm-text-light);
}

.tm-tone-muted {
    background: var(--tm-bg-muted);
    color: var(--tm-text-light);
}

.tm-tone-dark {
    background: var(--tm-bg-dark);
    color: var(--tm-text-dark);
}

/* ===========================================
   Card
=========================================== */

.tm-card {
    background: var(--tm-bg-light);
    border-radius: var(--tm-radius-md);
    padding: 20px;
    box-shadow: var(--tm-shadow-sm);
    transition: transform 0.22s ease, box-shadow 0.22s ease;
    will-change: transform, box-shadow;
}

    .tm-card:hover {
        transform: translateY(-8px) scale(1.01);
        box-shadow: 0 18px 40px rgba(0,0,0,0.14);
    }

.tm-tone-dark .tm-card {
    background: rgba(255,255,255,0.06);
    box-shadow: none;
}

    .tm-tone-dark .tm-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 14px 28px rgba(0,0,0,0.24);
    }

/* ===========================================
   Panel
=========================================== */

.tm-panel {
    border-radius: var(--tm-radius-md);
}

.tm-panel-pad-sm {
    padding: 16px;
}

.tm-panel-pad-md {
    padding: 24px;
}

.tm-panel-pad-lg {
    padding: 36px;
}

.tm-panel-muted {
    background: var(--tm-bg-muted);
}

.tm-panel-elevated {
    background: var(--tm-bg-light);
    box-shadow: var(--tm-shadow-md);
}


/* ===========================================
   Badges (Markdown UL)
=========================================== */

.tm-badges ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.tm-badges li {
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 0.85rem;
    background: var(--tm-badge-bg);
}

.tm-tone-dark .tm-badges li {
    background: var(--tm-badge-bg-dark);
}


/* ===========================================
   CTA Buttons
=========================================== */

.tm-btn {
    display: inline-flex;
    align-items: center;
    padding: 12px 18px;
    border-radius: var(--tm-radius-sm);
    font-weight: 600;
    text-decoration: none;
    transition: all .2s ease;
}

.tm-btn-primary {
    background: var(--tm-primary);
    color: #ffffff;
}

    .tm-btn-primary:hover {
        background: var(--tm-primary-hover);
    }

.tm-btn-outline {
    border: 1px solid currentColor;
    background: transparent;
}


/* ===========================================
   Code (base)
   - Default code styling (works everywhere)
=========================================== */

.tm-code pre {
    margin: 0;
    padding: 18px;
    border-radius: var(--tm-radius-md);
    overflow-x: auto;
    background: var(--tm-code-bg);
    color: var(--tm-code-text);
}

.tm-code code {
    font-family: Consolas, Monaco, monospace;
}


/* ===========================================
   CODE WINDOW (panel variant="code")
   - Reusable anywhere
=========================================== */

.tm-panel-code {
    background: rgba(15, 23, 42, 0.95);
    border-radius: 1rem;
    box-shadow: 0 22px 60px rgba(15, 23, 42, 0.45);
    border: 1px solid rgba(148, 163, 184, 0.25);
    overflow: hidden;
}

    /* label (optional) */
    .tm-panel-code .tm-code-label {
        font-size: .7rem;
        text-transform: uppercase;
        letter-spacing: .14em;
        color: #9ca3af;
        margin-bottom: .5rem;
    }

    /* file line becomes the window header row */
    .tm-panel-code .tm-code-file {
        position: relative;
        font-size: .8rem;
        color: #cbd5e1;
        margin-bottom: .75rem;
        padding-left: 3.25rem; /* space for dots */
    }

        /* dots (pure CSS) */
        .tm-panel-code .tm-code-file::before {
            content: "";
            position: absolute;
            left: 0;
            top: 0.1rem;
            width: .5rem;
            height: .5rem;
            border-radius: 999px;
            background: #f97373;
            box-shadow: .75rem 0 0 #fbbf24, 1.5rem 0 0 #34d399;
        }

    /* override code body inside code window */
    .tm-panel-code .tm-code pre {
        padding: 1rem;
        border-radius: .75rem;
        background: #020617;
        border: 1px solid rgba(75, 85, 99, 0.9);
        color: #f9fafb;
    }

    /* nicer mono font for the window */
    .tm-panel-code .tm-code code {
        font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    }


/* ===========================================
   HERO (section variant="hero")
=========================================== */

.tm-section-hero {
    background: radial-gradient(circle at top left, #1f4b99 0, #060b26 45%, #020309 100%);
    color: #f9fafb;
    overflow: hidden;
}

    /* Kicker (text variant="kicker") */
    .tm-section-hero .tm-text-kicker {
        text-transform: uppercase;
        letter-spacing: .16em;
        font-size: .75rem;
        color: #93c5fd;
        margin-bottom: .5rem;
    }

        .tm-section-hero .tm-text-kicker p {
            margin: 0;
        }

    /* Title (Markdown H1 inside normal tm-text) */
    .tm-section-hero .tm-text h1 {
        font-size: 2.6rem;
        font-weight: 700;
        line-height: 1.15;
        margin-bottom: 1rem;
        color: #f9fafb;
    }

    /* Subtitle (text variant="subtitle") */
    .tm-section-hero .tm-text-subtitle {
        font-size: 1.05rem;
        color: #e5e7eb;
        max-width: 32rem;
        margin-bottom: 1.5rem;
    }

        .tm-section-hero .tm-text-subtitle p {
            margin: 0;
        }

    /* Default hero paragraphs */
    .tm-section-hero .tm-text p {
        color: #e5e7eb;
    }

    /* Background image layer (text variant="bg") */
    .tm-section-hero .tm-text-bg {
        position: absolute;
        top: -20px;
        right: -140px;
        width: 520px;
        opacity: 0.4;
        pointer-events: none;
        user-select: none;
        z-index: 0;
    }

        .tm-section-hero .tm-text-bg p {
            margin: 0;
        }

        .tm-section-hero .tm-text-bg img {
            width: 100%;
            height: auto;
            display: block;
        }

    /* Ensure foreground content stays above bg */
    .tm-section-hero .tm-panel,
    .tm-section-hero .tm-code {
        position: relative;
        z-index: 1;
    }

@media (max-width: 767.98px) {
    .tm-section-hero .tm-text h1 {
        font-size: 2.1rem;
    }
}
/* ===========================================
   GALLERY (section variant="gallery")
=========================================== */

.tm-section-gallery .tm-grid > .row > [class*="col-"] {
    display: flex;
}

/* Card becomes media card */
.tm-section-gallery .tm-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    padding: 0; /* remove text-card padding */
    overflow: hidden;
    border-radius: var(--tm-radius-md);
}

/* Inner text wrapper becomes vertical layout */
.tm-section-gallery .tm-text {
    display: flex;
    flex-direction: column;
    height: 100%;
}

    /* Title styling */
    .tm-section-gallery .tm-text h3 {
        padding: 18px 18px 0 18px;
        margin: 0 0 12px 0;
        font-size: 1rem;
        line-height: 1.35;
        min-height: 3.2rem; /* keeps titles aligned */
    }

    /* Remove default paragraph spacing */
    .tm-section-gallery .tm-text p {
        margin: 0;
    }

        /* Image area */
        .tm-section-gallery .tm-text p img {
            display: block;
            width: 100%;
            height: 320px;
            object-fit: contain; /* better for CAD drawings */
            background: #fff;
            padding: 12px;
        }


/* ===========================================
   CMS chrome token consumers (type.*.css consolidation)
   - Structural rules live here.
   - Theme files should override only CSS variables.
=========================================== */

/* Legacy/widget token values are provided by the active type.*.css theme file. */
/* Logo Bar */
.txwy { 
    padding: 6px 0;
}

body {
    padding-bottom: 20px;
    margin: 0;
    font-size: var(--cms-body-font-size);
    line-height: var(--cms-body-line-height);
    font-family: var(--cms-body-font-family);
}

.qexw {
    margin-top: 26px;
}

.cms-legacy-nav .dropdown-menu li a {
    font-size: 13px;
    padding: 4px 20px !important;
    border-bottom: none;
}

.navbar-light .navbar-nav .nav-link a {
    color: rgba(0, 0, 0, 0.5);
    display: block;
}

.cms-legacy-nav .navbar-nav li {
    border-left: none;
}

.cms-legacy-nav .navbar-nav .dropdown .cms-menu-expanded {
    display: block;
}

.cms-mobile-nav .navbar-nav .dropdown {
    margin-bottom: 4px;
}

.widget table td,
.widget-text table td {
    border: 1px solid var(--cms-table-border-color);
}

.widget table th,
.widget-text table th {
    background: var(--cms-table-header-bg);
    border: 1px solid var(--cms-table-border-color);
}

.widget table,
.widget-text table,
.widget,
.widget-text {
    width: 100%;
}

    .widget img {
        width: 100%;
    }

.cms-legacy-nav .navbar-nav .nav-link,
.cms-legacy-nav .navbar-nav .cms-menu-toggle {
    color: var(--cms-menu-toggle-color) !important;
    display: inline-block;
}

.cms-utility-text {
    color: var(--cms-utility-text-color);
}

.cms-legacy-nav .dropdown-menu {
    margin: 0;
}

.collaps .dropdown-menu {
    border: none;
    padding: 0;
    background-color: var(--cms-menu-bg);
}

.nav-item .dropdown-menu .dropdown-submenu .dropdown-menu .dropdown-submenu .dropdown-menu {
    padding-left: var(--cms-deep-submenu-padding-left);
}

.cms-page-content {
    padding-left: 8px;
    margin-top: var(--cms-sidebar-title-margin-top);
}

.cms-legacy-nav .collaps {
    margin-left: -15px;
}

.collaps .navbar-nav .dropdown-menu {
    position: relative;
}

.cms-mobile-nav .cms-nav-muted-text {
    color: #d1d0d0;
}

.cms-legacy-nav .collaps .dropdown {
    background: var(--cms-mobile-menu-bg);
    min-width: var(--cms-mobile-menu-min-width);
}

.dropdown-submenu > .dropdown-menu {
    top: 5px;
    left: 0 !important;
    margin-left: -1px;
    border-radius: 0 6px 6px 6px;
}

.cms-legacy-nav .navbar-nav .dropdown .cms-menu-item-selected {
    background: var(--cms-selected-menu-item-bg);
    margin-left: var(--cms-selected-menu-item-offset);
    border-top: var(--cms-selected-menu-item-border-top);
    width: var(--cms-selected-menu-item-width);
}

    .cms-legacy-nav .navbar-nav .dropdown .cms-menu-item-selected > a,
    .cms-legacy-nav .navbar-nav .dropdown .dropdown-menu .cms-menu-item-selected > a,
    .cms-legacy-nav .navbar-nav .cms-menu-item-selected .cms-menu-link {
        color: var(--cms-selected-menu-link-color) !important;
        background: var(--cms-selected-menu-link-bg);
    }

.cms-mobile-nav .navbar-nav > li {
    border-bottom: var(--cms-mobile-menu-item-border-bottom) !important;
}

.dropdown-submenu {
    border-bottom: 1px solid #e4e4e4;
    width: var(--cms-submenu-width);
}

.navbar-light .navbar-nav .nav-link {
    display: inline-block;
    color: var(--cms-topnav-link-color) !important;
    padding: var(--cms-topnav-link-padding);
    font-size: 14px;
}

.nav-item .dropdown-menu .dropdown-submenu .dropdown-menu {
    padding-left: var(--cms-submenu-inner-padding-left);
    margin-left: var(--cms-submenu-offset-x) !important;
}

.navbar-nav > li {
    border: none !important;
}

.navbar-nav ul {
    min-width: var(--cms-sidebar-item-min-width);
    padding: 0;
}

.dropdown-menu > li {
    border-bottom: var(--cms-menu-item-border);
}

    .dropdown-menu > li > a {
        border-bottom: none !important;
    }

.navbar-light .navbar-nav .dropdown-submenu .nav-link:hover {
    color: var(--cms-submenu-link-hover-color) !important;
    background: var(--cms-submenu-link-hover-bg);
}

.dropdown .fa-angle-down {
    color: var(--cms-menu-toggle-icon-color) !important;
    margin-left: var(--cms-menu-toggle-icon-offset);
}

.cms-sidebar-list li {
    min-width: var(--cms-sidebar-item-min-width);
    border: var(--cms-sidebar-item-border) !important;
    background: var(--cms-sidebar-item-bg);
    margin: var(--cms-sidebar-item-margin);
    color: var(--cms-sidebar-item-color);
    font-size: var(--cms-sidebar-item-font-size);
}

    .cms-sidebar-list li a {
        color: var(--cms-sidebar-item-color) !important;
        padding: 15px;
    }

    .cms-sidebar-list li.active {
        border-top: var(--cms-sidebar-item-active-border-top) !important;
    }

        .cms-sidebar-list li.active a {
            color: var(--cms-sidebar-item-active-link-color) !important;
        }

.cms-sidebar-list .cms-sidebar-group-label {
    background: var(--cms-sidebar-group-label-bg);
    padding: 4px;
    color: var(--cms-sidebar-group-label-color);
    text-decoration: none;
}

.cms-sidebar-title {
    background: var(--cms-sidebar-title-bg);
    color: var(--cms-sidebar-title-color);
    min-width: var(--cms-sidebar-title-min-width);
    padding-left: var(--cms-sidebar-title-padding-left);
    padding: var(--cms-sidebar-title-padding);
    font-size: var(--cms-sidebar-title-font-size);
    margin: var(--cms-sidebar-title-margin);
    margin-top: var(--cms-sidebar-title-margin-top);
}

.cms-footer {
    color: var(--cms-footer-text-color);
    background: var(--cms-footer-bg);
    padding: var(--cms-footer-padding);
}
    .cms-footer .tm-cta-group {
        gap: 14px;
    }
    .cms-footer .tm-text h2 {
        margin-bottom: 0.75rem;
    }
.navbar-inverse {
    border: var(--cms-topnav-border);
    background-color: var(--cms-topnav-bg);
    border-bottom: var(--cms-topnav-border-bottom);
}

#main-menu .dropdown-menu .dropdown-submenu,
.navbar-expand-md .navbar-nav .dropdown-menu {
    width: var(--cms-topnav-submenu-width) !important;
}

#main-menu .dropdown-menu .nav-item:hover {
    color: #ffffff;
    background: var(--cms-submenu-link-hover-bg);
}

#main-menu .dropdown-menu .nav-link:hover,
.cms-sidebar-link:hover,
.cms-legacy-nav .navbar-nav .nav-link:hover,
.cms-legacy-nav .navbar-nav .dropdown-menu .dropdown-submenu .cms-menu-toggle:hover,
.navbar-light .navbar-nav .nav-link:focus {
    color: var(--cms-topnav-link-hover-color) !important;
    text-decoration: none;
}

.cms-legacy-nav .navbar-nav .cms-menu-toggle:hover {
    color: var(--cms-menu-toggle-color) !important;
}

.btn-primary {
    color: #fff;
    background: var(--cms-button-primary-bg) !important;
    border-color: var(--cms-button-primary-border) !important;
    margin-bottom: 0;
    border-radius: var(--cms-button-primary-radius);
}

    .btn-primary:hover {
        background-color: var(--cms-button-primary-hover-bg) !important;
    }

.btn-success {
    background-color: var(--cms-button-success-bg) !important;
    border-color: var(--cms-button-success-border) !important;
    border-radius: var(--cms-button-success-radius);
    padding: 8px;
}

    .btn-success:hover {
        background-color: var(--cms-button-success-hover-bg) !important;
    }

    .btn-success:focus, .btn-success.focus,
    .btn-primary:focus, .btn-primary.focus {
        box-shadow: none !important;
    }

.widget-text h1 {
    color: var(--cms-heading-1-color);
}

.widget-text h2 {
    color: var(--cms-heading-2-color);
}

.widget-text h4 {
    color: var(--cms-heading-4-color);
}

.widget-text h5 {
    color: var(--cms-heading-5-color);
}

.widget-text p, .cms-footer .widget-text p {
    color: var(--cms-body-text-color);
}

.col-sm-3 .row .widget-text a,
.col-sm-6 .row .widget-text a,
.cms-footer .row .widget-text a {
    display: inline;
    text-decoration: var(--cms-inline-card-link-decoration);
    padding: var(--cms-inline-card-link-padding);
    color: var(--cms-inline-card-link-color);
    background: var(--cms-inline-card-link-bg);
    float: none;
}

#our {
    background: var(--cms-highlight-section-bg);
    color: var(--cms-highlight-section-color);
    margin-bottom: 0;
    padding: var(--cms-highlight-section-padding);
    text-align: var(--cms-highlight-section-text-align);
}

#contacts {
    background: var(--cms-contact-section-bg);
    color: var(--cms-contact-section-color);
    margin-bottom: 0;
    padding: var(--cms-contact-section-padding);
    text-align: var(--cms-contact-section-text-align);
}

#site-navd {
    width: var(--cms-sidebar-nav-width);
    padding: var(--cms-sidebar-nav-padding);
    background: var(--cms-sidebar-nav-bg);
    float: var(--cms-sidebar-nav-float);
}

    #site-navd .navbar-nav > li {
        border-left: none !important;
    }

.sm-nowrap {
    background: var(--cms-highlight-chip-bg);
}

.widget-text ul,
.widget-text ol {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
    display: block !important;
    background-color: var(--cms-list-block-bg);
}

    .widget-text ul li,
    .widget-text ol li {
        display: block !important;
        width: 100% !important;
        float: none !important;
        clear: both !important;
        margin: 0;
        border-bottom: 1px solid var(--cms-list-block-border);
    }

        .widget-text ul li p,
        .widget-text ol li p {
            margin: 0;
        }

        .widget-text ul li a,
        .widget-text ol li a {
            display: block !important;
            width: 100% !important;
            box-sizing: border-box;
            padding: var(--cms-list-block-link-padding);
            text-decoration: none;
            color: var(--cms-list-block-link-color);
            white-space: normal;
        }

        .widget-text ul li:hover,
        .widget-text ol li:hover {
            background-color: var(--cms-list-block-hover-bg);
        }

.widget-text .person-gallery .pg-title {
    width: 100%;
    background: var(--cms-person-gallery-title-bg);
    color: var(--cms-person-gallery-title-color);
    padding: 14px 18px;
    margin-bottom: 16px;
    font-weight: 700;
    border-radius: 6px;
}

/* Responsive widths */
@media (min-width: 768px) {
    .navbar-expand-md .cms-mobile-nav .navbar-nav .dropdown-menu {
        width: var(--cms-sidebar-item-min-width) !important;
    }
}

/* ==========================================
   03. Third-party integration: Owl Carousel
========================================== */

.owl-carousel {
    margin-bottom: 40px;
}

    .owl-carousel .owl-nav button.owl-next,
    .owl-carousel .owl-nav button.owl-prev {
        font-size: 30px !important;
        color: #FFF;
        background: #333;
        padding: 10px 20px;
        border-radius: 50%;
    }

        .owl-carousel .owl-nav button.owl-next:hover,
        .owl-carousel .owl-nav button.owl-prev:hover {
            background-color: #555;
        }

    .owl-carousel .owl-nav button.owl-prev {
        left: -50px;
    }

    .owl-carousel .owl-nav button.owl-next {
        right: -50px;
    }

    .owl-carousel .item img {
        max-width: 100%;
        max-height: 600px;
        height: auto;
    }

/* ==========================================
   04. Widget: Chat / message UI
========================================== */

.chtpimg {
    margin-left: 31px;
    float: left;
    margin-right: 15px;
    margin-top: 15px;
}

.cimthn {
    font-weight: bold;
    color: green;
}

#msgContainer {
    min-height: 0;
}

.cmtqo {
    color: blue;
    float: right;
}

.imthw {
    margin-top: 34px;
    background-color: green;
}

.ptho {
    text-align: center;
    font-size: 11px;
}

.chtp {
    padding-top: 15px;
    margin-left: 31px;
}

.phtwn {
    background: #e2dfdf;
    height: 155px;
    border-radius: 15px;
    padding: 0;
}

.tbwq {
    margin-bottom: 15px;
}

.natch {
    height: 250px;
    border-radius: 15px;
    padding: 0;
    border: 1px solid gray;
}

.chstu {
    margin-bottom: 15px;
    padding: 15px;
}

.chtnm {
    float: right;
    margin-right: 31px;
}

/* ==========================================
   05. Widget: Person Gallery
========================================== */

/* Grid images */
.widget-text .pg-card img {
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    max-width: 220px;
    margin: 0 auto;
}

/* Modal */
.widget-text .pg-modal {
    position: relative;
    background: #eaf4fb;
    border-radius: 10px;
}

.widget-text .pg-close {
    position: absolute;
    right: 14px;
    top: 10px;
    font-size: 30px;
    z-index: 1065;
    pointer-events: auto;
}

/* Owl arrows inside popup */
.widget-text .pg-popup-carousel {
    position: relative;
}

    .widget-text .pg-popup-carousel .owl-nav {
        position: absolute;
        top: 50%;
        left: 0;
        right: 0;
        display: block !important;
        z-index: 1060;
        pointer-events: none;
    }

    .widget-text .pg-popup-carousel .owl-prev,
    .widget-text .pg-popup-carousel .owl-next {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 1060;
        pointer-events: auto;
        width: 44px;
        height: 44px;
        border-radius: 50%;
        background: #fff;
        border: 1px solid #ccc;
    }

    .widget-text .pg-popup-carousel .owl-prev {
        left: 10px;
    }

    .widget-text .pg-popup-carousel .owl-next {
        right: 10px;
    }


/* ==========================================
   06. Typematter layout utilities
   - Emitted by _CMS_View_Container / _CMS_View_Leaf
   - Shared by markdown container rendering
========================================== */

.tm-container {
    width: 100%;
    position: relative;
}

.tm-align-left {
    text-align: left;
}

.tm-align-center {
    text-align: center;
}

.tm-align-right {
    text-align: right;
}

.tm-split,
.tm-grid {
    width: 100%;
}

.tm-gap-sm > .row {
    --bs-gutter-x: 1rem;
    --bs-gutter-y: 1rem;
}

.tm-gap-md > .row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 1.5rem;
}

.tm-gap-lg > .row {
    --bs-gutter-x: 2rem;
    --bs-gutter-y: 2rem;
}

.tm-gap-xl > .row {
    --bs-gutter-x: 3rem;
    --bs-gutter-y: 3rem;
}

.tm-grid > .row,
.tm-split > .row {
    margin-left: 0;
    margin-right: 0;
}

.tm-grid-numbered .tm-step-wrap {
    position: relative;
    height: 100%;
    padding-left: 3.25rem;
}

.tm-step-index {
    position: absolute;
    left: 0;
    top: 0;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    line-height: 1;
    background: var(--tm-primary);
    color: #ffffff;
    box-shadow: var(--tm-shadow-sm);
}

.tm-grid-numbered .tm-card,
.tm-grid-numbered .tm-panel,
.tm-grid-numbered .tm-leaf {
    min-height: 100%;
}

.tm-cta-group {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.tm-cta-left {
    justify-content: flex-start;
}

.tm-cta-center {
    justify-content: center;
}

.tm-cta-right {
    justify-content: flex-end;
}

.tm-text > *:last-child,
.tm-text-subtitle > *:last-child,
.tm-text-kicker > *:last-child,
.tm-text-bg > *:last-child,
.tm-leaf > *:last-child {
    margin-bottom: 0;
}

.tm-text-kicker {
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: .78rem;
    font-weight: 700;
}

.tm-text-subtitle {
    font-size: 1.05rem;
    line-height: 1.7;
    opacity: 0.92;
}

.tm-text-bg {
    pointer-events: none;
    user-select: none;
}

    .tm-text-bg img {
        display: block;
        max-width: 100%;
        height: auto;
    }

.tm-code-label {
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .14em;
    color: #6b7280;
    margin-bottom: .5rem;
}

.tm-code-file {
    position: relative;
    font-size: .85rem;
    margin-bottom: .75rem;
    color: #475569;
}

.tm-col-5 {
    width: 20%;
}

@media (max-width: 991.98px) {
    .tm-col-5 {
        width: 50%;
    }
}

@media (max-width: 767.98px) {
    .tm-col-5 {
        width: 100%;
    }

    .tm-grid-numbered .tm-step-wrap {
        padding-left: 2.75rem;
    }

    .tm-step-index {
        width: 2rem;
        height: 2rem;
    }
}

/* ===========================================
   Default prose inside tm-text
=========================================== */

.tm-text h1,
.tm-text h2,
.tm-text h3,
.tm-text h4,
.tm-text h5,
.tm-text h6 {
    line-height: 1.2;
    margin-top: 0;
    margin-bottom: 0.9rem;
}

.tm-text h2 {
    font-size: 2rem;
}

.tm-text h3 {
    font-size: 1.35rem;
}

.tm-text p {
    margin-top: 0;
    margin-bottom: 1rem;
}

.tm-text ul,
.tm-text ol {
    margin: 0 0 1.25rem 1.25rem;
    padding: 0;
}

.tm-text li {
    margin-bottom: 0.45rem;
}

.tm-text table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0 2rem 0;
    font-size: 0.96rem;
}

.tm-text thead th {
    text-align: left;
    font-weight: 700;
    padding: 0.8rem 1rem;
    border-bottom: 2px solid rgba(0,0,0,0.12);
}

.tm-text tbody td {
    padding: 0.8rem 1rem;
    vertical-align: top;
    border-bottom: 1px solid rgba(0,0,0,0.06);
}

.tm-text tbody tr:hover {
    background: rgba(0,0,0,0.02);
}

.tm-tone-dark .tm-text thead th {
    border-bottom-color: rgba(255,255,255,0.18);
}

.tm-tone-dark .tm-text tbody td {
    border-bottom-color: rgba(255,255,255,0.08);
}

.tm-tone-dark .tm-text tbody tr:hover {
    background: rgba(255,255,255,0.04);
}
/* ===========================================
   COMPARE (section variant="compare")
=========================================== */

.tm-section-compare .tm-text {
    max-width: 900px;
}

    .tm-section-compare .tm-text table {
        background: var(--tm-bg-light);
        border-radius: var(--tm-radius-md);
        overflow: hidden;
        box-shadow: var(--tm-shadow-sm);
    }

    .tm-section-compare .tm-text thead th {
        background: rgba(0,0,0,0.03);
    }

    .tm-section-compare .tm-text tbody td {
        border-bottom: 1px solid rgba(0,0,0,0.08);
    }

    .tm-section-compare .tm-text tbody tr:last-child td {
        border-bottom: none;
    }

    .tm-section-compare .tm-text h2 + ul {
        margin-top: 0.75rem;
        padding: 1rem 1.2rem;
        background: rgba(0,0,0,0.04);
        border-radius: var(--tm-radius-sm);
        border-left: 4px solid var(--tm-primary);
    }

    .tm-section-compare .tm-text p:last-child {
        margin-top: 24px;
        font-weight: 600;
    }

.tm-tone-dark.tm-section-compare .tm-text table {
    background: rgba(255,255,255,0.04);
    box-shadow: none;
}

.tm-tone-dark.tm-section-compare .tm-text thead th {
    background: rgba(255,255,255,0.06);
}

.tm-tone-dark.tm-section-compare .tm-text h2 + ul {
    background: rgba(255,255,255,0.06);
    border-left: 4px solid var(--tm-primary);
}