#top-logo{
    margin: 1.75em 1.5em 1.5em 1.5em;
    min-height: 48px;
}

#top-logo h1 {
    color: #fff;
    font-weight: 600;
    font-size: 1em;
    line-height: 1em;
}

#top-logo .image {
    left: 0;
    top: 0;
}

#topNav {
  background: #222;
  color: white;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 2000;
}

#topNav .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 20px;
}

#topNav .menu {
  display: flex;
  flex-wrap: wrap;
  font-size: 18px;
  list-style: none;
  margin: 0;
  padding: 0;
}

#topNav .menu li {
  margin: 0 15px;
}

#topNav .menu li a {
  color: white;
  text-decoration: none;
  font-weight: bold;
}

#main {
  padding-top: 0px;
}

/* 햄버거 버튼 (모바일 전용) */
.menu-toggle {
  font-size: 16px;
  color: white;
  cursor: pointer;
  display: none;
}

.sticky-top {
    position: sticky;
    top: 0;
    z-index: 1000;
    background-color: #222629; /* 배경색 없으면 아래 내용과 겹쳐 보일 수 있음 */
}

input{
    font-family: 'Noto Sans KR','Noto Sans Korean', "Nanum Gothic", sans-serif !important;
    appearance: none;
    border-radius:5px;
    border: 0;
    outline: none;
    font-size: 16px;
    height:20px;
    text-align: right;
    background-color: rgba(255, 250, 205, 0.507);
}
input::placeholder{
    color: #d9d9d9;
}

.inputDiv{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

/* .inputDiv input{
    margin : auto;
} */

.inputClass{
    width: calc(50% - 5px);
    box-sizing: border-box;
    margin: 20px auto;
    position: relative;
}
.inputClass label{
    display: inline-block;
    position: absolute;
    top: -30px;
    left: 14px;
    padding-top: 10px;
    background: none;
    font-size: 16px;
    color: #888;
    font-weight: bold;
    margin-left: -10px;
}

.inputClass input{
    width: 100%;
    border: 1px solid #dddddd !important;
    font-size: 1rem;
    line-height: 1.45;
    letter-spacing: -0.04rem;
    border-radius: 8px;
    padding: 16px;
    margin-top: 12px;
}

.pointSpan{
    color: #e67e22; /* 차분한 딥 오렌지 강조색 */
    font-weight: bold;
}

.mainDiv{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.mainDiv input{
    background-color: white;
}

.btnClass{
    text-align: center;
    margin-bottom: 1rem;
}

.radioSelect {
    display: flex;
    text-align: left;
    margin-bottom: 1rem;
}
.radioSelect input[type=radio]{
    display: none;
}
.radioSelect input[type=radio]+label{
    display: inline-block;
    cursor: pointer;
    height: 30px;
    width: calc(50% - 5px);
    border: 1px solid #333;
    border-radius: 5px;
    line-height: 30px;
    text-align: center;
    font-weight:bold;
    font-size: 16px;
}
.radioSelect input[type=radio]+label{
    background-color: #333;
    color: #fff;
}
.radioSelect input[type=radio]:checked+label{
    background-color: #fff;
    color: #333;
}

.tooltip-container {
    position: relative;
    display: inline-block;
}
  
.tooltip-label {
    cursor: pointer;
}
  
.tooltip-text {
    visibility: hidden;
    width: 180px;
    background-color: rgba(255, 255, 255, 0.9); /* 흰색 배경에 90% 불투명도 */
    color: #333; /* 글자색을 어둡게 */
    text-align: center;
    border-radius: 5px;
    padding: 8px; /* 패딩 조정 */
    position: absolute;
    z-index: 1;
    bottom: 125%; /* 툴팁 위치 조정 */
    left: 50%;
    margin-left: -100px; /* 툴팁의 너비 절반만큼 왼쪽으로 이동 (width: 200px 기준) */
    opacity: 0;
    transition: opacity 0.3s;
    font-size: 16px; /* 폰트 크기 줄이기 */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* 약간의 그림자 추가 */
    line-height: 2; /* 글자 간의 상하 간격 줄이기 */
}
  
.tooltip-container:hover .tooltip-text {
    visibility: visible;
    opacity: 1;
}

.tooltip-text2 {
    visibility: hidden;
    width: 400px; /* 가로 너비를 넓힘 */
    background-color: rgba(255, 255, 255, 0.9);
    color: #333;
    text-align: center;
    border-radius: 5px;
    padding: 8px;
    position: absolute;
    z-index: 1;
    bottom: 125%;
    left: 50%;
    margin-left: -200px;
    opacity: 0;
    transition: opacity 0.3s;
    font-size: 16px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    line-height: 2;
}

.tooltip-container:hover .tooltip-text2 {
    visibility: visible;
    opacity: 1;
}

/* 다크모드 대응 */
body.dark-mode .tooltip-text2 {
    background-color: rgba(45, 45, 45, 0.95);
    color: #eee;
    border: 1px solid #444;
}


.flip-scroll{
    display: flex;
    justify-content: center;
    width: 100%;
    overflow-x: auto;
}

/* @media screen and (max-width: 961px) {
    .flip-scroll {
        display: block;
    }
} */

.mTable td, .mTable tbody th {
    white-space: nowrap;
}

/* https://seraphinaciel.github.io/%ED%91%9C/ */
@media screen and (max-width: 961px) {
    .mTable caption {
        font-size: 1.3em;
    }

    .mTable {
        width: 1400px;
        table-layout: auto;
        display: inline-grid;
        border: none;
    }

    .mTable thead {
        border: none;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
    }

    .mTable th {
        display: block;
        align-items: center;
        text-align: center;
    }

    .mTable tr {
        border-top: 3px solid gray;
        border-bottom: 3px solid #ddd;
        display: block;
        margin-bottom: .625em;
    }

    .mTable td {
        border-bottom: 1px solid #ddd;
        display: block;
        font-size: 0.95em;
        text-align: right;
    }

    .mTable td::before {
        content: attr(data-label); /*data-label을 가상요소 표출*/
        float: left;
        font-weight: bold;
        text-transform: uppercase;
    }

    .mTable td:last-child {
        border-bottom: 0;
    }

    #topNav .menu {
    display: none;
    flex-direction: column;
    background: #222;
    width: 100%;
    font-size: 16px;
  }

  #topNav .menu.active {
    display: flex;
  }

  .menu-toggle {
    display: block;
  }

   #main {
    padding-top: 0px; /* 모바일에서 메뉴 높이 더 클 수 있음 */
  }
  }

  /* Bulletin Board (Guides) */
  .board-container {
    margin-top: 1.5em;
  }

  .board-item {
    display: flex;
    padding: 1.2em 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    align-items: flex-start;
    text-align: left;
  }

  body.dark-mode .board-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }

  .board-date {
    flex: 0 0 110px;
    font-size: 0.95em;
    color: #999;
    padding-top: 0.4em;
    font-weight: 400;
  }

  .board-content {
    flex: 1;
    padding-left: 15px;
  }

  .board-title {
    margin: 0 0 0.4em 0 !important;
    font-size: 1.15em !important;
    font-weight: 600 !important;
    border-bottom: none !important;
    color: #444 !important;
  }

  body.dark-mode .board-title {
    color: #ddd !important;
  }

  .board-title a {
    text-decoration: none;
    color: inherit;
    transition: color 0.2s;
  }

  .board-title a:hover {
    color: #f5a623;
  }

  .board-excerpt {
    margin: 0;
    font-size: 0.95em;
    color: #777;
    line-height: 1.6;
    text-align: justify;
  }

  body.dark-mode .board-excerpt {
    color: #999;
  }

  /* Post Content Styles */
  .post-content article {
    line-height: 1.75;
    font-size: 1.05em;
    color: #444;
  }

  body.dark-mode .post-content article {
    color: #bbb;
  }

  .post-content article h2 {
    font-size: 1.4em !important;
    font-weight: 600 !important;
    margin-top: 2em !important;
    margin-bottom: 1em !important;
    color: #333;
    border-bottom: 1px solid #eee;
    padding-bottom: 0.5em;
  }

  body.dark-mode .post-content article h2 {
    color: #eee;
    border-bottom: 1px solid #333;
  }

  .post-content article h3 {
    font-size: 1.2em !important;
    font-weight: 600 !important;
    margin-top: 1.5em !important;
    margin-bottom: 0.8em !important;
    color: #444;
  }

  body.dark-mode .post-content article h3 {
    color: #ddd;
  }

  .post-content article p {
    margin-bottom: 1.2em;
  }

  .post-content header h2.post-main-title {
    font-size: 1.8em !important;
    font-weight: 700 !important;
    color: #222;
    margin-bottom: 0.3em !important;
    border-bottom: none !important;
  }

  body.dark-mode .post-content header h2.post-main-title {
    color: #fff;
  }

  .post-metadata {
    color: #888;
    font-size: 0.95em;
    margin-bottom: 2.5em;
  }

  .post-separator {
    margin: 3em 0;
    border: 0;
    border-top: 1px solid rgba(0,0,0,0.1);
  }

  body.dark-mode .post-separator {
    border-top: 1px solid rgba(255,255,255,0.1);
  }

  .post-footer {
    text-align: center;
    font-size: 0.95em;
  }

  .post-footer-links .button {
    margin: 0.5em;
  }

  /* Guide Search Bar */
  .guide-search-container {
    margin: 0 0 2em auto; /* 우측 정렬 */
    position: relative;
    max-width: 280px; /* 크기 축소 */
    width: 100%;
  }

  .guide-search-container i {
    position: absolute;
    left: 15px; /* 아이콘을 더 왼쪽으로 */
    top: 50%;
    transform: translateY(-50%);
    color: #999;
    font-size: 0.95em;
    z-index: 5; /* 텍스트보다 확실히 위에 있게 하지만 클릭은 안 되도록 설정 가능 */
    pointer-events: none; /* 아이콘 클릭 시 입력창이 선택되도록 */
  }

  .guide-search-input {
    width: 100% !important;
    height: 40px !important;
    padding-left: 45px !important; /* 왼쪽 여백을 45px로 고정 */
    padding-right: 15px !important;
    border-radius: 20px !important;
    border: 1px solid rgba(0,0,0,0.1) !important;
    background-color: #fff !important;
    text-align: left !important; /* 무조건 왼쪽 정렬 */
    text-indent: 20px !important; /* 들여쓰기 초기화 */
    font-size: 0.95em !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.03);
    transition: all 0.3s ease;
    display: block !important;
  }

  body.dark-mode .guide-search-input {
    background-color: rgba(255,255,255,0.05) !important;
    border-color: rgba(255,255,255,0.1) !important;
    color: #ddd !important;
  }

  .guide-search-input:focus {
    border-color: #f5a623 !important;
    box-shadow: 0 2px 10px rgba(245, 166, 35, 0.15);
    outline: none;
  }

  /* Pagination */
  .pagination {
    margin-top: 3em;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
  }

  .pagination a, .pagination span {
    padding: 8px 16px;
    border: 1px solid #ddd;
    border-radius: 4px;
    text-decoration: none;
    color: #333;
    transition: all 0.2s;
    font-size: 0.95em;
  }

  body.dark-mode .pagination a, body.dark-mode .pagination span {
    border-color: #444;
    color: #ccc;
  }

  .pagination a:hover {
    background-color: #f5a623;
    border-color: #f5a623 !important;
    color: #fff !important;
  }

  .pagination .current-page {
    background-color: #f5a623;
    border-color: #f5a623 !important;
    color: #fff !important;
    font-weight: bold;
  }

  .pagination .disabled {
    color: #ccc;
    cursor: not-allowed;
    background-color: rgba(0,0,0,0.05);
  }

  body.dark-mode .pagination .disabled {
    color: #555;
    background-color: rgba(255,255,255,0.05);
  }

  @media screen and (max-width: 736px) {
    .board-item {
        flex-direction: column;
    }
    .board-date {
        flex: none;
        margin-bottom: 0.5em;
    }
    .board-content {
        padding-left: 0;
    }
  }

 .modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.6);
}

.modal-content {
    position: relative;
    margin: 5% auto;
    width: 320px;
    max-width: 90%;
    background: white;
    padding: 20px;
    border-radius: 10px;
    text-align: center;
}

.close {
    position: absolute;
    right: 12px;
    top: 8px;
    font-size: 28px;
    cursor: pointer;
}

.modal img {
    display: block;
    width: 100%;
    max-width: 280px;   /* 원하는 크기 */
    height: auto;
    margin: 0 auto;
}

.close-btn{
    width:100%;
    margin-top:15px;
    padding:10px;
    border:none;
    border-radius:6px;
    background:#fee500;
    color:#191919;
    font-weight:bold;
    cursor:pointer;
}