/**
 * ============================================================================
 * LG Web Manual - Common CSS
 * ============================================================================
 * 공통 스타일: 헤더, 푸터, 검색, 사이드 메뉴 등
 * searchResult 및 div.text 밖에 들어가는 스타일
 * ============================================================================
 */

/* ============================================================================
   CSS Variables (:root)
   ============================================================================ */
:root {
    /* Colors */
    --color-primary: #af1947;
    --color-primary-hover: #b6174a;
    --color-primary-dark: #bc162c;
    --color-white: #ffffff;
    --color-black: #000000;
    --color-gray-light: #f2f2f3;
    --color-gray: #666666;
    --color-gray-dark: #333333;
    --color-border: #cccccc;

    /* Fonts */
    --font-bold: "LG Smart Bold", Arial, Helvetica, sans-serif;
    --font-regular: "LG Smart Regular", Arial, Helvetica, sans-serif;
    --font-light: "LG Smart Light", Arial, Helvetica, sans-serif;
    --font-semibold: "LG Smart SemiBold", Arial, Helvetica, sans-serif;

    /* Sizes */
    --header-height: 55px;
    --header-height-mobile: 40px;
    --max-width-content: 1500px;
    --max-width-header: 1500px;
    --border-radius: 10px;
    --border-radius-button: 35px;
}

/* ============================================================================
   Base Layout (Sticky Footer)
   ============================================================================ */
html {
    height: 100%;
}

body {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    margin: 0;
    position: relative;
}

/* ============================================================================
   LG Fonts
   ============================================================================ */
@font-face {
    font-family: "LG Smart Bold";
    src: url("font/LG_Smart_Bold.woff") format("woff"),
         url("font/LG_Smart_Bold.ttf") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: "LG Smart Bold Italic";
    src: url("font/LG_Smart_Bold_Italic.woff") format("woff"),
         url("font/LG_Smart_Bold_Italic.ttf") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: "LG Smart Light";
    src: url("font/LG_Smart_Light.woff") format("woff"),
         url("font/LG_Smart_Light.ttf") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: "LG Smart Regular";
    src: url("font/LG_Smart_Regular.woff") format("woff"),
         url("font/LG_Smart_Regular.ttf") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: "LG Smart SemiBold";
    src: url("font/LG_Smart_SemiBold.woff") format("woff"),
         url("font/LG_Smart_SemiBold.ttf") format("truetype");
    font-display: swap;
}

/* ============================================================================
   UPSYS Fonts
   ============================================================================ */
@font-face {
    font-family: 'upsys_circlednumberregular';
    src: url('font/upsys_circlednumber-webfont.woff2') format('woff2'),
         url('font/upsys_circlednumber-webfont.woff') format('woff');
    font-display: swap;
}

@font-face {
    font-family: 'upsys_commonregular';
    src: url('font/UPSYS_Common.woff') format('woff');
    font-display: swap;
}

@font-face {
    font-family: 'Upsys-Common';
    src: url('font/upsys_common-webfont.woff') format('woff');
    font-display: swap;
}

@font-face {
    font-family: "UPSYS-RoundedBoxNumber";
    src: url("font/UPSYS_ROUNDEDBOX_NUMBER_ST.woff") format("woff"),
         url("font/UPSYS_ROUNDEDBOX_NUMBER_ST.TTF") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: "UPSYS-Rounded-Alphabet";
    src: url("font/UPSYS_ROUNDED_ALPHABET_201126_REV03.woff") format("woff");
    font-display: swap;
}

@font-face {
    font-family: "UPYSY-Font-2013";
    src: url("font/UPSYS_Font_2013_Basic.woff") format("woff");
    font-display: swap;
}

@font-face {
    font-family: "UPYSY-Common";
    src: url("font/UPSYS_Common.otf");
    font-display: swap;
}

@font-face {
    font-family: "UPYSY-Rounded-Number";
    src: url("font/UPSYS_ROUNDED_NUMBER.woff") format("woff");
    font-display: swap;
}

@font-face {
    font-family: 'upsys_font_2013basic';
    src: url('font/upsys_font_2013_basic-webfont.woff2') format('woff2'),
         url('font/upsys_font_2013_basic-webfont.woff') format('woff');
    font-display: swap;
}

@font-face {
    font-family: 'upsys_boxednumberregular';
    src: url('font/upsys-boxednumber-webfont.woff2') format('woff2'),
         url('font/upsys-boxednumber-webfont.woff') format('woff');
    font-display: swap;
}

@font-face {
    font-family: 'Upsys_vs_common1-Regular';
    src: url('font/Upsys_vs_common1-Regular.woff') format('woff');
    font-display: swap;
}

@font-face {
    font-family: 'Upsys_vs_common2-Regular';
    src: url('font/Upsys_vs_common2-Regular.woff') format('woff');
    font-display: swap;
}

@font-face {
    font-family: 'UPYSY-Font-2017';
    src: url('font/UPSYS_Font_2017_Basic.woff') format('woff');
    font-display: swap;
}

/* ============================================================================
   Reset & Base
   ============================================================================ */
* {
    margin: 0;
    padding: 0;
}

::-webkit-input-placeholder { color: transparent; }
::-moz-placeholder { color: transparent; }
:-ms-input-placeholder { color: transparent; }
:-moz-placeholder { color: transparent; }

/* ============================================================================
   Search Highlight
   ============================================================================ */
.keyword, .highlight {
    font-family: var(--font-bold) !important;
    color: var(--color-white);
    background-color: var(--color-primary-dark);
}

.upsys_commonregular {
    font-family: "upsys_commonregular", sans-serif !important;
}

/* ============================================================================
   Header - Main (main.html)
   ============================================================================ */
.header_main {
    width: 100%;
    height: var(--header-height);
    position: absolute;
    background-color: rgba(0, 0, 255, 0);
    z-index: 3;
}

/* ============================================================================
   Header - Content Pages
   ============================================================================ */
.header {
    width: 100%;
    padding-top: 12px;
    padding-bottom: 12px;
    height: 30px;
    background-color: var(--color-white);
    position: absolute;
    z-index: 3;
    border-bottom: 4px solid var(--color-primary-dark);
}

.headerInner {
    margin: auto;
    height: 115px;
    width: 100%;
    max-width: var(--max-width-header);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 30px;
    padding-right: 30px;
    box-sizing: border-box;
}

/* .header > .headerInner {
    width: 89%;
} */

#headerLogo {
    width: 150px;
    height: 130px;
    background-image: url("../image/lg-logo256.png");
    background-repeat: no-repeat;
    background-position: left;
    background-size: 115px;
}

#headerLogo2 {
    font-size: 0px;
    color: transparent;
    width: 140px;
    height: 55px;
    margin-left: 0px;
    background-image: url("../image/lg-logo256.png");
    background-repeat: no-repeat;
    background-position: left;
    background-size: 115px;
}

#title {
    display: none;
    width: 31%;
    text-align: center;
    font-family: var(--font-regular) !important;
    font-size: 20px;
    overflow: hidden;
}

#menu {
    font-size: 0px;
    color: transparent;
    width: auto;
    height: 24px;
    margin-top: 0;
    margin-right: 0;
}

#menu span {
    display: block;
    width: 40px;
    height: 30px;
    background-image: url("icon/common/burger-menu.svg");
    background-position: center right;
    background-repeat: no-repeat;
    cursor: pointer;
}

/* ============================================================================
   Sub Header
   ============================================================================ */
.subHeaderInner {
    display: flex;
    margin: 0 auto;
    width: 100%;
    max-width: var(--max-width-content);
    padding-left: 30px;
    padding-right: 30px;
    box-sizing: border-box;
    align-items: center;
    height: 100%;
}

.chapterTitle {
    margin-left: 0;
    font-size: 18px;
    font-family: var(--font-bold) !important;
    text-transform: capitalize;
    font-weight: bold;
}

/* ============================================================================
   Breadcrumb Navigation
   ============================================================================ */
.breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px 0;
    font-size: 14px;
    font-family: var(--font-regular);
    color: var(--color-gray);
}

.breadcrumb-home {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #a50034;
    text-decoration: none;
    transition: color 0.2s ease;
}

.breadcrumb-home:hover {
    color: var(--color-gray-dark);
}

.breadcrumb-home svg {
    width: 18px;
    height: 18px;
}

.breadcrumb-separator {
    color: #999;
    font-size: 12px;
    margin: 0 2px;
}

.breadcrumb-chapter {
    color: #a50034;
    font-family: var(--font-semibold);
}

.breadcrumb-current {
    color: #a50034;
    font-family: var(--font-bold);
    font-weight: bold;
}

/* ============================================================================
   Language Selector
   ============================================================================ */
.links {
    display: flex;
    align-items: center;
    justify-content: center;
}

.languageDiv {
    cursor: pointer;
    background: var(--color-primary) url(../css/icon/common/globe-earth-icon--2.png) no-repeat 50%;
    height: 35px;
    background-size: 32px;
    width: 45px;
    margin-right: 23px;
    padding: 11px;
    border-radius: 40px;
    outline: 3px solid rgb(255 255 255 / 100%);
    margin-left: auto;
}

html[dir="rtl"] .languageDiv {
    margin-left: 23px;
    margin-right: auto;
}

html[dir="rtl"] #menu {
    margin-right: 0;
    margin-left: 4%;
}

/* RTL: 검색 버튼 input 왼쪽에 배치 */
html[dir="rtl"] .header #btnSearch,
html[dir="rtl"] #mainCar #btnSearch,
html[dir="rtl"] .searchPage #btnSearch {
    right: auto;
    left: 12px;
}

html[dir="rtl"] .header #btnSearch::before,
html[dir="rtl"] #mainCar #btnSearch::before,
html[dir="rtl"] .searchPage #btnSearch::before {
    left: auto;
    right: 30px;
}

html[dir="rtl"] .header #searchBar input,
html[dir="rtl"] #mainCar #searchBar input,
html[dir="rtl"] .searchPage #searchBar input {
    padding: 0px 30px 0px 120px;
}

/* RTL: 이전/다음 버튼 좌우 반전 */
html[dir="rtl"] #prevBtn {
    left: auto;
    right: 10px;
    background-image: url("icon/common/btn_main_right.png");
}

html[dir="rtl"] #nextBtn {
    right: auto;
    left: 10px;
    background-image: url("icon/common/btn_main_left.png");
}

.languageDiv:hover {
    background: var(--color-primary-hover) url(../css/icon/common/globe-earth-icon--2.png) no-repeat 50%;
    height: 35px;
    background-size: 32px;
    width: 45px;
    padding: 11px;
    border-radius: 40px;
    transition: all 0.5s ease;
}

.languageDivPhone {
    display: none;
    position: absolute;
    top: 5px;
    left: 5%;
    font-family: var(--font-bold) !important;
    cursor: pointer;
    line-height: 30px;
}

/* ============================================================================
   Footer
   ============================================================================ */
.footer {
    margin-top: auto;
    width: 100%;
    background-color: var(--color-primary);
}

.footerInner {
    position: relative;
    margin: auto;
    width: 100%;
    padding: 12px 0px;
    max-width: 1120px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

#footerBottom {
    width: 100%;
    height: 0;
    background-color: var(--color-white);
}

#footerLogo {
    margin-left: auto;
    margin-right: auto;
    font-size: 0px;
    width: 66px;
    height: 60px;
    background-image: url("icon/K/Logo_footer_K.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 90%;
}

.copyright {
    font-family: var(--font-regular) !important;
    font-size: 14px;
    position: relative;
    margin: 0;
    color: var(--color-white);
    text-align: center;
}

#copyrightPc {
    display: block;
    width: 100%;
}

#copyrightPcSpan {
    display: inline-block;
    line-height: normal;
}

#copyrightPhone {
    display: none;
    line-height: normal;
    vertical-align: middle;
}

.footer .copyright {
    z-index: 1;
    width: 100%;
    color: var(--color-white);
    position: relative;
    margin: 0;
}

.footer .versionLink > a {
    font-family: var(--font-regular) !important;
    font-size: 14px;
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
}

.footer .versionLink > a:hover {
    text-decoration: underline;
}

/* ============================================================================
   Scroll to Top Button
   ============================================================================ */
#myBtn {
    cursor: pointer;
    display: none;
    position: fixed;
    bottom: 20px;
    right: 30px;
    z-index: 99;
    border: none;
    outline: none;
    border-radius: 16px;
    background: url(icon/K/btn_top_w.png) no-repeat;
    width: 68px;
    height: 32px;
    opacity: 0.6;
}

#myBtn:hover {
    opacity: 0.9;
}

/* ============================================================================
   Navigation Buttons
   ============================================================================ */
#prevBtn, #nextBtn {
    display: none;
}

#prevBtn {
    position: fixed;
    left: 10px;
    top: 0px;
    bottom: 0px;
    z-index: 99;
    border: none;
    outline: none;
    background-image: url("icon/common/btn_main_left.png");
    background-size: 52px 72px;
    width: 52px;
    height: 72px;
    margin: auto;
    opacity: 0.6;
    cursor: pointer;
}

#nextBtn {
    position: fixed;
    right: 10px;
    top: 0px;
    bottom: 0px;
    z-index: 99;
    border: none;
    outline: none;
    margin: auto;
    background-image: url("icon/common/btn_main_right.png");
    background-size: 52px 72px;
    width: 52px;
    height: 72px;
    opacity: 0.6;
    cursor: pointer;
}

/* ============================================================================
   Right Menu (TOC Sidebar)
   ============================================================================ */
.rightMenu {
    display: none;
    position: fixed;
    top: 0px;
    right: 0px;
    background-color: var(--color-white);
    width: 400px;
    height: 100%;
    z-index: 13;
    color: var(--color-black);
}

/* RTL: 메뉴가 왼쪽에서 나오도록 설정 */
html[dir="rtl"] .rightMenu {
    right: auto;
    left: 0px;
}

html[dir="rtl"] .close {
    float: left;
    margin-right: 0;
    margin-left: 12px;
}

#rightHeader {
    clear: both;
    border-bottom: solid 2px #666666;
    height: var(--header-height);
}

#rightHeader > div {
    cursor: pointer;
    width: 55px;
    height: 55px;
    background-repeat: no-repeat;
    background-size: 40%;
    background-position: center;
}

.close {
    float: right;
    background-image: url("icon/common/menu_close.png");
    margin-right: 12px;
}

#toc {
    font-family: var(--font-regular) !important;
    height: 90%;
    overflow: auto;
    width: 100%;
    text-transform: capitalize;
}

#toc a.topTree {
    color: var(--color-black);
}

#toc a.topTree.selected {
    color: var(--color-white) !important;
    font-family: var(--font-bold);
}

#toc a.selected {
    color: var(--color-primary-dark) !important;
}

/* ============================================================================
   Cover Overlay
   ============================================================================ */
.cover {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 11;
}

.spin {
    background: url("icon/common/giphy.gif");
    background-repeat: no-repeat;
    background-position: center;
    background-color: var(--color-white);
}

/* ============================================================================
   Search Bar
   ============================================================================ */
#searchBar {
    margin-top: 0;
    width: 65%;
    margin: 0 auto;
    position: relative;
}

#searchBar input:focus {
    outline: none;
}

#searchBar input::placeholder {
    right: 10px;
}

/* Main Page (mainCar) Search Bar */
#mainCar #searchBar {
    width: 50%;
    text-align: center;
    margin-top: 0.3in;
    position: relative;
}

#mainCar #searchBar input {
    border-radius: var(--border-radius-button);
    width: 100%;
    border: none;
    height: 60px;
    padding: 0px 120px 0px 30px;
    font-size: 18px;
    color: var(--color-black);
    box-sizing: border-box;
}

#mainCar #btnSearch {
    cursor: pointer;
    background: var(--color-primary);
    padding: 24px 42px;
    border: none;
    border-radius: 35px;
    z-index: 10;
    position: absolute;
    top: 50%;
    right: 5px;
    transform: translateY(-50%);
    color: var(--color-white);
    font-family: var(--font-bold);
}

#mainCar #btnSearch:hover {
    background: var(--color-primary-hover);
}

#mainCar #btnSearch::before {
    position: absolute;
    top: 11px;
    left: 30px;
    content: '';
    display: inline-block;
    background: url(icon/common/search-white.png) no-repeat;
    width: 25px;
    height: 25px;
    background-size: 22px;
}

#mainCar #btnSearch span {
    font-size: 14px;
}

.header #searchBar {
    margin-top: 5px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.header #searchBar input {
    box-sizing: border-box;
    border-radius: var(--border-radius-button);
    width: 100%;
    border: none;
    height: 60px;
    padding: 0 20px 0 30px;
    margin-top: 10px;
    padding-top: 2px;
    font-size: 18px;
    color: var(--color-black);
}

.header #searchBar input:focus {
    outline: none;
}

/* ============================================================================
   Search Button
   ============================================================================ */
.search {
    text-align: left;
    cursor: pointer;
    background: var(--color-primary);
    padding: 7px 25px 7px 60px;
    width: 160px;
    border: none;
    border-radius: 20px;
    margin: 20px;
    margin-top: 10px;
    z-index: 10;
    position: relative;
}

.search::before {
    position: absolute;
    top: 8px;
    left: 36px;
    content: '';
    display: inline-block;
    background: url(../css/icon/common/search-white.png) no-repeat;
    width: 25px;
    height: 25px;
    background-size: 18px;
}

.search:hover {
    background: var(--color-primary-hover);
}

#btnSearch .btn-search {
    width: 19px !important;
    margin-right: 8px;
    height: 20px;
    margin-bottom: -3px;
}

#btnSearch:focus {
    outline: none;
}

#btnSearch span {
    display: none;
    color: var(--color-white);
    font-size: 20px;
    font-family: var(--font-regular) !important;
}

.header #btnSearch {
    cursor: pointer;
    background: var(--color-primary);
    padding: 24px 41px;
    border: none;
    border-radius: var(--border-radius-button);
    z-index: 10;
    position: absolute;
    right: 12px;
    top: 17px;
}

.header #btnSearch:hover {
    background: var(--color-primary-hover);
}

.header #btnSearch::before {
    position: absolute;
    top: 10px;
    left: 30px;
    content: '';
    display: inline-block;
    background: url(../css/icon/common/search-white.png) no-repeat;
    width: 25px;
    height: 25px;
    background-size: 22px;
}

#rightHeader #btnSearch {
    padding: 20px 30px;
    width: initial;
}

#rightHeader #btnSearch::before {
    position: absolute;
    top: 9px;
    left: 20px;
    content: '';
    display: inline-block;
    background: url(../css/icon/common/search-white.png) no-repeat;
    width: 25px;
    height: 25px;
    background-size: 19px;
}

#rightHeader #btnSearch span {
    display: none;
}

/* ============================================================================
   Search Page
   ============================================================================ */
.searchPage {
    min-height: 100%;
}

.searchPage body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.searchPage .content {
    flex: 1;
}

.searchPage .footer {
    margin-top: auto;
}

.searchPage #searchBar {
    width: 50%;
    margin: 0 auto;
    position: relative;
    display: flex;
    align-items: center;
}

.searchPage #searchBar input {
    border-radius: var(--border-radius-button);
    width: 100%;
    border: none;
    height: 60px;
    padding: 0px 120px 0px 30px;
    font-size: 18px;
    color: var(--color-black);
    box-sizing: border-box;
}

.searchPage #btnSearch {
    cursor: pointer;
    background: var(--color-primary);
    padding: 24px 42px;
    border: none;
    border-radius: 35px;
    z-index: 10;
    position: absolute;
    top: 55%;
    right: 5px;
    transform: translateY(-50%);
    color: var(--color-white);
    font-family: var(--font-bold);
}

.searchPage #btnSearch:hover {
    background: var(--color-primary-hover);
}

.searchPage #btnSearch::before {
    position: absolute;
    top: 11px;
    left: 30px;
    content: '';
    display: inline-block;
    background: url(icon/common/search-white.png) no-repeat;
    width: 25px;
    height: 25px;
    background-size: 22px;
}

.searchPage #btnSearch span {
    font-size: 14px;
}

/* ============================================================================
   Search Div (Search Result Page)
   ============================================================================ */
.searchDiv {
    display: none;
    position: relative;
    width: 50%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 30px;
    margin-bottom: 30px;
}

#searchinputbox {
    border-radius: var(--border-radius-button);
    width: 100%;
    border: 1px solid var(--color-border);
    height: 60px;
    padding: 0px 120px 0px 30px;
    font-size: 18px;
    color: var(--color-black);
    box-sizing: border-box;
}

#searchinputbox:focus {
    outline: none;
}

#searchButton {
    cursor: pointer;
    background: var(--color-primary);
    padding: 24px 42px;
    border: none;
    border-radius: 35px;
    z-index: 10;
    position: absolute;
    top: 50%;
    right: 5px;
    transform: translateY(-50%);
    color: var(--color-white);
    font-family: var(--font-bold);
}

#searchButton:hover {
    background: var(--color-primary-hover);
}

#searchButton::before {
    position: absolute;
    top: 11px;
    left: 30px;
    content: '';
    display: inline-block;
    background: url(icon/common/search-white.png) no-repeat;
    width: 25px;
    height: 25px;
    background-size: 22px;
}

#searchButton span {
    font-size: 14px;
}

.result, .resultcount, .noResult {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}

/* ============================================================================
   Table Base Styles
   ============================================================================ */
tbody tr:nth-child(1) {
    background: #dee2e6;
    border-top: 1px solid var(--color-black);
}

.fontChangeButton {
    padding: 3px;
}

/* ============================================================================
   Responsive - Tablet (1280px)
   ============================================================================ */
@media screen and (min-width: 768px) and (max-width: 1280px) {
    #mainCar #searchBar {
        width: 75%;
    }
}

/* ============================================================================
   Responsive - Small Tablet (801px)
   ============================================================================ */
@media screen and (max-width: 801px) {
    .links {
        width: 30%;
        justify-content: space-between;
    }

    #menu {
        _margin-right: 5px;
    }

    #mainCar #searchBar {
        width: 75%;
    }

    #mainCar #btnSearch {
        padding: 24px 33px;
    }

    #mainCar #btnSearch::before {
        left: 20px;
    }

    #btnSearch span {
        display: none;
    }

    .copyright {
        line-height: 1.4;
        font-size: 13px;
    }

    #copyrightPhone {
        display: inline-block;
    }

    #searchLabel {
        width: 13%;
    }

    #headerLogo2 {
        background-size: 105px;
        margin-left: 2.5%;
    }

    #btnSearch .btn-search {
        margin-right: 0;
    }

    #btnSearch span {
        display: none;
    }

    .searchPage #searchBar {
        width: 75%;
    }

    .searchPage #btnSearch {
        padding: 24px 33px;
    }

    .searchPage #btnSearch::before {
        left: 20px;
    }

    .search {
        padding: 20px;
        width: initial;
    }

    .search::before {
        top: 11px;
        left: 12px;
        background-size: 16px;
    }

    #rightHeader .search {
        padding: 7px 25px 7px 36px;
        width: initial;
    }

    #rightHeader .search span {
        display: block;
        font-size: 16px;
    }

    #rightHeader .search::before {
        top: 8px;
        left: 15px;
        background-size: 16px;
    }

    .subHeaderInner {
        padding-left: 15px;
        padding-right: 15px;
    }

    #btnSearch {
        padding: 20px;
        margin-left: -105px;
    }

    #btnSearch::before {
        position: absolute;
        top: 9px;
        left: 11px;
        content: '';
        display: inline-block;
        background: url(../css/icon/common/search-white.png) no-repeat;
        width: 25px;
        height: 25px;
        background-size: 19px;
    }

    #btnSearch .btn-search {
        margin-right: 0;
    }

    /* RTL: 801px 이하에서 검색 버튼 위치 */
    html[dir="rtl"] #btnSearch {
        margin-left: 0;
        margin-right: -105px;
    }

    html[dir="rtl"] #btnSearch::before {
        left: auto;
        right: 11px;
    }

    html[dir="rtl"] #mainCar #btnSearch::before,
    html[dir="rtl"] .searchPage #btnSearch::before {
        left: auto;
        right: 20px;
    }

    /* RTL: 801px 이하 헤더 요소 */
    html[dir="rtl"] .languageDiv {
        margin-right: auto;
    }

    html[dir="rtl"] #headerLogo2 {
        margin-left: 0;
        margin-right: 2.5%;
    }

}

/* ============================================================================
   Responsive - Mobile (640px)
   ============================================================================ */
@media screen and (max-width: 640px) {
    .header_main {
        height: var(--header-height-mobile);
        padding-top: 0px;
        padding-bottom: 0px;
        z-index: 10;
    }

    .header {
        height: var(--header-height-mobile);
        padding-top: 0px;
        padding-bottom: 0px;
        z-index: 10;
    }

    #title {
        font-size: 13px;
        width: 49%;
    }

    #headerLogo {
        display: inline;
        background-size: 100%;
        margin-top: 0px;
        background-size: 96px;
    }

    .languageDiv {
        height: 19px;
        background-size: 24px;
        width: 20px;
        padding: 13px;
    }

    #menu {
        display: inline;
        height: 60px;
        line-height: 60px;
        margin-right: 0px;
    }

    #menu span {
        position: relative;
        background-size: 100%;
        height: 60px;
        line-height: 60px;
        max-width: 25px;
    }

    .rightMenu {
        width: 300px;
    }

    #rightHeader {
        height: 45px;
    }

    #rightHeader > div {
        width: 60px;
        height: 45px;
        background-repeat: no-repeat;
        background-size: 15px;
        background-position: center;
    }

    .searchDiv {
        width: 75%;
    }

    #searchButton {
        padding: 24px 33px;
    }

    #searchButton::before {
        left: 20px;
    }

    #searchButton span {
        display: none;
    }

    .search {
        padding: 18px;
        position: absolute;
        top: -5px;
        margin: 10px !important;
    }

    .search::before {
        top: 10px;
        left: 11px;
        background-size: 15px;
    }

    .close {
        margin-right: 10px;
    }

    #toc {
        width: 100%;
    }

    #footerLogo {
        max-width: 125px;
        background-size: 100%;
        bottom: -72px;
        width: 33px;
        height: 38px;
    }

    .footerInner {
        padding-top: 2%;
    }

    #prevBtn {
        width: 32px;
        height: 52px;
        background-size: 32px 52px;
    }

    #nextBtn {
        width: 32px;
        height: 52px;
        background-size: 32px 52px;
    }

    .searchPage #searchBar,
    .header #searchBar,
    #mainCar #searchBar {
        width: 70%;
    }

    .header #searchBar input {
        height: 45px !important;
        padding: 0px 0px 0px 15px;
    }

    #mainCar #searchBar input,
    .searchPage #searchBar input {
        height: 45px !important;
        padding: 0px 70px 0px 15px;
    }

    #mainCar #btnSearch,
    .searchPage #btnSearch {
        padding: 20px;
    }

    .header #btnSearch {
        padding: 20px;
        right: 5px;
        top: calc(10px + 22.5px);
        transform: translateY(-50%);
    }

    #mainCar #btnSearch::before,
    .searchPage #btnSearch::before {
        top: 12px;
        left: 12px;
        background-size: 15px;
    }

    .header #btnSearch::before {
        top: 12px;
        left: 12px;
        background-size: 15px;
    }

    .searchDiv {
        width: 70%;
    }

    #searchinputbox {
        height: 45px;
        padding: 0px 70px 0px 15px;
    }

    #searchButton {
        padding: 20px;
    }

    #searchButton::before {
        top: 12px;
        left: 12px;
        background-size: 15px;
    }

    #rightHeader #btnSearch {
        padding: 18px 25px;
    }

    #rightHeader #btnSearch::before {
        top: 8px;
        left: 15px;
        background-size: 18px;
    }

    /* RTL: 640px 이하에서 검색 버튼 아이콘 가운데 정렬 */
    html[dir="rtl"] #mainCar #btnSearch::before,
    html[dir="rtl"] .searchPage #btnSearch::before,
    html[dir="rtl"] .header #btnSearch::before,
    html[dir="rtl"] #rightHeader #btnSearch::before {
        left: 50%;
        right: 10%;
    }

    /* RTL: 640px 이하 헤더 요소 */
    html[dir="rtl"] #menu {
        margin-left: 0;
        margin-right: 0;
    }
}

/* ============================================================================
   Responsive - Small Mobile (480px)
   ============================================================================ */
@media screen and (max-width: 480px) {

    #menu {
        float: right;
        width: initial;
        max-width: 55px;
        display: inline;
        height: 45px;
        line-height: 45px;
        background-color: transparent;
    }

    #menu span {
        background-position: center right;
        background-repeat: no-repeat;
        float: none;
        background-size: 100%;
        height: 45px;
        margin: auto;
    }

    .close {
        margin-right: 0px;
    }

    .languageDiv {
        left: 0;
    }

    .noResult > span {
        width: 200px !important;
        font-size: 14px;
    }

    #title {
        font-size: 11px;
    }

    #headerLogo {
        background-size: 85px;
        width: 100px;
        height: 100px;
        image-rendering: -webkit-optimize-contrast;
    }

    #headerLogo2 {
        margin-left: 0;
        background-size: 91px;
    }

    .header #searchBar #searchCaption span {
        font-size: 16px;
    }

    .header #btnSearch {
        right: 5px;
        /* top: 13px; */
    }

    .subHeaderInner {
        padding-left: 15px;
        padding-right: 15px;
    }

    /* RTL: 480px 이하 헤더 요소 */
    html[dir="rtl"] .languageDiv {
        left: auto;
        right: 0;
    }

    html[dir="rtl"] #headerLogo2 {
        margin-left: 0;
        margin-right: 0;
    }

    html[dir="rtl"] .header #btnSearch {
        right: auto;
        left: 5px;
    }
}

/* ============================================================================
   Responsive - Extra Small (365px)
   ============================================================================ */
@media screen and (max-width: 365px) {
    #menu {
        float: right;
        max-width: 60px;
        display: inline;
        height: 45px;
        line-height: 45px;
    }

    #menu span {
        background-position: center right;
        background-repeat: no-repeat;
        float: none;
        background-size: 100%;
        height: 45px;
        width: 22px;
        margin: auto;
    }

    .languageDiv {
        left: -5px;
    }

    /* RTL: 365px 이하 헤더 요소 */
    html[dir="rtl"] .languageDiv {
        left: auto;
        right: -5px;
    }
}


/* ============================================================================
   Language Selector Page (index-page)
   ============================================================================ */
.index-page {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    font-family: var(--font-regular);
    background-color: var(--color-white);
}

.index-page .index-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 50px 20px 30px;
    text-align: center;
}

.index-page .index-logo {
    width: 50px;
    height: auto;
    margin-bottom: 10px;
}

.index-page h1 {
    font-family: var(--font-bold);
    font-size: 28px;
    color: var(--color-gray-dark);
    margin: 0 0 30px 0;
    font-weight: normal;
    letter-spacing: 2px;
}

.index-page h2 {
    font-family: var(--font-semibold);
    font-size: 18px;
    color: var(--color-black);
    margin: 0 0 10px 0;
    font-weight: normal;
}

.index-page .index-description {
    font-family: var(--font-light);
    font-size: 14px;
    color: var(--color-gray);
    margin: 0 0 30px 0;
    max-width: 600px;
    line-height: 1.5;
}

.index-page .language-nav {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    width: 100%;
    max-width: 650px;
}

.index-page .language-nav a {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-primary);
    color: var(--color-white);
    text-decoration: none;
    padding: 15px 20px;
    border-radius: 5px;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold;
    font-size: 14px;
    letter-spacing: 1px;
    transition: background-color 0.3s ease;
    min-width: 180px;
    box-sizing: border-box;
}

.index-page .language-nav a:hover {
    background-color: var(--color-primary-hover);
}

.index-page .index-footer {
    background-color: var(--color-primary);
    color: var(--color-white);
    text-align: center;
    padding: 5px 20px;
    font-size: 12px;
    font-family: var(--font-regular);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
}

.index-page .index-footer p {
    margin: 0;
    font-feature-settings: "lnum" 1;
    line-height: 1;
}

/* Language Selector Page - Responsive */
@media screen and (max-width: 800px) {
    .index-page .language-nav {
        grid-template-columns: repeat(2, 1fr);
        max-width: 420px;
    }

    .index-page .language-nav a {
        min-width: 150px;
    }
}

@media screen and (max-width: 640px) {
    .index-page .index-content {
        padding: 30px 15px 20px;
    }



    .index-page h1 {
        font-size: 22px;
        letter-spacing: 1px;
    }

    .index-page h2 {
        font-size: 16px;
    }

    .index-page .index-description {
        font-size: 13px;
    }

    .index-page .language-nav a {
        padding: 12px 20px;
        font-size: 13px;
    }
}

@media screen and (max-width: 480px) {
    .index-page .language-nav {
        grid-template-columns: 1fr;
        max-width: 250px;
    }

    .index-page .language-nav a {
        min-width: unset;
        width: 100%;
    }
}
