﻿@charset "utf-8";
/* ==========================================================================
   public.css：未登入公開頁共用樣式（無障礙 AA／WCAG 2.2）
   - 載入順序：style.css → news.css → public.css（最後）；公開頁不載入 sys.css。
   - 本檔所有規則都以 .public（body class）為前綴，不影響登入後頁面。
   - 字級一律 rem／em；不得出現 px 字級。px 只用於框線粗細。
   - 色票與對比：見規格 A5（以 #fff、#fbe9df、#fbfde8、#f6f6f6 實際背景計算）。
   - 不含燈箱樣式（lightboxW3c.css 另行處理）。
   ========================================================================== */

/* ---------- 色票 ---------- */
:root {
    --text: #333;          /* 一般文字 */
    --muted: #595959;      /* 次要文字、說明、麵包屑 */
    --link: #006f94;       /* 連結 */
    --link2: #2b6f9e;      /* 清單連結（常見問題、下載、快速連結清單） */
    --error: #c40000;      /* 錯誤、必填標記 */
    --focus: #005a9c;      /* 焦點框 */
    --border: #767676;     /* 輸入框框線（非文字 ≥ 3:1） */
    --login-bg: #fbe9df;   /* 登入區底色 */
    --accent: #b34700;     /* 頁尾強調、目前頁碼 */
    --green: #4a6b12;      /* 綠色文字、綠底表頭 */
    --counsel: #0b7a65;    /* 適性輔導欄（登入區禁用） */
    --heading: #007a3d;    /* h2 */
    --brown: #9a5f00;      /* .about h2、.new .steps span（登入區禁用） */
    --footer: #696969;     /* 頁尾文字 */
}

/* ---------- 基準 ---------- */
html { font-size: 100%; }
body.public {
    font-size: .875rem;
    line-height: 1.5;
    color: #333;
    background: #fff url(../images/bg2.jpg) repeat-x;
    margin: 0;
    padding: 0;
}
.public [hidden] { display: none !important; }
.public h1, .public h2, .public h3, .public h4 { line-height: 1.3; white-space: normal; }
.public h2 { color: #007a3d; font-size: 1.25rem; font-family: inherit; }
.public h3 { color: #333; font-size: 1rem; }

/* ---------- A7 焦點可見與縮減動態 ---------- */
.public :focus { outline: none; }
.public :focus-visible, .public .skip-link:focus {
    outline: 3px solid #005a9c;
    outline-offset: 2px;
    box-shadow: 0 0 0 2px #fff;
    border-radius: 2px;
}
.public a:hover, .public a:focus-visible { text-decoration: underline; }
.public main:focus { outline: none; }
@media (prefers-reduced-motion: reduce) {
    .public * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ---------- 跳到主要內容、螢幕閱讀器專用、:::定位點 ---------- */
.public .skip-link {
    position: absolute;
    left: 1rem;
    top: -20rem;
    z-index: 1000;
    display: inline-block;
    padding: .5rem 1rem;
    background: #fff;
    color: #006f94;
    border: 2px solid #005a9c;
    font-weight: 700;
    text-decoration: underline;
}
.public .skip-link:focus { top: .5rem; }
.public .sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
/* :::定位點平時視覺隱藏（仍可被 Tab 聚焦、accesskey 與報讀軟體可用），取得焦點時才顯示 */
.public .ak {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    color: #000;
    text-decoration: none;
    font-size: .75rem;
}
.public .ak:focus,
.public .ak:active {
    z-index: 1000;
    width: auto;
    height: auto;
    min-width: 1.5rem;
    min-height: 1.5rem;
    margin: 0;
    padding: 0 .375rem;
    overflow: visible;
    clip: auto;
    line-height: 1.5rem;
    text-align: center;
    background: #fff;
    border: 1px solid #767676;
}

/* ---------- A5 色彩覆寫：連結 ---------- */
.public a { color: #006f94; text-decoration: underline; }
.public a:hover { color: #006f94; }
.public .news_table_NEW a,
.public .news_table_NEW tbody tr a,
.public .news_table_NEW tbody tr a:hover,
.public .news_table tbody tr .col01 a,
.public .news_table tbody tr .col01 a:hover,
.public table.list tbody td.col02 a,
.public table.listnew td.col02 a,
.public table.form-table td a,
.public table.form-table-edit td a,
.public .footer a.mail,
.public .pager a { color: #006f94; }
.public .qa a,
.public .qa ul li a,
.public .download a,
.public .download ul li a,
.public .list-links a { color: #2b6f9e; }
.public .qa h2 a,
.public .download h2 a { color: #000; }
.public .news-in-buttom a,
.public .adaptivecounseling-in-buttom a { color: #595959; font-size: .75rem; }
.public .news-in-buttom a:hover,
.public .adaptivecounseling-in-buttom a:hover { color: #595959; text-decoration: underline; }

/* ---------- A5 色彩覆寫：文字 ---------- */
.public .breadcrumb,
.public div.title span.breadcrumb,
.public div.title span.breadcrumb a,
.public .field-help,
.public .form-hint { color: #595959; }
.public .field-error,
.public .form-errors,
.public .required-mark,
.public table.form-table b,
.public table.form-table-edit b { color: #c40000; }
.public .footer p.people,
.public .pager a.over { color: #b34700; }
.public .about ul.green,
.public .about p.note { color: #4a6b12; }
.public table.search-list th.green { background: #4a6b12; color: #fff; }
.public .about h2,
.public .new .steps span,
.public .new .steps ul li span { color: #9a5f00; }
.public .news_table td.col102,
.public .news_table td.col102 span,
.public .news_table_NEW td.col102,
.public .news_table_NEW td.col102 span { color: #0b7a65; }

/* ---------- 輸入元件框線（非文字對比 ≥ 3:1） ---------- */
.public input[type="text"],
.public input[type="password"],
.public input[type="email"],
.public input[type="tel"],
.public input[type="search"],
.public input[type="number"],
.public input[type="url"],
.public input:not([type]),
.public textarea,
.public select {
    font: inherit;
    color: #333;
    max-width: 100%;
    box-sizing: border-box;
    border: 1px solid #767676;
    border-radius: .25rem;
    padding: .25rem .375rem;
    background-color: #fff;
}
.public table.form-table td input.txt,
.public table.form-table td textarea.txt,
.public table.form-table-edit td input.txt,
.public table.form-table-edit td textarea.txt,
.public table.search-table input.txt,
.public table.search-table textarea.txt { border-color: #767676; }
.public input[type="radio"],
.public input[type="checkbox"] { width: 1.125rem; height: 1.125rem; margin: 0 .375rem 0 0; vertical-align: middle; }
.public input[type="radio"] + label,
.public input[type="checkbox"] + label { margin-right: 1rem; cursor: pointer; }

/* ---------- A8 目標尺寸 ---------- */
.public .link a,
.public ul.link a,
.public .footer-links a,
.public .pager a,
.public .more a,
.public .pager-nav a,
.public .pager-nav span {
    display: inline-block;
    padding: .25rem .5rem;
    min-height: 1.5rem;
    line-height: 1.5;
}

/* ---------- A9 版面骨架 ---------- */
.public .site {
    max-width: 65rem;
    margin: 0 auto;
    padding: 0 1rem;
    box-sizing: border-box;
}
.public .site-header { padding: .5rem 0 0; }
.public .site-logo { display: inline-block; text-decoration: none; }
.public .site-logo img { display: block; max-width: 100%; height: auto; }
.public .site-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "main" "aside";
    gap: 1rem;
    margin-top: 1rem;
}
@media (min-width: 48em) {
    .public .site-body {
        grid-template-columns: 14.25rem minmax(0, 1fr);
        grid-template-areas: "aside main";
    }
}
.public .site-main { grid-area: main; min-width: 0; overflow-wrap: anywhere; }
.public .site-aside { grid-area: aside; min-width: 0; overflow-wrap: anywhere; }
.public .page-title { font-size: 1.5rem; color: #333; margin: .25rem 0 1rem; }

/* 主選單：純圖示（::before 背景圖）＋HTML 文字；不設固定高度、不設 overflow；
   無底線，以框線＋白底表示可點（A7） */
.public .site-nav { margin: .5rem 0 0; }
.public .site-nav ul {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 0;
}
.public .site-nav li { margin: 0; padding: 0; }
.public .site-nav a {
    display: block;
    min-width: 6.5rem;
    padding: .5rem;
    text-align: center;
    color: #333;
    text-decoration: none;
    border-radius: .375rem;
    border: 1px solid #767676;
    background: #fff;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3;
    box-sizing: border-box;
}
.public .site-nav a:hover,
.public .site-nav a:focus-visible { background: #fffbd6; border-color: #767676; color: #333; text-decoration: underline; }
.public .site-nav a::before {
    content: "";
    display: block;
    height: 4.5rem;
    margin-bottom: .25rem;
    background: center / contain no-repeat;
}
.public .site-nav a.nav-news::before       { background-image: url(../images/nav/icon-news.png); }
.public .site-nav a.nav-about::before      { background-image: url(../images/nav/icon-about.png); }
.public .site-nav a.nav-service::before    { background-image: url(../images/nav/icon-service.png); }
.public .site-nav a.nav-counseling::before { background-image: url(../images/nav/icon-counseling.png); }
.public .site-nav a.nav-activity::before   { background-image: url(../images/nav/icon-activity.png); }
.public .site-nav a.nav-download::before   { background-image: url(../images/nav/icon-download.png); }
.public .site-nav a.nav-question::before   { background-image: url(../images/nav/icon-question.png); }
.public .site-nav a.nav-contact::before    { background-image: url(../images/nav/icon-contact.png); }
/* 圖示裁不乾淨的項目：在 a 加 class no-icon，改為純文字按鈕（底色框） */
.public .site-nav a.no-icon { background: #f2f2f2; border-color: #767676; padding: .75rem .5rem; }
.public .site-nav a.no-icon::before { display: none; }
.public .site-nav a[aria-current] { font-weight: 700; border-bottom: 3px solid #006f94; }

/* 麵包屑 */
.public .breadcrumb { font-size: .875rem; margin: 0 0 .25rem; }
.public .breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
}
.public .breadcrumb li { margin: 0; padding: 0; }
.public .breadcrumb li + li::before {
    content: "›";
    content: "›" / "";
    padding: 0 .5rem;
    color: #595959;
}
.public .breadcrumb a { display: inline-block; min-height: 1.5rem; line-height: 1.5rem; }

/* 全域圖片與內容 */
.public img { max-width: 100%; height: auto; }
.public .content-img { max-width: 100%; height: auto !important; }
.public h2, .public h3 { white-space: normal; }

/* 主內容清單恢復符號（主選單、麵包屑、相簿、清單連結等明確排除） */
.public main ol { list-style: decimal; padding-left: 2em; }
.public main ul { list-style: disc; padding-left: 1.5em; }
.public main .site-nav ul,
.public main .breadcrumb ol,
.public main ul.gallery,
.public main ul.list-links,
.public main ul.link,
.public main ul.banners,
.public main .pager-nav ul,
.public main .toc-plain ul { list-style: none; padding-left: 0; }

/* 表格 */
.public .table-scroll { overflow-x: auto; max-width: 100%; margin: 0 0 1rem; }
.public .table-scroll > table { width: 100%; border-collapse: collapse; }
/* DB 內容（A11yHtml 包的 .table-scroll，表格無 .data-table）3 欄以上的表格在 320px／400% 下不把欄位擠成一兩個字寬；
   超出部分在可聚焦的 .table-scroll 內水平捲動。2 欄表格與手寫的 .data-table（例如快速鍵一覽）維持隨視窗重排；
   不支援 :has() 的瀏覽器維持原樣。 */
.public main .table-scroll > table:not(.data-table):has(tr > :nth-child(3)) { min-width: 36rem; }
.public .site-main table { max-width: 100%; }
.public .data-table { width: 100%; border-collapse: collapse; }
.public .data-table th,
.public .data-table td { border: 1px solid #b3b3b3; padding: .375rem .5rem; text-align: left; vertical-align: top; }
.public .data-table caption { text-align: left; font-weight: 700; padding: .25rem 0; }

/* ---------- A9 舊類別固定寬高與 overflow 覆寫（不改 style.css／news.css） ---------- */
.public .main,
.public .main div.contents { width: auto; max-width: 100%; }
.public div.title {
    width: auto;
    max-width: 100%;
    height: auto;
    min-height: 2.375rem;
    overflow: visible;
    display: flow-root;
}
.public div.title h1 { float: none; }
.public .qa h2,
.public .download h2 {
    height: auto;
    min-height: 1.5625rem;
    overflow: visible;
    color: #000;
    font-size: 1rem;
    font-family: inherit;
    padding: .25rem .5rem .25rem 1.4375rem;
}
.public .qa table.teachers,
.public .download table.teachers,
.public .box,
.public .new .steps,
.public .new .steps .item,
.public .contact h2,
.public .envir_main,
.public .envir_nav { width: auto; max-width: 100%; }
.public .new .steps .item,
.public .contact h2,
.public .envir,
.public .envir_nav,
.public .container,
.public .provision { height: auto; overflow: visible; }
.public .contact h2 { min-height: 6.25rem; }
.public .news-in,
.public .adaptivecounseling-in { background-image: none; padding-top: 0 !important; }
.public .news-in-buttom,
.public .adaptivecounseling-in-buttom { height: auto; min-height: 2.5rem; }
@media (max-width: 47.99em) {
    .public div.page { padding-left: 0; padding-right: 0; }
}

/* ---------- 由 sys.css 搬入（公開頁需要者，加 .public 前綴並改 rem） ---------- */
.public .news_table_NEW {
    width: 100%;
    border: 0;
    border-left: #fff 1px solid;
    border-right: #fff 1px solid;
    font-family: "Microsoft JhengHei", "微軟正黑體", sans-serif;
}
.public .news_table_NEW caption { text-align: left; font-weight: 700; font-size: 1rem; padding: .25rem 0; }
.public .news_table_NEW th {
    font-weight: normal;
    color: #000;
    border-radius: .3125rem;
    min-height: 1.25rem;
    font-size: .9375rem;
    background: #ccc;
}
.public .news_table_NEW th.col01 { width: 16%; }
.public .news_table_NEW th.col02 { width: 82%; text-align: center; vertical-align: middle; }
.public .news_table_NEW td { border-bottom: dashed 1px #999; }
.public .news_table_NEW td.col101 { line-height: 1.5625rem; font-size: .9375rem; padding-left: .3125rem; color: #333; }
.public .news_table_NEW td.col102 { line-height: 1.5625rem; font-size: .9375rem; padding-left: .3125rem; text-align: center; font-weight: 700; }
.public .news_table_NEW tbody tr a:hover { background-color: #fff; }
.public .news_table_NEW tbody td {
    line-height: 1.2em;
    vertical-align: top;
    padding: .375rem 0;
    color: #333;
    font-size: .9375rem;
}
.public .col01 { line-height: 1.5625rem; font-size: .8125rem; padding-left: .3125rem; }
.public .col02 { line-height: 1.5625rem; }
.public .col03 { line-height: 1.875rem; font-size: .9375rem; }
.public .col04 { line-height: 1.5625rem; font-size: .9375rem; padding-left: .625rem; }

/* ---------- 登入區（aside） ---------- */
.public .site-aside h2 { font-size: 1.125rem; margin: 0 0 .5rem; }
.public .site-aside h3 { font-size: 1rem; margin: .75rem 0 .5rem; color: #333; }
.public .login-box {
    background: #fbe9df;
    border: 1px solid #e3c9bb;
    padding: .75rem;
    border-radius: .375rem;
    color: #333;
}
.public .login-box .login-title { color: #007a3d; }
.public .login-box .field,
.public .login-box .captcha {
    display: grid;
    grid-template-columns: 5.5rem minmax(0, 1fr);
    gap: .375rem .5rem;
    align-items: center;
    margin: 0 0 .5rem;
}
.public .login-box .field > .field-help,
.public .login-box .field > .field-error,
.public .login-box .captcha > div,
.public .login-box .captcha > .field-help,
.public .login-box .captcha > .field-error { grid-column: 1 / -1; }
.public .login-box .field > label,
.public .login-box .captcha > label { font-weight: 700; margin: 0; }
.public .login-box input[type="text"],
.public .login-box input[type="password"] { width: 100%; }
.public .login-box fieldset { margin: 0 0 .5rem; }
.public .login-box .form-actions { justify-content: flex-start; }
.public .login-box .btn-sso { display: block; width: 100%; text-align: center; margin: 0 0 .25rem; box-sizing: border-box; }
@media (max-width: 30em) {
    .public .login-box .field,
    .public .login-box .captcha { grid-template-columns: minmax(0, 1fr); }
}

/* 快速連結、友站 */
.public ul.link,
.public ul.banners { list-style: none; padding: 0; margin: 0 0 .5rem; }
.public ul.link li { margin: 0; padding: 0; border-bottom: 1px dotted #ccc; }
.public ul.banners li { text-align: center; margin: 0 0 .5rem; }
.public ul.banners img { max-width: 100%; height: auto; }
.public .more { float: none; margin: .25rem 0 1rem; padding-right: 0; text-align: right; }

/* ---------- 表單 ---------- */
.public .form-block { margin: 0 0 1.5rem; max-width: 40rem; }
.public .form-hint { margin: 0 0 .75rem; }
.public .field { margin: 0 0 .75rem; }
.public .field > label,
.public .field > .label { display: block; font-weight: 700; margin: 0 0 .25rem; }
.public .field input[type="text"],
.public .field input[type="password"],
.public .field input[type="email"],
.public .field input[type="tel"],
.public .field input:not([type]),
.public .field textarea,
.public .field select { width: 100%; max-width: 30rem; }
.public .field textarea { min-height: 8rem; }
.public .field-help { display: block; font-size: .8125rem; margin: .25rem 0 0; }
.public .field-error { display: block; font-weight: 700; margin: .25rem 0 0; }
.public .field-error::before { content: "錯誤："; content: "錯誤：" / ""; }
.public input[aria-invalid="true"],
.public textarea[aria-invalid="true"],
.public select[aria-invalid="true"] { border-color: #c40000 !important; border-width: 2px !important; }
.public .required-mark { font-weight: 700; }
.public fieldset { border: 1px solid #767676; border-radius: .375rem; padding: .5rem .75rem .75rem; margin: 0 0 .75rem; min-width: 0; }
.public legend { font-weight: 700; padding: 0 .25rem; }
.public .form-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0 0; }
.public .form-errors {
    border: 2px solid #c40000;
    border-radius: .375rem;
    background: #fff;
    padding: .75rem 1rem;
    margin: 0 0 1rem;
}
.public .form-errors h2,
.public .form-errors h3,
.public .form-errors h4 { color: #c40000; font-size: 1rem; margin: 0 0 .5rem; padding: 0; }
.public .form-errors ul { margin: 0; padding-left: 1.5em; list-style: disc; }
/* 錯誤摘要連結的點擊間距（2.5.8，相鄰連結 24px 圓不重疊） */
.public .form-errors li + li { margin-top: .25rem; }
.public .form-errors a { color: #c40000; }
.public .form-status {
    border: 2px solid #4a6b12;
    border-radius: .375rem;
    background: #fff;
    color: #333;
    padding: .75rem 1rem;
    margin: 0 0 1rem;
}
.public .form-status:empty { border: 0; padding: 0; margin: 0; }

/* 按鈕 */
.public .btn,
.public a.btn,
.public input.btn,
.public button.btn {
    display: inline-block;
    box-sizing: border-box;
    min-height: 2.25rem;
    min-width: 2.25rem;
    padding: .375rem .75rem;
    font: inherit;
    font-weight: 700;
    line-height: 1.4;
    color: #fff;
    background: #006f94;
    border: 1px solid #005a9c;
    border-radius: .375rem;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    vertical-align: middle;
}
.public .btn:hover,
.public a.btn:hover { background: #005a7a; color: #fff; text-decoration: underline; }
.public .btn[disabled],
.public .btn.aspNetDisabled { background: #767676; border-color: #767676; color: #fff; cursor: not-allowed; text-decoration: none; }
.public .btn-icon,
.public .btn-secondary { background: #fff; color: #006f94; border-color: #006f94; font-weight: 400; }
.public .btn-icon:hover,
.public .btn-secondary:hover { background: #e8f4f8; color: #006f94; }

/* 驗證碼（UCCaptcha） */
.public .captcha { margin: 0 0 .75rem; }
.public .captcha > label { display: block; font-weight: 700; margin: 0 0 .25rem; }
.public .captcha .captcha-input { width: 7rem; max-width: 100%; text-transform: uppercase; letter-spacing: .1em; }
.public .captcha > div { display: flex; flex-wrap: wrap; align-items: center; gap: .375rem; margin: .375rem 0 0; }
.public .captcha .captcha-img { border: 1px solid #767676; vertical-align: middle; width: 5rem; height: auto; }
.public .captcha .btn { min-height: 2.25rem; padding: .25rem .5rem; font-weight: 400; background: #fff; color: #006f94; border-color: #006f94; }
.public .captcha .btn:hover { background: #e8f4f8; color: #006f94; }
.public .captcha-player { display: none; }

/* ---------- 預覽、bare 模式 ---------- */
.public .preview-banner {
    margin: 0 0 .75rem;
    padding: .5rem .75rem;
    background: #fff;
    border: 1px solid #b34700;
    border-left-width: .375rem;
    color: #333;
    font-weight: 700;
}
.public.bare .site-header,
.public.bare .site-aside,
.public.bare .site-footer { display: none; }
.public.bare .site-body { display: block; margin-top: .5rem; }
.public.bare { background-image: none; }

/* ---------- 常見問題（FAQ 摺疊） ---------- */
.public h3 > .qa-q,
.public h2 > .qa-q { margin: 0; }
.public .qa-q {
    display: block;
    width: 100%;
    box-sizing: border-box;
    min-height: 2.25rem;
    padding: .5rem .75rem .5rem 2rem;
    position: relative;
    text-align: left;
    font: inherit;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
    color: #333;
    background: #f2f2f2;
    border: 1px solid #767676;
    border-radius: .375rem;
    cursor: pointer;
    white-space: normal;
    overflow-wrap: anywhere;
}
.public .qa-q::before {
    content: "+";
    content: "+" / "";
    position: absolute;
    left: .75rem;
    top: .5rem;
    font-weight: 700;
}
.public .qa-q[aria-expanded="true"]::before { content: "−"; content: "−" / ""; }
.public .qa-q:hover { background: #e6e6e6; text-decoration: underline; }
.public .qa-a { padding: .5rem .75rem 1rem 2rem; overflow-wrap: anywhere; }
/* 舊 .qa ul li 的圖示背景與虛線不套用在新答案區（避免與清單符號重複） */
.public .qa-a ul li,
.public .qa-a ol li { background-image: none; border-bottom: 0; padding: 0; line-height: inherit; }
.public .qa-a ul,
.public .qa-a ol { margin: 0 0 .5rem; padding-top: 0; padding-bottom: 0; }

/* ---------- 清單連結、相簿 ---------- */
.public ul.list-links { list-style: none; padding: 0; margin: 0 0 .5rem; }
.public ul.list-links li { border-bottom: 1px dotted #ccc; padding: .375rem 0; line-height: 1.5; }
.public ul.gallery {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
    gap: 1rem;
}
.public ul.gallery li { margin: 0; }
.public ul.gallery img { display: block; width: 100%; height: auto; }

/* ---------- 頁尾 ---------- */
.public .site-footer {
    border-top: 1px solid #d4d4d4;
    margin-top: 1.5rem;
    padding: .75rem 0 1.5rem;
    text-align: center;
    color: #696969;
    font-size: .8125rem;
    line-height: 1.6;
}
.public .site-footer p { margin: .25rem 0; }
.public .footer-links ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .25rem 1rem;
    list-style: none;
    padding: 0;
    margin: 0 0 .5rem;
}
.public .footer-links li { margin: 0; }
.public .footer-contact { font-style: normal; margin: .25rem 0; }
.public .footer p.people { padding-top: .375rem; }
