/* -------------------------------------------
    Name: 		Hiep hoi quang cao dak lak
    Version:    1.0
    Author:		Obelix Media
------------------------------------------- */
:root {
    --header-height: 80px;
    --heading-color: #161616;
    --body-text-color: #555555;
    --heading-font: "Merriweather Sans", sans-serif;
    --body-font: "Inter", sans-serif;
    --primary-color: #b1976b;
    --primary-color-active: #d70532;
    --secondary-color: #fd7e14;
    --light-grey-color: #f8f9fa;
    --swiper-theme-color: #b1976b;
    --bs-btn-hover-bg: #d70532;
    --bs-btn-hover-border-color: #d70532;
    --bs-blue: #b1976b;
    --bs-indigo: #6610f2;
    --bs-purple: #6f42c1;
    --bs-pink: #d63384;
    --bs-red: #dc3545;
    --bs-orange: #fd7e14;
    --bs-yellow: #ffc107;
    --bs-green: #198754;
    --bs-teal: #20c997;
    --bs-cyan: #0dcaf0;
    --bs-black: #000;
    --bs-white: #fff;
    --bs-gray: #6c757d;
    --bs-gray-dark: #343a40;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #e9ecef;
    --bs-gray-300: #dee2e6;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-900: #212529;
    --bs-primary: #b1976b;
    --bs-secondary: #6c757d;
    --bs-success: #198754;
    --bs-info: #0dcaf0;
    --bs-warning: #ffc107;
    --bs-danger: #dc3545;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;
    --bs-primary-rgb: 13, 110, 253;
    --bs-secondary-rgb: 108, 117, 125;
    --bs-success-rgb: 25, 135, 84;
    --bs-info-rgb: 13, 202, 240;
    --bs-warning-rgb: 255, 193, 7;
    --bs-danger-rgb: 220, 53, 69;
    --bs-light-rgb: 248, 249, 250;
    --bs-dark-rgb: 33, 37, 41;
    --bs-white-rgb: 255, 255, 255;
    --bs-black-rgb: 0, 0, 0;
    --bs-body-color-rgb: 33, 37, 41;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    --bs-body-font-family: var(--bs-font-sans-serif);
    --bs-body-font-size: 1rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: #212529;
    --bs-body-bg: #fff;
    --bs-border-width: 1px;
    --bs-border-style: solid;
    --bs-border-color: #dee2e6;
    --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
    --bs-border-radius: 0.375rem;
    --bs-border-radius-sm: 0.25rem;
    --bs-border-radius-lg: 0.5rem;
    --bs-border-radius-xl: 1rem;
    --bs-border-radius-2xl: 2rem;
    --bs-border-radius-pill: 50rem;
    --bs-link-color: #b1976b;
    --bs-link-hover-color: #0a58ca;
    --bs-code-color: #d63384;
    --bs-highlight-bg: #fff3cd;
    --primary-color: #004b13;
    /* --secondary-color: #a2181c; */
    --secondary-color: #b1976b;
    --green-color: #3fa74e;
}

@font-face {
    font-family: "Obelix-Icon";
    src: url("../fonts/Obelix-Icon.eot?a3zeab");
    src: url("../fonts/Obelix-Icon.eot?a3zeab#iefix") format("embedded-opentype"), url("../fonts/Obelix-Icon.ttf?a3zeab") format("truetype"), url("../fonts/Obelix-Icon.woff?a3zeab") format("woff"), url("../fonts/Obelix-Icon.svg?a3zeab#Obelix-Icon") format("svg");
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

.relative {
    position: relative;
}

/**
 * Badge Base
 */
.badge {
    --badge-color: #929292;
    --badge-bg-color: #e1e1e1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 8px 4px;
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    vertical-align: middle;
    border-radius: 0.325rem;
    border: 1px solid transparent;
    color: var(--badge-color) !important;
    background-color: var(--badge-bg-color) !important;
}

.section-padding {
    padding: 60px 0;
}

/**
 * Outline
 */
.badge.badge-outline {
    background-color: transparent !important;
    color: var(--badge-bg-color) !important;
    border-color: var(--badge-bg-color);
}

/**
 * Light
 */
.badge-light {
    --badge-color: var(--bs-light-inverse, #212529);
    --badge-bg-color: var(--bs-light, #f8f9fa);
}

.badge-light-light {
    --badge-color: var(--bs-light, #f8f9fa);
    --badge-bg-color: var(--bs-light-light, #fcfcfc);
}

/**
 * Primary
 */
.badge-primary {
    --badge-color: var(--bs-primary-inverse, #fff);
    --badge-bg-color: var(--bs-primary, #0d6efd);
}

.badge-light-primary {
    --badge-color: var(--bs-primary, #0d6efd);
    --badge-bg-color: var(--bs-primary-light, #dbeafe);
}

/**
 * Secondary
 */
.badge-secondary {
    --badge-color: var(--bs-secondary-inverse, #fff);
    --badge-bg-color: var(--bs-secondary, #6c757d);
}

.badge-light-secondary {
    --badge-color: var(--bs-secondary, #6c757d);
    --badge-bg-color: var(--bs-secondary-light, #e9ecef);
}

/**
 * Success
 */
.badge-success {
    --badge-color: var(--bs-success-inverse, #fff);
    --badge-bg-color: var(--bs-success, #198754);
}

.badge-light-success {
    --badge-color: var(--bs-success, #198754);
    --badge-bg-color: var(--bs-success-light, #d1f7e3);
}

/**
 * Info
 */
.badge-info {
    --badge-color: var(--bs-info-inverse, #fff);
    --badge-bg-color: var(--bs-info, #0dcaf0);
}

.badge-light-info {
    --badge-color: var(--bs-info, #0dcaf0);
    --badge-bg-color: var(--bs-info-light, #d9f7ff);
}

/**
 * Warning
 */
.badge-warning {
    --badge-color: var(--bs-warning-inverse, #212529);
    --badge-bg-color: var(--bs-warning, #ffc107);
}

.badge-light-warning {
    --badge-color: var(--bs-warning, #ffc107);
    --badge-bg-color: var(--bs-warning-light, #fff3cd);
}

/**
 * Danger
 */
.badge-danger {
    --badge-color: var(--bs-danger-inverse, #fff);
    --badge-bg-color: var(--bs-danger, #dc3545);
}

.badge-light-danger {
    --badge-color: var(--bs-danger, #dc3545);
    --badge-bg-color: var(--bs-danger-light, #fde2e4);
}

/**
 * Dark
 */
.badge-dark {
    --badge-color: var(--bs-dark-inverse, #fff);
    --badge-bg-color: var(--bs-dark, #212529);
}

.badge-light-dark {
    --badge-color: var(--bs-dark, #212529);
    --badge-bg-color: var(--bs-dark-light, #e9ecef);
}

/* =========================
 * Badge Colors Extended
 * ========================= */
.badge.badge-red,
.badge.badge-red-light {
    --badge-color: #ffffff;
    --badge-bg-color: #dc2626;
}

.badge.badge-orange,
.badge.badge-orange-light {
    --badge-bg-color: #ea580c;
}

.badge.badge-amber,
.badge.badge-amber-light {
    --badge-bg-color: #d97706;
}

.badge.badge-yellow,
.badge.badge-yellow-light {
    --badge-bg-color: #ca8a04;
}

.badge.badge-lime,
.badge.badge-lime-light {
    --badge-bg-color: #65a30d;
}

.badge.badge-green,
.badge.badge-green-light {
    --badge-bg-color: #16a34a;
}

.badge.badge-emerald,
.badge.badge-emerald-light {
    --badge-bg-color: #059669;
}

.badge.badge-teal,
.badge.badge-teal-light {
    --badge-bg-color: #0f766e;
}

.badge.badge-cyan,
.badge.badge-cyan-light {
    --badge-bg-color: #0891b2;
}

.badge.badge-sky,
.badge.badge-sky-light {
    --badge-color: #0284c7;
}

.badge.badge-blue,
.badge.badge-blue-light {
    --badge-bg-color: #2563eb;
}

.badge.badge-indigo,
.badge.badge-indigo-light {
    --badge-bg-color: #4f46e5;
}

.badge.badge-violet,
.badge.badge-violet-light {
    --badge-bg-color: #7c3aed;
}

.badge.badge-purple,
.badge.badge-purple-light {
    --badge-bg-color: #9333ea;
}

.badge.badge-fuchsia,
.badge.badge-fuchsia-light {
    --badge-bg-color: #c026d3;
}

.badge.badge-pink,
.badge.badge-pink-light {
    --badge-bg-color: #db2777;
}

.badge.badge-rose,
.badge.badge-rose-light {
    --badge-bg-color: #e11d48;
}

.badge.badge-gray,
.badge.badge-gray-light {
    --badge-bg-color: #6b7280;
}

.badge.badge-slate,
.badge.badge-slate-light {
    --badge-bg-color: #475569;
}

.badge.badge-zinc,
.badge.badge-zinc-light {
    --badge-bg-color: #52525b;
}

.badge.badge-neutral,
.badge.badge-neutral-light {
    --badge-bg-color: #525252;
}

.badge.badge-stone,
.badge.badge-stone-light {
    --badge-bg-color: #78716c;
}

/* =========================
 * Normal Badge
 * ========================= */
.badge[class*="badge-"]:not([class*="-light"]) {
    background: var(--badge-bg-color);
    --badge-color: white;
    border: 1px solid transparent;
    /* line-height: 1; */
}

/* =========================
 * Light Badge
 * ========================= */
.badge[class*="-light"] {
    background: color-mix(in srgb, var(--badge-bg-color) 14%, white);
    color: var(--badge-color);
    border: 1px solid color-mix(in srgb, var(--badge-bg-color) 30%, white);
}

.ob-icon {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: "Obelix-Icon" !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.arrow-down:before {
    content: "\e900";
}

.arrow-down-long:before {
    content: "\e901";
}

.arrow-down-right:before {
    content: "\e902";
}

.arrow-left:before {
    content: "\e903";
}

.arrow-left-long:before {
    content: "\e904";
}

.arrow-right:before {
    content: "\e905";
}

.arrow-right-long:before {
    content: "\e906";
}

.arrow-up:before {
    content: "\e907";
}

.arrow-up-long:before {
    content: "\e908";
}

.arrow-up-right:before {
    content: "\e909";
}

.arrow-up-right-from-square:before {
    content: "\e90a";
}

.bars:before {
    content: "\e90b";
}

.bars-sort:before {
    content: "\e90c";
}

.chevron-down:before {
    content: "\e90d";
}

.chevron-left:before {
    content: "\e90e";
}

.chevron-right:before {
    content: "\e90f";
}

.chevron-up:before {
    content: "\e910";
}

.download:before {
    content: "\e911";
}

.envelope:before {
    content: "\e912";
}

.envelope-light:before {
    content: "\e913";
}

.facebook-messenger:before {
    content: "\e914";
}

.facebook-square:before {
    content: "\e915";
}

.headset:before {
    content: "\e916";
}

.instagram:before {
    content: "\e917";
}

.location-dot:before {
    content: "\e918";
}

.location-dot-light:before {
    content: "\e919";
}

.magnifying-glass:before {
    content: "\e91a";
}

.magnifying-glass-minus:before {
    content: "\e91b";
}

.magnifying-glass-plus:before {
    content: "\e91c";
}

.minus:before {
    content: "\e91d";
}

.phone:before {
    content: "\e91e";
}

.phone-light:before {
    content: "\e91f";
}

.tiktok:before {
    content: "\e920";
}

.upload:before {
    content: "\e921";
}

.user:before {
    content: "\e922";
}

.user-light:before {
    content: "\e923";
}

.xmark-large:before {
    content: "\e924";
}

/***************************
main
***************************/
*,
*:before,
*:after {
    /* -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none; */
    padding: 0;
    margin: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

::-moz-selection {
    /* Code for Firefox */
    color: white;
    background: var(--primary-color);
}

::selection {
    color: white;
    background: var(--primary-color);
}

html,
body {
    font-size: 13px;
    letter-spacing: 0;
}

@media screen and (max-width: 997px) {
    /* html, body{
    font-size: 13px;
} */
}

body {
    /* -webkit-tap-highlight-color: var(--bg-gray); */
    pointer-events: all;
    background-color: white;
    font-family: var(--body-font);
    color: var(--body-text-color);
    font-weight: 400;
    line-height: 1.6;
}

h1,
h2,
h3,
h4,
h5,
h6,
.obl-h1,
.obl-h2,
.obl-h3,
.obl-h4,
.obl-h5,
.obl-h6 {
    font-family: var(--heading-font);
    line-height: 1.4;
    color: var(--heading-color);
    font-weight: 600;
    font-smoothing: antialiased;
}

a {
    display: inline-block;
    text-decoration: none;
    color: inherit;
    /* transition: color ease 0.3s; */
}

a:hover {
    color: var(--primary-color);
}

ul {
    padding: 0;
    margin: 0;
}

ul li {
    list-style-type: none;
}

.flex-stack {
    justify-content: space-between;
}

/***** Button Style *****/
.form-control:focus {
    color: var(--body-text-color);
    background-color: unset;
    border-color: var(--primary-color);
    outline: 0;
    box-shadow: none;
}

.btn {
    --bs-btn-padding-x: 20px;
    --bs-btn-padding-y: 7px;
    border-radius: 0;
    -webkit-transition: all 0.3s ease-out 0s;
    transition: all 0.3s ease-out 0s;
    font-family: var(--heading-font);
    font-weight: 500;
}

.btn-link {
    --bs-btn-hover-color: var(--primary-color);
    --bs-btn-active-color: var(--primary-color-active);
    display: flex;
    align-items: center;
    text-decoration: none;
    transition: all ease 0.3s;
}

.btn-link .ob-icon {
    margin-left: 6px;
    transition: all ease 0.3s;
}

.btn-link:hover .ob-icon {
    margin-left: 10px;
}

.btn-primary {
    --bs-btn-color: white;
    --bs-btn-bg: var(--primary-color);
    --bs-btn-border-color: var(--primary-color);
    --bs-btn-hover-color: white;
    --bs-btn-hover-bg: var(--primary-color-active-color);
    --bs-btn-hover-border-color: var(--primary-color-active-color);
    --bs-btn-active-color: white;
    --bs-btn-active-bg: var(--primary-color-active-color);
    --bs-btn-active-border-color: var(--primary-color-active-color);
}

.btn-secondary {
    --bs-btn-color: white;
    --bs-btn-bg: var(--bs-gray-500);
    --bs-btn-border-color: var(--bs-gray-500);
    --bs-btn-hover-color: white;
    --bs-btn-hover-bg: var(--bs-gray-600);
    --bs-btn-hover-border-color: var(--bs-gray-600);
    --bs-btn-active-color: white;
    --bs-btn-active-bg: var(--bs-gray-600);
    --bs-btn-active-border-color: var(--bs-gray-600);
}

.btn.hover-style-1 {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    overflow: hidden;
    position: relative;
    display: inline-block;
    color: #ffffff;
    -webkit-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear;
    z-index: 1;
}

.btn-primary.hover-style-1 {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.btn-secondary.hover-style-1:after {
    background: var(--primary-color-active);
}

.btn-primary.hover-style-1:after {
    background: var(--primary-color-active);
}

.btn-secondary.hover-style-1 {
    background-color: var(--bs-gray-500);
    border-color: var(--bs-gray-500);
}

.btn-secondary.hover-style-1:after {
    background: var(--primary-color-active);
}

.btn-secondary.hover-style-1:after {
    background: var(--bs-gray-600);
}

.btn.hover-style-1::after {
    position: absolute;
    top: 110px;
    left: -50px;
    right: -50px;
    height: 170px;
    content: "";
    -webkit-transform: translateY(-50px);
    transform: translateY(-50px);
    border-radius: 50%;
    transition-duration: 800ms;
    z-index: -1;
    pointer-events: none;
}

.btn.hover-style-1:hover::after {
    top: 0%;
    left: -70px;
    right: -70px;
}

/***** End Button Style *****/
/***** Header *****/
.site-header {
    background: white;
    box-shadow: 0 2px 28px 0 rgba(0, 0, 0, 0.06);
}

.header-sticky.sticky,
.site-header.sticky {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 99999;
    width: 100%;
    background: white;
    box-shadow: 0 2px 28px 0 rgba(0, 0, 0, 0.06);
    animation: 300ms ease-in-out 0s normal none 1 running fadeInDown;
    background: #fff;
}

/* .header-sticky.sticky .header-nav ul.main-menu>li>a, */
.header-sticky.sticky .account-login .login-btn,
.header-sticky.sticky .dropdown-notice-icon {
    color: white;
}

.header-sticky.sticky .account-login .login-btn a:hover,
.header-sticky .dropdown-notice-icon {
    color: inherit;
}

.header-sticky.sticky .dropdown-notice-icon .count {
    color: var(--primary-color);
    background-color: white;
}

@keyframes fadeInDown {
    0% {
        -webkit-transform: translateY(-20px);
        -ms-transform: translateY(-20px);
        transform: translateY(-20px);
    }

    100% {
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
    }
}

.site-header .sticky .site-logo {
    /* display: none; */
}

.site-header .header-nav-wrap {
    width: 100%;
}

.header-sticky.sticky .site-logo img {
    height: 70px;
}

.site-header {
    background: white;
    font-size: 15px;
    position: relative;
    z-index: 1000;
}

.site-header .header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 400;
    font-family: var(--heading-font);
    color: var(--body-text-color);
    font-size: 14px;
    border-bottom: solid 1px #ececec;
    padding-bottom: 10px;
    padding-top: 5px;
    z-index: 10;
    position: relative;
}

.welcome-text h6 {
    margin-bottom: 0;
    font-weight: 400;
    text-transform: capitalize;
    letter-spacing: 0.2px;
    font-size: 14px;
    position: relative;
    z-index: 1;
}

.site-header .header-top .link-top>li {
    display: inline-block;
    margin-right: 12px;
    position: relative;
}

.site-header .header-top .link-top>li.current-menu-item {
    color: var(--primary-color);
}

.site-header .header-top .link-top>li:last-child {
    margin-right: 0;
}

.site-header .header-top .link-top>li:not(:first-child):before {
    content: "";
    width: 1px;
    height: 10px;
    background-color: var(--bs-gray-500);
    display: inline-block;
    margin-right: 12px;
}

.site-header .account-login {
    display: flex;
    align-items: center;
    gap: 0px 10px;
    font-size: 14px;
}

.site-header .header-top .link-top li ul li {
    padding: 6px 16px;
    margin: 0;
}

.site-header .header-top .link-top li ul {
    position: absolute;
    top: 100%;
    left: 0;
    display: flex;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    padding: 14px 0px;
    position: absolute;
    box-shadow: 0 2px 28px 0 rgba(0, 0, 0, 0.06);
    top: 100%;
    opacity: 0;
    transform: translateY(14px);
    visibility: hidden;
    transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s;
    background: white;
    white-space: nowrap;
}

.site-header .header-top .link-top li:hover>ul {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    visibility: visible;
    opacity: 1;
    transform: translateY(0%);
    transition-delay: 0s, 0s, 0.3s;
    z-index: 9999;
}

.site-header .header-top .header-top-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0px;
}

.site-header .header-top .header-top-wrap .top-nav ul li {
    display: inline-block;
    margin-right: 10px;
}

.site-header .header-top .header-top-wrap .top-nav ul li:last-child {
    margin-right: 0;
}

.top-nav-right {
    display: flex;
    align-items: center;
}

.navbar-search .search-container {
    position: relative;
}

.navbar-search .search-container .search-icon {
    position: absolute;
    top: 10px;
    left: 11px;
}

.navbar-search .search-container .search-icon svg {
    width: 15px;
}

.navbar-search .search-container .search-input {
    padding-left: 34px;
    padding-bottom: 4px;
    height: auto;
    min-height: unset;
    border: solid 1px var(--bs-gray-200);
    /* border-bottom: solid 1px var(--bs-gray-400); */
    height: auto;
    font-size: 14px;
    letter-spacing: 0.3px;
    font-family: var(--heading-font);
    color: var(--body-text-color);
    font-weight: 300;
    background: var(--light-grey-color);
}

.navbar-search .search-container .search-input::placeholder {
    font-size: 14px;
}

.navbar-search {
    margin-left: 30px;
    z-index: 4;
    position: relative;
}

/* mobile-search */
.navbar-search .tag-search-wrap {
    position: absolute;
    top: 14px;
    right: 0;
    background: white;
    padding: 12px 16px;
    width: 128%;
    box-shadow: 0 2px 28px 0 rgba(0, 0, 0, 0.06);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all ease 0.3s;
}

.navbar-search .open-search-wrap .tag-search-wrap {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.mobile-search-wrap .mobile-search-toggle {
    border: 0;
    background: transparent;
    /* color: var(--primary-color); */
    padding: 0;
    cursor: pointer;
    width: 30px;
    height: 30px;
    display: inline-block;
    text-align: center;
    line-height: 32px;
    font-size: 18px;
}

.mobile-search-wrap .xmark-large {
    position: absolute;
    top: 10px;
    right: 12px;
    display: inline-block;
    width: 30px;
    height: 30px;
    text-align: center;
    line-height: 30px;
}

.mobile-search-form {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    background: white;
    height: auto;
    padding: 50px 20px 20px;
    top: -40%;
    transition: all ease-out 0.3s;
    display: none;
    box-shadow: 0 2px 28px 0 rgba(0, 0, 0, 0.06);
}

.mobile-search-wrap.open-search-wrap .mobile-search-form {
    top: 0;
    display: block;
}

body.admin-bar .mobile-search-wrap.open-search-wrap .mobile-search-form {
    top: 46px;
}

.mobile-search-ovelay {
    background-color: #000000b0;
    opacity: 0;
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    opacity: 0;
    display: block;
    transition: all ease 0.1s;
    pointer-events: none;
}

.mobile-search-wrap.open-search-wrap .mobile-search-ovelay {
    opacity: 0.85;
    z-index: 2;
    /* backdrop-filter: blur(4px); */
    pointer-events: auto;
    transition: all ease-in-out 0.3s;
}

.mobile-search-form .search-container {
    position: relative;
    z-index: 1;
}

.mobile-search-form .search-container .ob-icon {
    position: absolute;
    top: 11px;
    left: 0px;
}

.mobile-search-form .search-input {
    border: none;
    border-bottom: solid 1px var(--bs-gray-300);
    border-radius: 0;
    padding: 6px 10px 6px 30px;
}

.search-input::placeholder {
    font-style: italic;
    font-weight: 300;
    font-size: 15px;
}

.tag-search-wrap {
    margin-top: 24px;
}

.tag-search-wrap .search-title {
    color: var(--bs-gray-500);
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 8px;
    font-weight: 400;
}

.tag-search-wrap .tag-wrap {
    margin-left: -4px;
    margin-right: -4px;
    display: flex;
    white-space: nowrap;
    flex-wrap: wrap;
    gap: 4px 8px;
}

.tag-search-wrap .tag-wrap a {
    display: inline-block;
    font-size: 14px;
    transition: none;
}

.tag-search-wrap .tag-wrap a::before {
    content: "#";
    margin-right: 4px;
}

.tag-search-wrap .tag-wrap a:hover {
    text-decoration: underline;
    color: var(--primary-color);
}

.site-logo {
    margin-right: 36px;
    padding-top: 10px;
    /* padding-bottom: 10px; */
}

.site-logo img {
    height: 92px;
    transition: all ease 0.2s;
}

.header-center {
    /* background-color: var(--light-grey-color); */
}

.header-center-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 6px;
    /* page-break-after: always; */
}

.header-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    /* margin-top: 6px; */
}

.header-nav .main-menu {
    --nav-font-size: 17px;
    z-index: 2;
    position: relative;
}

.header-nav ul.main-menu>li {
    display: inline-block;
    margin: 0px 15px;
    position: relative;
    display: inline-flex;
    align-items: center;
    font-family: var(--heading-font);
    font-weight: 500;
}

.header-nav ul.main-menu>li::before,
.header-nav ul.main-menu>li::after {
    content: none;
}

.header-nav ul.main-menu>li:last-child {
    margin-right: 0;
}

.header-nav ul.main-menu>li:first-child {
    margin-left: 0;
}

.header-nav ul.main-menu li.has-sub-menu {
    position: relative;
}

.header-nav ul.main-menu li.has-sub-menu>.toggle-btn {
    display: block;
    position: absolute;
    right: -20%;
    margin-top: 1px;
    width: 40px;
    height: 40px;
    display: none;
}

.header-nav ul.main-menu li.has-sub-menu>.toggle-btn::before,
.header-nav ul.main-menu li.has-sub-menu>.toggle-btn::after {
    content: "";
    display: block;
    position: relative;
    width: 12px;
    height: 1px;
    background: #000;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: transform 0.2s;
}

.header-nav ul.main-menu li.has-sub-menu>.toggle-btn::before {
    transform: rotate(90deg);
    top: calc(50% + 4px);
    left: calc(50% - 4px);
}

.header-nav ul.main-menu li.has-sub-menu>.toggle-btn::after {
    top: calc(50% + 3px);
    left: calc(50% - 4px);
}

.header-nav ul.main-menu li.has-sub-menu.open>.toggle-btn::before {
    transform: rotate(0deg);
}

.header-nav ul li.has-sub-menu ul {
    position: absolute;
    top: 100%;
    left: 0;
    display: flex;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    padding: 8px 0px;
    position: absolute;
    min-width: 200px;
    box-shadow: 0 2px 28px 0 rgba(0, 0, 0, 0.06);
    /* top: 100%; */
    opacity: 0;
    /* transform: translateY(14px); */
    visibility: hidden;
    transition: all 0.2s ease-in-out 0s, visibility 0s linear 0.2s;
    background: white;
    z-index: 1;
}

.header-nav ul li.has-sub-menu ul li.has-sub-menu ul {
    right: -100%;
    left: auto;
    top: -14px;
}

.header-nav ul li.has-sub-menu ul li {
    position: relative;
}

.header-nav ul li.current-menu-item>a {
    color: var(--primary-color);
}

.header-nav ul li:hover>a {
    color: var(--primary-color);
}

.hamburger-menu-active .site-header.sticky ul li:hover>a {
    color: var(--primary-color);
}

.header-nav ul li>a {
    padding: 10px 0px;
    text-transform: capitalize;
    letter-spacing: 0.5px;
    color: #000;
}

.header-nav ul li.has-sub-menu ul li a {
    padding: 7px 16px;
    position: relative;
}

.header-nav ul li.has-sub-menu ul li.has-sub-menu::after {
    content: "";
    display: inline-block;
    position: absolute;
    right: 16px;
    top: calc(50% - 4px);
    border: solid var(--body-text-color);
    border-width: 0 1px 1px 0;
    display: inline-block;
    padding: 3px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}

.header-nav ul li.has-sub-menu ul li a::before {
    content: "";
    display: block;
    position: absolute;
    top: 18%;
    left: 0;
    width: 2px;
    height: 64%;
    background-color: var(--primary-color);
    opacity: 0;
    transition: opacity 0.2s ease-in;
}

.header-nav ul li.has-sub-menu ul li:hover>a::before {
    opacity: 1;
}

.header-nav ul li.has-sub-menu:hover>ul {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    visibility: visible;
    opacity: 1;
    transform: translateY(0%);
    transition-delay: 0s, 0s, 0.3s;
}

.header-center-wrap .header-nav-right-action>*:not(:last-child) {
    /* margin-right: 8px; */
}

@media screen and (max-width: 912px) {
    .child-menu-content ul li.has-sub-menu ul.sub-menu {
        display: none;
    }

    .child-menu-content ul li.has-sub-menu ul.sub-menu.open {
        display: block;
        opacity: 1;
        visibility: visible;
        position: relative;
        top: 0;
        box-shadow: none;
    }
}

.mobile-menu-action {
    pointer-events: all;
    height: 28px;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
    z-index: 10;
    position: relative;
}

.mobile-menu-action span {
    position: relative;
}

.mobile-menu-action span,
.mobile-menu-action span:after,
.mobile-menu-action span:before {
    content: "";
    display: block;
    width: 28px;
    height: 1px;
    background: #000;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: inherit;
}

.site-header.sticky .mobile-search-wrap .mobile-search-toggle {
    color: white;
}

body:not(.aside-open) .site-header.sticky .mobile-menu-action span,
body:not(.aside-open) .site-header.sticky .mobile-menu-action span:after,
body:not(.aside-open) .site-header.sticky .mobile-menu-action span:before {
    /* background: white; */
}

.mobile-menu-action span:before {
    top: -9px;
    position: absolute;
}

.mobile-menu-action span::after {
    width: 18px;
    top: 9px;
    position: absolute;
}

.mobile-menu-action.active span {
    transform: rotate(45deg);
}

.mobile-menu-action.active span::before {
    transform: translateY(9px) rotate(-90deg);
}

.mobile-menu-action.active span::after {
    opacity: 0;
    width: 24px;
    transform: translateY(-9px) rotate(-90deg);
}

.site-header .mobile-menu-action {
    display: none;
}

#background_overlay {
    background-color: white;
    opacity: 0;
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    opacity: 0;
    display: block;
    transition: all ease-in-out 0.3s;
    pointer-events: none;
}

body.aside-open {
    overflow: hidden;
}

body.aside-open #background_overlay {
    opacity: 0.85;
    z-index: 2;
    /* backdrop-filter: blur(4px); */
    pointer-events: auto;
    transition: all ease-in-out 0.3s;
}

.account-login .login-btn {
    display: flex;
    align-items: center;
    cursor: pointer;
    transition: all ease 0.2s;
}

.account-login .login-btn:hover {
    color: var(--primary-color);
}

.account-login .login-btn .svg-icon svg {
    height: 14px;
}

.account-login .login-btn p {
    margin-bottom: 0;
    margin-left: 8px;
    font-family: var(--heading-font);
    line-height: 1;
}

/***** End Header *****/
.svg-icon {
    display: inline;
}

.svg-icon svg {
    height: 22px;
}

.svg-icon.icon-sm svg {
    height: 18px;
}

.svg-icon>* {
    fill: currentColor;
}

/***** Swiper *****/
.swiper-button-prev:after,
.swiper-rtl .swiper-button-prev:after,
.swiper-button-next:after,
.swiper-rtl .swiper-button-next:after {
    display: none;
}

/***** End Swiper *****/
/* Back To Top */
.progress-wrap {
    position: fixed;
    z-index: 99;
    right: 31px;
    bottom: 30px;
    height: 40px;
    width: 40px;
    /* line-height: 29px; */
    cursor: pointer;
    display: block;
    border-radius: 50px;
    box-shadow: inset 0 0 0 2px rgba(13, 22, 21, 0.1);
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    background: white;
}

@media (max-width: 678px) {
    .progress-wrap {
        right: 20px;
    }
}

.progress-wrap::before {
    position: absolute;
    font-family: "Obelix-Icon";
    content: "\e907";
    text-align: center;
    line-height: 41px;
    opacity: 1;
    height: 40px;
    width: 40px;
    font-size: 16px;
    font-weight: 600;
    color: var(--primary-color);
    text-align: center;
}

.progress-wrap svg path {
    fill: none;
}

.progress-wrap svg.progress-circle path {
    stroke: var(--primary-color);
    stroke-width: 4;
}

.progress-wrap.active-progress {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* End Back To Top */
/***** Hero *****/
.hero-slider .swiper {
    width: 100%;
    height: 100%;
    position: relative;
}

.hero-slider .swiper-container {
    width: 100%;
    height: 100%;
}

.hero-slider .hero-slider {
    position: relative;
}

.hero-slider .swiper-slide::after {}

.hero-slider .swiper-slide a {
    list-style: none;
    line-height: 1;
    max-width: max-content;
    margin: 0 auto;
    border-radius: 3px;
    margin-top: 20px;
}

.hero-slider .swiper-slide img {
    display: block;
    width: 100%;
    height: 750px;
    object-fit: cover;
}

.hero-slider .svg-icon {
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    border-radius: 50%;
    position: relative;
    stroke: var(--primary-color);
}

.hero-slider .swiper-button-next,
.hero-slider .swiper-button-prev {
    width: 40px;
    height: 40px;
    padding: 10px;
    border-radius: 2px;
    /* background: rgb(255 255 255 / 28%); */
    /* backdrop-filter: blur(8px); */
    border: solid 1px #ffffff;
    color: white;
    font-size: 21px;
}

.hero-slider .swiper-button-next:hover .svg-icon svg,
.hero-slider .swiper-button-prev:hover .svg-icon svg {
    transform: scale(1.06);
}

.hero-slider .swiper-pagination {
    position: absolute;
    bottom: 16px;
}

.hero-slider .swiper-container .swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic::before {
    content: "" !important;
    display: block !important;
    width: 40px !important;
    height: 4px !important;
    position: relative !important;
    background: rgb(255, 255, 255) !important;
}

.hero-slider .swiper-pagination-bullet-active {
    background: white;
}

.hero-slider .is-custom-slide {
    position: relative;
    overflow: hidden;
}

.hero-slider .is-custom-slide::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1;
    pointer-events: none;
    display: none;
}

.hero-slider .slide-content-wrap {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
}

.hero-slider .slide-content-wrap>.container {
    z-index: 1;
}

.hero-slider .slide-content-wrap::after {
    content: "";
    background-color: rgba(0, 0, 0, 0.15);
    width: 100%;
    height: 100%;
    position: absolute;
}

.hero-slider .slide-content-wrap .slide-content {
    text-align: center;
    color: #fff;
    margin: 0 auto;
}

@media screen and (min-width: 1024px) {
    .hero-slider .slide-content-wrap .slide-content {
        max-width: 55%;
    }
}

.hero-slider .slide-content-wrap .slide-content .slide-title {
    color: #fff;
    font-size: 55px;
    font-weight: bold;
    margin-top: 15px;
    letter-spacing: 2px;
}

.hero-slider .slide-content-wrap .slide-content .slide-description {
    color: #fff;
    font-size: 18px;
    margin-top: 15px;
}

.hero-slider .slide-content-wrap .slide-content .slide-subtitle {
    font-size: 26px;
    color: var(--secondary-color);
    max-width: max-content;
    margin: 0 auto;
    position: relative;
}

.hero-slider .slide-content-wrap .slide-content .slide-subtitle::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 20%;
    height: 1px;
    background-color: currentColor;
}

/***** End Hero *****/
/* Top bar */
.top-bar-background {
    background-color: #ffffff;
}

.top-bar {
    border-bottom: 1px solid #e5ebdf;
    font-size: 13px;
    padding: 6px 0;
}

.top-bar .btn-style {
    margin-left: 18px;
}

.top-bar-right-social {
    display: flex;
    align-items: center;
    gap: 8px;
}

.top-bar .top-bar-right-social a {
    color: var(--primary-color);
    font-size: 17px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
}

.top-bar .top-bar-right-social a:hover {}

.top-bar-social-icon svg {
    width: 17px;
    height: 17px;
}

.topbar-clock {
    width: 17px;
    height: 17px;
    margin-right: 6px;
    flex-shrink: 0;
    color: var(--primary-color);
}

.top-bar-container-inner {
    align-items: center;
    gap: 16px;
}

.top-bar .top-bar-right-button {
    padding: 9px 16px;
    font-size: 11px;
    border-radius: 3px;
}

.top-bar-right-social:empty {
    display: none;
}

.top-bar .top-bar-social-icon:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 3px;
}

/* End Top bar */
/* Header */
.header-nav-right-action {
    margin-left: 15px;
}

.top-bar-left {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.top-bar-left .item {
    display: flex;
    align-items: center;
}

.top-bar-left .item .separator {
    margin-right: 10px;
}

.top-bar-left .item i {
    margin-right: 5px;
    color: var(--primary-color);
}

/* End header */
/* Footer */
.footer * {
    color: #fff;
}

.footer {
    font-size: 14px;
    background-color: #1d1d1d;
    color: white;
}

.footer p {
    margin-bottom: 8px;
    line-height: 1.6;
    color: #ffffffc9;
    font-size: 14px;
}

.footer a,
.footer strong {
    color: #fff;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: break-word;
}

.footer a:hover {
    color: #fff;
    text-decoration: underline;
}

.footer .footer-logo {
    /* height: 52px; */
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer-info-description {
    margin-top: 22px;
    max-width: 86%;
}

.footer-block-title {
    font-size: 17px;
    text-transform: uppercase;
    margin-bottom: 12px;
    position: relative;
    color: white;
}

.footer-block-sub-title {
    font-size: 14px;
    margin-bottom: 12px;
    position: relative;
    color: white;
}

.col-about ul {
    column-count: 2;
    list-style: disc;
}

.col-about ul li {
    list-style: upper-roman;
    list-style-position: inside;
}

.footer-list li {
    padding: 2px 0px;
    color: #ffffffc9;
}

.col-about .footer-block-contact {
    position: relative;
}

.col-about .footer-block-contact::before {
    content: "";
    display: block;
    height: 1px;
    width: 60%;
    margin-top: 10px;
    background-color: var(--bs-gray-300);
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    /* border-top: solid 1px var(--bs-gray-300); */
    padding-top: 10px;
    padding-bottom: 10px;
    color: var(--bs-gray-600);
    font-size: 13px;
    font-weight: 300;
}

.footer-bottom-right a:not(:first-child):not(:only-child)::before {
    content: "";
    display: inline-block;
    height: 8px;
    width: 1px;
    margin: 0px 10px;
    background-color: var(--bs-gray-400);
}

.footer-top {
    padding: 40px 0;
}

.footer-link,
.footer-link strong {
    word-break: break-all;
}

.footer-logo {
    margin-bottom: 15px;
}

.footer-logo img {
    width: 80px;
}

.footer-bottom-wrapper {
    background-color: #000;
}

/* End footer */
/* btn-style */
.btn-style {
    font-size: 14px;
    letter-spacing: 2px;
    height: 50px;
    display: flex;
    background-color: var(--primary-color);
    align-items: center;
    padding: 0 25px;
    color: #fff;
    text-transform: uppercase;
    font-weight: 500;
    justify-content: center;
}

.btn-style:hover {
    color: #fff;
}

/* End btn-style */
/* header-section */
.header-section {
    text-align: center;
    margin-bottom: 30px;
}

.header-section .subtitle {
    text-transform: uppercase;
    color: var(--primary-color);
    font-weight: bold;
    font-size: 13px;
    margin-bottom: 10px;
}

.header-section .section-title {
    text-transform: capitalize;
    font-size: 30px;
    position: relative;
    padding-bottom: 40px;
}

.header-section .section-title::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    height: 27px;
    width: 1px;
    background-color: var(--secondary-color);
}

.header-section.left {
    text-align: left;
}

.header-section.left .section-title {
    width: max-content;
    padding-bottom: 15px;
}

.header-section.left .section-title::after {
    content: "";
    position: absolute;
    bottom: 0;
    height: 5px;
    width: 75px;
    left: 0;
    transform: none;
    background-color: var(--primary-color);
}

/* End header-section */
@media (max-width: 767px) {
    .header-section .section-title {
        font-size: 26px;
    }
}

/* Tin tuc */
.news-section {
    padding: 60px 0;
}

.news-slider {
    overflow: hidden;
    padding-bottom: 15px;
}

.news-list {
    align-items: stretch;
}

.news-controls {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 30px;
}

.news-prev,
.news-next {
    width: 42px;
    height: 42px;
    border: 1px solid var(--primary-color);
    border-radius: 2px;
    background: #fff;
    font-size: 22px;
}

.news-prev:hover,
.news-next:hover {
    background: var(--primary-color);
    color: #fff;
}

.news-prev:disabled,
.news-next:disabled {
    opacity: 0.35;
    cursor: default;
}

.news-prev.swiper-button-lock,
.news-next.swiper-button-lock {
    display: none;
}

.news-card {
    height: auto;
    overflow: hidden;
    min-width: 0;
    border-radius: 3px;
    background: #fff;
    box-shadow: 0 15px 35px rgb(0 0 0 / 7%);
}

.news-thumb {
    display: flex;
    aspect-ratio: 1.56;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #e9e9e9;
}

.news-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.news-thumb:hover .news-image {
    transform: scale(1.04);
}

.news-placeholder {
    width: 90px;
    height: 90px;
    object-fit: contain;
}

.news-content {
    padding: 25px 24px 25px;
}

.news-title {
    margin: 0 0 17px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.news-link {
    color: #151515;
    text-decoration: none;
}

.news-link:hover {
    color: var(--secondary-color);
}

.news-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    line-height: 1.6;
    margin-bottom: 5px;
}

.news-dot {
    color: var(--secondary-color);
}

.news-comments {
    color: inherit;
    text-decoration: none;
}

.news-comments:hover {
    color: #222;
}

.news-action {
    display: flex;
    justify-content: center;
    margin-top: 55px;
    text-align: center;
}

.btn-style:focus-visible,
.news-prev:focus-visible,
.news-next:focus-visible,
.news-link:focus-visible,
.news-thumb:focus-visible,
.news-comments:focus-visible {
    outline: 2px solid #927b54;
    outline-offset: 4px;
}

.news-empty {
    text-align: center;
    color: #777;
}

@media (max-width: 991px) {
    .news-content {
        padding: 24px 20px;
    }
}

@media (max-width: 767px) {
    .news-section {
        padding: 40px 0;
    }

    .news-action {
        display: flex;
        justify-content: center;
        margin-top: 35px;
    }
}

/* End tin tuc */
/* Home intro */
.home-intro {
    position: relative;
    z-index: 2;
    margin-top: -36px;
    padding-bottom: 24px;
}

.intro-box {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    align-items: center;
    gap: 36px;
    padding: 40px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #e2e8df;
    border-top: 4px solid var(--primary-color);
    border-radius: 8px;
    box-shadow: 0 12px 32px rgb(20 55 30 / 6%);
}

.intro-box .intro-content {
    padding: 0;
    min-width: 0;
}

.home-intro .header-section .subtitle {
    margin: 0 0 12px;
    color: var(--primary-color);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.home-intro .header-section {
    margin-bottom: 22px;
}

.home .home-intro .header-section.left .section-title {
    margin: 0;
    width: auto;
    font-size: clamp(25px, 2.4vw, 32px);
    color: #183d25;
    line-height: 1.35;
    text-transform: none;
}

.intro-text {
    margin: 0 0 22px;
    color: #566359;
    font-size: 15px;
    line-height: 1.9;
    text-wrap: pretty;
}

.home-intro .intro-text:first-of-type {
    padding: 4px 0 4px 20px;
    border-left: 3px solid var(--primary-color);
    color: #304d38;
    font-size: clamp(16px, 1.35vw, 18px);
    line-height: 1.75;
}

.home-intro .intro-text strong {
    color: #183d25;
    font-weight: 700;
}

.home-intro .intro-text .intro-values {
    color: var(--primary-color);
    font-size: 0.92em;
    font-weight: 700;
    letter-spacing: 0.035em;
}

/* Notice detail */
.notice-detail {
    padding: 42px 0 64px;
    background: #f5f7f3;
}

.notice-detail .single-notice-page {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 32px;
    align-items: start;
}

.notice-detail .single-blog-content {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    padding: 36px;
    background: #fff;
    border: 1px solid #e1e8de;
    border-top: 4px solid var(--primary-color);
    border-radius: 8px;
}

.notice-detail .single-blog-aside {
    grid-column: 2;
    min-width: 0;
}

.notice-detail .top-single-blog-content {
    gap: 12px;
    margin-bottom: 26px;
    color: #758071;
    font-size: 13px;
}

.notice-detail .top-breadcrumbs a {
    color: #53624e;
}

.notice-eyebrow {
    margin-bottom: 12px;
    color: var(--primary-color);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.notice-detail .single-post-title {
    margin: 0 0 24px;
    color: #183d25;
    font-size: clamp(25px, 2.5vw, 36px);
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.notice-detail .single-post-shortdes {
    padding-left: 18px;
    border-left: 3px solid #ab986c;
    color: #445940;
    font-size: 17px;
    line-height: 1.8;
}

.notice-detail .single-post-thumb {
    margin: 24px 0;
}

.notice-detail .single-post-thumb img {
    width: 100%;
    height: auto;
    border-radius: 6px;
}

.notice-detail .contents-box {
    color: #475247;
    font-size: 16px;
    line-height: 1.85;
    overflow-wrap: anywhere;
}

.notice-detail .contents-box img {
    max-width: 100%;
    height: auto;
}

.notice-detail .widget {
    padding: 24px;
    margin-bottom: 24px;
    background: #fff;
    border: 1px solid #e1e8de;
    border-radius: 8px;
}

.notice-detail .widget-title {
    margin: 0 0 20px;
    color: #183d25;
    font-size: 20px;
    font-weight: 700;
}

.notice-detail .recent-posts {
    list-style: none;
    padding: 0;
    margin: 0;
}

.notice-detail .recent-posts li+li {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid #e8ede5;
}

.notice-detail .recent-posts .post-date {
    color: #7b8377;
    font-size: 12px;
}

.notice-detail .recent-posts .title {
    margin: 7px 0 0;
    color: #263e29;
    font-size: 15px;
    line-height: 1.6;
}

.notice-detail .recent-posts a:hover .title {
    color: var(--primary-color);
}

.notice-detail .badge {
    font-size: 10px;
    color: #58704c;
    background: #edf3e9;
}

.notice-detail .notice-dealine {
    padding: 16px;
    margin-bottom: 22px;
    border-radius: 5px;
    background: #eef5e9;
    color: #33572b;
}

.notice-detail .notice-dealine.warning {
    background: #faf2e3;
    color: #815a22;
}

.notice-detail .notice-back {
    margin-top: 26px;
}

.notice-detail .download-container {
    margin-top: 28px;
    padding: 22px;
    background: #f4f7f0;
    border-radius: 6px;
}

.notice-detail .file-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 0;
}

.notice-detail .file-icon svg {
    width: 30px;
    height: 38px;
    fill: none;
    stroke: currentColor;
}

.notice-detail .file-icon img {
    width: 45px;
    height: auto;
}

@media (max-width: 991px) {
    .notice-detail .single-notice-page {
        grid-template-columns: minmax(0, 1fr);
    }

    .notice-detail .single-blog-aside {
        grid-column: 1;
    }
}

@media (max-width: 575px) {
    .notice-detail {
        padding: 24px 0 36px;
    }

    .notice-detail .single-blog-content {
        padding: 24px 18px;
    }

    .notice-detail .file-item {
        align-items: flex-start;
        flex-wrap: wrap;
    }
}

.intro-motto {
    margin-bottom: 24px;
    color: var(--secondary-color);
    font-size: 23px;
    font-style: italic;
    display: none;
}

.intro-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--primary-color);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none;
}

.intro-link:hover {
    color: #222;
}

.intro-link:focus-visible {
    outline: 2px solid #927b54;
    outline-offset: 5px;
}

.intro-media {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    border-radius: 6px;
}

.intro-image {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    border-radius: 3px;
}

.intro-logo {
    width: 140px;
    height: 140px;
    object-fit: contain;
}

/* Home fields */
.home-fields {
    padding: 80px 0;
    background: #fff;
}

.fields-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 55px 40px;
    margin: 0 auto;
}

.field-item {
    text-align: center;
}

.field-icon {
    width: 48px;
    height: 48px;
    margin-bottom: 24px;
    color: #b58857;
}

.field-title {
    margin-bottom: 18px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1.5px;
    line-height: 1.5;
    text-transform: uppercase;
}

.field-text {
    margin: 0;
    color: #777;
    font-size: 14px;
    line-height: 1.8;
}

@media (max-width: 991px) {
    .intro-box {
        gap: 24px;
        padding: 28px;
    }

    .home .home-intro .header-section.left .section-title {
        font-size: 26px;
    }

    .fields-list {
        gap: 40px 25px;
    }
}

@media (max-width: 767px) {
    .home-intro {
        margin-top: 0;
        padding-top: 30px;
    }

    .intro-box {
        grid-template-columns: 1fr;
        padding: 24px 20px;
        gap: 24px;
    }

    .intro-media {
        min-height: 0;
    }

    .intro-image {
        height: auto;
        max-height: 380px;
    }

    .home-fields {
        padding: 50px 0;
    }

    .fields-list {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .field-text {
        max-width: 360px;
        margin: 0 auto;
    }
}

/* Post archives and shared page header. */
.page-banner-description {
    max-width: 760px;
    margin: 0 auto;
    font-size: 14px;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.page-banner-description p:last-child {
    margin-bottom: 0;
}

.article-banner .rank-math-breadcrumb {
    margin-top: 22px;
    color: #fff;
    font-size: 13px;
    line-height: 1.8;
    overflow-wrap: anywhere;
}

.article-banner .rank-math-breadcrumb p {
    margin: 0;
}

.article-banner .rank-math-breadcrumb a {
    color: inherit;
    text-decoration: none;
}

.article-banner .rank-math-breadcrumb a:hover {
    text-decoration: underline;
}

.article-banner .rank-math-breadcrumb a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}

.post-archive {
    background: #f7f7f7;
}

.post-archive-content {
    padding: 55px 0 40px;
}

.post-archive-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 36px;
}

.archive-post-card {
    min-width: 0;
    background: #fff;
    display: flex;
    flex-direction: column;
}

.archive-post-image {
    display: block;
    aspect-ratio: 1.4;
    overflow: hidden;
}

.archive-post-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
}

.archive-post-image:hover img {
    transform: scale(1.035);
}

.archive-post-content {
    padding: 38px 40px 45px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.archive-post-title {
    margin: 0 0 18px;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.archive-post-title a {
    color: #141414;
    text-decoration: none;
}

.archive-post-title a:hover {
    color: var(--bs-primary);
}

.archive-post-excerpt {
    margin: 0 0 20px;
    color: #707070;
    font-size: 15px;
    line-height: 1.75;
    overflow-wrap: anywhere;
}

.archive-post-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: auto;
    color: #777;
    font-size: 13px;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.archive-post-meta a {
    /* color: inherit; */
    text-decoration: none;
}

.archive-post-meta a:hover {
    text-decoration: underline;
}

.post-archive-pagination {
    margin-top: 40px;
}

.post-archive-pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.post-archive-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    background: #eee;
    color: #666;
    font-size: 13px;
    text-decoration: none;
}

.post-archive-pagination .current,
.post-archive-pagination a:hover {
    background: var(--primary-color);
    color: #fff;
}

.post-archive a:focus-visible {
    outline: 2px solid #887442;
    outline-offset: 4px;
}

.post-archive-empty {
    padding: 35px 0;
}

@media (max-width: 991px) {
    .post-archive-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
    }

    .archive-post-content {
        padding: 28px;
    }
}

@media (max-width: 575px) {
    .post-archive-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .post-archive-content {
        padding: 30px 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .archive-post-image img {
        transition: none;
    }
}

/* Member directory: scoped to preserve other directory views. */
.member-directory-page {
    padding-top: 28px;
    padding-bottom: 64px;
    color: #30363b;
}

.member-directory-page .archive-hoi-vien {
    --bs-gutter-x: 40px;
    --bs-gutter-y: 28px;
}

.member-directory-page .hv-filter {
    padding: 0 !important;
    border-radius: 0 !important;
    background: #fff;
}

.member-directory-page .position-filter {
    margin-bottom: 32px !important;
}

.member-directory-page .widget-title {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.5;
    margin: 0 0 16px !important;
}

.member-directory-page .hv-filter ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.member-directory-page .term-item {
    border-bottom: 1px solid #e5e5e5;
    padding: 13px 0;
}

.member-directory-page .term-content {
    display: flex;
    align-items: center;
    gap: 10px;
    border-left: 3px solid #dedede;
    padding-left: 15px;
    min-height: 27px;
}

.member-directory-page .term-content a {
    flex: 1;
    min-width: 0;
    color: #444c53;
    font-size: 14px;
    line-height: 1.6;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.member-directory-page .term-content>span {
    color: #92979b;
    font-size: 12px;
    flex-shrink: 0;
}

.member-directory-page .filter-active .term-content {
    border-color: var(--primary-color);
}

.member-directory-page .filter-active .term-content a {
    color: var(--primary-color);
    font-weight: 600;
}

.member-directory-page .filter-active .term-content a::before {
    content: '\2192';
    margin-right: 9px;
    color: var(--primary-color);
}

.member-directory-page .term-content a:hover {
    color: var(--primary-color);
}

.member-directory-page .hv-des {
    padding: 0 !important;
    border-radius: 0 !important;
    background: #fff;
}

.member-directory-page .search-hv-dn {
    width: 100%;
    min-width: 0;
}

.member-directory-page .search-wrapper {
    --bs-gutter-x: 16px;
    --bs-gutter-y: 16px;
    padding-bottom: 24px;
}

.member-directory-page .search-wrap {
    display: flex;
    align-items: stretch;
    min-height: 44px;
}

.member-directory-page .form-control {
    min-height: 44px;
    font-size: 14px;
    border: 1px solid #dce1e4;
    border-radius: 4px;
    box-shadow: none;
}

.member-directory-page .quick-search {
    min-width: 0;
    border-radius: 4px 0 0 4px;
}

.member-directory-page .search-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    flex-shrink: 0;
    border: 0;
    border-radius: 0 4px 4px 0;
    padding: 10px 14px;
    color: #fff;
    background: var(--primary-color);
    font-size: 13px;
}

.member-directory-page .search-button:hover {
    background: var(--secondary-color);
}

.member-directory-page .toolbox-item label {
    font-size: 12px;
    color: #6d767b;
    font-weight: 600;
}

.member-directory-page .table-responsive {
    border-top: 2px solid var(--primary-color);
    overflow-x: auto;
}

.member-directory-page .hv-table {
    min-width: 760px;
    width: 100%;
    margin: 0;
    font-size: 14px;
    line-height: 1.7;
    --bs-table-bg: transparent;
}

.member-directory-page .hv-table thead th {
    padding: 16px 14px;
    background: #f2f5f5;
    font-size: 12px;
    font-weight: 700;
    border-bottom: 1px solid #dce3e5;
    vertical-align: middle;
    white-space: nowrap;
    text-transform: capitalize;
}

.member-directory-page .hv-table tbody td {
    padding: 22px 14px;
    color: #59636a;
    border-bottom: 1px solid #e5e9eb;
    vertical-align: top;
    overflow-wrap: anywhere;
    max-width: 280px;
}

.member-directory-page .hv-table tbody tr:nth-child(even) {
    background: #fafbfb;
}

.member-directory-page .hv-table tbody tr:hover {
    background: #f3f7f7;
}

.member-directory-page .hv-table .full-name {
    font-weight: 700;
    color: #252f35;
    min-width: 145px;
}

.member-directory-page .hv-table .stt {
    color: #939b9f;
    font-size: 12px;
}

.member-directory-page .hv-company a {
    color: var(--heading-color);
    text-decoration: none;
    font-weight: 600 !important;
}

.member-directory-page .hv-company a:hover {
    text-decoration: underline;
}

.member-directory-page .hv-parent-field strong {
    font-weight: 400;
}

.member-directory-page .pagination {
    margin-top: 28px;
    gap: 5px;
    flex-wrap: wrap;
}

.member-directory-page .page-link {
    border: 0;
    border-radius: 3px;
    background: #f0f3f4;
    color: #54616a;
    padding: 9px 14px;
    font-size: 13px;
}

.member-directory-page .active .page-link {
    color: #fff;
    background: #384a50;
}

.member-directory-page a:focus-visible,
.member-directory-page button:focus-visible,
.member-directory-page input:focus-visible,
.member-directory-page select:focus-visible {
    /* outline: 1px solid #8b744b; */
    /* outline-offset: 3px; */
    border: 1px solid var(--secondary-color);
}

.member-directory-page .filter-tag {
    display: inline-flex;
    gap: 10px;
    margin: 0 6px 8px 0;
    padding: 5px 10px;
    background: #eff3f4;
    color: #425963;
    font-size: 12px;
    border-radius: 3px;
    text-decoration: none;
}

.member-directory-page .clear-filters {
    color: #8b744b;
    font-size: 13px;
}

.member-directory-page .search-total-result {
    color: #6d767b;
    font-size: 13px;
    margin-bottom: 16px;
}

.member-directory-page .mobile-filter-header,
.member-directory-page .mobile-filter-wrapper {
    display: none !important;
}

@media (max-width: 991px) {
    .member-directory-page .hv-filter {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px;
    }

    .member-directory-page .position-filter {
        margin-bottom: 0 !important;
    }
}

@media (max-width: 575px) {
    .member-directory-page {
        padding-top: 20px;
        padding-bottom: 40px;
    }

    .member-directory-page .hv-filter {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }

    .member-directory-page .hv-filter ul {
        max-height: 230px;
        overflow-y: auto;
    }

    .member-directory-page .hv-table tbody td {
        padding: 16px 12px;
    }
}

/* Public company profile */
.single-doanh_nghiep-content {
    padding-top: 28px;
    padding-bottom: 64px;
    color: #39434a;
}

.single-doanh_nghiep-content>.row {
    --bs-gutter-x: 48px;
    --bs-gutter-y: 32px;
    margin-top: 28px !important;
}

.single-doanh_nghiep-content .hv-short-des>div {
    padding: 0 0 28px !important;
    margin-bottom: 28px !important;
    border-bottom: 1px solid #e3e7e8;
    background: transparent;
}

.single-doanh_nghiep-content .cpn-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
    max-width: 220px;
}

.single-doanh_nghiep-content .cpn-logo img {
    width: 100%;
    height: 160px;
    object-fit: contain;
}

.single-doanh_nghiep-content .cpn-name {
    font-size: 24px;
    line-height: 1.45;
    font-weight: 700;
    color: #28343b;
    margin: 0 0 16px;
    overflow-wrap: anywhere;
}

.single-doanh_nghiep-content .hv-name {
    font-size: 14px;
    line-height: 1.8;
    color: #68747b;
}

.single-doanh_nghiep-content .hv-name strong {
    color: #34434a;
}

.single-doanh_nghiep-content .hv-position {
    padding-top: 18px;
    border-top: 1px solid #e5e8e9;
    font-size: 14px;
    line-height: 1.8;
}

.single-doanh_nghiep-content .hv-position h5 {
    margin: 0 0 8px;
    color: #858d92;
    font-size: 12px;
    font-weight: 500;
}

.single-doanh_nghiep-content .widget-title {
    font-size: 17px;
    line-height: 1.5;
    font-weight: 700;
    color: #2e393f;
    margin: 0 0 18px;
}

.single-doanh_nghiep-content .cpn-details ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.single-doanh_nghiep-content .cpn-details li {
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 16px 0;
    border-bottom: 1px solid #e6e9ea;
    font-size: 14px;
    line-height: 1.75;
    overflow-wrap: anywhere;
}

.single-doanh_nghiep-content .cpn-location {
    display: flex;
    align-items: center;
    gap: 10px;
    border-left: 3px solid #b49c6b;
    padding-left: 12px;
    color: #7a8388;
    font-size: 12px;
}

.single-doanh_nghiep-content .cpn-location svg {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
    fill: currentColor;
}

.single-doanh_nghiep-content .cpn-details li>.fw-bold {
    padding-left: 15px;
    font-weight: 500 !important;
    color: #35444c;
}

.single-doanh_nghiep-content .cpn-details a {
    color: #375c66;
    text-decoration: none;
}

.single-doanh_nghiep-content .cpn-details a:hover {
    text-decoration: underline;
}

.single-doanh_nghiep-content .hv-des {
    padding: 0 !important;
    background: transparent;
    border-radius: 0 !important;
    min-width: 0;
}

.single-doanh_nghiep-content .top-action {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 22px;
    border-bottom: 2px solid #b49c6b;
    margin-bottom: 26px;
}

.single-doanh_nghiep-content .top-action h2 {
    margin: 0;
    font-size: 24px;
    line-height: 1.4;
    font-weight: 700;
    color: #2e393f;
}

.single-doanh_nghiep-content .top-action .button-grey {
    display: inline-flex !important;
    align-items: center;
    gap: 9px;
    padding: 10px 14px;
    background: #eff3f4;
    color: #3c535d;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid #dfe6e8;
    border-radius: 4px;
    text-decoration: none;
}

.single-doanh_nghiep-content .button-grey svg {
    width: 17px;
    height: 17px;
    fill: currentColor;
    flex-shrink: 0;
}

.single-doanh_nghiep-content .button-grey:hover {
    background: #e3ebed;
}

.single-doanh_nghiep-content .intro-content,
.single-doanh_nghiep-content .company-description {
    font-size: 15px;
    line-height: 1.9;
    overflow-wrap: anywhere;
}

.single-doanh_nghiep-content .intro-content p {
    margin-bottom: 20px;
}

.single-doanh_nghiep-content .intro-content :is(h2, h3, h4) {
    font-size: 21px;
    line-height: 1.5;
    font-weight: 600;
    margin: 28px 0 14px;
    color: #30434c;
}

.single-doanh_nghiep-content .intro-content img,
.single-doanh_nghiep-content .company-description img {
    max-width: 100%;
    height: auto;
}

.single-doanh_nghiep-content .intro-content :is(iframe, video) {
    max-width: 100%;
}

.single-doanh_nghiep-content .intro-content table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
}

.single-doanh_nghiep-content .border_black,
.single-doanh_nghiep-content .space-20 {
    display: none;
}

.single-doanh_nghiep-content a:focus-visible {
    outline: 2px solid #8b744b;
    outline-offset: 4px;
}

@media (max-width: 991px) {
    .single-doanh_nghiep-content>.row>[class*=col-] {
        width: 100%;
    }

    .single-doanh_nghiep-content .cpn-name {
        max-width: 650px;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 575px) {
    .single-doanh_nghiep-content {
        padding-top: 20px;
        padding-bottom: 40px;
    }

    .single-doanh_nghiep-content .cpn-name,
    .single-doanh_nghiep-content .top-action h2 {
        font-size: 21px;
    }
}

/* Home company logos */
.company-logo-section {
    padding: 48px 0 56px;
    border-top: 1px solid #e7ebec;
    background: #fff;
}

.company-logo-section .header-section {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 28px;
}

.company-logo-section .section-title {
    font-size: 25px;
    line-height: 1.4;
    margin: 0;
}

.company-logo-more {
    color: #6f6042;
    font-size: 14px;
    white-space: nowrap;
}

.company-logo-section .doanh-nghiep-slide {
    overflow: hidden;
    position: relative;
}

.company-logo-section .swiper-wrapper {
    transition-timing-function: linear;
}

.company-logo-section .swiper-slide {
    width: 180px;
    height: 120px;
}

.company-logo-section .doanh-nghiep-item {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: center;
    padding: 7px;
    border: 1px solid #e8ecee;
    border-radius: 4px;
    background: #fff;
}

.company-logo-section .card-item-thumb {
    width: 100%;
    height: 100%;
}

.company-logo-section .card-item-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.company-logo-section .doanh-nghiep-item:hover {
    border-color: #b49c6b;
}

.company-logo-section a:focus-visible {
    outline: 2px solid #8b744b;
    outline-offset: -3px;
}

.company-logo-section .swiper-pagination,
.company-logo-section .swiper-button-prev,
.company-logo-section .swiper-button-next {
    display: none;
}

@media (max-width: 575px) {
    .company-logo-section {
        padding: 32px 0;
    }

    .company-logo-section .section-title {
        font-size: 21px;
    }

    .company-logo-section .swiper-slide {
        width: 145px;
        height: 100px;
    }
}

/* Association footer */
.footer.association-footer {
    background: var(--primary-color);
    color: #c5c5c5;
    padding: 0;
    font-size: 14px;
    line-height: 1.85;
}

.association-footer-grid {
    display: grid;
    grid-template-columns: 1.05fr 1.1fr 1.35fr;
    gap: 48px;
    padding: 64px 0 48px;
}

.association-footer-grid>* {
    min-width: 0;
    overflow-wrap: anywhere;
}

.association-footer .association-footer-identity {
    display: flex;
    align-items: center;
    gap: 16px;
    color: #fff;
    text-decoration: none;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 22px;
}

.association-footer-logo {
    width: 76px;
    height: 76px;
    object-fit: contain;
    flex-shrink: 0;
}

.association-footer-brand p {
    margin: 0;
}

.association-footer h2 {
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 26px;
    line-height: 1.5;
}

.association-footer address {
    font-style: normal;
    /* margin: 0 0 18px; */
    margin: 0;
}

.association-footer a {
    color: #fff;
    text-decoration: none;
    transition: color .15s ease;
}

.association-footer a:hover {
    color: var(--secondary-color);
}

.association-footer a:focus-visible {
    outline: 2px solid var(--secondary-color);
    outline-offset: 4px;
}

.association-footer-contact>a {
    display: block;
    /* margin-bottom: 7px; */
    color: #fff;
}

.association-footer .association-footer-phone {
    color: #fff;
    font-weight: 600;
    /* font-size: 16px; */
}

.association-footer .association-footer-map {
    /* margin-top: 16px; */
    font-size: 14px;
}

.association-footer-map .ob-icon {
    margin-right: 5px;
}

.association-footer-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 24px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.association-footer-links li {
    margin: 0;
    padding: 0;
}

.association-footer-bottom {
    border-top: 1px solid #ffffff1f;
    display: flex;
    justify-content: space-between;
    gap: 16px 32px;
    padding: 22px 0;
    font-size: 12px;
    color: #aaa;
}

.association-footer-bottom p {
    margin: 0;
    overflow-wrap: anywhere;
}

@media (max-width: 991px) {
    .association-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 36px;
    }

    .association-footer-navigation {
        grid-column: 1 / -1;
    }
}

@media (max-width: 575px) {
    .association-footer-grid {
        grid-template-columns: minmax(0, 1fr);
        padding: 40px 0 32px;
    }

    .association-footer h2 {
        margin-bottom: 18px;
    }

    .association-footer-bottom {
        flex-direction: column;
        gap: 8px;
    }
}

/* Homepage editorial sections */
.home-editorial {
    padding: 56px 0;
}

.home-editorial h2 {
    font-size: 28px;
    font-weight: 700;
    margin: 0 0 30px;
}

.home-editorial a {
    color: inherit;
    text-decoration: none;
}

.home-editorial a:hover {
    color: var(--primary-color);
}

.home-editorial a:focus-visible {
    outline: 2px solid var(--secondary-color);
    outline-offset: 4px;
}

.home-featured-grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 22px 36px;
}

.home-featured-item {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr);
    gap: 20px;
    min-width: 0;
}

.home-featured-item.is-lead {
    grid-column: 1;
    grid-row: auto;
    display: block;
}

.home-featured-secondary {
    display: grid;
    align-content: start;
    gap: 20px;
    min-width: 0;
}

.home-featured-image {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #f4f5f5;
}

.home-featured-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-featured-image img.is-placeholder {
    object-fit: contain;
    padding: 20px;
}

.home-featured-item time {
    display: block;
    color: #7b8084;
    font-size: 12px;
    margin: 0 0 8px;
}

.home-featured-item.is-lead time {
    margin-top: 20px;
}

.home-featured-item h3 {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    margin: 0;
    overflow-wrap: anywhere;
}

.home-featured-item.is-lead h3 {
    font-size: 18px;
}

.home-featured-item p {
    font-size: 14px;
    line-height: 1.4;
    margin: 14px 0 0;
    display: none;
}

.home-documents {
    background: #f5f7f7;
}

.home-documents-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    margin-bottom: 25px;
}

.home-documents-heading h2 {
    margin: 0;
}

.home-documents-heading>a {
    font-size: 14px;
    color: var(--primary-color);
    flex-shrink: 0;
}

.home-document-list {
    list-style: none;
    padding: 0;
    margin: 0;
    border-top: 2px solid var(--primary-color);
}

.home-document-list li {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 24px;
    align-items: baseline;
    padding: 22px 0;
    border-bottom: 1px solid #dfe5e7;
}

.home-document-list time {
    color: #768087;
    font-size: 13px;
}

.home-document-list h3 {
    font-size: 16px;
    line-height: 1.6;
    font-weight: 600;
    margin: 0;
    overflow-wrap: anywhere;
}

.home-document-list h3 a {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.home-document-list .ob-icon {
    color: var(--primary-color);
    flex-shrink: 0;
}

@media (max-width: 767px) {
    .home-editorial {
        padding: 36px 0;
    }

    .home-editorial h2 {
        font-size: 24px;
    }

    .home-featured-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .home-featured-item.is-lead {
        grid-row: auto;
    }

    .home-featured-item {
        grid-template-columns: 105px minmax(0, 1fr);
        gap: 16px;
    }

    .home-document-list li {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
    }
}

/* Homepage document directory */
.document-desk {
    padding: 56px 0;
    background: #f5f7f7;
    color: #354149;
}

.document-desk-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}

.document-desk-eyebrow {
    /* color: #757f84; */
    font-size: 12px;
    margin: 0 0 8px;
    display: none;
}

.document-desk h2 {
    font-size: 28px;
    font-weight: 700;
    margin: 0;
    text-transform: capitalize;
}

.document-desk a {
    text-decoration: none;
}

.document-desk-all {
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.document-desk-columns,
.document-desk-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 160px 130px;
    gap: 28px;
}

.document-desk-columns {
    padding: 15px 5px;
    border-top: 2px solid var(--primary-color);
    border-bottom: 1px solid #dce3e5;
    font-size: 12px;
}

.document-desk-columns span:last-child {
    text-align: center;
}

.document-desk-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.document-desk-row {
    padding: 10px 5px;
    align-items: center;
    border-bottom: 1px solid #dce3e5;
}

.document-desk-row:hover {
    /* background: #fff; */
}

.document-desk-info {
    min-width: 0;
    overflow-wrap: anywhere;
}

.document-desk-type {
    display: block;
    color: #7b6846;
    font-size: 12px;
    margin-bottom: 7px;
}

.document-desk h3 {
    font-size: 17px;
    font-weight: 600;
    line-height: 1.6;
    margin: 0;
}

.document-desk h3 a {
    color: #293840;
}

.document-desk-number {
    margin: 8px 0 0;
    font-size: 12px;
    color: #758087;
}

.document-desk-number strong {
    color: #58656b;
    font-weight: 500;
}

.document-desk-date {
    font-size: 13px;
}

.document-desk-mobile-label {
    display: none;
}

.document-desk-action {
    text-align: right;
}

.document-desk-action a {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 9px 12px;
    border: 1px solid #d3dcdf;
    border-radius: 4px;
    font-size: 13px;
    background: #fff;
}

.document-desk a:hover {
    color: var(--primary-color);
}

.document-desk a:focus-visible {
    outline: 2px solid var(--secondary-color);
    outline-offset: 4px;
}

.document-desk-empty {
    border-top: 2px solid var(--primary-color);
    padding: 28px 0;
    margin: 0;
    color: #758087;
}

@media (max-width: 767px) {
    .document-desk {
        padding: 36px 0;
    }

    .document-desk h2 {
        font-size: 24px;
    }

    .document-desk-heading {
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 16px;
    }

    .document-desk-columns {
        display: none;
    }

    .document-desk-list {
        border-top: 2px solid var(--primary-color);
    }

    .document-desk-row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 16px;
        padding: 22px 0;
    }

    .document-desk-info {
        grid-column: 1 / -1;
    }

    .document-desk-mobile-label {
        display: block;
        font-size: 11px;
        margin-bottom: 4px;
    }
}

/* Document imagery and detail */
.document-desk-info {
    display: flex;
    align-items: center;
    gap: 20px;
}

.document-desk-thumb {
    display: block;
    width: 100px;
    height: 112px;
    flex-shrink: 0;
    background: #fff;
    border: 1px solid #e1e6e8;
    display: none;
}

.document-desk-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.document-desk-thumb .is-placeholder {
    padding: 12px;
}

.document-desk-summary {
    min-width: 0;
}

.document-detail {
    padding-top: 30px;
    padding-bottom: 64px;
}

.document-back {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    color: #68777e;
    font-size: 13px;
    margin-bottom: 30px;
    text-decoration: none;
}

.document-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 48px;
    align-items: start;
}

.document-detail-content {
    min-width: 0;
    overflow-wrap: anywhere;
}

.document-detail-cover {
    margin: 0 0 32px;
    background: #f5f7f7;
    text-align: center;
}

.document-detail-cover img {
    display: block;
    max-width: 100%;
    max-height: 600px;
    width: auto;
    height: auto;
    margin: auto;
    object-fit: contain;
}

.document-detail h2 {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 22px;
}

.document-detail-aside {
    border-top: 3px solid var(--primary-color);
    padding-top: 22px;
    overflow-wrap: anywhere;
}

.document-detail-aside h2 {
    font-size: 18px;
}

.document-detail-aside dt {
    font-size: 12px;
    font-weight: 400;
    color: #808a90;
    margin-top: 18px;
}

.document-detail-aside dd {
    margin: 5px 0 0;
    padding-bottom: 16px;
    border-bottom: 1px solid #e5e9eb;
    font-size: 14px;
    color: #34464f;
}

.document-detail-download {
    margin-top: 28px;
}

.document-detail-download h3 {
    font-size: 16px;
    font-weight: 600;
}

.document-detail-download p {
    font-size: 13px;
    color: #748087;
    line-height: 1.8;
}

.document-detail-aside a:not(.btn-style) {
    color: #665637;
}

.document-related {
    margin-top: 48px;
    padding-top: 32px;
    border-top: 1px solid #e3e8ea;
}

.document-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.document-related-item {
    min-width: 0;
    overflow-wrap: anywhere;
}

.document-related-image {
    display: block;
    aspect-ratio: 4 / 3;
    background: #f5f7f7;
    margin-bottom: 16px;
}

.document-related-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.document-related-item time,
.document-related-item p {
    color: #78838a;
    font-size: 12px;
}

.document-related-item h3 {
    font-size: 17px;
    line-height: 1.6;
    font-weight: 600;
    margin: 8px 0;
}

.document-related-item h3 a {
    color: #34464f;
    text-decoration: none;
}

.document-related-item h3 a:hover {
    color: var(--primary-color);
}

@media (max-width: 767px) {
    .document-related-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

.document-source {
    display: inline-block;
    margin-top: 18px;
    font-size: 13px;
}

.document-detail a:focus-visible {
    outline: 2px solid var(--secondary-color);
    outline-offset: 4px;
}

.document-detail .article-content img {
    max-width: 100%;
    height: auto;
}

.document-detail .article-content table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
}

@media (max-width: 991px) {
    .document-detail-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }

    .document-detail-aside {
        grid-row: 1;
    }
}

@media (max-width: 575px) {
    .document-desk-info {
        gap: 14px;
    }

    .document-desk-thumb {
        width: 76px;
        height: 90px;
    }

    .document-detail {
        padding-bottom: 40px;
    }
}

/* Contact page */
.contact-details {
    background: var(--primary-color);
    color: #fff;
    padding: 65px 0;
}

.contact-details-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 55px;
}

.contact-detail {
    min-width: 0;
    overflow-wrap: anywhere;
}

.contact-detail .ob-icon {
    display: block;
    font-size: 28px;
    margin-bottom: 24px;
}

.contact-detail h2 {
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 18px;
}

.contact-detail p {
    font-size: 14px;
    line-height: 1.8;
    margin: 0 0 14px;
}

.contact-detail a {
    color: var(--secondary-color);
    font-size: 14px;
    text-decoration: none;
}

.contact-detail a:hover {
    text-decoration: underline;
}

.contact-page a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}

.contact-form-section {
    background: #f4f4f4;
    padding: 70px 0 80px;
}

.contact-form-section h2 {
    margin: 0 0 12px;
    font-size: 30px;
    font-weight: 700;
    text-align: center;
}

.contact-form-intro {
    color: #737373;
    text-align: center;
    font-size: 15px;
    margin-bottom: 42px;
}

.contact-form-container {
    max-width: 580px;
    margin: 0 auto;
}

.contact-form-container .wpcf7 form>p {
    margin: 0 0 16px;
}

.contact-form-container .wpcf7 label {
    display: block;
    width: 100%;
    font-size: 14px;
    color: #555;
}

.contact-form-container .wpcf7-form-control-wrap {
    display: block;
}

.contact-form-container input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=hidden]),
.contact-form-container textarea,
.contact-form-container select {
    width: 100%;
    max-width: 100%;
    border: 1px solid #e5e5e5;
    border-radius: 0;
    background: #fff;
    color: #222;
    padding: 14px 16px;
    font: inherit;
    font-size: 15px;
    box-sizing: border-box;
}

.contact-form-container textarea {
    min-height: 150px;
    height: 160px;
    resize: vertical;
}

.contact-form-container input:focus-visible,
.contact-form-container textarea:focus-visible,
.contact-form-container select:focus-visible {
    outline: 2px solid #887442;
    outline-offset: 2px;
}

.contact-form-container .wpcf7-submit {
    width: 100%;
    min-height: 48px;
    padding: 14px 20px;
    border: 0;
    border-radius: 0;
    background: var(--primary-color);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}

.contact-form-container .wpcf7-submit:hover {
    background: #887442;
}

.contact-form-container .wpcf7-submit:disabled {
    opacity: .6;
    cursor: wait;
}

.contact-form-container .wpcf7-not-valid-tip {
    font-size: 13px;
    margin-top: 6px;
}

.contact-form-container .wpcf7-response-output {
    margin: 20px 0 0;
    padding: 14px;
    overflow-wrap: anywhere;
}

.contact-map iframe {
    display: block;
    width: 100%;
    height: 390px;
    border: 0;
}

@media (max-width: 767px) {
    .contact-details-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 36px;
    }

    .contact-details {
        padding: 40px 0;
    }

    .contact-detail .ob-icon {
        margin-bottom: 16px;
    }

    .contact-form-section {
        padding: 45px 0;
    }

    .contact-form-section h2 {
        font-size: 25px;
    }

    .contact-map iframe {
        height: 300px;
    }
}

/* Single post */
.article-page {
    background: #fff;
}

.article-banner {
    padding: 85px 0;
    background-position: center;
    background-size: cover;
    color: #fff;
    text-align: center;
}

.article-title {
    color: #fff;
    max-width: 1000px;
    margin: 0 auto 25px;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.3;
    overflow-wrap: anywhere;
    text-transform: capitalize;
}

.article-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    font-size: 13px;
    display: none;
}

.article-meta a {
    color: inherit;
    text-decoration: none;
}

.article-meta a:hover {
    text-decoration: underline;
}

.article-layout {
    display: grid;
    grid-template-columns: minmax(0, 2.2fr) minmax(0, 1fr);
    gap: 40px;
    padding: 55px 0 75px;
}

.article-main,
.article-sidebar {
    min-width: 0;
}

.article-cover {
    margin: 0 0 32px;
}

.article-image {
    display: block;
    width: 100%;
    height: auto;
}

.article-cover figcaption {
    padding-top: 10px;
    color: #777;
    font-size: 13px;
    text-align: center;
}

.article-content {
    color: #666;
    font-size: 16px;
    line-height: 1.9;
    overflow-wrap: anywhere;
}

.article-content h2,
.article-content h3,
.article-content h4 {
    margin: 32px 0 18px;
    color: #161616;
    line-height: 1.4;
    font-weight: 700;
}

.article-content h2 {
    font-size: 26px;
}

.article-content h3 {
    font-size: 22px;
}

.article-content p,
.article-content ul,
.article-content ol {
    margin-bottom: 22px;
}

.article-content ul,
.article-content ol {
    padding-left: 26px;
}

.article-content ul {
    list-style: disc;
}

.article-content ol {
    list-style: decimal;
}

.article-content img,
.article-content video {
    max-width: 100%;
    height: auto;
}

.article-content iframe,
.article-content figure,
.article-content .wp-caption {
    max-width: 100%;
}

.article-content blockquote {
    margin: 28px 0;
    padding: 24px 28px;
    border-left: 3px solid var(--secondary-color);
    background: #f5f5f5;
    font-style: italic;
}

.article-content table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
}

.article-content td,
.article-content th {
    padding: 10px;
    border: 1px solid #ddd;
}

.article-content pre {
    overflow-x: auto;
    padding: 20px;
    background: #f5f5f5;
}

.article-content a {
    color: #927b54;
    text-decoration: underline;
}

.article-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 35px;
    margin-top: 55px;
    padding-bottom: 35px;
}

.article-next {
    text-align: right;
}

.article-nav-label {
    display: block;
    margin-bottom: 12px;
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.article-nav-link {
    color: #927b54;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
}

.article-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 25px 0;
    border-top: 1px solid #e5e5e5;
}

.article-share {
    display: flex;
    gap: 12px;
    font-size: 13px;
}

.article-share a {
    color: #333;
}

.article-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.article-tags a {
    display: inline-block;
    padding: 7px 12px;
    background: var(--secondary-color);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
}

.article-tags a:hover {
    background: #927b54;
}

.article-widget {
    margin-bottom: 45px;
}

.widget-title {
    margin: 0 0 24px;
    color: #222;
    font-size: 19px;
    font-weight: 700;
}

.recent-list {
    display: grid;
    gap: 22px;
}

.recent-item {
    display: grid;
    grid-template-columns: 75px minmax(0, 1fr);
    gap: 15px;
}

.recent-image {
    display: block;
    width: 75px;
    height: 75px;
    object-fit: cover;
}

.recent-title {
    margin: 0 0 10px;
    font-size: 14px;
    line-height: 1.5;
}

.recent-meta {
    color: #888;
    font-size: 11px;
}

.article-related {
    margin-top: 30px;
}

.related-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px;
}

.article-comments {
    margin-top: 45px;
}

.article-comments textarea {
    width: 100%;
}

.article-comments input {
    max-width: 100%;
}

@media (max-width: 991px) {
    .article-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .article-title {
        font-size: 32px;
    }
}

@media (max-width: 575px) {
    .article-banner {
        padding: 50px 0;
    }

    .article-title {
        font-size: 26px;
    }

    .article-layout {
        padding: 30px 0 45px;
    }

    .related-list {
        grid-template-columns: 1fr;
    }

    .article-nav {
        gap: 20px;
    }
}

/* Informational pages: association identity and comfortable long-form reading. */
.association-page {
    /* background: #f7f8f5; */
}

.association-page-heading {
    padding: 28px 0 46px;
    background: #edf2eb;
    border-bottom: 1px solid #dde5d9;
}

.association-page-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 34px;
    color: #637060;
    font-size: 13px;
}

.association-page-breadcrumb a {
    color: var(--primary-color);
    text-decoration: none;
}

.association-page-eyebrow {
    display: block;
    margin: 0 0 12px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.association-page-heading .association-page-eyebrow {
    color: #557050;
}

.association-page-title {
    margin: 0;
    color: var(--primary-color);
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.25;
    font-weight: 700;
}

.association-page-accent {
    width: 58px;
    height: 3px;
    margin-top: 24px;
    background: var(--secondary-color);
}

.association-page-layout {
    gap: 36px;
    padding-top: 44px;
    padding-bottom: 64px;
    align-items: start;
}

.association-page-paper {
    min-width: 0;
}

.association-page .association-page-content {
    margin: 0;
    font-size: 16px;
    line-height: 1.9;
    overflow-wrap: anywhere;
}

.association-page-content p {
    margin: 0 0 20px;
}

.association-page-content a {
    color: var(--primary-color);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.association-page-content :is(img, video, iframe, figure, .wp-caption) {
    max-width: 100%;
}

.association-page-content :is(img, video) {
    height: auto;
}

.association-page-content figure {
    margin: 24px 0;
}

.association-page-content figcaption {
    color: #6c7668;
    font-size: 13px;
    text-align: center;
}

.association-page-content blockquote {
    margin: 26px 0;
    padding: 20px 24px;
    background: #f1f5ed;
    border-left: 3px solid var(--secondary-color);
}

.association-page-content :is(ul, ol) {
    padding-left: 24px;
}

.association-page-content table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
}

.association-page-content :is(td, th) {
    padding: 10px;
    border: 1px solid #dfe5dc;
}

.association-page-content pre {
    max-width: 100%;
    overflow-x: auto;
}

.association-page-image {
    margin: 0 0 28px;
}

.association-page-image img {
    width: 100%;
    height: auto;
    border-radius: 3px;
}

.association-page-connect {
    padding: 28px;
    background: var(--primary-color);
    color: #fff;
    border-radius: 4px;
}

.association-page-connect .association-page-eyebrow {
    color: #d5dfca;
    font-size: 10px;
    letter-spacing: 1.1px;
}

.association-page-connect h2 {
    margin: 20px 0 16px;
    color: #fff;
    font-size: 28px;
    line-height: 1.35;
}

.association-page-connect p {
    margin-bottom: 24px;
    color: #e0e9dc;
    font-size: 14px;
    line-height: 1.8;
}

.association-page-button {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 16px;
    background: #fff;
    color: #004b13;
    border-radius: 3px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.association-page-button:hover {
    background: #eaf1e5;
    color: #004b13;
}

.association-page-members {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 19px;
    color: #fff;
    font-size: 13px;
    text-decoration: none;
}

.association-page-members:hover {
    color: #e4d5b9;
}

.association-page-values {
    margin-top: 24px;
    padding: 12px 28px 28px;
    border: 1px solid #dde5d7;
}

.association-page-values>span {
    display: block;
    height: 55px;
    color: var(--secondary-color);
    font-family: Georgia, serif;
    font-size: 76px;
    line-height: 1;
}

.association-page-values p {
    margin: 14px 0;
    color: #365334;
    font-size: 23px;
    font-weight: 600;
    line-height: 1.6;
}

.association-page-values small {
    color: #667260;
    font-size: 12px;
}

.association-page a:focus-visible {
    outline: 3px solid #b1976b;
    outline-offset: 4px;
}

.association-page-edit {
    margin-top: 24px;
    font-size: 13px;
}

.association-page-comments {
    padding-bottom: 40px;
}

@media (max-width: 991px) {
    .association-page-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .association-page-aside {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 24px;
    }

    .association-page-values {
        margin-top: 0;
    }
}

@media (max-width: 575px) {
    .association-page-heading {
        padding: 22px 0 32px;
    }

    .association-page-breadcrumb {
        margin-bottom: 26px;
    }

    .association-page-layout {
        padding-top: 24px;
        padding-bottom: 36px;
    }

    .association-page-paper {
        padding: 24px 20px;
    }

    .association-page .association-page-content {
        font-size: 15px;
        line-height: 1.85;
    }

    .association-page-content>p:first-of-type {
        font-size: 17px;
    }

    .association-page-content h2 {
        font-size: 21px;
    }

    .association-page-aside {
        grid-template-columns: 1fr;
    }
}

/* Company archive shares the member directory controls and visual rhythm. */
.company-directory-page .work-filter {
    margin-bottom: 32px !important;
}

.company-directory-page .hv-filter .term-item>ul {
    margin-top: 12px;
    padding-left: 16px;
}

.company-directory-page .hv-filter .term-item>ul .term-item:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.company-directory-page .hv-list {
    border-top: 2px solid var(--primary-color);
}

.company-directory-page .hv-list>.space-20 {
    display: none;
}

.company-directory-page .hv-data-list {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 24px;
    padding: 26px 20px;
    border-bottom: 1px solid #e5e9eb;
}

.company-directory-page .hv-data-list:nth-child(even) {
    background: #fafbfb;
}

.company-directory-page .hv-data-list:hover {
    background: #f3f7f7;
}

.company-directory-page .member_logo {
    width: 88px;
    height: 88px;
    background: #f2f5f5;
    border: 1px solid #e5e9eb;
    border-radius: 4px;
}

.company-directory-page .member_logo a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.company-directory-page .member_logo img {
    width: 100%;
    height: 100%;
    padding: 8px;
    object-fit: contain;
}

.company-directory-page .member_text {
    min-width: 0;
}

.company-directory-page .full-name {
    margin: 0 0 14px;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.5;
}

.company-directory-page .full-name a {
    text-decoration: none;
}

.company-directory-page .full-name a:hover {
    text-decoration: underline;
}

.company-directory-page .hv-data-list-des {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 24px;
    color: #59636a;
    font-size: 14px;
    line-height: 1.8;
    overflow-wrap: anywhere;
}

.company-directory-page .hv-data-list-des>span:last-child {
    grid-column: 1 / -1;
}

.company-directory-page .hv-data-list-des strong {
    color: #303c43;
    font-weight: 500;
}

.company-directory-page .pagination {
    justify-content: center;
}

@media (max-width: 991px) {
    .company-directory-page .hv-filter {
        position: static;
        width: auto;
        height: auto;
        transform: none;
        visibility: visible;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .company-directory-page .work-filter {
        margin-bottom: 0 !important;
    }
}

@media (max-width: 575px) {
    .company-directory-page .hv-filter {
        grid-template-columns: minmax(0, 1fr);
    }

    .company-directory-page .hv-data-list {
        grid-template-columns: 60px minmax(0, 1fr);
        gap: 16px;
        padding: 20px 10px;
    }

    .company-directory-page .member_logo {
        width: 60px;
        height: 60px;
    }

    .company-directory-page .full-name {
        font-size: 16px;
    }

    .company-directory-page .hv-data-list-des {
        grid-template-columns: minmax(0, 1fr);
        font-size: 13px;
    }
}

/* Executive board: portrait-led cards matching the association theme. */
.board-page {
    background: #fff;
}

.board-page .board-directory {
    max-width: 1240px;
    padding-top: 40px;
    padding-bottom: 72px;
}

.board-demo-note {
    margin: 0 0 24px;
    color: #858b88;
    font-size: 12px;
}

.board-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 48px 40px;
}

.board-card {
    min-width: 0;
}

.board-portrait {
    position: relative;
    aspect-ratio: 387 / 427;
    overflow: hidden;
    background: #f1f3f0;
}

.board-portrait img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

/* Display the three demo portraits from the supplied reference without altering the source. */
.board-portrait-demo img {
    max-width: none;
    height: 100%;
}

.board-crop-1 img {
    /* left: -10.8527%; */
}

.board-crop-2 img {
    left: -121.1886%;
}

.board-crop-3 img {
    left: -231.2661%;
}

.board-card-info {
    padding-top: 28px;
}

.board-card-info h2 {
    margin: 0 0 10px;
    color: #183c23;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.45;
}

.board-position {
    margin: 0;
    color: #818984;
    font-size: 15px;
    line-height: 1.6;
}

.board-rule {
    display: block;
    width: 45px;
    height: 2px;
    margin: 23px 0 18px;
    background: var(--primary-color);
}

.board-socials {
    display: flex;
    gap: 18px;
    align-items: center;
}

.board-socials a {
    color: #354640;
    font-size: 17px;
    text-decoration: none;
}

.board-socials a:hover {
    color: var(--primary-color);
}

.board-socials a:focus-visible {
    outline: 2px solid var(--secondary-color);
    outline-offset: 5px;
}

@media (max-width: 991px) {
    .board-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 36px 28px;
    }
}

@media (max-width: 575px) {
    .board-page .board-directory {
        padding-top: 28px;
        padding-bottom: 40px;
    }

    .board-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }

    .board-card-info {
        padding-top: 22px;
    }
}

/* Board hierarchy: chair, vice chairs, and committee members. */
.board-group+.board-group {
    margin-top: 52px;
}

.board-group-title {
    display: flex;
    align-items: center;
    gap: 22px;
    margin: 0 0 30px;
    color: var(--primary-color);
    font-size: 25px;
    font-weight: 700;
    line-height: 1.4;
}

.board-group-title::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #e4e8e1;
}

.board-group-chair .board-grid {
    grid-template-columns: minmax(0, 380px);
    justify-content: center;
}

.board-group-chair .board-card-info {
    text-align: center;
}

.board-group-chair .board-rule {
    margin-left: auto;
    margin-right: auto;
}

.board-group-chair .board-socials {
    justify-content: center;
}

.board-card-info h3 {
    margin: 0 0 10px;
    color: #183c23;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.45;
}

@media (max-width: 575px) {
    .board-group+.board-group {
        margin-top: 36px;
    }

    .board-group-title {
        font-size: 22px;
        gap: 14px;
        margin-bottom: 24px;
    }
}

/* Organization structure: editable hierarchy and department directory. */
.organization-page {
    background: #fff;
    color: #455248;
}

.organization-content {
    padding-top: 48px;
    padding-bottom: 72px;
    max-width: 1240px !important;
}

.organization-intro {
    max-width: 680px;
    margin: 0 auto 42px;
    text-align: center;
}

.organization-eyebrow {
    color: #8b744b;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.organization-intro h2 {
    color: var(--primary-color);
    font-size: clamp(26px, 3vw, 36px);
    line-height: 1.4;
    margin-bottom: 18px;
    text-transform: capitalize;
}

.organization-intro>p {
    line-height: 1.8;
}

.organization-intro small {
    color: #798277;
    font-size: 12px;
}

.organization-chart {
    /* padding: 36px 28px; */
    /* background: #f6f8f3; */
    /* border: 1px solid #e3e8de; */
    border-radius: 4px;
}

.organization-levels {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    max-width: 460px;
}

.organization-level {
    position: relative;
    text-align: center;
    border: 1px solid #cfdbc9;
    background: #fff;
    padding: 22px;
    border-radius: 3px;
}

.organization-level+.organization-level {
    margin-top: 30px;
}

.organization-level+.organization-level::before {
    content: '';
    position: absolute;
    width: 1px;
    height: 30px;
    background: #aaba9e;
    left: 50%;
    top: -31px;
}

.organization-level:first-child {
    background: var(--primary-color);
    color: #fff;
    border-color: var(--primary-color);
}

.organization-level h3 {
    color: var(--primary-color);
    font-size: 20px;
    margin: 0 0 10px;
}

.organization-level:first-child h3 {
    color: #fff;
}

.organization-level p {
    margin: 0;
    font-size: 14px;
    line-height: 1.7;
}

.organization-level a {
    display: inline-block;
    margin-top: 12px;
    color: #826c43;
    font-size: 13px;
}

.organization-branches {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    padding-top: 30px;
}

.organization-branches::before {
    content: '';
    position: absolute;
    width: 1px;
    height: 30px;
    background: #aaba9e;
    top: 0;
    left: 50%;
}

.organization-branches a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    min-height: 76px;
    text-align: center;
    border: 1px solid #cfdbc9;
    border-top: 3px solid var(--primary-color);
    background: #fff;
    color: #274a2a;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

.organization-branches a:hover {
    background: #eaf0e3;
}

.organization-oversight {
    margin: 24px 0 52px;
    padding: 24px 28px;
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 24px;
    background: #faf7f0;
    border-left: 3px solid var(--primary-color);
    align-items: center;
}

.organization-oversight h2 {
    color: #655432;
    font-size: 20px;
    margin: 0;
}

.organization-oversight p {
    font-size: 14px;
    line-height: 1.8;
    margin: 0;
}

.organization-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 28px;
}

.organization-section-heading h2 {
    color: var(--primary-color);
    font-size: 26px;
    margin: 0;
}

.organization-section-heading>span {
    font-size: 13px;
    color: #80877b;
}

.organization-department-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.organization-department {
    padding: 26px;
    border: 1px solid #e1e6dc;
    scroll-margin-top: 180px;
}

.organization-number {
    display: block;
    color: var(--primary-color);
    font-size: 21px;
    margin-bottom: 18px;
    font-weight: bold;
}

.organization-department h3 {
    color: #25472b;
    font-size: 19px;
    line-height: 1.5;
    margin: 0 0 14px;
}

.organization-department p,
.organization-department li {
    font-size: 14px;
    line-height: 1.85;
}

.organization-department ul {
    padding-left: 18px;
    margin: 20px 0 0;
}

.organization-department li::marker {
    color: var(--primary-color);
}

.organization-page a:focus-visible {
    outline: 2px solid #b1976b;
    outline-offset: 4px;
}

@media(max-width: 991px) {
    .organization-department-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media(max-width: 575px) {
    .organization-content {
        padding-top: 30px;
        padding-bottom: 40px;
    }

    .organization-chart {
        padding: 24px 16px;
    }

    .organization-branches,
    .organization-department-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .organization-oversight {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        padding: 22px;
    }

    .organization-section-heading {
        display: block;
    }

    .organization-section-heading h2 {
        font-size: 23px;
        margin-bottom: 10px;
    }
}

/* Advertising placements managed through ACF. */
.association-ad-section {
    padding: 36px 0 44px;
    background: #f6f7f3;
}

.association-ad-label {
    margin-bottom: 14px;
    color: #7b8275;
    font-size: 10px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.association-ad-section .dndl-banner-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
}

.association-ad-section .dndl-banner-item {
    position: relative;
    overflow: hidden;
    /* border-radius: 4px; */
    /* background: #fff; */
}

.association-ad-section .dndl-banner-link {
    display: block;
}

.association-ad-section .dndl-banner-img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.association-ad-section .dndl-banner-link:focus-visible {
    outline: 3px solid var(--secondary-color);
    outline-offset: -3px;
}

@media(max-width: 575px) {
    .association-ad-section {
        padding: 24px 0 30px;
    }
}

.association-ad-section .banner-trang-chu-slide {
    padding-bottom: 30px;
    --swiper-theme-color: var(--primary-color);
}

.association-ad-section .swiper-pagination {
    bottom: 0;
}

.association-ad-section .swiper-button-prev,
.association-ad-section .swiper-button-next {
    width: 38px;
    height: 38px;
    margin-top: -34px;
    background: rgba(255, 255, 255, .94);
    border-radius: 50%;
    color: var(--primary-color);
    box-shadow: 0 2px 10px #0002;
}

.association-ad-section .swiper-button-prev::after,
.association-ad-section .swiper-button-next::after {
    font-size: 15px;
    font-weight: 700;
}

.association-ad-section .swiper-slide {
    height: auto;
}

.association-ad-section .dndl-banner-link {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.association-ad-section .dndl-banner-img {
    width: 100%;
    height: 100%;
    max-height: 100%;
    /* object-fit: cover; */
    object-position: center;
}

/* Document search directory. */
.document-directory {
    padding-top: 38px;
    padding-bottom: 64px;
}

.document-filters {
    display: grid;
    grid-template-columns: minmax(220px, 2fr) repeat(3, minmax(130px, 1fr)) auto;
    gap: 16px;
    padding: 26px;
    background: var(--primary-color);
    border: 1px solid #e0e6d9;
    border-radius: 5px;
    align-items: end;
}

.document-filters>div {
    min-width: 0;
}

.document-filters label {
    display: block;
    margin-bottom: 9px;
    font-size: 12px;
    color: #fff;
    font-weight: 600;
}

.document-filters input,
.document-filters select {
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid #d6ded0;
    border-radius: 3px;
    background: #fff;
    font-size: 14px;
    color: #374732;
}

.document-filters button {
    min-height: 46px;
    padding: 12px 18px;
    border: 0;
    border-radius: 3px;
    background: var(--secondary-color);
    color: #fff;
    font-size: 14px;
    white-space: nowrap;
}

.document-filters button:hover {
    background: var(--primary-color);
}

.document-results-heading {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: space-between;
    margin: 32px 0 18px;
}

.document-results-heading h2 {
    font-size: 16px;
    color: #687261;
    font-weight: 400;
    margin: 0;
}

.document-results-heading strong {
    font-weight: 700;
    color: var(--primary-color);
}

.document-results-heading a {
    font-size: 13px;
    color: #8b744b;
}

.document-table-scroll {
    overflow-x: auto;
    border-top: 3px solid var(--secondary-color);
}

.document-results {
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
    font-size: 14px;
}

.document-results th {
    padding: 17px 18px;
    background: var(--primary-color);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-align: left;
    white-space: nowrap;
}

.document-results td {
    padding: 24px 18px;
    border-bottom: 1px solid #e4e9df;
    vertical-align: top;
    color: #626d5c;
}

.document-results td:first-child {
    width: 48%;
}

.document-results tbody tr:nth-child(even) {
    background: #fafbf8;
}

.document-results tbody tr:hover {
    background: #f3f7ef;
}

.document-result-title {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.65;
    color: #234e2d;
    text-decoration: none;
}

.document-result-title:hover {
    text-decoration: underline;
}

.document-result-number {
    font-size: 12px;
    margin: 9px 0 0;
    color: #7b8276;
}

.document-type-badge {
    display: inline-block;
    padding: 4px 9px;
    background: #eaf0e4;
    color: #547042;
    font-size: 12px;
    margin: 0 4px 5px 0;
    border-radius: 3px;
}

.document-result-date,
.document-file-link {
    white-space: nowrap;
}

.document-file-link {
    display: inline-block;
    color: #375c43;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}

.document-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 28px;
}

.document-pagination .page-numbers {
    padding: 9px 14px;
    background: #eff3e9;
    color: #375c43;
    border-radius: 3px;
}

.document-pagination .current {
    color: #fff;
    background: var(--primary-color);
}

.document-empty {
    padding: 56px 24px;
    text-align: center;
    background: #f7f9f4;
    border: 1px dashed #d5dfcb;
}

.document-empty h3 {
    font-size: 21px;
    color: #35522c;
}

.document-empty p {
    color: #74816b;
}

.document-empty a {
    color: var(--primary-color);
}

.document-directory :is(a, input, select, button):focus-visible {
    outline: 2px solid var(--secondary-color);
    outline-offset: 3px;
}

@media(max-width: 1199px) {
    .document-filters {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .document-filter-keyword {
        grid-column: span 2;
    }
}

@media(max-width: 575px) {
    .document-directory {
        padding-top: 24px;
        padding-bottom: 40px;
    }

    .document-filters {
        grid-template-columns: minmax(0, 1fr);
        padding: 20px;
    }

    .document-filter-keyword {
        grid-column: auto;
    }

    .document-results td {
        padding: 18px 14px;
    }
}

/* Responsive navigation drawer; replaces the old horizontally scrolling menu. */
.navigation-panel-heading,
.navigation-overlay,
.navigation-submenu-toggle {
    display: none;
}

/* .header-nav ul li.has-sub-menu:focus-within>ul {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
} */

@media (min-width: 1200px) {
    .site-header .mobile-menu-action {
        display: none !important;
    }

    .header-nav .main-menu {
        display: flex;
        flex-wrap: nowrap;
        white-space: nowrap;
    }

    .header-nav ul.main-menu>li {
        margin: 0 12px;
    }
}

@media (max-width: 1199px) {
    body.navigation-open {
        overflow: hidden;
    }

    .site-header {
        position: relative;
        z-index: 1002;
    }

    .site-header .header-center,
    .site-header .header-sticky {
        transform: none !important;
    }

    .site-header .top-bar {
        display: none;
    }

    .site-header .header-center-wrap {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 82px;
        padding: 10px 0;
    }

    .site-header .site-logo img,
    .header-sticky.sticky .site-logo img {
        width: auto;
        height: 62px;
        max-width: 220px;
        object-fit: contain;
    }

    .site-header .mobile-menu-action {
        display: block !important;
        position: relative;
        width: 44px;
        height: 44px;
        border: none;
        border-radius: 4px;
        background: #fff;
        margin: 0;
        order: 2;
    }

    .site-header .mobile-menu-action span {
        left: 10px;
        /* top: 20px; */
    }

    .site-header .mobile-menu-action span,
    .site-header .mobile-menu-action span::before,
    .site-header .mobile-menu-action span::after {
        /* background: #000; */
        width: 22px;
    }

    .site-header .header-nav--container {
        position: static;
        flex: 0;
    }

    .site-header #header_nav_wrap {
        position: fixed;
        z-index: 1004;
        inset: 0 auto 0 0;
        width: min(360px, 88vw);
        height: 100dvh;
        background: #fff;
        padding: 0 22px 28px;
        overflow-y: auto;
        overscroll-behavior: contain;
        transform: translateX(-100%);
        visibility: hidden;
        transition: transform .25s ease, visibility .25s;
        box-shadow: 8px 0 35px #0002;
    }

    body.navigation-open .site-header #header_nav_wrap {
        transform: translateX(0);
        visibility: visible;
    }

    .navigation-overlay:not([hidden]) {
        display: block;
        position: fixed;
        inset: 0;
        background: #10231599;
        z-index: 1001;
    }

    .navigation-panel-heading {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 22px 0;
        border-bottom: 1px solid #e2e8dd;
        color: #004b13;
        font-size: 20px;
    }

    #navigation-close {
        width: 44px;
        height: 44px;
        border: 0;
        background: var(--primary-color);
        font-size: 30px;
        color: #fff;
        border: navajowhite;
        box-shadow: navajowhite;
    }

    #header_nav {
        display: block;
    }

    #header_nav .mobile-menu-layout,
    #header_nav .mobile-menu-parent {
        display: block;
        width: 100%;
        overflow: visible;
    }

    #header_nav .mobile-menu-child {
        display: none;
    }

    #header_nav #main-menu {
        display: block;
        overflow: visible;
        padding: 12px 0;
        margin: 0;
        width: 100%;
        white-space: normal;
    }

    #header_nav #main-menu li {
        display: block;
        position: relative;
        margin: 0;
        width: 100%;
        list-style: none;
    }

    #header_nav #main-menu a {
        display: block;
        padding: 15px 44px 15px 0;
        margin: 0;
        font-size: 15px;
        line-height: 1.5;
        white-space: normal;
        color: #30432e;
        border-bottom: 1px solid #edf0e9;
    }

    #header_nav #main-menu a::before,
    #header_nav #main-menu li::after {
        display: none;
    }

    #header_nav #main-menu ul {
        display: none !important;
        position: static;
        width: 100%;
        min-width: 0;
        padding: 0 0 0 16px;
        margin: 0;
        /* background: #f7f9f4; */
        box-shadow: none;
        transform: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transition: none;
    }

    #header_nav #main-menu li.navigation-expanded>ul {
        display: block !important;
    }

    #header_nav .navigation-submenu-toggle {
        display: block;
        position: absolute;
        top: 5px;
        right: 0;
        width: 42px;
        height: 42px;
        border: 0;
        background: transparent;
        color: #004b13;
        font-size: 24px;
    }

    #header_nav #main-menu .current-menu-item>a {
        color: var(--primary-color);
        font-weight: 700;
    }

    .site-header .header-center-wrap>.header-nav-right-action {
        display: block;
        order: 1;
        margin-left: auto;
        margin-right: 4px;
    }

    .site-header .mobile-search-wrap .mobile-search-toggle {
        /* width: 44px; */
        /* height: 44px; */
        /* line-height: 44px; */
        font-size: 21px;
    }
}

@media(prefers-reduced-motion:reduce) {
    .site-header #header_nav_wrap {
        transition: none;
    }
}


.member-register {
    max-width: 1200px;
}

.member-register .step-number {
    width: 36px;
    height: 36px;
    min-width: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--secondary-color);
    color: #fff;
    margin-right: 10px;
    font-weight: bold;
}

.member-register .card {
    border-radius: 12px;
}

.member-register .card-header {
    padding: 20px 20px 7px;
    font-size: 18px;
    display: flex;
    align-items: center;
}

.member-register .card-header.has-description {
    align-items: flex-start;
}

.member-register .process-icon {
    width: 90px;
    height: 90px;
    margin: auto;
    border-radius: 50%;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 35px;
}

.member-register .form-control {
    height: 40px;
}

.member-register textarea.form-control {
    height: 40px;
}

.member-register .upload-btn {
    display: flex;
    gap: 5px;
    align-items: center;
    width: 125px;
    padding: 5px 15px;
    background-color: var(--secondary-color);
    color: white;
    border-radius: 20px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    transition: background-color 0.3s ease;
    border: 0;
    margin-bottom: 0;
    margin-right: 15px;
    justify-content: center;
    max-height: 32px;
    min-width: max-content;
}

.member-register .upload-btn.download-btn {
    background-color: var(--primary-color);
}

.member-register .upload-btn svg {
    --size: 15px;
    width: var(--size);
    height: var(--size);
    fill: currentColor;
}

.member-register .hero {
    font-size: 16px;
    border-radius: 30px 30px 0 0;
    color: #fff;
    overflow: hidden;
}

.member-register .hero .card-body {
    /* background-image: url('../../images/EPC-bg.png'); */
    background-size: 100% 100%;
    background-position: center;
    padding: 35px 20px 20px;
    background-color: var(--secondary-color);
}

.member-register form {
    font-size: 15px;
}

.member-register .hero h3 {
    color: #fff;
    margin-bottom: 20px;
    font-size: 24px;
}

.member-register .quy-trinh .title {
    text-transform: uppercase;
    color: var(--secondary-color);
    margin-bottom: 15px;
    min-height: 50px;
    font-size: 18px;
}

.member-register label {
    font-weight: 600;
}

label.required::after {
    content: " *";
    color: #e00;
}

.member-register .title-register-member {
    position: relative;
    color: var(--secondary-color);
    font-size: 22px;
}

.member-register .title-register-member:after {
    border-radius: 50px;
    content: '';
    bottom: -5px;
    width: 133px;
    height: 2px;
    background: var(--secondary-color);
    display: block;
    position: absolute;
    margin: 0 auto;
    right: 0;
    left: 0;
}

.member-register .register-description {
    font-size: 15px;
}

.member-register .info-item {
    text-align: left;
    font-size: 16px;
}

.member-register .info-item .title {
    color: var(--secondary-color);
    text-transform: uppercase;
    min-height: 50px;
}

.member-register .info-item .info-content {
    text-align: left;
    font-size: 15px;
}

.member-register .info-item .info-content p {
    margin-bottom: 03px;
    line-height: 1.6;
}

.member-register .info-item strong {
    display: inline-block;
    /* min-width: 120px; */
    font-weight: bold;
    color: var(--secondary-color);
}

.text-secondary {
    color: var(--secondary-color) !important;
}

.hidden-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    overflow: hidden;
    z-index: -1;
}

.is-invalid {
    border-color: #dc3545 !important;
}

.text-danger {
    color: #dc3545 !important;
}

.select2-selection__rendered {
    line-height: 40px !important;
}

.select2-container .select2-selection--single {
    height: 39px !important;
}

.select2-selection__arrow {
    height: 45px !important;
}

.select2-container .select2-search--dropdown .select2-search__field {
    height: 45px !important;
    line-height: 45px !important;
    padding: 0 12px !important;
    box-sizing: border-box;
}

.video-posts-wrap {
    /* padding: 0 20px 0; */
}

.video-list {
    height: 500px;
    overflow-y: scroll;
    padding-left: 15px;
    margin-top: 10px;
}

.post-small {
    display: flex !important;
}

.ob-post {
    position: relative;
    z-index: 2;
    transition: all 0.3s;
}

.post-small .post-img {
    margin-top: 4px;
    margin-right: 12px;
}

.post-img {
    position: relative;
    z-index: 2;
}

.post-small .post-img a,
.post-small .post-img .post-small-not-a {
    height: 60px;
    width: 80px;
    /* border-radius: 6px; */
    overflow: hidden;
    display: block;
}

.post-small .post-img img {
    width: 100%;
    height: 100%;
    transition: all 0.3s;
    object-fit: cover;
    overflow: hidden;
}

.post-small .post-text a,
.video_posts .post-text .video-info {
    line-height: 1.5;
    font-size: 15px;
}

.video-single.active h4 {
    color: var(--primary);
}

.ob-post.post-small .post-text .meta_col {
    font-size: 12px;
    margin: 2px 0 2px;
    color: #39424a;
}

.space-5 {
    height: 5px;
}

.border_black {
    border-bottom: 1px dashed #dcdedf;
}

.space-15 {
    height: 15px;
}

.video-player .post-text h4 {
    font-size: 21px;
    margin-top: 16px;
}

/* Membership registration: shared association theme. */
.member-register {
    max-width: 1140px;
    --secondary-color: var(--primary-color);
    color: #303630
}

.member-register .card {
    border: 1px solid #e2e8e2 !important;
    border-radius: 8px;
    margin-bottom: 28px;
    box-shadow: 0 4px 18px rgb(0 0 0 / 3%);
    overflow: hidden
}

.member-register .card-header {
    padding: 22px 28px;
    border-bottom: 1px solid #e2e8e2;
    background: #f5f8f4 !important;
    font-size: 17px;
    line-height: 1.5
}

.member-register .card-header .text-secondary {
    color: var(--primary-color) !important
}

.member-register .card-body {
    padding: 28px
}

.member-register .step-number {
    border-radius: 6px;
    background: var(--primary-color);
    margin-right: 14px
}

.member-register .hero {
    border-radius: 8px;
    color: #414a41;
    border-left: 4px solid var(--primary-color) !important
}

.member-register .hero .card-body {
    background: #f5f8f4;
    padding: 30px
}

.member-register .hero .title {
    font-size: 25px;
    line-height: 1.4;
    color: var(--primary-color);
    margin-bottom: 18px
}

.member-register .hero p {
    line-height: 1.8;
    margin-bottom: 12px
}

.member-register .hero p:last-child {
    margin-bottom: 0
}

.member-register .hero a {
    color: var(--primary-color);
    text-decoration: underline;
    text-underline-offset: 3px
}

.member-register .form-control,
.member-register .form-select {
    min-height: 46px;
    height: auto;
    border: 1px solid #d8dfd8;
    border-radius: 5px;
    background-color: #fff;
    color: #303630;
    padding: 10px 13px;
    font-size: 15px
}

.member-register .form-control:focus,
.member-register .form-select:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgb(0 75 19 / 10%)
}

.member-register .form-control.is-invalid,
.member-register .form-select.is-invalid {
    border-color: #dc3545
}

.member-register textarea.form-control {
    min-height: 100px;
    resize: vertical
}

.member-register .form-label {
    font-size: 14px;
    margin-bottom: 8px
}

.member-register .card-body>.row>.mb-2 {
    margin-bottom: 18px !important
}

.member-register .card-body>.row.border-bottom {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
    margin-left: 0;
    margin-right: 0
}

.member-register .upload-btn {
    min-height: 41px;
    max-height: none;
    min-width: 110px;
    width: auto;
    padding: 9px 16px;
    border-radius: 5px;
    background: var(--primary-color);
    box-shadow: none;
    margin-right: 0;
    font-size: 13px
}

.member-register .upload-btn:hover {
    background: #073d18;
    color: #fff
}

.member-register .upload-btn.download-btn {
    background: #eef4ed;
    color: var(--primary-color);
    border: 1px solid #cddccd
}

.member-register .card-body>.row>.justify-content-end {
    gap: 10px;
    flex-wrap: wrap;
    align-items: flex-start;
}

.member-register .file-name {
    width: 100%;
    overflow-wrap: anywhere;
    text-align: right
}

.member-register .description,
.member-register .register-description {
    font-size: 14px;
    line-height: 1.7;
    color: #687068;
    margin: 8px 0 0
}

.member-register button[type=submit] {
    min-height: 48px;
    border-radius: 5px;
    font-weight: 600;
    background: var(--primary-color);
    border-color: var(--primary-color)
}

.member-register .info-item strong {
    color: var(--primary-color)
}

.member-register .hidden-input:focus-visible+.upload-btn {
    outline: 3px solid var(--primary-color);
    outline-offset: 3px
}

@media(max-width:767px) {

    .member-register .card-body,
    .member-register .hero .card-body {
        padding: 20px
    }

    .member-register .card-header {
        padding: 18px;
        font-size: 15px
    }

    .member-register .hero .title {
        font-size: 21px
    }

    .member-register .card-body>.row>.justify-content-end {
        justify-content: flex-start !important;
        margin-top: 12px
    }

    .member-register .file-name {
        text-align: left
    }

    .member-register .card {
        margin-bottom: 20px
    }

    .member-register button[type=submit] {
        width: 100%
    }
}

.member-register .select2-container {
    max-width: 100%;
    width: 100% !important
}

.member-register .select2-container .select2-selection--single {
    height: 46px;
    border: 1px solid #d8dfd8;
    border-radius: 5px
}

.member-register .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 44px;
    padding-left: 13px;
    font-size: 14px
}

.member-register .select2-container .select2-selection--single .select2-selection__arrow {
    height: 44px
}

.member-register .select2-container--focus .select2-selection--single {
    border-color: var(--primary-color)
}

/* Trade opportunities. */
.trade-home {}

.trade-home-intro {
    max-width: 360px;
    color: #687068;
    line-height: 1.7;
    margin: 0
}

.trade-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px
}

.trade-card {
    background: #fff;
    border: 1px solid #e1e7df;
    border-radius: 8px;
    overflow: hidden
}

.trade-card .news-thumb {
    display: block;
    aspect-ratio: 16/10;
    overflow: hidden
}

.trade-card .news-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.trade-card .news-thumb .news-placeholder {
    object-fit: contain;
    padding: 35px;
    background: #eef3ec
}

.trade-card .news-content {
    padding: 24px
}

.trade-labels {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 16px
}

.trade-type,
.trade-status {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    padding: 5px 10px;
    border-radius: 4px;
    background: #f0f1ee;
    color: #555
}

.trade-status--active {
    background: #e7f3e8;
    color: #17652a
}

.trade-status--inactive {
    background: #fff2d8;
    color: #805b13
}

.trade-status--complete {
    background: #ededed;
    color: #555
}

.trade-type {
    color: var(--primary-color);
    background: #edf2e9
}

.trade-excerpt {
    font-size: 14px;
    line-height: 1.7;
    margin: 12px 0 18px;
    display: none;
}

.trade-more {
    font-size: 14px;
    font-weight: 600;
    color: var(--primary-color)
}

.trade-details {
    border: 1px solid #dfe7dc;
    border-radius: 8px;
    padding: 24px;
    background: #f7f9f5;
    margin: 24px 0
}

.trade-details h2 {
    font-size: 21px;
    margin-bottom: 18px;
    color: var(--primary-color)
}

.trade-details dl {
    margin: 0
}

.trade-details dl>div {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 20px;
    padding: 12px 0;
    border-bottom: 1px solid #e1e7df
}

.trade-details dl>div:last-child {
    border: 0
}

.trade-details dd,
.trade-details dd p:last-child {
    margin: 0
}

.trade-details dd {
    overflow-wrap: anywhere
}

@media(max-width:991px) {
    .trade-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media(max-width:575px) {
    .trade-grid {
        grid-template-columns: 1fr
    }

    .trade-home .document-desk-heading {
        align-items: flex-start;
        gap: 14px;
        flex-direction: column
    }

    .trade-details {
        padding: 18px
    }

    .trade-details dl>div {
        grid-template-columns: 1fr;
        gap: 6px
    }
}

/* Featured news and association notices share one editorial section. */
.home-featured-notices {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: 36px;
    align-items: start
}

.home-featured-notices.notices-only {
    grid-template-columns: 1fr
}

.home-featured-main {
    min-width: 0
}

.home-featured-notices .home-featured-grid {
    gap: 22px
}

.home-featured-notices .home-featured-item:not(.is-lead) {
    grid-template-columns: 90px minmax(0, 1fr);
    gap: 12px
}

.home-featured-notices .home-featured-item:not(.is-lead) h3 {
    font-size: 14px
}

.home-notices {
    padding: 24px;
    background: #f4f8f2;
    border-top: 3px solid var(--primary-color);
    border-radius: 0 0 8px 8px;
    min-width: 0
}

.home-editorial .home-notices h2 {
    color: var(--primary-color);
    margin-bottom: 8px;
    font-size: 25px
}

.home-notices-list {
    list-style: none;
    margin: 0;
    padding: 0
}

.home-notices-list li {
    padding: 5px 0 5px;
    border-bottom: 1px solid #dce5d7
}

.home-notice-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-bottom: 8px;
    font-size: 12px;
    color: #677060
}

.home-notice-pin {
    color: var(--primary-color);
    font-weight: 600;
    background: #e3eedf;
    padding: 2px 7px;
    border-radius: 3px
}

.home-notices h3 {
    font-size: 15px;
    line-height: 1.65;
    margin: 0;
    overflow-wrap: anywhere
}

.home-editorial .home-notices-all {
    display: inline-flex;
    gap: 12px;
    margin-top: 20px;
    color: var(--primary-color);
    font-size: 14px;
    font-weight: 600
}

@media(max-width:991px) {
    .home-featured-notices {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .home-featured-notices .home-featured-item:not(.is-lead) {
        grid-template-columns: 110px minmax(0, 1fr)
    }
}

@media(max-width:575px) {
    .home-notices {
        padding: 20px
    }

    .home-featured-notices .home-featured-item:not(.is-lead) {
        grid-template-columns: 90px minmax(0, 1fr)
    }
}

/* Homepage editorial refresh: one news block, readable hero, compact rhythm. */
.home .hero-slider .is-custom-slide {
    height: 570px
}

.home .hero-slider .is-custom-slide picture,
.home .hero-slider .is-custom-slide picture img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.home .hero-slider .is-custom-slide::before {
    display: block;
    background: linear-gradient(90deg, rgba(5, 29, 16, .88), rgba(5, 29, 16, .6) 55%, rgba(5, 29, 16, .18))
}

.home .hero-slider .slide-content-wrap::after {
    display: none
}

.home .hero-slider .slide-content-wrap .slide-content {
    max-width: 690px;
    text-align: left;
    margin: 0;
    padding-bottom: 35px
}

.home .hero-slider .slide-content-wrap .slide-content .slide-title {
    font-size: clamp(32px, 4vw, 52px);
    line-height: 1.4;
    letter-spacing: -.5px;
    text-transform: none;
    margin: 18px 0
}

.home .hero-slider .slide-content-wrap .slide-content .slide-subtitle {
    font-size: 14px;
    letter-spacing: 2px;
    color: #e3d2a1;
    margin: 0
}

.home .hero-slider .slide-subtitle::after {
    display: none
}

.home .hero-slider .slide-content-wrap .slide-content .slide-description {
    max-width: 590px;
    font-size: 17px;
    line-height: 1.8;
    color: #eff2ed;
    margin: 0 0 26px
}

.home .home-fields {
    padding: 48px 0 40px
}

.home .fields-list {
    gap: 30px 36px
}

.home .home-editorial {
    padding: 40px 0 48px
}

.home-news-refresh .home-featured-notices {
    grid-template-columns: minmax(0, 2.1fr) minmax(0, 1fr);
    gap: 32px
}

.home-news-heading {
    display: flex;
    gap: 14px;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px
}

.home-news-heading h2 {
    margin: 0;
    font-size: 28px
}

.home-news-heading>a {
    font-size: 13px;
    white-space: nowrap;
    color: var(--primary-color);
    font-weight: 600
}

.home-news-refresh .home-featured-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px 18px
}

.home-news-refresh .home-featured-item.is-lead {
    grid-column: 1/-1;
    grid-row: auto;
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid #e3e8df;
    align-items: center
}

.home-news-refresh .home-featured-item.is-lead .home-featured-image {
    aspect-ratio: 4/3;
    border-radius: 6px
}

.home-news-refresh .home-featured-item.is-lead time {
    margin-top: 0
}

.home-news-refresh .home-featured-item.is-lead h3 {
    font-size: 22px;
    line-height: 1.5
}

.home-news-refresh .home-featured-item.is-lead p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-top: 10px
}

.home-news-refresh .home-featured-item:not(.is-lead) {
    display: block
}

.home-news-refresh .home-featured-item:not(.is-lead) .home-featured-image {
    aspect-ratio: 16/10;
    margin-bottom: 12px;
    border-radius: 5px
}

.home-news-refresh .home-featured-item:not(.is-lead) h3 {
    font-size: 15px;
    line-height: 1.55
}

.home-news-refresh .home-notices {
    margin-top: 0;
    padding: 24px;
    border: 1px solid #dce6d5;
    border-top: 3px solid var(--primary-color);
    background: #f6f9f3
}

.home-news-refresh .home-notices h2 {
    font-size: 24px;
    margin-bottom: 10px
}

.home-news-refresh .home-notices h3 {
    font-size: 15px;
    font-weight: 600
}

.home .trade-home,
.home .thu-vien-video-wrapper {
    padding-top: 44px;
    padding-bottom: 44px
}

@media(max-width:991px) {
    .home-news-refresh .home-featured-notices {
        grid-template-columns: 1fr
    }

    .home .hero-slider .is-custom-slide {
        height: 520px
    }

    .home .hero-slider .slide-content-wrap .slide-content {
        max-width: 640px
    }

    .home-news-refresh .home-notices {
        margin-top: 0
    }
}

@media(max-width:575px) {
    .home .hero-slider .is-custom-slide {
        height: 500px
    }

    .home .hero-slider .slide-content-wrap .slide-content {
        padding: 0 0 35px
    }

    .home .hero-slider .slide-content-wrap .slide-content .slide-description {
        font-size: 15px
    }

    .home .hero-slider .slide-content-wrap .slide-content .slide-subtitle {
        font-size: 11px;
        letter-spacing: 1px
    }

    .home .home-fields {
        padding: 32px 0
    }

    .home-news-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px
    }

    .home-news-heading h2 {
        font-size: 25px
    }

    .home-news-refresh .home-featured-item.is-lead {
        display: block
    }

    .home-news-refresh .home-featured-item.is-lead time {
        margin-top: 14px
    }

    .home-news-refresh .home-featured-grid {
        grid-template-columns: 1fr
    }

    .home-news-refresh .home-featured-item:not(.is-lead) {
        display: grid;
        grid-template-columns: 105px minmax(0, 1fr);
        gap: 14px
    }

    .home-news-refresh .home-featured-item:not(.is-lead) .home-featured-image {
        margin: 0
    }

    .home .home-editorial {
        padding: 28px 0 36px
    }
}

.home .hero-slider .slide-action {
    display: flex;
    justify-content: flex-start;
    text-align: left
}

.home .hero-slider .slide-action .btn {
    margin-left: 0;
    margin-right: 0
}

.bg-gray {
    background: #f3f3f3;
}

/* Consistent homepage section headings and archive links. */
.home-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 30px
}

.home-section-heading>.header-section {
    margin-bottom: 0;
    min-width: 0
}

.home .header-section.left .section-title {
    max-width: 100%;
    white-space: normal;
    font-size: 22px;
    font-weight: 700;
    margin: 0;
    padding-bottom: 15px;
}

.home .header-section.left {
    text-align: left
}

.home .company-logo-section .header-section {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px
}

.home .document-desk-all {
    font-size: 14px;
    font-weight: 400;
    text-transform: none;
    letter-spacing: normal;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    flex-shrink: 0
}

.home .document-desk-all:hover {
    /* color: var(--primary-color); */
}

.home .home-notices>.document-desk-all {
    margin-top: 20px
}

@media(max-width:575px) {

    .home-section-heading,
    .home .company-logo-section .header-section {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px
    }

    .home .header-section.left .section-title {
        font-size: 25px
    }

    .home .document-desk-all {
        flex-shrink: 1
    }
}

.header-nav--container {
    width: 100%;
}

.organization-department ul li {
    list-style: inherit;
}