/*----------------------------------------------------------------------------------------------------*/
@charset "utf-8";
/*----------------------------------------------------------------------------------------------------*/
@media (min-width: 1025px) and (pointer: fine) {
    :root {
        --pointer: fine;
    }
}

@media (max-width: 1024px) or ((min-width:1366px) and pointer: coarse) {
    :root {
        --pointer: coarse;
    }
}

/*----------------------------------------------------------------------------------------------------*/
@media print {
    body * {
        visibility: hidden !important;
    }

    #container,
    #container *,
    #footer,
    #footer * {
        visibility: visible !important;
    }

    #container,
    #footer {
        position: static !important;
    }
}

/*----------------------------------------------------------------------------------------------------*/
.toast-copied {
    position: fixed;
    bottom: 40px;
    right: 40px;
    background: rgba(0, 0, 0, 0.75);
    color: #fff;
    padding: 10px 16px;
    border-radius: 8px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    font-size: 14px;
    z-index: 9999;
}

.toast-copied.show {
    opacity: 1;
}

/*----------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------------------------------*/
.blind {
    display: none;
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

/*----------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------------------------------*/
.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    /* 왼쪽 정렬 */
    align-items: center;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
    list-style: none;
    background-color: #ffffff;
    border-radius: 0.25rem;

    /*font-size: 1.0rem; */
    /* 글자 크기 키움 */
    /* font-weight: 0;*/
    /* 살짝 굵게 */
    /*border-bottom: 1px solid #dee2e6;*/
    /* 아래 라인 */
}

.breadcrumb-item+.breadcrumb-item {
    padding-left: 0.5rem;
    position: relative;
}

.breadcrumb-item+.breadcrumb-item::before {
    display: inline-block;
    padding-right: 0.5rem;
    color: #6c757d;
    content: "/";
}

/* 링크에 hover 시 밑줄 */
.breadcrumb-item a:hover {
    text-decoration: underline;
}

/* 마지막 active 아이템 */
.breadcrumb-item.active {
    color: #6c757d;
    font-weight: 600;
}

/*----------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------------------------------*/







.table {
    width: 100%;
    margin-bottom: 1rem;
    color: #373a3c;
}

.table th,
.table td {
    padding: 0.75rem;
    vertical-align: top;
    border-top: 1px solid #e3eaef;
}

.table thead th {
    vertical-align: bottom;
    border-bottom: 2px solid #e3eaef;
}

.table tbody+tbody {
    border-top: 2px solid #e3eaef;
}

.table-sm th,
.table-sm td {
    padding: 0.3rem;
}

.table-bordered {
    border: 1px solid #e3eaef;
}

.table-bordered th,
.table-bordered td {
    border: 1px solid #e3eaef;
}

.table-bordered thead th,
.table-bordered thead td {
    border-bottom-width: 2px;
}

.table-borderless th,
.table-borderless td,
.table-borderless thead th,
.table-borderless tbody+tbody {
    border: 0;
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(0, 0, 0, 0.05);
}

.table-hover tbody tr:hover {
    color: #373a3c;
    background-color: rgba(0, 0, 0, 0.075);
}

.table-primary,
.table-primary>th,
.table-primary>td {
    background-color: #cbdbff;
}

.table-primary th,
.table-primary td,
.table-primary thead th,
.table-primary tbody+tbody {
    border-color: #9fbdff;
}

.table-hover .table-primary:hover {
    background-color: #b2c9ff;
}

.table-hover .table-primary:hover>td,
.table-hover .table-primary:hover>th {
    background-color: #b2c9ff;
}

.table-secondary,
.table-secondary>th,
.table-secondary>td {
    background-color: #d6d8db;
}

.table-secondary th,
.table-secondary td,
.table-secondary thead th,
.table-secondary tbody+tbody {
    border-color: #b3b7bb;
}

.table-hover .table-secondary:hover {
    background-color: #c8cbcf;
}

.table-hover .table-secondary:hover>td,
.table-hover .table-secondary:hover>th {
    background-color: #c8cbcf;
}

.table-success,
.table-success>th,
.table-success>td {
    background-color: #e3f1d4;
}

.table-success th,
.table-success td,
.table-success thead th,
.table-success tbody+tbody {
    border-color: #cce4af;
}

.table-hover .table-success:hover {
    background-color: #d6ebc1;
}

.table-hover .table-success:hover>td,
.table-hover .table-success:hover>th {
    background-color: #d6ebc1;
}

.table-info,
.table-info>th,
.table-info>td {
    background-color: #b8e8ee;
}

.table-info th,
.table-info td,
.table-info thead th,
.table-info tbody+tbody {
    border-color: #7ad4df;
}

.table-hover .table-info:hover {
    background-color: #a3e1e9;
}

.table-hover .table-info:hover>td,
.table-hover .table-info:hover>th {
    background-color: #a3e1e9;
}

.table-warning,
.table-warning>th,
.table-warning>td {
    background-color: #ffecd0;
}

.table-warning th,
.table-warning td,
.table-warning thead th,
.table-warning tbody+tbody {
    border-color: #ffdba8;
}

.table-hover .table-warning:hover {
    background-color: #ffe2b7;
}

.table-hover .table-warning:hover>td,
.table-hover .table-warning:hover>th {
    background-color: #ffe2b7;
}

.table-danger,
.table-danger>th,
.table-danger>td {
    background-color: #ffcfcf;
}

.table-danger th,
.table-danger td,
.table-danger thead th,
.table-danger tbody+tbody {
    border-color: #ffa5a5;
}

.table-hover .table-danger:hover {
    background-color: #ffb6b6;
}

.table-hover .table-danger:hover>td,
.table-hover .table-danger:hover>th {
    background-color: #ffb6b6;
}

.table-light,
.table-light>th,
.table-light>td {
    background-color: #fdfdfe;
}

.table-light th,
.table-light td,
.table-light thead th,
.table-light tbody+tbody {
    border-color: #fbfcfc;
}

.table-hover .table-light:hover {
    background-color: #ececf6;
}

.table-hover .table-light:hover>td,
.table-hover .table-light:hover>th {
    background-color: #ececf6;
}

.table-dark,
.table-dark>th,
.table-dark>td {
    background-color: #c6c8ca;
}

.table-dark th,
.table-dark td,
.table-dark thead th,
.table-dark tbody+tbody {
    border-color: #95999c;
}

.table-hover .table-dark:hover {
    background-color: #b9bbbe;
}

.table-hover .table-dark:hover>td,
.table-hover .table-dark:hover>th {
    background-color: #b9bbbe;
}

.table-active,
.table-active>th,
.table-active>td {
    background-color: rgba(0, 0, 0, 0.075);
}

.table-hover .table-active:hover {
    background-color: rgba(0, 0, 0, 0.075);
}

.table-hover .table-active:hover>td,
.table-hover .table-active:hover>th {
    background-color: rgba(0, 0, 0, 0.075);
}

.table .thead-dark th {
    color: #fff;
    background-color: #343a40;
    border-color: #454d55;
}

.table .thead-light th {
    color: #495057;
    background-color: #e9ecef;
    border-color: #e3eaef;
}

.table-dark {
    color: #fff;
    background-color: #343a40;
}

.table-dark th,
.table-dark td,
.table-dark thead th {
    border-color: #454d55;
}

.table-dark.table-bordered {
    border: 0;
}

.table-dark.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.05);
}

.table-dark.table-hover tbody tr:hover {
    color: #fff;
    background-color: rgba(255, 255, 255, 0.075);
}

@media (max-width: 575.98px) {
    .table-responsive-sm {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .table-responsive-sm>.table-bordered {
        border: 0;
    }
}

@media (max-width: 767.98px) {
    .table-responsive-md {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .table-responsive-md>.table-bordered {
        border: 0;
    }
}

@media (max-width: 991.98px) {
    .table-responsive-lg {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .table-responsive-lg>.table-bordered {
        border: 0;
    }
}

@media (max-width: 1199.98px) {
    .table-responsive-xl {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .table-responsive-xl>.table-bordered {
        border: 0;
    }
}

.table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.table-responsive>.table-bordered {
    border: 0;
}

/*----------------------------------------------------------------------------------------------------*/
/* board */
/*----------------------------------------------------------------------------------------------------*/
.board-search {
    text-align: right;
    float: right;
    display: inline-block;
    vertical-align: middle;
}

.board-search ._select {
    position: relative;
    min-width: 150px;
    height: 55px;
    line-height: 55px;
    padding-left: 15px;
    font-family: 'Noto Light';
    padding-right: 50px;
    background: #fff url('../images/sel_arrow.png') no-repeat 90%;
    font-size: 16px;
    color: #666;
    border: 1px solid #c3c3c3;
    display: inline-block;
    vertical-align: middle;
    -o-appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.board-search ._select:before {
    content: '';
    width: 1px;
    height: 35px;
    background: #ccc;
    position: absolute;
    right: 20px;
    top: 5px;
}

.board-search input[type="text"] {
    width: 280px;
    box-sizing: border-box;
    font-family: 'Noto Light';
    padding: 0 0 0 10px;
    height: 55px;
    line-height: 55px;
    font-size: 16px;
    border: 1px solid #c3c3c3;
    display: inline-block;
    vertical-align: middle;
    background: #fff url('../images/search-icon.png') no-repeat 95% center
}

.board-search ._button {
    border: 0;
    cursor: pointer;
    display: inline-block;
    vertical-align: middle;
    zoom: 1;
}

.board-search ._button input[type="submit"] {
    border: 0;
    border-radius: 3px;
    margin-right: 0;
    padding: 0 35px;
    font-size: 18px;
    font-family: 'Noto Regular';
    line-height: 55px;
    background-color: #1c1c1c;
    cursor: pointer;
    color: #fff;
    text-align: center;
    word-wrap: break-word;
}

@media screen and (max-width:1200px) {
    .board-search {
        display: block;
        text-align: left;
    }
}

@media screen and (max-width:860px) {
    .srch_box {
        padding: 20px;
    }

    .board-search {
        float: none;
        display: flex;
        flex-direction: column;
        /* 위에서 아래로 쌓기 */
        align-items: stretch;
        /* 너비 꽉 채우기 */
    }

    .board-search ._select,
    .board-search input[type="text"] {
        margin-top: 5px;
        margin-bottom: 5px;
    }

    .board-search ._select {
        width: 100%;
        margin-bottom: 5px;
        background-position: 95%;
        font-size: 15px;
    }

    .board-search input[type="text"] {
        width: 100%;
        background-position: 97%;
        font-size: 15px;
    }

    /*.board-search ._button{position: absolute;bottom:20px;right:20px;}*/
    .board-search ._button {
        width: 100%;
        /* 전체 너비 */
        margin: 5px 0;
        /* 위아래 간격 */
        position: static;
        /* 절대 위치 제거 */
    }

    .board-search ._button input[type="submit"] {
        width: 100%;
        background-color: #1c1c1c;
        color: #fff;
        height: 55px;
        font-size: 16px;
        text-indent: 0;
    }
}

.board-style {
    width: 100%;
    border-collapse: collapse;
}

@media (max-width: 860px) {
    .board-style thead {
        display: none;
    }

    .board-style tbody tr {
        display: block;
        margin-bottom: 1rem;
        border: 1px solid #dee2e6;
        border-radius: 0.5rem;
        padding: 0.75rem 1rem;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    }

    .board-style tbody td {
        display: block;
        text-align: left !important;
        border: none;
        padding: 0.25rem 0;
    }

    .board-style tbody td:nth-child(1),
    .board-style tbody td:nth-child(3) {
        display: none;
    }

    .board-style tbody td.title {
        font-weight: 600;
        font-size: 1.05rem;
        color: #222;
        margin-bottom: 0.4rem;
        white-space: normal;
        word-break: break-word;
        overflow-wrap: anywhere;
        line-height: 1.4;
    }

    .board-style tbody td.text-center:not(.title):not(:nth-child(1)):not(:nth-child(3)) {
        display: inline-block;
        font-size: 0.85rem;
        color: #777;
        margin-right: 0.75rem;
    }
}

/*----------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------------------------------*/
.pagination1 {
    display: flex;
    padding-left: 0;
    list-style: none;
    border-radius: 0.25rem;
}

.page-link1 {
    position: relative;
    display: block;
    padding: 0.5rem 0.75rem;
    margin-left: 0;
    line-height: 1.25;
    color: #4680ff;
    background-color: #fff;
    border: 0 solid #dee2e6;
}

.page-link1:hover {
    z-index: 2;
    color: #4680ff;
    text-decoration: none;
    background-color: #ecf0f5;
    border-color: #dee2e6;
}

.page-link1:focus {
    z-index: 3;
    outline: 0;
    box-shadow: 0 0 0 0rem rgba(70, 128, 255, 0.25);
}

.page-item1:first-child .page-link1 {
    margin-left: 0;
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
}

.page-item1:last-child .page-link1 {
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
}

.page-item1.active .page-link1 {
    z-index: 3;
    color: #fff;
    background-color: #4680ff;
    border-color: #4680ff;
}

.page-item1.disabled .page-link1 {
    color: #6c757d;
    pointer-events: none;
    cursor: auto;
    background-color: #fff;
    border-color: #dee2e6;
}

/*----------------------------------------------------------------------------------------------------*/
/* index */
/*----------------------------------------------------------------------------------------------------*/
body.page-index {
    overflow-x: hidden !important;
  }
.index-container_popup {
    position: absolute;
    top: 100px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    pointer-events: none;
    z-index: 10;
    width: 95%;
    max-width: 1200px;
    align-items: flex-start;
}

.index-popup-layer {
    pointer-events: auto;
    background-color: #000;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.35);
    color: #fff;
    width: 460px;
    /* 카드 폭 고정 */
    display: flex;
    flex-direction: column;
    /* 세로 정렬 */
    box-sizing: border-box;
}

.index-popup-layer img {
    width: 100%;
    /* 폭 300px에 맞춤 */
    height: auto;
    /* 원본 비율 유지 */
    display: block;
}

.index-popup-buttons {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fff;
    padding: 8px 12px;
    border-top: 1px solid #ddd;
    font-size: 14px;
    color: #333;
    flex-shrink: 0;
    /* 버튼 영역 고정 */
}

.index-popup-buttons button {
    cursor: pointer;
    border: none;
    background: none;
    font-size: 14px;
    padding: 0;
}

.index-popup-buttons .close-btn {
    background: #333;
    color: #fff;
    padding: 6px 14px;
    border-radius: 4px;
}
/* 전체 감싸는 컨테이너 */
.container_index {
    margin-top: 0px;
    padding: 30px 16px;
    /* 좌우 균일 패딩으로 변경 */
    /*    background: #f7f8fa;*/
    background: #f7f8fa;

    overflow-x: hidden;
    /* 스크롤 방지 */
    box-sizing: border-box;
    /* padding 포함 계산 */
}


/* 각 카드 간 여백 */
.container_index .card {
    margin-bottom: 40px;
    border-radius: 1px;
    /*border: 1px solid #e4e6ed;*/
    /*background: #ffffffd9;*/
    /* 살짝 투명한 흰색 → 배경 대비 */
    background: #ffffffd9;
    backdrop-filter: blur(3px);
    /* 흐림 효과 */
    box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 6px;
    /* 은은한 그림자 */
}

/* 카드 헤더 */
.container_index .card-header {
    background: transparent;
    border-bottom: none;
    padding: 20px 24px 10px 24px;
}

.container_index .card-header h3 {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    color: #1c1c1c;
}

/* 카드 내용 */
.container_index .card-body {
    padding: 16px 24px 24px 24px;
}

/* 화면이 좁아지면 카드 간격 자연스럽게 줄어듦 */
@media (max-width: 768px) {
    .container_index {
        padding-left: 0;
    }

    .container_index .card {
        margin-bottom: 20px;
    }

    .container_index .card-header h3 {
        font-size: 18px;
    }
}

/* 그리드 적용 */
.index-notice-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 16px;
}

/* 카드 박스 */
.index-notice-card {
    padding: 18px 20px;
    border: 1px solid #e6e8ef;
    border-radius: 12px;
    background: #ffffff;
    transition: background .2s ease, transform .2s ease;
    cursor: pointer;

    /* ★ 렌더링 버그 해결 */
    transform: translateZ(0);
    will-change: transform;
    box-sizing: border-box;
}

.index-notice-card:hover {
    background: #f9fafc;
}

/* 가로 정렬 */
.index-notice-row {
    display: flex;
    align-items: flex-start;
}

/* 썸네일 */
.index-notice-thumb {
    width: 76px;
    height: 76px;
    object-fit: cover;
    border-radius: 8px;
    margin-right: 16px;
    flex-shrink: 0;
}

/* 텍스트 영역 */
.index-notice-text {
    flex: 1;
}

/* 제목 */
.index-notice-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 8px;
    color: #1f3a93;
    line-height: 1.4;
}

/* 미리보기 */
.index-notice-preview {
    font-size: 14px;
    color: #555;
    margin-bottom: 10px;
}

/* 메타 정보 */
.index-notice-meta span {
    margin-right: 12px;
}

/* 그리드 적용 */
.index-album-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
}

/* 카드 박스 */
.index-album-card {
    padding: 14px;
    border: 1px solid #e6e8ef;
    border-radius: 12px;
    background: #ffffff;
    transition: background .2s ease, transform .2s ease;
    cursor: pointer;

    /* 렌더링 안정화 */
    transform: translateZ(0);
    will-change: transform;
    box-sizing: border-box;
}

.index-album-card:hover {
    background: #f9fafc;
}

/* 이미지 */
.index-album-thumb {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 10px;
    margin-bottom: 12px;
    display: block;
}

/* 제목 */
.index-album-title {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 8px;
    color: rgb(78, 96, 153);
    line-height: 1.4;
}

/* 메타 정보 (날짜/조회/작성자) */
.index-album-meta {
    font-size: 13px;
    color: #777;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/*----------------------------------------------------------------------------------------------------*/
/* album */
/*----------------------------------------------------------------------------------------------------*/
#wrap.album .album_list li>a {
    display: block;
    width: 100%;
    padding: max(calc(28px * var(--base-ratio)), calc(calc(28 / var(--base-size)) * var(--base-percent))) 0;
    border-bottom: 1px solid #e2e5e8;
}

@media (min-width: 1025px) and (pointer: fine) {
    #wrap.album .album_list li>a:hover .title {
        background: linear-gradient(90deg, #0d0d0d 0%, rgb(53, 51, 51) 50%, #2f2f2f 100%);
        color: transparent;
        background-clip: text;
    }
}

#wrap.album .album_list li .flex-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    align-items: normal;
}

#wrap.album .album_list li .album_img {
    width: max(calc(280px * var(--base-ratio)), calc(calc(280 / var(--base-size)) * var(--base-percent)));
}

#wrap.album .album_list li .album_img img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

#wrap.album .album_list li .album_content {
    width: calc(100% - max(calc(280px * var(--base-ratio)), calc(calc(280 / var(--base-size)) * var(--base-percent))));
    padding: max(calc(20px * var(--base-ratio)), calc(calc(20 / var(--base-size)) * var(--base-percent))) max(calc(40px * var(--base-ratio)), calc(calc(40 / var(--base-size)) * var(--base-percent)));
}

#wrap.album .album_list li .album_content .category {
    display: inline-block;
    padding: max(calc(3px * var(--base-ratio)), calc(calc(3 / var(--base-size)) * var(--base-percent))) max(calc(7px * var(--base-ratio)), calc(calc(7 / var(--base-size)) * var(--base-percent))) max(calc(2px * var(--base-ratio)), calc(calc(2 / var(--base-size)) * var(--base-percent)));
    font-size: max(calc(14px * var(--base-ratio)), calc(calc(14 / var(--base-size)) * var(--base-percent)));
    line-height: 1;
    letter-spacing: -0.02em;
    color: #fff;
    font-weight: 600;
    background-color: #1c1c1c;
    border-radius: max(calc(4px * var(--base-ratio)), calc(calc(4 / var(--base-size)) * var(--base-percent)));
    border: 1px solid #1c1c1c;
}

#wrap.album .album_list li .album_content .title {
    margin: max(calc(16px * var(--base-ratio)), calc(calc(16 / var(--base-size)) * var(--base-percent))) 0;
    font-size: max(calc(20px * var(--base-ratio)), calc(calc(20 / var(--base-size)) * var(--base-percent)));
    line-height: 1.3;
    letter-spacing: -0.02em;
    font-weight: 600;
    color: #1c1c1c;
    word-break: keep-all;
}

#wrap.album .album_list li .album_content .date {
    font-size: max(calc(14px * var(--base-ratio)), calc(calc(14 / var(--base-size)) * var(--base-percent)));
    line-height: 2.1428571429;
    letter-spacing: -0.02em;
    color: #666;
}

@media (max-width: 1024px) {
    #wrap.album .album_list li>a {
        padding: max(calc(20px * var(--base-ratio)), calc(calc(20 / var(--base-size)) * var(--base-percent))) 0;
    }

    #wrap.album .album_list li .album_img {
        width: max(calc(335px * var(--base-ratio)), calc(calc(335 / var(--base-size)) * var(--base-percent)));
    }

    #wrap.album .album_list li .album_img img {
        object-fit: fill;
    }

    #wrap.album .album_list li .album_content {
        width: calc(100% - max(calc(335px * var(--base-ratio)), calc(calc(335 / var(--base-size)) * var(--base-percent))));
        padding: max(calc(16px * var(--base-ratio)), calc(calc(16 / var(--base-size)) * var(--base-percent))) max(calc(24px * var(--base-ratio)), calc(calc(24 / var(--base-size)) * var(--base-percent)));
    }

    #wrap.album .album_list li .album_content .category {
        font-size: max(calc(12px * var(--base-ratio)), calc(calc(12 / var(--base-size)) * var(--base-percent)));
        line-height: 1;
        letter-spacing: -0.02em;
    }

    #wrap.album .album_list li .album_content .title {
        margin: max(calc(12px * var(--base-ratio)), calc(calc(12 / var(--base-size)) * var(--base-percent))) 0;
        font-size: max(calc(18px * var(--base-ratio)), calc(calc(18 / var(--base-size)) * var(--base-percent)));
        line-height: 1.2777777778;
        letter-spacing: -0.02em;
    }

    #wrap.album .album_list li .album_content .date {
        font-size: max(calc(12px * var(--base-ratio)), calc(calc(12 / var(--base-size)) * var(--base-percent)));
        line-height: 1.25;
        letter-spacing: -0.02em;
    }
}

@media (max-width: 767px) {
    #wrap.album .album_list li .album_img {
        width: 100%;
    }

    #wrap.album .album_list li .album_content {
        width: 100%;
        padding: max(calc(24px * var(--base-ratio)), calc(calc(24 / var(--base-size)) * var(--base-percent))) max(calc(24px * var(--base-ratio)), calc(calc(24 / var(--base-size)) * var(--base-percent))) 0 0;
    }
}

/*----------------------------------------------------------------------------------------------------*/
/* notice.css */
/*----------------------------------------------------------------------------------------------------*/
#wrap.notice .container {
    padding-bottom: 0;
}

#wrap.notice .top_title {
    margin: 0 0 max(calc(50px * var(--base-ratio)), calc(calc(50 / var(--base-size)) * var(--base-percent)));
}

@media (max-width: 1024px) {
    #wrap.notice .top_title {
        margin: 0 0 max(calc(48px * var(--base-ratio)), calc(calc(48 / var(--base-size)) * var(--base-percent)));
    }
}

#wrap.notice .sec * {
    word-break: keep-all;
}

#noticeContent {
    font-family: 'Noto Sans KR', sans-serif;
    color: #333;
}

#noticeContent .post-meta {
    font-size: 0.95rem;
    color: #444;
    margin-top: 30px;
    text-align: center;
}

#noticeContent .post-meta .meta-separator {
    color: #eeeeee;
    margin: 0 5px;
}

#noticeContent .attachments h5 {
    margin-bottom: 10px;
}

#noticeContent .list-group-item i {
    margin-right: 10px;
}

#noticeContent .list-group-item .text-muted {
    font-size: 0.85rem;
}

/* 본문 */
#noticeContent .post-content p {
    line-height: 1.6;
    margin-bottom: 15px;
}

#noticeContent blockquote {
    border-left: 3px solid #ddd;
    padding-left: 15px;
    color: #555;
    font-style: italic;
    margin: 15px 0;
}

/* 이전/다음글 */
#noticeContent .post-navigation {
    margin-top: 50px;
}

#noticeContent .post-navigation .nav-divider {
    border-top: 1px solid #ddd;
    margin-bottom: 10px;
}

#noticeContent .post-navigation .nav-item {
    border-bottom: 1px solid #ddd;
    padding: 15px 0;
}

#noticeContent .post-navigation .nav-label {
    display: inline-block;
    width: 80px;
    font-weight: 600;
    margin-right: 10px;
}

#noticeContent .post-navigation a {
    color: #1c1c1c;
    text-decoration: none;
}

#noticeContent .post-navigation a:hover {
    text-decoration: underline;
}

#noticeContent .back-to-list {
    background-color: #1c1c1c;
    padding: 14px;
    text-align: center;
    margin-top: 20px;
}

#noticeContent .back-to-list a {
    color: #fff;
    text-decoration: none;
    font-weight: bold;
}

#noticeContent .back-to-list a:hover {
    background-color: #333;
}

/*----------------------------------------------------------------------------------------------------*/
/* professor.css */
/*----------------------------------------------------------------------------------------------------*/
#wrap.professor .container {
    padding-bottom: 0;
}

#wrap.professor .top_title {
    margin: 0 0 max(calc(50px * var(--base-ratio)), calc(calc(50 / var(--base-size)) * var(--base-percent)));
}

@media (max-width: 1024px) {
    #wrap.professor .top_title {
        margin: 0 0 max(calc(48px * var(--base-ratio)), calc(calc(48 / var(--base-size)) * var(--base-percent)));
    }
}

#wrap.professor .sec * {
    word-break: keep-all;
}


.professor-list-item {
    display: flex;
    flex-direction: row;
    /* 이미지 왼쪽, 텍스트 오른쪽 */
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 10px;
    cursor: pointer;
    transition: box-shadow .2s ease;
}

.professor-list-item:hover {}

.professor-list-img {
    width: 130px;
    height: 169px;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 8px;
    margin-right: 12px;
}

.professor-list-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.professor-list-info {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-width: 0;
    padding-top: 10px;
    padding-left: 10px;
}

.professor-list-role {
    background: #1c1c1c;
    color: #fff;
    font-size: 12px;
    padding: 3px 10px;
    border-radius: 12px;
    font-weight: 600;
    width: fit-content;
    margin-bottom: 6px;
}

.professor-list-prof-name {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 10px;
    display: block;
}

.professor-list-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    font-size: 14px;
    color: #555;
    line-height: 1.4;
    margin-top: 2px;
}

.professor-list-meta-row {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    font-size: 13px;
    margin-bottom: 6px;
}

.professor-list-meta-label {
    font-weight: 600;
    min-width: 60px;
    flex-shrink: 0;
}

.professor-list-meta-value {
    color: #333;
    font-weight: 500;
    flex: 1;
    word-break: break-word;
}

.professor-list-title {
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 6px;
    color: #333;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.professor-list-date {
    font-size: 13px;
    color: #888;
}

.professor-list-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    gap: 16px;
    padding: 10px 0;
}

@media screen and (max-width: 768px) {
    .professor-list-grid {
        grid-template-columns: 1fr;
    }

    .professor-list-item {
        flex-direction: row;
        /* 이미지 왼쪽, 텍스트 오른쪽 그대로 */
        padding: 12px;
    }
}


/* 전체 래퍼 */
.prof-meta-wrap {}

/* 리스트 */
.prof-meta-list {}

/* 섹션 */
.prof-meta-section {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0.01));
    border-radius: var(--radius);
    padding: 14px;
    box-shadow: var(--shadow);
    border: 1px solid rgba(255, 255, 255, 0.03);
}

/* 섹션 헤더 */
.prof-meta-section-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.prof-meta-section-head .prof-meta-title {
    font-weight: 600;
    font-size: 15px;
}

.prof-meta-count {
    margin-left: auto;
    color: var(--muted);
    font-size: 13px;
}

/* items */
.prof-meta-items {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* item article */
.prof-meta-item {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 12px;
    padding: 12px;
    border-radius: 10px;
    background: var(--glass);
    align-items: start;
    transition: transform .14s ease, box-shadow .14s ease;
}

/* icon */
.prof-meta-icon {
    width: 56px;
    height: 56px;
    min-width: 56px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(255, 255, 255, .02), rgba(255, 255, 255, .01));
    border: 1px solid rgba(255, 255, 255, .03);
}

.prof-meta-icon svg {
    width: 28px;
    height: 28px;
    opacity: .95;
}

/* 내용 */
.prof-meta-content .prof-meta-title {
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 4px 0;
}

.prof-meta-subtitle {
    margin: 0 0 8px 0;
    color: var(--muted);
    font-size: 13px;
    white-space: pre-wrap;
}

/* meta chips */
.prof-meta-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.prof-meta-chip {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.02);
    padding: 6px 8px;
    font-size: 12px;
    color: var(--muted);
    border-radius: 999px;
}

.prof-meta-link {
    margin-left: auto;
    font-size: 13px;
}

.prof-meta-link a {
    color: var(--accent);
    text-decoration: none;
    font-weight: 600;
    font-size: 13px;
}

/* tags */
.prof-meta-tags {
    margin-top: 8px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.prof-meta-tag {
    background: rgba(94, 234, 212, 0.06);
    color: var(--accent);
    border-radius: 999px;
    padding: 5px 8px;
    font-size: 12px;
    border: 1px solid rgba(94, 234, 212, 0.06);
}

/* 반응형 */
@media (max-width:640px) {
    .prof-meta-item {
        grid-template-columns: 48px 1fr;
        padding: 10px;
    }

    .prof-meta-icon {
        width: 48px;
        height: 48px;
        min-width: 48px;
    }
}


#professorContent {
    font-family: 'Noto Sans KR', sans-serif;
    color: #333;
}

#professorContent .post-meta {
    font-size: 0.95rem;
    color: #444;
    margin-top: 30px;
    text-align: center;
}

#professorContent .post-meta .meta-separator {
    color: #eeeeee;
    margin: 0 5px;
}

#professorContent .attachments h5 {
    margin-bottom: 10px;
}

#professorContent .list-group-item i {
    margin-right: 10px;
}

#professorContent .list-group-item .text-muted {
    font-size: 0.85rem;
}

/* 본문 */
#professorContent .post-content p {
    line-height: 1.6;
    margin-bottom: 15px;
}

#professorContent blockquote {
    border-left: 3px solid #ddd;
    padding-left: 15px;
    color: #555;
    font-style: italic;
    margin: 15px 0;
}

/* 이전/다음글 */
#professorContent .post-navigation {
    margin-top: 50px;
}

#professorContent .post-navigation .nav-divider {
    border-top: 1px solid #ddd;
    margin-bottom: 10px;
}

#professorContent .post-navigation .nav-item {
    border-bottom: 1px solid #ddd;
    padding: 15px 0;
}

#professorContent .post-navigation .nav-label {
    display: inline-block;
    width: 80px;
    font-weight: 600;
    margin-right: 10px;
}

#professorContent .post-navigation a {
    color: #1c1c1c;
    text-decoration: none;
}

#professorContent .post-navigation a:hover {
    text-decoration: underline;
}

#professorContent .back-to-list {
    background-color: #1c1c1c;
    padding: 14px;
    text-align: center;
    margin-top: 20px;
}

#professorContent .back-to-list a {
    color: #fff;
    text-decoration: none;
    font-weight: bold;
}

#professorContent .back-to-list a:hover {
    background-color: #333;
}

/* -----------------------------
       앨범 카드 (데스크톱 + 모바일)
    ----------------------------- */
.professor-item {
    display: flex;
    flex-direction: row;
    /* 이미지 왼쪽, 텍스트 오른쪽 */
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 10px;
    cursor: pointer;
    transition: box-shadow .2s ease;
}

.professor-item:hover {
    /*box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);*/
}

/* 이미지 */
.professor-img {
    width: 130px;
    height: 169px;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 8px;
    margin-right: 12px;
}

.professor-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 텍스트 영역 */
.professor-info {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    /* 가로 좌측 정렬 */
    min-width: 0;
    /* 텍스트 영역 찌그러짐 방지 */
    padding-top: 10px;
    /* ⬅ 자연스러운 오프셋 */
    padding-left: 10px;
}

/* 참여교수 배지 */
.professor-role {
    background: #1c1c1c;
    color: #fff;
    font-size: 12px;
    padding: 3px 10px;
    border-radius: 12px;
    font-weight: 600;
    width: fit-content;
    margin-bottom: 6px;
}

/* 이름 강조 */
.professor-prof-name {
    font-size: 16px;
    font-weight: 700;
    margin-left: 10px;
    margin-bottom: 10px;
    display: block;
}

/* 메타 정보 */
.professor-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    font-size: 14px;
    color: #555;
    line-height: 1.4;
    margin-top: 2px;
}

.professor-meta-row {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    /* 길면 다음 줄로 */
    font-size: 13px;
    margin-bottom: 6px;
}

.professor-meta-label {
    font-weight: 600;
    min-width: 60px;
    /* label 폭 고정 */
    flex-shrink: 0;
    /* label 폭 유지 */
}

.professor-meta-value {
    color: #333;
    font-weight: 500;
    flex: 1;
    /* 남은 영역 차지 */
    word-break: break-word;
    /* 길어도 label 영역 침범 안함 */
}

/* 제목 */
.professor-title {
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 6px;
    color: #333;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 날짜 */
.professor-date {
    font-size: 13px;
    color: #888;
}

@media screen and (max-width: 768px) {

    .professor-item {
        flex-direction: row;
        /* 이미지 왼쪽, 텍스트 오른쪽 그대로 */
        padding: 12px;
    }
}

/*----------------------------------------------------------------------------------------------------*/
/* guide.css */
/*----------------------------------------------------------------------------------------------------*/
#wrap.guide .container {
    padding-bottom: 0;
}

#wrap.guide .top_title {
    margin: 0 0 max(calc(50px * var(--base-ratio)), calc(calc(50 / var(--base-size)) * var(--base-percent)));
}

@media (max-width: 1024px) {
    #wrap.guide .top_title {
        margin: 0 0 max(calc(48px * var(--base-ratio)), calc(calc(48 / var(--base-size)) * var(--base-percent)));
    }
}

#wrap.guide .sec * {
    word-break: keep-all;
}

#wrap.guide .sec .select_wrap {
    margin-right: max(calc(6px * var(--base-ratio)), calc(calc(6 / var(--base-size)) * var(--base-percent)));
    display: inline-block;
    position: relative;
    margin: 0;
}

#wrap.guide .sec .select_wrap select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 6px;
    color: #1C1C1C;
    font-size: max(calc(16px * var(--base-ratio)), calc(calc(16 / var(--base-size)) * var(--base-percent)));
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: -0.02em;
    padding:
        max(calc(12px * var(--base-ratio)), calc(calc(12 / var(--base-size)) * var(--base-percent))) max(calc(40px * var(--base-ratio)), calc(calc(40 / var(--base-size)) * var(--base-percent))) max(calc(12px * var(--base-ratio)), calc(calc(12 / var(--base-size)) * var(--base-percent))) max(calc(24px * var(--base-ratio)), calc(calc(24 / var(--base-size)) * var(--base-percent)));
    transition: all 0.25s ease;
    cursor: pointer;
    width: auto;
}

/* ✅ 버튼의 after와 동일한 화살표 */
#wrap.guide .sec .select_wrap::after {
    content: "";
    position: absolute;
    top: 50%;
    right: max(calc(15px * var(--base-ratio)), calc(calc(15 / var(--base-size)) * var(--base-percent)));
    width: max(calc(12px * var(--base-ratio)), calc(calc(12 / var(--base-size)) * var(--base-percent)));
    height: max(calc(12px * var(--base-ratio)), calc(calc(12 / var(--base-size)) * var(--base-percent)));
    transform: translateY(-50%);
    background-image: url("../svg/icon_combo_arrow_down.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 50%;
    pointer-events: none;
}

@media (min-width: 1025px) and (pointer: fine) {

    #wrap.guide .sec .select_wrap select:hover,
    #wrap.guide .sec .select_wrap select:focus {
        border-color: #888;
        background-color: #f7f7f7;
        color: #000;
        outline: none;
    }
}

@media (max-width: 1024px) {

    #wrap.guide .sec .btn,
    #wrap.guide .sec .select_wrap select {
        padding:
            max(calc(10px * var(--base-ratio)), calc(calc(10 / var(--base-size)) * var(--base-percent))) max(calc(36px * var(--base-ratio)), calc(calc(36 / var(--base-size)) * var(--base-percent))) max(calc(10px * var(--base-ratio)), calc(calc(10 / var(--base-size)) * var(--base-percent))) max(calc(20px * var(--base-ratio)), calc(calc(20 / var(--base-size)) * var(--base-percent)));
        font-size: max(calc(14px * var(--base-ratio)), calc(calc(14 / var(--base-size)) * var(--base-percent)));
    }

    #wrap.guide .sec .select_wrap::after {
        width: max(calc(10px * var(--base-ratio)), calc(calc(10 / var(--base-size)) * var(--base-percent)));
        height: max(calc(10px * var(--base-ratio)), calc(calc(10 / var(--base-size)) * var(--base-percent)));
        right: max(calc(12px * var(--base-ratio)), calc(calc(12 / var(--base-size)) * var(--base-percent)));
    }
}

#wrap.guide .sec_content {
    max-width: max(calc(1184px * var(--base-ratio)), calc(calc(1184 / var(--base-size)) * var(--base-percent)));
    margin: 0 auto max(calc(120px * var(--base-ratio)), calc(calc(120 / var(--base-size)) * var(--base-percent)));
}

#wrap.guide .sec_content .flex-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    align-items: normal;
    margin: 0 0 max(calc(120px * var(--base-ratio)), calc(calc(120 / var(--base-size)) * var(--base-percent)));
}

#wrap.guide .sec_content .flex-container:last-child {
    margin: 0;
}

#wrap.guide .sec_content .flex-container.step2 .info .desc {
    padding: 0 0 max(calc(60px * var(--base-ratio)), calc(calc(60 / var(--base-size)) * var(--base-percent)));
}

#wrap.guide .sec_content .flex-item.title {
    width: 34%;
}

#wrap.guide .sec_content .flex-item.info {
    width: 66%;
}

#wrap.guide .sec_content .title strong {
    display: block;
    font-size: max(calc(28px * var(--base-ratio)), calc(calc(28 / var(--base-size)) * var(--base-percent)));
    line-height: 1;
    letter-spacing: -0.02em;
    font-weight: 600;
    color: #1c1c1c;
}

#wrap.guide .sec_content .info .desc {
    padding: 0 0 max(calc(60px * var(--base-ratio)), calc(calc(60 / var(--base-size)) * var(--base-percent)));
    font-size: max(calc(24px * var(--base-ratio)), calc(calc(24 / var(--base-size)) * var(--base-percent)));
    line-height: 1.5;
    letter-spacing: -0.02em;
    color: #1c1c1c;
}

#wrap.guide .sec_content .info .btn {
    display: inline-block;
    margin: 0 0 0 max(calc(8px * var(--base-ratio)), calc(calc(8 / var(--base-size)) * var(--base-percent)));
    font-size: max(calc(18px * var(--base-ratio)), calc(calc(18 / var(--base-size)) * var(--base-percent)));
    line-height: 1;
    letter-spacing: -0.02em;
    color: #1c1c1c;
    text-align: center;
    border-color: #1C1C1C;
}

#wrap.guide .sec_content .info .btn:after {
    display: none;
}

@media (min-width: 1025px) and (pointer: fine) {
    #wrap.guide .sec_content .info .btn:hover {
        color: #FFF;
        background-color: #1C1C1C;
    }
}

#wrap.guide .sec_content .info .inquiry .item {
    margin: 0 0 max(calc(60px * var(--base-ratio)), calc(calc(60 / var(--base-size)) * var(--base-percent)));
}

#wrap.guide .sec_content .info .inquiry .item:last-child {
    margin: 0;
}

#wrap.guide .sec_content .info .inquiry .top {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: end;
    margin: 0 0 max(calc(20px * var(--base-ratio)), calc(calc(20 / var(--base-size)) * var(--base-percent)));
}

#wrap.guide .sec_content .info .inquiry .top strong {
    display: block;
    font-size: max(calc(24px * var(--base-ratio)), calc(calc(24 / var(--base-size)) * var(--base-percent)));
    line-height: 1.2916666667;
    letter-spacing: -0.02em;
    color: #1c1c1c;
}

#wrap.guide .sec_content .info .contact_info {
    padding: max(calc(30px * var(--base-ratio)), calc(calc(30 / var(--base-size)) * var(--base-percent)));
    background-color: #F6F6F6;
}

#wrap.guide .sec_content .info .contact_info li {
    position: relative;
    margin: 0 0 max(calc(16px * var(--base-ratio)), calc(calc(16 / var(--base-size)) * var(--base-percent)));
}

#wrap.guide .sec_content .info .contact_info li:last-child {
    margin: 0;
}

#wrap.guide .sec_content .info .contact_info li img {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: max(calc(20px * var(--base-ratio)), calc(calc(20 / var(--base-size)) * var(--base-percent)));
    height: max(calc(20px * var(--base-ratio)), calc(calc(20 / var(--base-size)) * var(--base-percent)));
    object-fit: cover;
}

#wrap.guide .sec_content .info .contact_info p {
    display: inline-block;
    padding-left: max(calc(30px * var(--base-ratio)), calc(calc(30 / var(--base-size)) * var(--base-percent)));
    font-size: max(calc(18px * var(--base-ratio)), calc(calc(18 / var(--base-size)) * var(--base-percent)));
    line-height: 1.2777777778;
    letter-spacing: -0.02em;
}

#wrap.guide .sec_content .info>p {
    margin: 0 0 max(calc(20px * var(--base-ratio)), calc(calc(20 / var(--base-size)) * var(--base-percent)));
    font-size: max(calc(24px * var(--base-ratio)), calc(calc(24 / var(--base-size)) * var(--base-percent)));
    line-height: 1;
    letter-spacing: -0.02em;
    color: #1c1c1c;
}

#wrap.guide .sec_content .info .method {
    margin: 0 0 max(calc(20px * var(--base-ratio)), calc(calc(20 / var(--base-size)) * var(--base-percent)));
    padding: max(calc(40px * var(--base-ratio)), calc(calc(40 / var(--base-size)) * var(--base-percent))) max(calc(20px * var(--base-ratio)), calc(calc(20 / var(--base-size)) * var(--base-percent))) max(calc(50px * var(--base-ratio)), calc(calc(50 / var(--base-size)) * var(--base-percent)));
    border: 1px solid #DDDDDD;
    text-align: center;
}

#wrap.guide .sec_content .info .method:last-child {
    margin: 0;
}

#wrap.guide .sec_content .info .method .method_title {
    margin: 0 0 max(calc(8px * var(--base-ratio)), calc(calc(8 / var(--base-size)) * var(--base-percent)));
    font-size: max(calc(20px * var(--base-ratio)), calc(calc(20 / var(--base-size)) * var(--base-percent)));
    line-height: 1;
    letter-spacing: -0.02em;
    font-weight: 600;
    color: #1c1c1c;
}

#wrap.guide .sec_content .info .method .method_desc {
    margin: 0 0 max(calc(40px * var(--base-ratio)), calc(calc(40 / var(--base-size)) * var(--base-percent)));
    font-size: max(calc(18px * var(--base-ratio)), calc(calc(18 / var(--base-size)) * var(--base-percent)));
    line-height: 1.5;
    letter-spacing: -0.02em;
}

#wrap.guide .sec_content .info .method img {
    height: auto;
    margin: 0 auto max(calc(20px * var(--base-ratio)), calc(calc(20 / var(--base-size)) * var(--base-percent)));
}

#wrap.guide .sec_content .info .method .refer {
    font-size: max(calc(14px * var(--base-ratio)), calc(calc(14 / var(--base-size)) * var(--base-percent)));
    line-height: 1.5;
    letter-spacing: -0.02em;
    color: #999999;
}

#wrap.guide .sec_content .info .method .call {
    position: relative;
}

#wrap.guide .sec_content .info .method .call:before {
    content: "";
    display: inline-block;
    width: max(calc(20px * var(--base-ratio)), calc(calc(20 / var(--base-size)) * var(--base-percent)));
    height: max(calc(20px * var(--base-ratio)), calc(calc(20 / var(--base-size)) * var(--base-percent)));
    margin-right: max(calc(10px * var(--base-ratio)), calc(calc(10 / var(--base-size)) * var(--base-percent)));
    background: url("../svg/donation/icon_call.svg") center no-repeat;
    background-size: cover;
    vertical-align: middle;
}

#wrap.guide .sec_content .info .item1 {
    width: 100%;
    padding: max(calc(60px * var(--base-ratio)), calc(calc(60 / var(--base-size)) * var(--base-percent)));
}

#wrap.guide .sec_content .info .item1 ul {
    display: inline-block;
    width: auto;
    text-align: left;
}

#wrap.guide .sec_content .info .item1 ul li {
    margin: 0 0 max(calc(10px * var(--base-ratio)), calc(calc(10 / var(--base-size)) * var(--base-percent)));
    font-size: 0;
}

#wrap.guide .sec_content .info .item1 ul li:last-child {
    margin: 0;
}

#wrap.guide .sec_content .info .item1 ul {
    display: inline-block;
    margin-right: max(calc(10px * var(--base-ratio)), calc(calc(10 / var(--base-size)) * var(--base-percent)));
    padding: max(calc(5px * var(--base-ratio)), calc(calc(5 / var(--base-size)) * var(--base-percent))) max(calc(7px * var(--base-ratio)), calc(calc(7 / var(--base-size)) * var(--base-percent)));
    border-radius: 4px;
    background-color: #1C1C1C;
    font-size: max(calc(14px * var(--base-ratio)), calc(calc(14 / var(--base-size)) * var(--base-percent)));
    line-height: 1;
    letter-spacing: -0.02em;
    font-weight: 600;
    color: #ffffff;
    vertical-align: middle;
}

#wrap.guide .sec_content .info .item1 ul {
    font-size: max(calc(24px * var(--base-ratio)), calc(calc(24 / var(--base-size)) * var(--base-percent)));
    line-height: 1;
    letter-spacing: -0.02em;
    font-weight: 600;
    color: #1c1c1c;
    vertical-align: middle;
}

#wrap.guide .sec_content .info .item2 .method_desc {
    margin: 0 0 max(calc(8px * var(--base-ratio)), calc(calc(8 / var(--base-size)) * var(--base-percent)));
}

#wrap.guide .sec_content .info .item3 .method_desc {
    margin: 0;
}

#wrap.guide .sec_content .info .item4 .method_desc {
    margin: 0 0 max(calc(20px * var(--base-ratio)), calc(calc(20 / var(--base-size)) * var(--base-percent)));
}

@media (max-width: 1024px) {
    #wrap.guide .sec_content {
        max-width: unset;
        margin: 0 auto max(calc(100px * var(--base-ratio)), calc(calc(100 / var(--base-size)) * var(--base-percent)));
    }

    #wrap.guide .sec_content .col-12 {
        padding: 0 max(calc(40px * var(--base-ratio)), calc(calc(40 / var(--base-size)) * var(--base-percent)));
    }

    #wrap.guide .sec_content .flex-container {
        margin: 0 0 max(calc(80px * var(--base-ratio)), calc(calc(80 / var(--base-size)) * var(--base-percent)));
    }

    #wrap.guide .sec_content .flex-container.step2 .info .desc {
        padding: 0 0 max(calc(36px * var(--base-ratio)), calc(calc(36 / var(--base-size)) * var(--base-percent)));
    }

    #wrap.guide .sec_content .flex-item.title {
        width: 100%;
    }

    #wrap.guide .sec_content .flex-item.info {
        width: 100%;
    }

    #wrap.guide .sec_content .title strong {
        padding: 0 0 max(calc(20px * var(--base-ratio)), calc(calc(20 / var(--base-size)) * var(--base-percent)));
        font-size: max(calc(24px * var(--base-ratio)), calc(calc(24 / var(--base-size)) * var(--base-percent)));
        line-height: 1;
        letter-spacing: -0.02em;
    }

    #wrap.guide .sec_content .info .desc {
        padding: 0 0 max(calc(36px * var(--base-ratio)), calc(calc(36 / var(--base-size)) * var(--base-percent)));
        font-size: max(calc(20px * var(--base-ratio)), calc(calc(20 / var(--base-size)) * var(--base-percent)));
        line-height: 1.5;
        letter-spacing: -0.02em;
    }

    #wrap.guide .sec_content .info .btn {
        margin: 0 0 0 max(calc(6px * var(--base-ratio)), calc(calc(6 / var(--base-size)) * var(--base-percent)));
        padding: max(calc(10px * var(--base-ratio)), calc(calc(10 / var(--base-size)) * var(--base-percent))) max(calc(16px * var(--base-ratio)), calc(calc(16 / var(--base-size)) * var(--base-percent)));
        font-size: max(calc(12px * var(--base-ratio)), calc(calc(12 / var(--base-size)) * var(--base-percent)));
        line-height: 1.25;
        letter-spacing: -0.02em;
    }

    #wrap.guide .sec_content .info .inquiry .item {
        margin: 0 0 max(calc(28px * var(--base-ratio)), calc(calc(28 / var(--base-size)) * var(--base-percent)));
    }

    #wrap.guide .sec_content .info .inquiry .top {
        margin: 0 0 max(calc(12px * var(--base-ratio)), calc(calc(12 / var(--base-size)) * var(--base-percent)));
    }

    #wrap.guide .sec_content .info .inquiry .top strong {
        font-size: max(calc(20px * var(--base-ratio)), calc(calc(20 / var(--base-size)) * var(--base-percent)));
        line-height: 1.3;
        letter-spacing: -0.02em;
    }

    #wrap.guide .sec_content .info .contact_info {
        padding: max(calc(20px * var(--base-ratio)), calc(calc(20 / var(--base-size)) * var(--base-percent)));
    }

    #wrap.guide .sec_content .info .contact_info li {
        align-items: flex-start;
        margin: 0 0 max(calc(12px * var(--base-ratio)), calc(calc(12 / var(--base-size)) * var(--base-percent)));
    }

    #wrap.guide .sec_content .info .contact_info p {
        font-size: max(calc(16px * var(--base-ratio)), calc(calc(16 / var(--base-size)) * var(--base-percent)));
        line-height: 1.5;
        letter-spacing: -0.02em;
    }

    #wrap.guide .sec_content .info>p {
        margin: 0 0 max(calc(12px * var(--base-ratio)), calc(calc(12 / var(--base-size)) * var(--base-percent)));
        font-size: max(calc(20px * var(--base-ratio)), calc(calc(20 / var(--base-size)) * var(--base-percent)));
        line-height: 1;
        letter-spacing: -0.02em;
    }

    #wrap.guide .sec_content .info .method .method_title {
        margin: 0 0 max(calc(6px * var(--base-ratio)), calc(calc(6 / var(--base-size)) * var(--base-percent)));
        font-size: max(calc(18px * var(--base-ratio)), calc(calc(18 / var(--base-size)) * var(--base-percent)));
        line-height: 1;
        letter-spacing: -0.02em;
    }

    #wrap.guide .sec_content .info .method .method_desc {
        margin: 0 0 max(calc(32px * var(--base-ratio)), calc(calc(32 / var(--base-size)) * var(--base-percent)));
        font-size: max(calc(16px * var(--base-ratio)), calc(calc(16 / var(--base-size)) * var(--base-percent)));
        line-height: 1.5;
        letter-spacing: -0.02em;
    }

    #wrap.guide .sec_content .info .method .refer {
        font-size: max(calc(12px * var(--base-ratio)), calc(calc(12 / var(--base-size)) * var(--base-percent)));
        line-height: 1.5;
        letter-spacing: -0.02em;
    }

    #wrap.guide .sec_content .info .item1 {
        margin: 0 0 max(calc(12px * var(--base-ratio)), calc(calc(12 / var(--base-size)) * var(--base-percent)));
        padding: max(calc(48px * var(--base-ratio)), calc(calc(48 / var(--base-size)) * var(--base-percent))) max(calc(20px * var(--base-ratio)), calc(calc(20 / var(--base-size)) * var(--base-percent)));
    }

    #wrap.guide .sec_content .info .item1 ul li {
        margin: 0 0 max(calc(8px * var(--base-ratio)), calc(calc(8 / var(--base-size)) * var(--base-percent)));
    }

    #wrap.guide .sec_content .info .item1 ul {
        font-size: max(calc(12px * var(--base-ratio)), calc(calc(12 / var(--base-size)) * var(--base-percent)));
        line-height: 1;
        letter-spacing: -0.02em;
    }

    #wrap.guide .sec_content .info .item1 ul {
        font-size: max(calc(20px * var(--base-ratio)), calc(calc(20 / var(--base-size)) * var(--base-percent)));
        line-height: 1;
        letter-spacing: -0.02em;
    }

    #wrap.guide .sec_content .info .item2 {
        padding: max(calc(48px * var(--base-ratio)), calc(calc(48 / var(--base-size)) * var(--base-percent))) max(calc(25px * var(--base-ratio)), calc(calc(25 / var(--base-size)) * var(--base-percent))) max(calc(12px * var(--base-ratio)), calc(calc(12 / var(--base-size)) * var(--base-percent)));
    }

    #wrap.guide .sec_content .info .item3 {
        padding: max(calc(48px * var(--base-ratio)), calc(calc(48 / var(--base-size)) * var(--base-percent))) max(calc(25px * var(--base-ratio)), calc(calc(25 / var(--base-size)) * var(--base-percent))) max(calc(12px * var(--base-ratio)), calc(calc(12 / var(--base-size)) * var(--base-percent)));
    }
}

@media (max-width: 767px) {
    #wrap.guide .sec_content .col-12 {
        padding: 0 max(calc(20px * var(--base-ratio)), calc(calc(20 / var(--base-size)) * var(--base-percent)));
    }

    #wrap.guide .sec_content .info .inquiry .top {
        flex-wrap: wrap;
    }

    #wrap.guide .sec_content .info .inquiry .top strong {
        width: 100%;
        margin: 0 0 max(calc(12px * var(--base-ratio)), calc(calc(12 / var(--base-size)) * var(--base-percent)));
    }

    #wrap.guide .sec_content .info .contact_info li img {
        top: 3px;
        transform: translateY(0);
    }

    #wrap.guide .sec_content .info .methods .block .method {
        width: 100%;
        margin: 0 0 max(calc(12px * var(--base-ratio)), calc(calc(12 / var(--base-size)) * var(--base-percent)));
    }

    #wrap.guide .sec_content .info .method .method_desc,
    #wrap.guide .sec_content .info .method .refer {
        word-break: keep-all;
    }
}

/*----------------------------------------------------------------------------------------------------*/
/* album.css */
/*----------------------------------------------------------------------------------------------------*/
#wrap.album .container {
    padding-bottom: 0;
}

#wrap.album .top_title {
    margin: 0 0 max(calc(50px * var(--base-ratio)), calc(calc(50 / var(--base-size)) * var(--base-percent)));
}

@media (max-width: 1024px) {
    #wrap.album .top_title {
        margin: 0 0 max(calc(48px * var(--base-ratio)), calc(calc(48 / var(--base-size)) * var(--base-percent)));
    }
}

#wrap.album .sec * {
    word-break: keep-all;
}

#albumContent {
    font-family: 'Noto Sans KR', sans-serif;
    color: #333;
}

#albumContent .post-meta {
    font-size: 0.95rem;
    color: #444;
    margin-top: 30px;
    text-align: center;
}

#albumContent .post-meta .meta-separator {
    color: #eeeeee;
    margin: 0 5px;
}

#albumContent .attachments h5 {
    margin-bottom: 10px;
}

#albumContent .list-group-item i {
    margin-right: 10px;
}

#albumContent .list-group-item .text-muted {
    font-size: 0.85rem;
}

/* 본문 */
#albumContent .post-content p {
    line-height: 1.6;
    margin-bottom: 15px;
}

#albumContent blockquote {
    border-left: 3px solid #ddd;
    padding-left: 15px;
    color: #555;
    font-style: italic;
    margin: 15px 0;
}

/* 이전/다음글 */
#albumContent .post-navigation {
    margin-top: 50px;
}

#albumContent .post-navigation .nav-divider {
    border-top: 1px solid #ddd;
    margin-bottom: 10px;
}

#albumContent .post-navigation .nav-item {
    border-bottom: 1px solid #ddd;
    padding: 15px 0;
}

#albumContent .post-navigation .nav-label {
    display: inline-block;
    width: 80px;
    font-weight: 600;
    margin-right: 10px;
}

#albumContent .post-navigation a {
    color: #1c1c1c;
    text-decoration: none;
}

#albumContent .post-navigation a:hover {
    text-decoration: underline;
}

#albumContent .back-to-list {
    background-color: #1c1c1c;
    padding: 14px;
    text-align: center;
    margin-top: 20px;
}

#albumContent .back-to-list a {
    color: #fff;
    text-decoration: none;
    font-weight: bold;
}

#albumContent .back-to-list a:hover {
    background-color: #333;
}

/*----------------------------------------------------------------------------------------------------*/
/* archive.css */
/*----------------------------------------------------------------------------------------------------*/
#wrap.archive .container {
    padding-bottom: 0;
}

#wrap.archive .top_title {
    margin: 0 0 max(calc(50px * var(--base-ratio)), calc(calc(50 / var(--base-size)) * var(--base-percent)));
}

@media (max-width: 1024px) {
    #wrap.archive .top_title {
        margin: 0 0 max(calc(48px * var(--base-ratio)), calc(calc(48 / var(--base-size)) * var(--base-percent)));
    }
}

#wrap.archive .sec * {
    word-break: keep-all;
}

#archiveContent {
    font-family: 'Noto Sans KR', sans-serif;
    color: #333;
}

#archiveContent .post-meta {
    font-size: 0.95rem;
    color: #444;
    margin-top: 30px;
    text-align: center;
}

#archiveContent .post-meta .meta-separator {
    color: #eeeeee;
    margin: 0 5px;
}

#archiveContent .attachments h5 {
    margin-bottom: 10px;
}

#archiveContent .list-group-item i {
    margin-right: 10px;
}

#archiveContent .list-group-item .text-muted {
    font-size: 0.85rem;
}

#archiveContent .post-content p {
    line-height: 1.6;
    margin-bottom: 15px;
}

#archiveContent blockquote {
    border-left: 3px solid #ddd;
    padding-left: 15px;
    color: #555;
    font-style: italic;
    margin: 15px 0;
}

#archiveContent .post-navigation {
    margin-top: 50px;
}

#archiveContent .post-navigation .nav-divider {
    border-top: 1px solid #ddd;
    margin-bottom: 10px;
}

#archiveContent .post-navigation .nav-item {
    border-bottom: 1px solid #ddd;
    padding: 15px 0;
}

#archiveContent .post-navigation .nav-label {
    display: inline-block;
    width: 80px;
    font-weight: 600;
    margin-right: 10px;
}

#archiveContent .post-navigation a {
    color: #1c1c1c;
    text-decoration: none;
}

#archiveContent .post-navigation a:hover {
    text-decoration: underline;
}

#archiveContent .back-to-list {
    background-color: #1c1c1c;
    padding: 14px;
    text-align: center;
    margin-top: 20px;
}

#archiveContent .back-to-list a {
    color: #fff;
    text-decoration: none;
    font-weight: bold;
}

#archiveContent .back-to-list a:hover {
    background-color: #333;
}

/*----------------------------------------------------------------------------------------------------*/
/* introduction */
/*----------------------------------------------------------------------------------------------------*/
.content-body {
    background: #fafbfd;
    border: 1px solid #e6e8ef;
    border-radius: 14px;
    padding: 26px 28px;
    margin-top: 24px;
    font-size: 17px;
    color: #2c2d2e;
    line-height: 1.8;
    white-space: pre-line;
    position: relative;
}

/* 왼쪽 강조 라인 */
.content-body::before {
    content: "";
    position: absolute;
    left: 0;
    top: 18px;
    bottom: 18px;
    width: 4px;
    background: linear-gradient(180deg, #7da8ff, #4674d6);
    border-radius: 4px;
}

/* 상단 라벨 */
.content-body::after {
    content: "INFO";
    position: absolute;
    top: -12px;
    left: 16px;
    background: #4674d6;
    color: white;
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 6px;
    opacity: 0.88;
    letter-spacing: 0.5px;
}

/* 제목 */
.content-body h1,
.content-body h2,
.content-body h3 {
    margin-top: 0;
    color: #1f3a93;
    font-weight: 700;
}

/* 리스트 */
.content-body ul,
.content-body ol {
    margin: 14px 0;
    padding-left: 26px;
}

.content-body li {
    margin-bottom: 6px;
}

/* 이미지 */
.content-body img {
    max-width: 100%;
    border-radius: 10px;
    margin: 16px 0;
    display: block;
}

/* 강조 텍스트 */
.content-body strong,
.content-body b {
    color: #111;
    font-weight: 600;
}

/*----------------------------------------------------------------------------------------------------*/