/*
 * Global layout chrome.
 *
 * Loaded through {css} — i.e. AFTER the theme stylesheet and after its
 * minified build (`atameken.min.css`), which is what production/dev deploys
 * actually serve. Putting these overrides in the theme source alone is not
 * enough: environments that ship the minified bundle never see them.
 */

/*
 * Full-bleed top bar and footer: the coloured band spans the whole viewport
 * while its content stays inside a centered container.
 *
 * The theme paints every container white (`div.container { background: white }`),
 * so the two inner wrappers have to be reset back to transparent.
 */
.navbar-fixed-top > div.container,
#footer > .footer > div.container {
    background-color: transparent;
}

/* The band itself must never be constrained by a container width. */
.navbar.navbar-fixed-top {
    width: auto;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

#footer > .footer {
    width: 100%;
}

body.portal-mobile-public .portal-results-scroll-hint {
    display: none;
}

/* Desktop keeps catalogue filters fully expanded; mobile enables section disclosures. */
.portal-public-catalog-filter .portal-catalog-filter-section > summary {
    display: none;
}

/*
 * Mobile public routes only. The shared portal layout assigns the marker from
 * an explicit catalog/publics/news/guest-auth/nonresident route allowlist.
 * Keeping these selectors local avoids changing desktop or authorized pages.
 */
@media (max-width: 767px) {
    body.portal-mobile-public #footer .portal-footer-links,
    body.portal-mobile-public #footer .portal-footer-links > tbody {
        display: grid;
        width: 100%;
    }

    body.portal-mobile-public #footer .portal-footer-links > tbody {
        grid-template-columns: minmax(0, 1fr);
    }

    body.portal-mobile-public #footer .portal-footer-links > tbody > tr {
        display: contents;
    }

    body.portal-mobile-public #footer .portal-footer-links > tbody > tr > td {
        display: block;
        width: 100%;
        min-width: 0;
        padding-right: 8px;
        padding-left: 8px;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    body.portal-mobile-public #footer .portal-footer-links > tbody > tr:first-child > td:nth-child(2) {
        grid-row: 1;
    }

    body.portal-mobile-public #footer .portal-footer-links > tbody > tr:nth-child(2) > td:nth-child(1) {
        grid-row: 2;
    }

    body.portal-mobile-public #footer .portal-footer-links > tbody > tr:first-child > td:nth-child(3) {
        grid-row: 3;
    }

    body.portal-mobile-public #footer .portal-footer-links > tbody > tr:nth-child(2) > td:nth-child(2) {
        grid-row: 4;
    }

    body.portal-mobile-public #footer .portal-footer-links > tbody > tr:first-child > td:nth-child(4) {
        grid-row: 5;
    }

    body.portal-mobile-public #footer .portal-footer-links > tbody > tr:nth-child(2) > td:nth-child(3) {
        grid-row: 6;
    }

    body.portal-mobile-public .portal-public-filter-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        min-height: 44px;
        margin-bottom: 12px;
        padding: 10px 14px;
        color: #fff;
        font-weight: 600;
        background-color: #1a8b57;
        background-image: none;
        border: 1px solid #126b42;
        border-radius: 3px;
        box-shadow: 0 1px 2px rgba(0, 0, 0, .18);
    }

    body.portal-mobile-public .portal-public-filter-toggle::after {
        content: '\25be';
        display: inline-block;
        margin-left: 12px;
        font-size: 16px;
        line-height: 1;
        transition: transform .15s ease;
    }

    body.portal-mobile-public .portal-public-filter-toggle[aria-expanded="true"]::after {
        transform: rotate(180deg);
    }

    body.portal-mobile-public .portal-public-filter.is-mobile-filters-ready .portal-public-filter-content {
        display: none;
    }

    body.portal-mobile-public .portal-public-filter.is-mobile-filters-ready.is-open .portal-public-filter-content {
        display: block;
    }

    body.portal-mobile-public .portal-public-filter .portal-public-filter-content .form-control,
    body.portal-mobile-public .portal-public-filter .portal-public-filter-content select,
    body.portal-mobile-public .portal-public-filter .portal-public-filter-content .bootstrap-select > .dropdown-toggle,
    body.portal-mobile-public .portal-public-filter .portal-public-filter-content .selectize-control .selectize-input,
    body.portal-mobile-public .portal-public-filter .portal-public-filter-content .twitter-typeahead .tt-input,
    body.portal-mobile-public .portal-public-filter .portal-public-filter-content button,
    body.portal-mobile-public .portal-public-filter .portal-public-filter-content .btn,
    body.portal-mobile-public .portal-public-filter .portal-public-filter-content form.filters > input[type="submit"],
    body.portal-mobile-public .portal-public-filter .portal-public-filter-content form.filters > a[role="button"] {
        min-height: 44px;
    }

    body.portal-mobile-public .portal-public-filter .portal-public-filter-content .checkbox label,
    body.portal-mobile-public .portal-public-filter .portal-public-filter-content .radio label,
    body.portal-mobile-public .portal-public-filter .portal-public-filter-content label.checkbox-inline,
    body.portal-mobile-public .portal-public-filter .portal-public-filter-content label.radio-inline {
        display: flex;
        align-items: center;
        min-height: 44px;
    }

    /* Mobile catalogue filters use a full-screen sheet with a fixed action bar. */
    body.portal-mobile-public.portal-filter-open {
        overflow: hidden;
    }

    body.portal-mobile-public .portal-public-catalog-filter.is-open {
        position: fixed;
        z-index: 2000;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        display: flex;
        flex-direction: column;
        width: 100%;
        max-width: none;
        height: 100vh;
        height: 100dvh;
        margin: 0;
        padding: 0;
        background: #fff;
    }

    body.portal-mobile-public .portal-public-catalog-filter.is-open .portal-public-filter-toggle {
        flex: 0 0 auto;
        min-height: 56px;
        margin: 0;
        padding: 12px 16px;
        font-size: 16px;
        border-width: 0 0 1px;
        border-radius: 0;
        box-shadow: 0 1px 4px rgba(0, 0, 0, .14);
    }

    body.portal-mobile-public .portal-public-catalog-filter.is-open .portal-public-filter-toggle::after {
        content: '\00d7';
        font-size: 26px;
        font-weight: 400;
        transform: none;
    }

    body.portal-mobile-public .portal-public-catalog-filter.is-open .portal-public-filter-content {
        display: block;
        flex: 1 1 auto;
        min-height: 0;
        padding: 0 16px;
        overflow: hidden;
    }

    body.portal-mobile-public .portal-public-catalog-filter.is-open .portal-public-filter-content > .simple,
    body.portal-mobile-public .portal-public-catalog-filter.is-open form.filters {
        height: 100%;
        min-height: 0;
    }

    body.portal-mobile-public .portal-public-catalog-filter.is-open form.filters {
        display: flex;
        flex-direction: column;
        margin: 0;
    }

    body.portal-mobile-public .portal-public-catalog-filter .portal-filter-fields {
        flex: 1 1 auto;
        min-height: 0;
        padding: 12px 2px 16px 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    body.portal-mobile-public .portal-public-catalog-filter .portal-filter-fields > hr {
        display: none;
    }

    body.portal-mobile-public .portal-public-catalog-filter .portal-filter-actions {
        display: grid;
        flex: 0 0 auto;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 10px;
        padding: 12px 0;
        padding-bottom: calc(12px + env(safe-area-inset-bottom));
        background: #fff;
        border-top: 1px solid #ddd;
        box-shadow: 0 -2px 7px rgba(0, 0, 0, .08);
    }

    body.portal-mobile-public .portal-public-catalog-filter .portal-filter-actions .btn {
        width: 100%;
        min-height: 48px;
        margin: 0;
    }

    body.portal-mobile-public .portal-public-catalog-filter .portal-catalog-filter-group {
        margin-bottom: 8px;
    }

    body.portal-mobile-public .portal-public-catalog-filter .portal-catalog-filter-group > h4 {
        position: relative;
        margin: 0 0 8px;
        padding: 0 0 6px;
        color: #26332d;
        font-size: 15px;
        font-weight: 600;
        line-height: 1.25;
        letter-spacing: 0;
    }

    body.portal-mobile-public .portal-public-catalog-filter .portal-catalog-filter-group > h4::after {
        display: block;
        width: 32px;
        height: 2px;
        margin-top: 5px;
        background: #1a8b57;
        content: "";
    }

    body.portal-mobile-public .portal-public-catalog-filter .portal-catalog-filter-group > h4:empty {
        display: none;
    }

    body.portal-mobile-public .portal-public-catalog-filter .portal-catalog-filter-section {
        margin: 0;
        border-top: 1px solid #ddd;
    }


    body.portal-mobile-public .portal-public-catalog-filter .portal-catalog-filter-section > summary {
        display: flex;
        align-items: center;
        min-height: 50px;
        color: #222;
        cursor: pointer;
        font-size: 15px;
        font-weight: 600;
        list-style: none;
    }

    body.portal-mobile-public .portal-public-catalog-filter .portal-catalog-filter-section > summary::-webkit-details-marker {
        display: none;
    }

    body.portal-mobile-public .portal-public-catalog-filter .portal-catalog-filter-section > summary::after {
        content: '\25be';
        margin-left: 10px;
        color: #666;
        font-size: 16px;
        line-height: 1;
        transition: transform .15s ease;
    }

    body.portal-mobile-public .portal-public-catalog-filter .portal-catalog-filter-section[open] > summary::after {
        transform: rotate(180deg);
    }

    body.portal-mobile-public .portal-public-catalog-filter .portal-catalog-filter-count {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 24px;
        height: 24px;
        margin-left: auto;
        padding: 0 7px;
        color: #fff;
        font-size: 12px;
        line-height: 1;
        background: #1a8b57;
        border-radius: 12px;
    }

    body.portal-mobile-public .portal-public-catalog-filter .portal-catalog-filter-count[hidden] {
        display: none;
    }

    body.portal-mobile-public .portal-public-catalog-filter .portal-catalog-filter-section > .portal-catalog-filter-group {
        padding: 0 0 8px;
        margin: 0;
    }

    body.portal-mobile-public .portal-public-catalog-filter .portal-catalog-filter-section .checkbox {
        margin-top: 0;
        margin-bottom: 0;
    }

    body.portal-mobile-public .portal-public-catalog-filter .portal-catalog-filter-section .checkbox label {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        min-height: 40px;
        padding-left: 0;
        line-height: 1.35;
    }

    body.portal-mobile-public .portal-public-catalog-filter .portal-catalog-filter-section .checkbox label > input[type="checkbox"] {
        position: static;
        flex: 0 0 auto;
        margin: 2px 0 0;
    }

    body.portal-mobile-public .portal-public-catalog-filter .portal-filter-checkbox-text {
        display: block;
        min-width: 0;
    }

    body.portal-mobile-public .portal-public-catalog-filter .portal-catalog-filter-range .portal-filter-range-fields {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    body.portal-mobile-public .portal-public-catalog-filter .portal-catalog-filter-range .portal-filter-range-field {
        min-width: 0;
        margin: 0;
    }

    body.portal-mobile-public .portal-public-catalog-filter .portal-catalog-filter-range .portal-filter-range-field > label {
        display: block;
        margin: 0 0 3px;
        color: #666;
        font-size: 12px;
        font-weight: 400;
    }

    body.portal-mobile-public .portal-public-catalog-filter .portal-catalog-filter-range .portal-filter-range-field > .form-control {
        width: 100%;
        min-width: 0;
    }

    body.portal-mobile-public #footer .portal-footer-links > tbody > tr:nth-child(2) > td > a {
        display: flex;
        align-items: center;
        min-height: 44px;
    }

    body.portal-mobile-public #footer .portal-footer-links > tbody > tr:nth-child(2) > td > br {
        display: none;
    }

    body.portal-mobile-public .navbar.navbar-fixed-top {
        background-color: #1a8b57;
    }

    /*
     * Keep the public header pinned without taking the search bar out of the
     * document flow. When its collapsed menu opens, its new height therefore
     * pushes the search and cabinet navigation down instead of covering them.
     */
    body.portal-mobile-public {
        padding-top: 0;
    }

    body.portal-mobile-public .navbar.navbar-fixed-top {
        position: sticky;
        top: 0;
        width: calc(100% + 30px);
        margin-right: -15px;
        margin-left: -15px;
        box-sizing: border-box;
    }

    body.portal-mobile-public button.navbar-toggle {
        min-width: 44px;
        min-height: 44px;
        margin-top: 6px;
        margin-bottom: 6px;
        padding: 12px 10px;
    }

    body.portal-mobile-public #main-nav.navbar-collapse {
        clear: both;
        margin-right: -15px;
        margin-left: -15px;
        padding: 8px 15px 12px;
        border-top: 1px solid rgba(255, 255, 255, .35);
        background-color: #1a8b57;
        box-shadow: 0 4px 8px rgba(0, 0, 0, .2);
    }

    body.portal-mobile-public #main-nav.navbar-collapse.in {
        overflow-y: visible;
    }

    body.portal-mobile-public #main-nav .navbar-nav {
        margin: 0;
    }

    body.portal-mobile-public #main-nav .navbar-nav > li > a {
        min-height: 44px;
        padding: 12px 15px;
        color: #fff;
        line-height: 20px;
    }

    body.portal-mobile-public #main-nav .navbar-nav > li > a:hover,
    body.portal-mobile-public #main-nav .navbar-nav > li > a:focus,
    body.portal-mobile-public #main-nav .navbar-nav > .open > a,
    body.portal-mobile-public #main-nav .navbar-nav > .open > a:hover,
    body.portal-mobile-public #main-nav .navbar-nav > .open > a:focus {
        color: #fff;
        background-color: rgba(0, 0, 0, .16);
    }

    body.portal-mobile-public #main-nav .navbar-nav .open .dropdown-menu {
        margin: 0;
        padding: 4px 0;
        background-color: #126b42;
    }

    body.portal-mobile-public #main-nav .navbar-nav .open .dropdown-menu > li > a {
        min-height: 44px;
        padding: 12px 25px;
        color: #fff;
    }

    body.portal-mobile-public .navbar2 .mobile-padding {
        height: auto;
        min-height: 0;
        margin-right: 0 !important;
        margin-bottom: 0;
        padding-bottom: 0;
    }

    /*
     * The legacy search markup contains a spacer, Bootstrap navbar-form
     * chrome, and a bottom padding intended for the desktop presentation.
     * On public mobile routes the controls themselves provide the height, so
     * leave the search section in normal flow with a 12px rhythm instead.
     */
    body.portal-mobile-public .navbar2.navbar2-default {
        height: auto;
        min-height: 0;
        margin: 12px 0;
    }

    body.portal-mobile-public .navbar2.navbar2-default > br {
        display: none;
    }

    body.portal-mobile-public .navbar2.navbar2-default > .row {
        height: auto;
        min-height: 0;
        margin: 0;
    }

    body.portal-mobile-public .navbar2.navbar2-default form.navbar-form.search-form-block.filters {
        height: auto;
        min-height: 0;
        margin: 0;
        padding: 0;
        border: 0;
        box-shadow: none;
    }

    body.portal-mobile-public .navbar2.navbar2-default #second-nav {
        height: auto;
        min-height: 0;
        margin-bottom: 0;
        padding-bottom: 0;
    }

    body.portal-mobile-public .navbar2.navbar2-default #second-nav .input-group {
        padding-top: 0 !important;
    }

    body.portal-mobile-public #second-nav .input-group {
        display: flex;
        flex-wrap: wrap;
        height: auto;
        min-height: 44px;
        margin: 0;
        padding-bottom: 0;
    }

    body.portal-mobile-public #second-nav .input-group .form-control {
        flex: 1 1 100%;
        width: 100%;
        min-height: 44px;
    }

    body.portal-mobile-public #second-nav .input-group-btn {
        display: block;
        width: 100%;
        padding-top: 8px;
        white-space: normal;
    }

    body.portal-mobile-public #second-nav .input-group-btn .bootstrap-select {
        width: 100% !important;
        margin-left: 0;
    }

    body.portal-mobile-public #second-nav .input-group-btn .bootstrap-select > .dropdown-toggle {
        min-height: 44px;
    }

    body.portal-mobile-public form[data-registration-submit-lock][action*="/nonresident/"]:not(.nonresident-email-registration-form) .form-control,
    body.portal-mobile-public form[data-registration-submit-lock][action*="/nonresident/"]:not(.nonresident-email-registration-form) button[type="submit"]:not(.btn-link),
    body.portal-mobile-public form[data-registration-submit-lock][action*="/nonresident/"]:not(.nonresident-email-registration-form) .input-group-btn > button[data-password-toggle],
    body.portal-mobile-public form[data-registration-submit-lock][action*="/user/kg_"] .form-control,
    body.portal-mobile-public form[data-registration-submit-lock][action*="/user/kg_"] button[type="submit"]:not(.btn-link) {
        min-height: 44px;
    }

    /*
     * Guest registration and email-auth cards use Bootstrap's desktop grid
     * markup. Keep their contents inside the narrow viewport without changing
     * any cabinet or desktop presentation.
     */
    body.portal-mobile-public .portal-public-auth-card,
    body.portal-mobile-public .portal-public-auth-card .panel,
    body.portal-mobile-public .portal-public-auth-card .panel-body,
    body.portal-mobile-public .portal-public-auth-card form,
    body.portal-mobile-public .portal-public-auth-card .form-group,
    body.portal-mobile-public .portal-public-auth-card .input-group,
    body.portal-mobile-public .portal-public-auth-card .input-group-btn,
    body.portal-mobile-public .portal-public-auth-card .phone-country-input,
    body.portal-mobile-public .portal-public-auth-card .selectize-control {
        box-sizing: border-box;
        max-width: 100%;
        min-width: 0;
    }

    body.portal-mobile-public .portal-public-auth-card .panel-body,
    body.portal-mobile-public .portal-public-auth-card .alert,
    body.portal-mobile-public .portal-public-auth-card .form-control-static,
    body.portal-mobile-public .portal-public-auth-card .help-block,
    body.portal-mobile-public .portal-public-auth-card .text-muted,
    body.portal-mobile-public .portal-public-auth-card td,
    body.portal-mobile-public .portal-public-auth-card th,
    body.portal-mobile-public .portal-public-auth-card a {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    body.portal-mobile-public .portal-public-auth-card .table {
        width: 100%;
        max-width: 100%;
        table-layout: fixed;
    }

    body.portal-mobile-public .portal-public-auth-card .form-control,
    body.portal-mobile-public .portal-public-auth-card .input-group > .form-control,
    body.portal-mobile-public .portal-public-auth-card .input-group-btn > .btn,
    body.portal-mobile-public .portal-public-auth-card button,
    body.portal-mobile-public .portal-public-auth-card .btn {
        box-sizing: border-box;
        max-width: 100%;
        min-width: 0;
        white-space: normal;
    }

    body.portal-mobile-public .portal-public-auth-card .kg-email-login-change-email {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
        text-align: left;
    }

    body.portal-mobile-public #kg-registration-v2-send-button,
    body.portal-mobile-public #kg-registration-v2-check-button,
    body.portal-mobile-public #kg-registration-v2-finalize-button {
        min-height: 44px;
    }

    body.portal-mobile-public #kg-auth-v2-send-button,
    body.portal-mobile-public #kg-auth-v2-check-button {
        min-height: 44px;
    }

    body.portal-mobile-public .portal-public-auth-card .phone-country-input button.iti__selected-country,
    body.portal-mobile-public .portal-public-auth-card .phone-country-input .iti__selected-country-primary {
        box-sizing: border-box;
        min-height: 44px;
    }

    body.portal-mobile-public .portal-public-auth-card .phone-country-input .iti__country {
        display: flex;
        align-items: center;
        min-height: 44px;
    }

    body.portal-mobile-public .nonresident-details-form .nr-country-field .selectize-input,
    body.portal-mobile-public .nonresident-details-form .nr-country-field .selectize-input.input-active,
    body.portal-mobile-public .nonresident-details-form .nr-country-field .selectize-input.dropdown-active {
        display: flex;
        align-items: center;
        height: 44px;
        min-height: 44px;
        line-height: normal;
    }

    body.portal-mobile-public .nonresident-details-form .nr-country-field .selectize-dropdown .option {
        display: flex;
        align-items: center;
        min-height: 44px;
    }

    body.portal-mobile-public .nonresident-details-form .nr-step-nav {
        flex-wrap: wrap;
        gap: 12px;
        max-width: 100%;
    }

    body.portal-mobile-public .nonresident-details-form .nr-step-nav__back,
    body.portal-mobile-public .nonresident-details-form .nr-step-nav__next,
    body.portal-mobile-public .nonresident-details-form .nr-step-nav__submit {
        box-sizing: border-box;
        min-height: 44px;
        min-width: 0;
        max-width: 100%;
    }

    body.portal-mobile-public .portal-cabinet-nav .navbar-header {
        margin-right: 0;
        margin-left: 0;
    }

    body.portal-mobile-public .panel.portal-cabinet-nav {
        height: auto;
        min-height: 0;
        margin: 0 0 12px;
        padding-top: 0;
        padding-bottom: 0;
    }

    body.portal-mobile-public .panel.portal-cabinet-nav > .container-fluid {
        padding-right: 0;
        padding-left: 0;
    }

    body.portal-mobile-public .panel.portal-cabinet-nav > .container-fluid > #cabinet_nav.navbar-collapse {
        margin-right: 0;
        margin-left: 0;
    }

    body.portal-mobile-public .navbar2.navbar2-default + .container.row {
        height: auto;
        min-height: 0;
        margin-top: 0;
        margin-bottom: 0;
        padding-top: 0;
        padding-bottom: 0;
    }

    body.portal-mobile-public button.navbar-toggle.portal-cabinet-nav-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        float: none;
        width: 100%;
        min-height: 44px;
        margin: 0;
        padding: 10px 14px;
        color: #1a8b57;
        font-weight: 600;
        line-height: 20px;
        text-align: left;
        background: #fff;
        border: 1px solid #1a8b57;
        border-radius: 3px;
    }

    body.portal-mobile-public .portal-cabinet-nav-toggle .glyphicon {
        margin-left: 12px;
        transition: transform .15s ease;
    }

    body.portal-mobile-public .portal-cabinet-nav-toggle[aria-expanded="true"] .glyphicon {
        transform: rotate(180deg);
    }

    body.portal-mobile-public #cabinet_nav .navbar-nav > li > a,
    body.portal-mobile-public #cabinet_nav .navbar-nav .dropdown-menu > li > a {
        box-sizing: border-box;
        min-height: 44px;
        padding-top: 12px;
        padding-bottom: 12px;
        line-height: 20px;
    }

    body.portal-mobile-public .alert.alert-info {
        background-color: #646C6E;
        color: #FFFFFF;
    }

    body.portal-mobile-public .alert.alert-info .alert-link {
        color: #FFFFFF;
        text-decoration: underline;
        font-weight: 600;
    }

    body.portal-mobile-public .portal-public-subject-contacts-grid,
    body.portal-mobile-public .portal-public-buy-lots-grid,
    body.portal-mobile-public .portal-public-point-supply-grid,
    body.portal-mobile-public .portal-public-point-lot-information-grid,
    body.portal-mobile-public .portal-public-points-results-grid,
    body.portal-mobile-public .portal-public-tru-all-grid,
    body.portal-mobile-public .portal-public-lot-supply-grid {
        box-sizing: border-box;
        max-width: 100%;
        overflow-x: auto !important;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
    }

    body.portal-mobile-public .portal-public-tru-all-grid {
        clear: both;
    }

    body.portal-mobile-public .portal-public-subject-contacts-grid > table,
    body.portal-mobile-public .portal-public-buy-lots-grid > table {
        display: table;
        width: auto;
        min-width: 760px;
        margin-bottom: 0;
        overflow: visible;
    }

    body.portal-mobile-public .lots_grid-view th:nth-child(3),
    body.portal-mobile-public .lots_grid-view td:nth-child(3) {
        display: none;
    }

    body.portal-mobile-public .portal-public-point-detail {
        width: 100%;
        max-width: 100%;
        table-layout: fixed;
    }

    body.portal-mobile-public .portal-public-point-detail th {
        width: 42%;
        box-sizing: border-box;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    body.portal-mobile-public .portal-public-point-detail td {
        width: 58%;
        box-sizing: border-box;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    body.portal-mobile-public .portal-public-share {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        max-width: 100%;
        min-width: 0;
    }

    body.portal-mobile-public .share .portal-public-share {
        flex: 1 1 100%;
        width: 100%;
    }

    body.portal-mobile-public .portal-public-share .ya-share2__container {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    body.portal-mobile-public .portal-public-share .ya-share2__list {
        display: flex !important;
        flex: 1 1 100%;
        flex-wrap: wrap;
        justify-content: flex-end;
        width: 100% !important;
        max-width: 100%;
        min-width: 0;
        margin: 0;
        padding: 0;
    }

    body.portal-mobile-public .portal-public-share .ya-share2__item {
        flex: 0 0 44px;
        width: 44px;
        height: 44px;
        margin: 0 !important;
    }

    body.portal-mobile-public .portal-public-share .ya-share2__link {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 44px !important;
        min-width: 44px;
        height: 44px !important;
        min-height: 44px;
    }

    body.portal-mobile-public .page-title .portal-public-detail-favorite {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        min-width: 44px;
        height: 44px;
        min-height: 44px;
        vertical-align: middle;
    }

    body.portal-mobile-public .portal-public-secondary-action {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 44px;
    }

    body.portal-mobile-p0 .portal-results-scroller .pagination > li > a,
    body.portal-mobile-p0 .portal-results-scroller .pagination > li > span {
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: 44px;
        min-height: 44px;
    }

    body.portal-mobile-p0 .catalog-heading {
        font-size: 30px;
    }

    body.portal-mobile-p0 .catalog-heading small {
        display: block;
        margin-top: 4px;
    }

    body.portal-mobile-p0 .catalog-heading .catalog-all-lots {
        float: none !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        min-height: 44px;
        margin-top: 14px;
        padding: 10px 12px;
    }

    body.portal-mobile-public .portal-results-scroll-hint {
        display: block;
        margin: 0 0 8px;
        padding: 8px 10px;
        color: #555;
        background: #f5f5f5;
        border-left: 3px solid #1a8b57;
    }

    /* Only explicit adaptive public-table hints are conditionally hidden. */
    body.portal-mobile-public .portal-public-scroll-hint.is-scroll-hint-hidden {
        display: none;
    }

    body.portal-mobile-public .portal-public-tru-all-scroll-hint {
        margin: 8px 0;
    }

    body.portal-mobile-p0 .portal-results-scroller {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        border: 1px solid #e5e5e5;
    }

    body.portal-mobile-p0 .portal-results-scroller table {
        display: table;
        min-width: 760px;
        margin-bottom: 0;
        overflow: visible;
    }
}

@media (max-width: 359px) {
    body.portal-mobile-public .navbar-header > div.navbar-toggle {
        margin-right: 14px;
    }
}

/* Authorized portal routes only: preserve the public mobile rhythm in cabinet workspaces. */
@media (max-width: 767px) {
    body.portal-mobile-authorized {
        padding-top: 0;
    }

    body.portal-mobile-authorized .navbar.navbar-fixed-top {
        position: sticky;
        top: 0;
        width: calc(100% + 30px);
        margin-right: -15px;
        margin-left: -15px;
        box-sizing: border-box;
        background-color: #1a8b57;
    }

    /* Keep the date, brand and main navigation toggle on one 56px header row. */
    body.portal-mobile-authorized .navbar.navbar-fixed-top .navbar-header {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        height: 56px;
        min-height: 56px;
    }

    body.portal-mobile-authorized .navbar.navbar-fixed-top .navbar-header > button.navbar-toggle[data-target="#main-nav"] {
        order: 3;
        flex: 0 0 44px;
        float: none;
        width: 44px;
        margin: 6px 15px 6px auto;
    }

    body.portal-mobile-authorized .navbar.navbar-fixed-top .navbar-header > div.navbar-toggle {
        order: 2;
        flex: 1 1 auto;
        min-width: 0;
        margin: 0;
        padding: 0;
        border: 0;
        text-align: center;
    }

    body.portal-mobile-authorized .navbar.navbar-fixed-top .navbar-header > div.navbar-toggle .navbar-date {
        display: block;
        float: none;
        margin: 0;
        padding-right: 0;
        text-align: center;
        white-space: nowrap;
    }

    body.portal-mobile-authorized .navbar.navbar-fixed-top .navbar-header > .navbar-brand {
        order: 1;
        flex: 0 0 auto;
        float: none;
        box-sizing: border-box;
        height: 44px;
        margin-left: 0;
        padding: 7px 0 7px 15px;
        line-height: 30px;
    }

    body.portal-mobile-authorized .navbar.navbar-fixed-top .navbar-header > .navbar-brand > img {
        width: auto;
        height: 30px;
    }

    body.portal-mobile-authorized button.navbar-toggle {
        min-width: 44px;
        min-height: 44px;
        margin-top: 6px;
        margin-bottom: 6px;
        padding: 12px 10px;
    }

    body.portal-mobile-authorized #main-nav.navbar-collapse {
        clear: both;
        margin-right: -15px;
        margin-left: -15px;
        padding: 8px 15px 12px;
        border-top: 1px solid rgba(255, 255, 255, .35);
        background-color: #1a8b57;
        box-shadow: 0 4px 8px rgba(0, 0, 0, .2);
    }

    body.portal-mobile-authorized #main-nav.navbar-collapse.in {
        overflow-y: visible;
    }

    body.portal-mobile-authorized #main-nav .navbar-nav {
        margin: 0;
    }

    body.portal-mobile-authorized #main-nav .navbar-nav > li > a {
        min-height: 44px;
        padding: 12px 15px;
        color: #fff;
        line-height: 20px;
    }

    body.portal-mobile-authorized #main-nav .navbar-nav > li > a:hover,
    body.portal-mobile-authorized #main-nav .navbar-nav > li > a:focus,
    body.portal-mobile-authorized #main-nav .navbar-nav > .open > a,
    body.portal-mobile-authorized #main-nav .navbar-nav > .open > a:hover,
    body.portal-mobile-authorized #main-nav .navbar-nav > .open > a:focus {
        color: #fff;
        background-color: rgba(0, 0, 0, .16);
    }

    body.portal-mobile-authorized #main-nav .navbar-nav .open .dropdown-menu {
        margin: 0;
        padding: 4px 0;
        background-color: #126b42;
    }

    body.portal-mobile-authorized #main-nav .navbar-nav .open .dropdown-menu > li > a {
        min-height: 44px;
        padding: 12px 25px;
        color: #fff;
    }

    body.portal-mobile-authorized .navbar2 .mobile-padding {
        height: auto;
        min-height: 0;
        margin-right: 0 !important;
        padding-bottom: 0;
    }

    body.portal-mobile-authorized .navbar2.navbar2-default {
        height: auto;
        min-height: 0;
        margin: 12px 0;
    }

    body.portal-mobile-authorized .navbar2.navbar2-default > br {
        display: none;
    }

    body.portal-mobile-authorized .navbar2.navbar2-default > .row {
        height: auto;
        min-height: 0;
        margin: 0;
    }

    body.portal-mobile-authorized .navbar2.navbar2-default form.navbar-form.search-form-block.filters {
        height: auto;
        min-height: 0;
        margin: 0;
        padding: 0;
        border: 0;
        box-shadow: none;
    }

    body.portal-mobile-authorized .navbar2.navbar2-default #second-nav {
        height: auto;
        min-height: 0;
        margin-bottom: 0;
        padding-bottom: 0;
    }

    body.portal-mobile-authorized .navbar2.navbar2-default #second-nav .input-group {
        padding-top: 0 !important;
    }

    body.portal-mobile-authorized #second-nav .input-group {
        display: flex;
        flex-wrap: wrap;
        height: auto;
        min-height: 44px;
        margin: 0;
        padding-bottom: 0;
    }

    body.portal-mobile-authorized #second-nav .input-group .form-control {
        flex: 1 1 100%;
        width: 100%;
        min-height: 44px;
    }

    body.portal-mobile-authorized #second-nav .input-group-btn {
        display: block;
        width: 100%;
        padding-top: 10px;
        white-space: normal;
    }

    body.portal-mobile-authorized #second-nav .input-group-btn .bootstrap-select {
        width: 100% !important;
        margin-left: 0;
    }

    body.portal-mobile-authorized #second-nav .input-group-btn .bootstrap-select > .dropdown-toggle {
        min-height: 44px;
    }

    body.portal-mobile-authorized .panel.portal-cabinet-nav {
        height: auto;
        min-height: 0;
        margin: 0 0 12px;
        padding-top: 0;
        padding-bottom: 0;
    }

    body.portal-mobile-authorized .portal-cabinet-nav .navbar-header,
    body.portal-mobile-authorized .panel.portal-cabinet-nav > .container-fluid,
    body.portal-mobile-authorized .panel.portal-cabinet-nav > .container-fluid > #cabinet_nav.navbar-collapse {
        margin-right: 0;
        margin-left: 0;
    }

    body.portal-mobile-authorized .panel.portal-cabinet-nav > .container-fluid {
        padding-right: 0;
        padding-left: 0;
    }

    body.portal-mobile-authorized .navbar2.navbar2-default + .container.row {
        height: auto;
        min-height: 0;
        margin-top: 0;
        margin-bottom: 12px;
        padding-top: 0;
        padding-bottom: 0;
    }

    body.portal-mobile-authorized button.navbar-toggle.portal-cabinet-nav-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        float: none;
        width: 100%;
        min-height: 44px;
        margin: 0;
        padding: 10px 14px;
        color: #1a8b57;
        font-weight: 600;
        line-height: 20px;
        text-align: left;
        background: #fff;
        border: 1px solid #1a8b57;
        border-radius: 3px;
    }

    body.portal-mobile-authorized .portal-cabinet-nav-toggle .glyphicon {
        margin-left: 12px;
        transition: transform .15s ease;
    }

    body.portal-mobile-authorized .portal-cabinet-nav-toggle[aria-expanded="true"] .glyphicon {
        transform: rotate(180deg);
    }

    body.portal-mobile-authorized #cabinet_nav .navbar-nav > li > a,
    body.portal-mobile-authorized #cabinet_nav .navbar-nav .dropdown-menu > li > a {
        box-sizing: border-box;
        min-height: 44px;
        padding-top: 12px;
        padding-bottom: 12px;
        line-height: 20px;
    }

    body.portal-mobile-authorized .form-control,
    body.portal-mobile-authorized .input-sm,
    body.portal-mobile-authorized select,
    body.portal-mobile-authorized .bootstrap-select > .dropdown-toggle,
    body.portal-mobile-authorized .dropdown-toggle,
    body.portal-mobile-authorized button,
    body.portal-mobile-authorized .btn,
    body.portal-mobile-authorized .imgbtn,
    body.portal-mobile-authorized input[type="submit"],
    body.portal-mobile-authorized input[type="button"],
    body.portal-mobile-authorized input[type="reset"],
    body.portal-mobile-authorized a[role="button"] {
        min-height: 44px;
    }

    body.portal-mobile-authorized button,
    body.portal-mobile-authorized .btn,
    body.portal-mobile-authorized .imgbtn,
    body.portal-mobile-authorized input[type="submit"],
    body.portal-mobile-authorized input[type="button"],
    body.portal-mobile-authorized input[type="reset"],
    body.portal-mobile-authorized a[role="button"] {
        box-sizing: border-box;
        min-width: 44px;
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    body.portal-mobile-authorized .toolbar {
        box-sizing: border-box;
        max-width: 100%;
        min-width: 0;
    }

    body.portal-mobile-authorized .checkbox label,
    body.portal-mobile-authorized .radio label,
    body.portal-mobile-authorized label.checkbox-inline,
    body.portal-mobile-authorized label.radio-inline {
        display: flex;
        align-items: center;
        min-height: 44px;
    }

    body.portal-mobile-authorized .cabinet-user-reg-data-form,
    body.portal-mobile-authorized .cabinet-user-reg-data-form .table,
    body.portal-mobile-authorized .cabinet-person-access-form,
    body.portal-mobile-authorized .cabinet-person-access-form .table {
        width: 100%;
        max-width: 100%;
    }

    body.portal-mobile-authorized .cabinet-user-reg-data-form .table > tbody > tr,
    body.portal-mobile-authorized .cabinet-person-access-form .table > tbody > tr {
        display: block;
        width: 100%;
    }

    body.portal-mobile-authorized .cabinet-user-reg-data-form .table > tbody > tr > td,
    body.portal-mobile-authorized .cabinet-person-access-form .table > tbody > tr > td {
        display: block;
        width: 100%;
        min-height: 44px;
    }

    body.portal-mobile-authorized .cabinet-user-reg-data-form .table > tbody > tr > td + td,
    body.portal-mobile-authorized .cabinet-person-access-form .table > tbody > tr > td + td {
        padding-top: 0;
    }

    body.portal-mobile-authorized .cabinet-user-reg-data-form .btn,
    body.portal-mobile-authorized .cabinet-person-access-form .btn {
        display: flex;
        align-items: center;
        justify-content: center;
        float: none !important;
        width: 100%;
        margin: 0 0 10px;
        white-space: normal;
    }

    body.portal-mobile-authorized #img_award,
    body.portal-mobile-authorized #img_partner,
    body.portal-mobile-authorized #img_award img,
    body.portal-mobile-authorized #img_partner img {
        max-width: 100%;
    }

    body.portal-mobile-authorized #img_award img,
    body.portal-mobile-authorized #img_partner img {
        height: auto !important;
    }

    body.portal-mobile-authorized #img_award + .caption .text-center > div,
    body.portal-mobile-authorized #img_partner + .caption .text-center > div {
        box-sizing: border-box;
        width: 100% !important;
        max-width: 100%;
    }

    body.portal-mobile-authorized #img_award + .caption a[role="button"],
    body.portal-mobile-authorized #img_partner + .caption a[role="button"] {
        display: block;
        width: 100%;
        white-space: normal;
    }

    body.portal-mobile-authorized .grid-view,
    body.portal-mobile-authorized .table-responsive {
        box-sizing: border-box;
        max-width: 100%;
        min-width: 0;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
    }

    body.portal-mobile-authorized .grid-view > table.table,
    body.portal-mobile-authorized .table-responsive > table.table {
        display: table;
        max-width: none;
        margin-bottom: 0;
    }

    /* Let editable table controls widen their existing grid scroller, not the document. */
    body.portal-mobile-authorized .grid-view .form-control,
    body.portal-mobile-authorized .grid-view select,
    body.portal-mobile-authorized .grid-view input:not([type="button"]):not([type="checkbox"]):not([type="hidden"]):not([type="radio"]):not([type="reset"]):not([type="submit"]),
    body.portal-mobile-authorized .table-responsive .form-control,
    body.portal-mobile-authorized .table-responsive select,
    body.portal-mobile-authorized .table-responsive input:not([type="button"]):not([type="checkbox"]):not([type="hidden"]):not([type="radio"]):not([type="reset"]):not([type="submit"]),
    body.portal-mobile-authorized .detail-view .form-control,
    body.portal-mobile-authorized .detail-view select,
    body.portal-mobile-authorized .detail-view input:not([type="button"]):not([type="checkbox"]):not([type="hidden"]):not([type="radio"]):not([type="reset"]):not([type="submit"]),
    body.portal-mobile-authorized .cabinet-user-reg-data-form .table .form-control,
    body.portal-mobile-authorized .cabinet-user-reg-data-form .table select,
    body.portal-mobile-authorized .cabinet-user-reg-data-form .table input:not([type="button"]):not([type="checkbox"]):not([type="hidden"]):not([type="radio"]):not([type="reset"]):not([type="submit"]),
    body.portal-mobile-authorized .cabinet-person-access-form .table .form-control,
    body.portal-mobile-authorized .cabinet-person-access-form .table select,
    body.portal-mobile-authorized .cabinet-person-access-form .table input:not([type="button"]):not([type="checkbox"]):not([type="hidden"]):not([type="radio"]):not([type="reset"]):not([type="submit"]),
    body.portal-mobile-authorized table.members .form-control,
    body.portal-mobile-authorized table.members select,
    body.portal-mobile-authorized table.members input:not([type="button"]):not([type="checkbox"]):not([type="hidden"]):not([type="radio"]):not([type="reset"]):not([type="submit"]),
    body.portal-mobile-authorized tr.requirement .form-control,
    body.portal-mobile-authorized tr.requirement select,
    body.portal-mobile-authorized tr.requirement input:not([type="button"]):not([type="checkbox"]):not([type="hidden"]):not([type="radio"]):not([type="reset"]):not([type="submit"]) {
        box-sizing: border-box;
        min-width: 120px;
    }

    body.portal-mobile-authorized #form table .form-control,
    body.portal-mobile-authorized #form table select,
    body.portal-mobile-authorized #form table input:not([type="button"]):not([type="checkbox"]):not([type="hidden"]):not([type="radio"]):not([type="reset"]):not([type="submit"]),
    body.portal-mobile-authorized .tenderCommission table .form-control,
    body.portal-mobile-authorized .tenderCommission table select,
    body.portal-mobile-authorized .tenderCommission table input:not([type="button"]):not([type="checkbox"]):not([type="hidden"]):not([type="radio"]):not([type="reset"]):not([type="submit"]),
    body.portal-mobile-authorized table.item-rows .form-control,
    body.portal-mobile-authorized table.item-rows select,
    body.portal-mobile-authorized table.item-rows input:not([type="button"]):not([type="checkbox"]):not([type="hidden"]):not([type="radio"]):not([type="reset"]):not([type="submit"]) {
        box-sizing: border-box;
        min-width: 120px;
    }

    body.portal-mobile-authorized #form,
    body.portal-mobile-authorized #form > .panel,
    body.portal-mobile-authorized #form .panel-body,
    body.portal-mobile-authorized #form .allRequirements,
    body.portal-mobile-authorized #form .tenderCommission,
    body.portal-mobile-authorized #form .expertCommission,
    body.portal-mobile-authorized #form .reviewerCommission,
    body.portal-mobile-authorized #form .marketingCommission {
        box-sizing: border-box;
        max-width: 100%;
        min-width: 0;
    }

}

/* Authorized supplier pages: keep passport requisites inside the viewport. */
@media (max-width: 767px) {
    body.portal-mobile-authorized .passport-requisites-panel,
    body.portal-mobile-authorized .passport-requisites-panel .panel-body {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    body.portal-mobile-authorized .passport-requisites-panel .panel-body > table.table-bordered,
    body.portal-mobile-authorized .passport-requisites-panel .panel-body > table.table-bordered > tbody,
    body.portal-mobile-authorized .passport-requisites-panel .panel-body > table.table-bordered > tbody > tr,
    body.portal-mobile-authorized .passport-requisites-panel .panel-body > table.table-bordered > tbody > tr > td {
        box-sizing: border-box;
        display: block;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    body.portal-mobile-authorized .passport-requisites-panel .panel-body > table.table-bordered {
        overflow-x: visible;
        overflow-y: visible;
    }

    body.portal-mobile-authorized .passport-requisites-panel .passport-requisite-layout,
    body.portal-mobile-authorized .passport-requisites-panel .passport-requisite-description,
    body.portal-mobile-authorized .passport-requisites-panel .passport-requisite-documents {
        box-sizing: border-box;
        float: none;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    body.portal-mobile-authorized .passport-requisites-panel .passport-requisite-layout {
        margin: 0;
    }

    body.portal-mobile-authorized .passport-requisites-panel .passport-requisite-description,
    body.portal-mobile-authorized .passport-requisites-panel .passport-requisite-documents {
        padding-right: 0;
        padding-left: 0;
    }

    body.portal-mobile-authorized .passport-requisites-panel .passport-requisite-documents {
        margin-top: 16px;
    }

    body.portal-mobile-authorized .passport-requisites-panel h5,
    body.portal-mobile-authorized .passport-requisites-panel p {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    body.portal-mobile-authorized .passport-requisites-panel .passport-documents-scroll {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow-x: auto;
        overflow-y: visible;
        -webkit-overflow-scrolling: touch;
    }

    body.portal-mobile-authorized .passport-requisites-panel .passport-documents-scroll > table {
        width: 640px;
        min-width: 640px;
        max-width: none;
    }

    body.portal-mobile-authorized .passport-requisites-panel .passport-document-actions {
        display: flex;
        float: none !important;
        flex-direction: column;
        gap: 8px;
        width: 100%;
        max-width: 100%;
        margin-top: 12px;
    }

    body.portal-mobile-authorized .passport-requisites-panel .passport-document-actions .btn {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 44px;
    }
}

/* Authorized supplier pages: preserve the paid-services action label on phones. */
@media (max-width: 767px) {
    body.portal-mobile-authorized .paid-services-panel .paid-services-actions {
        min-width: 144px;
    }

    body.portal-mobile-authorized .paid-services-panel .add-to-cart-btn {
        box-sizing: border-box;
        min-width: 144px;
        min-height: 44px;
        overflow-wrap: normal;
        word-break: normal;
        white-space: normal;
    }
}

@media (max-width: 360px) {
    body.portal-mobile-authorized .paid-services-panel .grid-view {
        overflow-x: visible;
        overflow-y: visible;
    }

    body.portal-mobile-authorized .paid-services-panel .grid-view > table.paid-services-table,
    body.portal-mobile-authorized .paid-services-panel .paid-services-table > tbody,
    body.portal-mobile-authorized .paid-services-panel .paid-services-table > tbody > tr,
    body.portal-mobile-authorized .paid-services-panel .paid-services-table > tbody > tr > td {
        box-sizing: border-box;
        display: block;
        width: 100%;
        max-width: 100%;
    }

    body.portal-mobile-authorized .paid-services-panel .paid-services-table > thead {
        display: none;
    }

    body.portal-mobile-authorized .paid-services-panel .paid-services-table > tbody > tr {
        padding: 10px;
    }

    body.portal-mobile-authorized .paid-services-panel .paid-services-actions {
        min-width: 0;
        padding: 10px 0 0 !important;
        text-align: left;
    }

    body.portal-mobile-authorized .paid-services-panel .add-to-cart-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-width: 0;
    }
}
