.kakiden-server-translate-switcher {
    box-sizing: border-box;
    margin: 16px auto;
    max-width: 100%;
    text-align: left;
}

@media screen and (max-width: 767px) {
    .kakiden-server-translate-switcher {
        text-align: center;
    }
}

/* Let longer desktop navigation labels share the available width. */
@media screen and (min-width: 768px) {
    html[lang="de"] .nav,
    html[lang="fr"] .nav,
    html[lang="es"] .nav,
    html[lang="de"] .nav ul,
    html[lang="fr"] .nav ul,
    html[lang="es"] .nav ul {
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
    }

    html[lang="de"] .nav ul,
    html[lang="fr"] .nav ul,
    html[lang="es"] .nav ul {
        align-items: stretch;
        display: flex !important;
        justify-content: center;
    }

    html[lang="de"] .nav ul > li,
    html[lang="fr"] .nav ul > li,
    html[lang="es"] .nav ul > li {
        float: none !important;
        flex: 0 1 auto;
        height: auto !important;
        max-width: 100%;
        white-space: normal !important;
    }

    html[lang="de"] .nav ul > li > a,
    html[lang="fr"] .nav ul > li > a,
    html[lang="es"] .nav ul > li > a {
        display: block;
        height: auto !important;
        white-space: normal !important;
    }
}

.kakiden-server-translate-switcher select {
    box-sizing: border-box;
    color: #000;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 0;
    font: 16px/1.4 sans-serif;
    height: 36px;
    max-width: 100%;
    padding: 4px 28px 4px 8px;
    width: 190px;
}

/* Japanese uses intentionally wide spacing; all translated pages do not. */
html[lang]:not([lang="ja"]) body,
html[lang]:not([lang="ja"]) body * {
    letter-spacing: normal !important;
}

/* Hide original English subtitles after the Japanese labels are translated. */
html[lang]:not([lang="ja"]) .nav li a > span:not(.hankakuAll),
html[lang]:not([lang="ja"]) .content_page h2 > span:not(.hankakuAll),
html[lang]:not([lang="ja"]) .top_event_banner_left > span:not(.hankakuAll),
html[lang]:not([lang="ja"]) .top_h2 > span:not(.hankakuAll) {
    display: none !important;
}

/* Mobile-theme English subtitles are redundant after translation. */
html[lang]:not([lang="ja"]) .top_event_banner_title > span:not(.hankakuAll),
html[lang]:not([lang="ja"]) .exhibition-table-title > span:not(.hankakuAll),
html[lang]:not([lang="ja"]) #mobile-navigation li a > span:not(.hankakuAll),
html[lang]:not([lang="ja"]) #content_page h2 > span:not(.hankakuAll) {
    display: none !important;
}

/* Hide original bilingual subtitles in desktop and mobile table labels. */
html[lang]:not([lang="ja"]) .content_page td.left > span:not(.hankakuAll),
html[lang]:not([lang="ja"]) #content_page td.left > span:not(.hankakuAll) {
    display: none !important;
}

/* Preserve the mobile theme's original main-label sizes. */
html[lang]:not([lang="ja"]) .top_event_banner_title,
html[lang]:not([lang="ja"]) .exhibition-table-title,
html[lang]:not([lang="ja"]) #mobile-navigation li,
html[lang]:not([lang="ja"]) #mobile-navigation li > a,
html[lang]:not([lang="ja"]) #content_page td.left:not(.special) span {
    font-size: inherit !important;
}

html[lang]:not([lang="ja"]) .top_event_banner_title {
    font-size: 24px !important;
}

/* Give longer Western table labels enough room on both themes. */
html[lang="en"] .left_solid,
html[lang="fr"] .left_solid,
html[lang="de"] .left_solid,
html[lang="es"] .left_solid {
    width: 30% !important;
}

html[lang="en"] .right_solid,
html[lang="fr"] .right_solid,
html[lang="de"] .right_solid,
html[lang="es"] .right_solid {
    width: 70% !important;
}

/* Remove Japanese half-width spacing adjustments from Western event endings. */
html[lang="en"] .event-end .hankakuAll,
html[lang="fr"] .event-end .hankakuAll,
html[lang="de"] .event-end .hankakuAll,
html[lang="es"] .event-end .hankakuAll {
    padding-left: 0 !important;
    margin-right: 0 !important;
}

/* Use one consistent typeface and weight throughout Western translations. */
html[lang="en"] body,
html[lang="en"] body *,
html[lang="fr"] body,
html[lang="fr"] body *,
html[lang="de"] body,
html[lang="de"] body *,
html[lang="es"] body,
html[lang="es"] body * {
    font-family: "neue-haas-grotesk-display", sans-serif !important;
    font-weight: 300 !important;
}

/* Longer Western-language dates may wrap inside exhibition cards. */
html[lang="en"] .top_future_ex_title font,
html[lang="fr"] .top_future_ex_title font,
html[lang="de"] .top_future_ex_title font,
html[lang="es"] .top_future_ex_title font,
html[lang="zh-TW"] .top_future_ex_title font,
html[lang="zh-CN"] .top_future_ex_title font {
    white-space: normal;
}

/* Translated table labels should use the parent cell's font size. */
html[lang]:not([lang="ja"]) .content_page td.left:not(.special) span {
    font-size: inherit;
}

/* Use the Latin typeface only in Western-language sub navigation. */
html[lang="en"] .sub_nav,
html[lang="en"] .sub_nav *,
html[lang="fr"] .sub_nav,
html[lang="fr"] .sub_nav *,
html[lang="de"] .sub_nav,
html[lang="de"] .sub_nav *,
html[lang="es"] .sub_nav,
html[lang="es"] .sub_nav * {
    font-family: "neue-haas-grotesk-display", sans-serif !important;
    font-weight: 300;
    font-style: normal;
}

/* Western headings do not need the Japanese half-width left offset. */
html[lang="en"] .content_page h2 span.hankakuAll,
html[lang="fr"] .content_page h2 span.hankakuAll,
html[lang="de"] .content_page h2 span.hankakuAll,
html[lang="es"] .content_page h2 span.hankakuAll {
    margin-left: 0;
}

/* Do not depend on the legacy text wrapper inside complex event forms. */
html[lang="en"] #main_content_page,
html[lang="en"] #main_content_page *,
html[lang="fr"] #main_content_page,
html[lang="fr"] #main_content_page *,
html[lang="de"] #main_content_page,
html[lang="de"] #main_content_page *,
html[lang="es"] #main_content_page,
html[lang="es"] #main_content_page * {
    font-family: "neue-haas-grotesk-display", sans-serif !important;
}

/* Keep footer typography stable when a page contains a complex event form. */
html[lang="en"] .footer_information_inner,
html[lang="en"] .footer_information_inner *,
html[lang="en"] .copyright,
html[lang="en"] .copyright *,
html[lang="fr"] .footer_information_inner,
html[lang="fr"] .footer_information_inner *,
html[lang="fr"] .copyright,
html[lang="fr"] .copyright *,
html[lang="de"] .footer_information_inner,
html[lang="de"] .footer_information_inner *,
html[lang="de"] .copyright,
html[lang="de"] .copyright *,
html[lang="es"] .footer_information_inner,
html[lang="es"] .footer_information_inner *,
html[lang="es"] .copyright,
html[lang="es"] .copyright * {
    font-family: "neue-haas-grotesk-display", sans-serif !important;
}

/* Restore the Latin typeface only on Western-language labels. */
html[lang="en"] .nav li,
html[lang="en"] .nav li > a,
html[lang="en"] .top_event_banner_left,
html[lang="en"] .top_h2,
html[lang="fr"] .nav li,
html[lang="fr"] .nav li > a,
html[lang="fr"] .top_event_banner_left,
html[lang="fr"] .top_h2,
html[lang="de"] .nav li,
html[lang="de"] .nav li > a,
html[lang="de"] .top_event_banner_left,
html[lang="de"] .top_h2,
html[lang="es"] .nav li,
html[lang="es"] .nav li > a,
html[lang="es"] .top_event_banner_left,
html[lang="es"] .top_h2 {
    font-family: "neue-haas-grotesk-display", sans-serif !important;
    font-weight: 300;
    font-style: normal;
}

/* Use language-specific Noto Serif families throughout East Asian pages. */
html[lang][lang="zh-TW"] body,
html[lang][lang="zh-TW"] body * {
    font-family: "Noto Serif TC", "Noto Serif CJK TC", serif !important;
    font-weight: 300 !important;
}

html[lang][lang="zh-CN"] body,
html[lang][lang="zh-CN"] body * {
    font-family: "Noto Serif SC", "Noto Serif CJK SC", serif !important;
    font-weight: 300 !important;
}

html[lang][lang="ko"] body,
html[lang][lang="ko"] body * {
    font-family: "Noto Serif KR", "Noto Serif CJK KR", serif !important;
    font-weight: 300 !important;
}

/* East Asian text does not use the Japanese half-width side adjustment. */
html[lang="ko"] span.hankakuAll,
html[lang="zh-CN"] span.hankakuAll,
html[lang="zh-TW"] span.hankakuAll {
    padding-left: 0 !important;
    margin-right: 0 !important;
}

/* Override the theme's component-specific Gothic font declarations. */
html[lang="ko"] .top_event_banner_left,
html[lang="ko"] .top_event_banner_left *,
html[lang="ko"] .top_h2,
html[lang="ko"] .top_h2 *,
html[lang="ko"] .nav,
html[lang="ko"] .nav *,
html[lang="ko"] .sub_nav,
html[lang="ko"] .sub_nav * {
    font-family: "Noto Serif KR", "Noto Serif CJK KR", serif !important;
}

html[lang="zh-CN"] .top_event_banner_left,
html[lang="zh-CN"] .top_event_banner_left *,
html[lang="zh-CN"] .top_h2,
html[lang="zh-CN"] .top_h2 *,
html[lang="zh-CN"] .nav,
html[lang="zh-CN"] .nav *,
html[lang="zh-CN"] .sub_nav,
html[lang="zh-CN"] .sub_nav * {
    font-family: "Noto Serif SC", "Noto Serif CJK SC", serif !important;
}

html[lang="zh-TW"] .top_event_banner_left,
html[lang="zh-TW"] .top_event_banner_left *,
html[lang="zh-TW"] .top_h2,
html[lang="zh-TW"] .top_h2 *,
html[lang="zh-TW"] .nav,
html[lang="zh-TW"] .nav *,
html[lang="zh-TW"] .sub_nav,
html[lang="zh-TW"] .sub_nav * {
    font-family: "Noto Serif TC", "Noto Serif CJK TC", serif !important;
}

/* Keep Korean date text in Noto Serif even inside legacy font wrappers. */
html[lang="ko"] .top_event_banner_txt font,
html[lang="ko"] .top_event_banner_txt font *,
html[lang="ko"] .top_cur_ex_title font,
html[lang="ko"] .top_cur_ex_title font *,
html[lang="ko"] .top_future_ex_title font,
html[lang="ko"] .top_future_ex_title font *,
html[lang="ko"] .content_page td.right,
html[lang="ko"] .content_page td.right *,
html[lang="ko"] .content_page td.right font,
html[lang="ko"] .content_page td.right .hankakuAll,
html[lang="ko"] #content_page td.right,
html[lang="ko"] #content_page td.right *,
html[lang="ko"] #content_page td.right font,
html[lang="ko"] #content_page td.right .hankakuAll,
html[lang="ko"] .exhibition-table-contents,
html[lang="ko"] .exhibition-table-contents *,
html[lang="ko"] .exhibition-table-contents font,
html[lang="ko"] .exhibition-table-contents .hankakuAll {
    font-family: "Noto Serif KR", "Noto Serif CJK KR", serif !important;
    font-weight: 300 !important;
}

@media screen and (max-width: 767px) {
    /* Korean future dates may wrap at natural text boundaries. */
    html[lang="ko"] .top_future_ex_title font {
        white-space: normal !important;
    }

    /* Chinese dates do not need the Japanese theme's forced line break. */
    html[lang="zh-CN"] .top_future_ex_title font,
    html[lang="zh-TW"] .top_future_ex_title font {
        white-space: normal !important;
    }

    html[lang="zh-CN"] .top_future_ex_title font br,
    html[lang="zh-TW"] .top_future_ex_title font br {
        display: none !important;
    }
}
