@charset "utf-8";

:root {
    --user-img-width:90px;
    --back-color:#fff;
    --fore-color:#000;
    --back-color-dark:#f4f4f4;
    --back-color-light:#f4f4f4;
    --fore-color-light:#333;
    --line-color:#dfdfdf;
    --border-color:#969696;
}

.theme-dark {
    --back-color:#474747;
    --fore-color:#fff;
    --back-color-dark:#444;
    --back-color-light:#777;
    --fore-color-light:#fff;
    --line-color:#333;
    --border-color:#888;

    background-color:var(--back-color);
    color:var(--fore-color);
}

.theme-dark .title-box h2 {color:#fff;}

.boards .container {width:auto;}

.boards h1 {font-size:xx-large;}
.boards h2 {font-size:x-large;}
.boards h3 {font-size:larger;}
.boards h4 {font-size:large;}
.boards h5 {font-size:medium;}
.boards h6 {font-size:small;}
.boards small {font-size:smaller;}
.boards a {color:var(--fore-color);text-decoration:none;text-underline-offset:3px;}
.boards a:hover {text-decoration:underline;text-decoration-style:dashed;text-decoration-thickness:1px;}
.boards a[data-uid] {color:var(--fore-color-light);}
.boards input,
.boards select,
.boards textarea {border:solid 1px var(--border-color);border-radius:0;}

.boards table.table-list {width:100%;border-spacing:0;border-collapse:collapse;text-align:center;line-height:1.2;}
.boards table.table-list tr > * {padding:12px 2px;border-right:solid 1px var(--line-color);border-bottom:solid 1px var(--line-color);}
.boards table.table-list tr > *:last-child {border-right:0;}
.boards table.table-list thead th {background:#333;color:#fff;padding:12px 0;text-align:center;}
.boards table.table-list tbody tr:hover {background:var(--back-color-light);}
.boards table.table-list .text-left {padding-left:6px;}
.boards table.table-list small.comment:has(span:empty) {display:none;}
.boards table.table-list sub {vertical-align:middle;}
.boards table.table-list sub::after {content:'';background:url(icon_reply_arrow.svg) no-repeat 100% 50%;display:inline-block;width:1em;height:1em;background-size:100%;}
.boards table.table-list a[data-my-comment="1"]::after {content:'C';font-size:10px;background:#2196f3;color:#fff;display:inline-block;line-height:14px;padding:0 4px;vertical-align:middle;border-radius:3px;margin-left:4px;translate:0 -1px;}

.boards table.table-list:not(.no-alternate) tbody tr:nth-child(2n) {background:var(--back-color-dark);}

.boards table.table-calendar {width:100%;border-spacing:0;border-collapse:collapse;text-align:left;line-height:1.2;table-layout:fixed;}
.boards table.table-calendar thead th {background:#333;color:#fff;padding:12px 0;text-align:center;}
.boards table.table-calendar tbody td {border-left:solid 1px var(--line-color);border-bottom:solid 1px var(--line-color);padding:4px;vertical-align:top;text-align:left;}
.boards table.table-calendar tbody td > strong {font-weight:normal;}
.boards table.table-calendar tbody td.w0 > strong {color:#f00;}
.boards table.table-calendar tbody td.w6 > strong {color:#00f;}
.boards table.table-calendar tbody td.today {background:#e1f5fe;}
.boards table.table-calendar tbody td:first-child {border-left:0;}
.boards table.table-calendar tbody ul {min-height:2.5em;padding:0;margin:10px 0 10px 10px;list-style:none;}
.boards table.table-calendar tbody li > * {vertical-align:top;}
.boards table.table-calendar tbody li::marker {content:'⸳ ';font-size:16px;}
.boards table.table-calendar tbody li + li {margin-top:10px;}
.boards table.table-calendar small.comment:has(span:empty) {display:none;}
.boards .table-calendar-header {display:flex;align-items:end;justify-content:center;gap:10px;margin:1em 0;}
.boards .table-calendar-header strong {font-size:1.8em;line-height:1;}
.boards .table-calendar-header::before {content:'';margin-right:auto;}
.boards .table-calendar-header > .end {margin-left:auto;position:relative;display:flex;align-items:center;justify-content:end;width:0;}
.boards .table-calendar-header > .end a {white-space:nowrap;}
.boards table.table-calendar a[data-my-comment="1"]::after {content:'C';font-size:8px;background:#2196f3;color:#fff;display:inline-block;line-height:12px;padding:0 2px;vertical-align:middle;border-radius:3px;margin-left:2px;translate:0 -1px;}

.boards ul.thumb-list {--gap:60px;--cols:5;}
.boards ul.thumb-list {padding:0;margin:0;list-style:none;display:flex;flex-flow:row wrap;align-items:start;justify-content:start;gap:var(--gap);}
.boards ul.thumb-list li {flex:0 0 calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));}
.boards ul.thumb-list li > a {text-decoration:none;color:var(--fore-color);}
.boards ul.thumb-list .thumb-img {aspect-ratio:1.2;text-align:center;}
.boards ul.thumb-list .thumb-img img {max-width:200px;width:100%;height:100%;vertical-align:middle;object-fit:contain;object-position:center;overflow-clip-margin:unset;padding:10px 0;filter:drop-shadow(0px 2px 4px rgba(0,0,0,.5));}
.boards ul.thumb-list .item-date small + small::before {content:'/';margin-right:1ch;}
.boards ul.thumb-list .item-date small.like::after {content:'추천';}
.boards ul.thumb-list .item-date small.hit::after {content:'조회';}
.boards ul.thumb-list .thumb-img img {transition:scale .2s;}
.boards ul.thumb-list li > a:where(:hover,:focus) .thumb-img img {scale:1.03;}
.boards ul.thumb-list small.comment:has(span:empty) {display:none;}
.boards ul.thumb-list li a[data-my-comment="1"] .item-date::after {content:'C';font-size:10px;background:#2196f3;color:#fff;display:inline-block;line-height:14px;padding:0 4px;vertical-align:middle;border-radius:3px;translate:0 -1px;}

.boards *[data-new="1"]::after {content:'N';font-size:10px;background:#dc4932;color:#fff;display:inline-block;line-height:14px;padding:0 4px;vertical-align:middle;border-radius:3px;margin-left:4px;translate:0 -1px;}

.boards.gallery ul.thumb-list .thumb-img img {max-width:100%;}

#board-detail ul.thumb-list {margin-bottom:2em;}
#board-detail ul.thumb-list .item-award {color:var(--fore-color-light);margin-top:2em;}
#board-detail ul.thumb-list.award .thumb-img {padding:16px;background:rgba(0,0,0,.2);}
#board-detail ul.thumb-list.award .thumb-img img {max-width:200px;display:block;margin:0 auto;}

.boards .pagination {margin:3em 0;text-align:center;font-size:.9em;display:flex;align-items:center;justify-content:center;gap:4px;flex-flow:row wrap;}
.boards .pagination a {display:inline-block;min-width:2.5em;text-align:center;padding:.6ch .1ch;border:solid 1px #ccc;margin:0;text-decoration:none;color:#000;white-space:nowrap;background:#fff;}
.boards .pagination a:hover {background:#ccc;}
.boards .pagination a.current {background:#333;color:#eee;border-color:#333;}

.boards .form-search {padding:1em;margin:0;text-align:center;display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:4px;}
.boards .form-search * {font:inherit;border:solid 1px #ccc;padding:6px;border-radius:0;line-height:1;max-width:100%;}
.boards .form-search button {border:0;background:#333;color:#fff;padding:6px 12px;cursor:pointer;white-space:nowrap;}

.boards .board-buttons {display:flex;gap:6px;align-items:stretch;flex-flow:row wrap;}
.boards .board-buttons.center {justify-content:center;}
.boards .board-buttons .end {margin-left:auto;display:flex;gap:6px;align-items:stretch;}

.boards .board-files {margin-top:1em;border:solid 1px #efefef;padding:1em;clear:both;}
.boards .board-files ul {padding:0;margin:0;list-style:none;}
.boards .board-files li {display:inline;}
.boards .board-files li:has(+li)::after {content:', ';}

.boards figure.user-img {width:var(--user-img-width);height:var(--user-img-width);flex:0 0 var(--user-img-width);}

.boards .no-articles {padding:2em 0;text-align:center;}

#board-list {padding:0;margin:1rem 0;scroll-margin-top:100px;}
#board-list header {display:flex;padding:1rem;background:var(--back-color-light);border:dotted 1px #dfdfdf;align-items:center;justify-content:space-between;}
#board-list header .form-search {padding:0;border:0;}
#board-list footer {display:flex;padding:1rem 0;align-items:center;justify-content:center;}

#board-list ul.notice-list {margin:1em 0;padding:0;list-style:none;}
#board-list ul.notice-list li {border:solid 1px var(--line-color);padding:12px;}
#board-list ul.notice-list li + li {border-top:0;}

#board-detail {padding:0;margin:1rem 0;}
#board-detail .article-header {margin:1em 0;padding:0 0 6px 0;border-bottom:solid 1px var(--line-color);}
#board-detail .article-schedule {margin:1em 0;}
#board-detail .article-schedule strong {display:inline-flex;gap:8px;padding:5px 16px 5px 5px;background:#53e749;color:#000;border-radius:3px;box-shadow:#888 1px 2px 4px;}
#board-detail .article-schedule strong i {display:inline-flex;color:#444;border-radius:100%;width:1.5em;height:1.5em;align-items:center;justify-content:center;}
#board-detail .photos {display:flex;flex-direction:column;align-items:center;max-width:100%;text-align:center;}
#board-detail .photos p {text-align:center;}
#board-detail .photos > div {position:relative;}
#board-detail .photos > div + div {margin-top:1em;}
#board-detail .photos > div > img {max-width:100%;max-height:100%;height:auto;vertical-align:middle;pointer-events:none;}
#board-detail .photos > div > div.exif {position:sticky;left:0;top:0;display:none;height:0;z-index:2;}
#board-detail .photos > div > div.exif p {padding:2em 1em;margin:0;font-size:14px;line-height:1.4;background:rgba(0,0,0,.75);color:#fff;backdrop-filter:blur(2px);display:inline-block;text-align:left;}
#board-detail .photos > div:hover > div.exif {display:block;}

#board-detail .photos div.exif-desc {font-size:14px;}
#board-detail .photos div.exif-desc span {display:inline-block;white-space:nowrap;}
#board-detail .photos div.exif-desc span + span::before {content:'|';margin:0 1ch;}

#board-detail .photos > div.di-image > img {width:1200px;}
#board-detail .photos > div.di-image::after {content:'';display:block;position:absolute;left:0;top:0;width:100%;height:100%;background:url(/watermark.png) no-repeat 100% 0;background-size:auto;}

body[data-photo-width="1600"] #board-detail .photos > div {max-width:1600px;}
body[data-photo-width="1200"] #board-detail .photos > div {max-width:1200px;}
body[data-photo-width="1600"] #board-detail .photos > div img {max-height:1600px;}
body[data-photo-width="1200"] #board-detail .photos > div img {max-height:1200px;}

#board-detail .article-body {min-height:10rem;}
#board-detail .article-body-box {overflow-x:auto;padding:10px 0;}
#board-detail .article-body table {width:initial;}
#board-detail .article-body th {text-align:center;}
#board-detail .article-body td {text-align:left;}
#board-detail .article-body *[align=center]:where(th,td) {text-align:center;}
#board-detail .article-body *[align=left]:where(th,td) {text-align:left;}
#board-detail .article-body *[align=right]:where(th,td) {text-align:right;}
#board-detail .article-body *[valign=top]:where(th,td) {vertical-align:top;}
#board-detail .article-body *[valign=middle]:where(th,td) {vertical-align:middle;}
#board-detail .article-body *[valign=bottom]:where(th,td) {vertical-align:bottom;}

#board-detail .article-nav {position:sticky;top:0;height:26px;z-index:3;display:flex;align-items:center;justify-content:start;gap:2px;}
#board-detail .article-nav .end {margin-left:auto;}

#board-profile {margin:1rem auto;padding:1rem 0;border-top:solid 1px var(--line-color);border-bottom:solid 1px var(--line-color);scroll-margin-bottom:100px;}
#board-profile {display:flex;align-items:start;gap:1em;font-size:1em;}
#board-profile .user-img + dl {flex:1 1 auto;}
#board-profile dl {display:flex;align-items:start;flex-wrap:wrap;padding:0;margin:0;line-height:1.3;}
#board-profile dt {flex:0 0 4em;padding:0;margin:4px 0 0 0;}
#board-profile dd {flex:1 1 calc(100% - 4em);padding:0;margin:4px 0 0 0;}

#board-comment {margin:1rem auto;}
#board-comment .comments {padding:0;margin:0;list-style:none;}
#board-comment .comments li {display:flex;align-items:start;gap:1em;font-size:1em;padding:.5em 0 .7em 0;}
#board-comment .comments li + li {border-top:solid 1px var(--line-color);}
#board-comment .comment {flex:1 1 auto;}
#board-comment .comment small {font-size:1em;}
#board-comment .comment > div {font-size:16px;line-height:1.4;padding-top:16px;}
#board-comment .comment > div p {margin:0;padding:0;}
#board-comment .contents p {padding:0;margin:0;}
#board-comment .buttons {display:flex;gap:.6em;}
#board-comment .buttons a {font-size:14px;font-weight:normal;text-decoration:none;background:#37474f;color:#fff;line-height:1;display:inline-block;padding:4px 6px;border-radius:2px;}
#board-comment .comments li.reply {padding-left:45px;background:url(icon_reply_arrow.svg) no-repeat 16px 1em;}
#board-comment .comments li.reply a[data-comment-form="reply"] {display:none;}

#form-comment {padding:1rem;margin:0;font-size:1em;background:var(--back-color);border:solid 1px var(--line-color);}
#form-comment input:not([type=radio],[type=checkbox]),
#form-comment select,
#form-comment textarea {padding:4px;border:solid 1px var(--border-color);color:#000;font:inherit;resize:none;}
#form-comment input:not([type=radio],[type=checkbox]),
#form-comment select {align-self:stretch;}
#form-comment div {display:flex;align-items:center;gap:.5em;}
#form-comment div + div {margin-top:6px;}
#form-comment .forms-content {align-items:stretch;max-width:1200px;}
#form-comment .forms-content button {flex:0 0 7em;padding:0;border:0;white-space:nowrap;cursor:pointer;font:inherit;}
#form-comment .forms-content textarea {flex:1 1 auto;}

#board-comment .comments-nav {text-align:right;position:sticky;top:0;height:20px;z-index:2;}
#board-comment .comments-nav:not(:has(*)) {display:none;}

.boards .board-dialog {position:fixed;left:0;top:0;right:0;height:100vh;z-index:65000;overflow:auto;box-shadow:rgba(0,0,0,.65) 0 0 100vmax 100vmax;padding:.5rem;overflow:auto;visibility:hidden;}
.boards .board-dialog.show {visibility:visible;}
.boards .board-dialog h4 {flex:0 0 100%;padding:0;margin:0;}
.boards .board-dialog .form-body {margin:1rem auto;max-width:800px;background:#fff;color:#000;box-shadow:rgba(0,0,0,.65) 0 0 100vmax 100vmax;padding:2rem;position:relative;}
.boards .board-dialog .form-body a:not(.bt) {color:#333;}
.boards .board-dialog .form-body > a.closer {position:absolute;top:0;right:0;background:#f00;display:block;width:48px;height:48px;font-size:0;}
.boards .board-dialog .form-body > a.closer::before,
.boards .board-dialog .form-body > a.closer::after {content:'';position:absolute;left:0%;right:0%;top:50%;rotate:45deg;height:1px;background:#fff;}
.boards .board-dialog .form-body > a.closer::after {rotate:-45deg;}
.boards .board-dialog .form-body {display:flex;align-items:start;gap:1em;flex-flow:row wrap;}
.boards .board-dialog .form-body .forms {flex:1 1 auto;}
.boards .board-dialog .form-body .forms div {display:flex;align-items:center;gap:.5em;}
.boards .board-dialog .form-body .forms div + div {margin-top:6px;}
.boards .board-dialog .form-body .forms div * {font:inherit;}
.boards .board-dialog .form-body .forms div input,
.boards .board-dialog .form-body .forms div select,
.boards .board-dialog .form-body .forms div textarea {padding:6px;border:solid 1px #888;color:#000;}
.boards .board-dialog .form-body .forms .forms-content {align-items:stretch;}
.boards .board-dialog .form-body .forms .forms-content textarea {flex:1 1 auto;}
.boards .board-dialog .form-body .forms .forms-content button {flex:0 0 100px;}
.boards .board-dialog .form-body .user-img {margin:0;}
.boards .board-dialog .comment-body {flex:0 0 100%;display:flex;gap:1em;align-items:start;}
.boards .board-dialog .comment-body .user-img + div {flex:1 1 auto;}

.boards .board-dialog .form-body .password-body {width:100%;}
.boards .board-dialog .form-body .password-body .forms {display:flex;align-items:stretch;justify-content:center;gap:10px;margin:1em 0;}
.boards .board-dialog .form-body .password-body .forms label {align-self:center;}
.boards .board-dialog .form-body .password-body .forms input {padding:.5em .2em;}
.boards .board-dialog .form-body .password-body + p {width:100%;margin:0;padding:0;text-align:center;color:#666;}

.boards .board-dialog.small .form-body {max-width:500px;}

.boards .board-dialog .comment-parent {flex:0 0 100%;display:flex;gap:1em;padding-bottom:1em;border-bottom:solid 1px #fd584c;align-items:start;font-size:1em;}
.boards .board-dialog .comment-parent .user-img {margin-top:4px;}
.boards .board-dialog .comment-parent .user-img + div {flex:1 1 auto;}
.boards .board-dialog .comment-parent small {font-size:1em;}
.boards .board-dialog .comment-parent p {margin:0;padding:0;}
.boards .board-dialog .comment-parent:not(:has(*)) {display:none;}
.boards .board-dialog .comment-parent .buttons {display:none;}

.boards .board-dialog .remover {width:100%;text-align:center;}

.boards .daily-heads {display:flex;flex-flow:row wrap;padding-bottom:1rem;margin-bottom:1rem;border-bottom:solid 1px var(--line-color);}
.boards .daily-heads > div {flex:auto;align-self:stretch;}
.boards .daily-heads > div.daily-heading {flex:0 0 100%;display:flex;align-items:end;gap:1em;}
.boards .daily-heads > div.daily-heading strong {font-size:1.4em;margin-right:1em;}
.boards .daily-heads > div.daily-table {flex:0 0 420px;}
.boards .daily-heads > div.daily-form {padding-left:40px;}
.boards .daily-heads table {border-spacing:1px;margin:0 auto;width:100%;border:solid 1px #ddd;}
.boards .daily-heads table *:where(th,td) {background:#fff;padding:0;}
.boards .daily-heads table th {background:var(--fore-color-light);color:var(--back-color);padding:10px 0;}
.boards .daily-heads table td > * {display:block;padding:10px;line-height:1;text-align:center;}
.boards .daily-heads table td > span {background:#d1d1d1;color:#888;}
.boards .daily-heads table td.active > a {background:#01579b;color:#fff;}
.boards .daily-heads table td > a:hover {background:#4caf50;color:#fff;}
.boards .daily-heads table td.other > * {color:#888;}

#board-comment-form .remover {display:none;}
#board-comment-form.remover .comment-body {display:none;}
#board-comment-form.remover .remover {display:block;}

#board-write form div.forms {display:flex;align-items:center;font-size:16px;font-family:inherit;}
#board-write form div.forms > div.forms {flex:1 1 100%;align-self:stretch;}
#board-write form div.forms > * {flex:1 1 auto;}
#board-write form div.forms > label {flex:0 0 5em;text-align:center;}
#board-write form div.forms *:where(input:not([type=radio],[type=checkbox]),select,textarea) {font:inherit;line-height:1.2;min-height:2em;padding:4px;min-width:1em;align-self:stretch;}
#board-write form div.forms > #boardCategory {flex:0 1 fit-content;margin-right:5px;}
#board-write form div.forms-group {display:flex;align-items:center;gap:6px;}
#board-write form > div + div {margin-top:10px;}
#board-write form div.files {border:solid 1px var(--line-color);}
#board-write form div.files > div:first-child {padding:8px;}
#board-write form div.files ul {list-style:none;padding:16px;margin:0;background:var(--back-color-light);color:var(--fore-color);min-height:100px;max-height:400px;overflow:auto;}
#board-write form div.files ul[data-placeholder]:not(:has(li))::before {content:attr(data-placeholder);opacity:.5;}
#board-write form div.files ul li {display:flex;align-items:start;gap:16px;}
#board-write form div.files ul li + li {margin-top:16px;}
#board-write form div.files ul li.hide {display:none;pointer-events:none;}
#board-write form div.files ul .file-thumb {flex:0 0 160px;}
#board-write form div.files ul .file-thumb img {width:100%;aspect-ratio:1;object-fit:contain;padding:5px;background:var(--back-color);border:solid 1px #444;vertical-align:middle;}
#board-write form div.files ul .file-info {flex:1 1 auto;align-self:stretch;}
#board-write form div.files ul .file-info {display:flex;flex-direction:column;gap:10px;}
#board-write form div.files ul .file-info > textarea {flex:1 1 auto;resize:none;font:inherit;padding:6px;}
#board-write form div.files ul .file-info > div {display:flex;align-items:center;}
#board-write form div.files ul .file-info > div em::before {content:'(';}
#board-write form div.files ul .file-info > div em::after {content:')';}
#board-write form div.files ul .file-info > div em {font-size:.8em;font-style:normal;margin-left:8px;}
#board-write form div.files ul .file-info > div small:last-child {margin-left:auto;font-size:12px;}
#board-write form div.files ul .file-info input[type=file] {display:none;}

#board-write form div.files ol {list-style:none;padding:16px;margin:0;background:var(--back-color-light);color:var(--fore-color);min-height:100px;max-height:400px;overflow:auto;}
#board-write form div.files ol {display:flex;flex-flow:row wrap;align-items:start;gap:16px;}
#board-write form div.files ol[data-placeholder]:not(:has(li))::before {content:attr(data-placeholder);opacity:.5;}
#board-write form div.files ol li {width:160px;height:160px;background:#fff;position:relative;border:solid 1px var(--line-color);}
#board-write form div.files ol li.hide {display:none;pointer-events:none;}
#board-write form div.files ol .file-thumb {width:100%;height:100%;cursor:grab;}
#board-write form div.files ol .file-thumb img {width:100%;height:100%;vertical-align:middle;object-fit:cover;}
#board-write form div.files ol .file-thumb:not(:has(img)) {background:url(icon_file.svg) no-repeat center;opacity:.25;}
#board-write form div.files ol .file-info {position:absolute;left:0;bottom:0;right:0;z-index:2;font-size:12px;padding:6px;background:rgba(0,0,0,.6);color:#fff;word-break:break-all;line-height:1.1;}
#board-write form div.files ol .file-info strong {font-weight:normal;}
#board-write form div.files ol .file-info em {white-space:nowrap;}
#board-write form div.files ol .file-info em::before {content:'(';}
#board-write form div.files ol .file-info em::after {content:')';}
#board-write form div.files ol .file-info input[type=file] {display:none;}
#board-write form div.files ol li button.remove {position:absolute;right:0;top:0;z-index:3;font-size:12px;padding:10px;border-radius:0;}

#board-write form div.buttons {text-align:center;}
#board-write .notice-block {background:var(--back-color-dark);padding:1em;font-size:0.9em;margin:1em 0;}

#board-write .tox.tox-edit-focus .tox-edit-area::before {display:none;}
#board-write .tox-tinymce {border:solid 1px var(--line-color);border-radius:0;}
#board-write .tox-statusbar {height:10px;overflow:hidden;padding:0;}
#board-write .tox-statusbar * {display:none;}
#board-write .tox-statusbar__resize-handle {display:block;padding:0;margin:0;height:100%;overflow:hidden;position:absolute;left:0;top:0;width:100%;z-index:2;}
#board-write .tox-statusbar__resize-handle:hover {background:var(--line-color);}

@media (max-width:1280px) {
    .boards ul.thumb-list {--cols:4;}

    .boards .daily-heads > div.daily-table {flex-basis:360px;}
}

@media (max-width:960px) {
    .boards ul.thumb-list {--gap:40px;}

    .boards .daily-heads > div.daily-heading {gap:.5em;}
    .boards .daily-heads > div.daily-heading strong {margin-right:0;}
    .boards .daily-heads > div.daily-table {flex-basis:300px;}
    .boards .daily-heads > div.daily-form {padding-left:20px;}
}

@media (max-width:820px) {
    .boards ul.thumb-list {--cols:2;}

    .boards table.table-calendar {border-top:solid 1px var(--border-color);}
    .boards table.table-calendar,
    .boards table.table-calendar tbody,
    .boards table.table-calendar tr,
    .boards table.table-calendar tbody td {display:block;border-left:0;}
    .boards table.table-calendar thead,
    .boards table.table-calendar td:empty {display:none;}
    .boards table.table-calendar td > strong::after {font-size:.8em;}
    .boards table.table-calendar td.w0 > strong::after {content:'(일)';}
    .boards table.table-calendar td.w1 > strong::after {content:'(월)';}
    .boards table.table-calendar td.w2 > strong::after {content:'(화)';}
    .boards table.table-calendar td.w3 > strong::after {content:'(수)';}
    .boards table.table-calendar td.w4 > strong::after {content:'(목)';}
    .boards table.table-calendar td.w5 > strong::after {content:'(금)';}
    .boards table.table-calendar td.w6 > strong::after {content:'(토)';}
    .boards table.table-calendar tbody ul {min-height:0px;}
    .boards table.table-calendar tbody td:not(:has(ul li)) {display:none;}
    .boards table.table-calendar tbody:not(:has(ul li))::after {content:'등록된 일정이 없습니다';display:block;text-align:center;padding:2em 0;}
    .boards .table-calendar-header {justify-content:start;margin:0;padding:1em 0;background:#fff;position:sticky;top:0;z-index:2;}
    .boards .table-calendar-header::before {display:none;}

    .boards .daily-heads > div.daily-table {flex-basis:100%;}
    .boards .daily-heads > div.daily-form {padding-left:0;padding-top:20px;}
    .boards .daily-heads table td > * {padding:10px 0;}
}

@media (max-width:768px) {
    .boards ul.thumb-list {--gap:30px;}
}

@media (max-width:640px) {
    :root {
        --user-img-width:60px;
    }
    .boards ul.thumb-list {--cols:2;}

    #board-list header {justify-content:center;flex-wrap:wrap;gap:8px;}
    #board-list header > div {flex:0 0 100%;text-align:center;}

    #board-write form div.forms {flex-flow:row;flex-flow:row wrap;}
    #board-write form div.forms > label {flex:1 1 auto;text-align:left;}
    #board-write form div.forms > * {flex:1 1 100%;}
    #board-write form div.forms > *:where(input:not([type=radio],[type=checkbox]),select,textarea) {min-width:1em;}
    #board-write form div.forms > #boardCategory {flex:1 1 100%;margin-right:0;margin-bottom:5px;}

    .boards .board-dialog .form-body .password-body .forms {flex-flow:column;}

    #form-comment div {flex-wrap:wrap;}
    #form-comment .forms-content button {flex:1 1 30%;min-height:3em;}
    #form-comment .forms-content textarea {flex:0 0 100%;}
    #form-comment label:has(+input) {flex:1 1 20%;text-align:center;}
    #form-comment label+input {flex:0 0 70%;}
    #form-comment select {flex:0 0 100%;min-width:1em;}
}

@media (max-width:480px) {
    .boards .board-buttons {font-size:14px;}

    .boards ul.thumb-list {--cols:1;}
    .boards ul.thumb-list .thumb-img {aspect-ratio:auto;}

    #board-list header .form-search {flex:0 0 100%;}
    #board-list header .form-search > * {flex:0 0 100%;min-height:2.5em;}
    #board-list header > div {text-align:right;}
}

@media (min-width:1600px) and (min-height:720px) {
    /* #board-comment > form {position:sticky;top:0;z-index:2;box-shadow:0 5px 15px -10px rgba(0,0,0,.5);} */
}

.boards .contest-header dl {display:flex;flex-wrap:wrap;padding:0;margin:0;border-top:solid 1px var(--line-color);}
.boards .contest-header dl > * {padding:6px;border-bottom:solid 1px var(--line-color);}
.boards .contest-header dl > dt {background:#f4f4f4;font-weight:bold;color:#666;text-align:center;width:100px;padding:6px 0;}
.boards .contest-header dl > dd {margin:0;text-align:left;width:calc(100% - 100px);}
.boards .contest-body img {display:block;margin:1em auto;max-width:100%;max-width:min(100%,1280px);}

@media (min-width:768px) {
    .boards .contest-header dl > dt {width:15%;}
    .boards .contest-header dl > dd {width:35%;}
    .boards .contest-header dl > dt:first-child + dd {width:85%;}
}

.jihoe-body .boards ul.thumb-list {--gap:80px;--cols:4;}

@media (max-width:1600px) {
    .jihoe-body .boards ul.thumb-list {--gap:40px;}
}

@media (max-width:820px) {
    .jihoe-body .boards ul.thumb-list {--cols:2;}
}

@media (max-width:768px) {
    .jihoe-body .boards ul.thumb-list {--gap:20px;}
}

@media (max-width:640px) {
    .jihoe-body .boards ul.thumb-list {--cols:2;}
}

@media (max-width:480px) {
    .jihoe-body .boards ul.thumb-list {--cols:1;}
}

*:where(html,body):has(.form-register) {scroll-behavior:auto !important;}
.form-register {max-width:920px;margin:0 auto;}
.form-register * {vertical-align:middle;}
.form-register *:where(input:not([type=checkbox],[type=radio]),select,textarea) {min-width:4ch;min-height:2.5rem;padding:4px;border:solid 1px #666;font:inherit;border-radius:0;resize:none;}
.form-register *.wfull {width:100%;max-width:100%;}
.form-register fieldset {margin-bottom:2rem;}
.form-register legend {font-size:20px;font-weight:bold;}
.form-register legend + * {border-top:solid 2px #000;}
.form-register small {font-size:0.8em;vertical-align:text-bottom;}
.form-register p {padding:0;margin:0;min-height:2.5rem;}
.form-register div.form-help {background:#eaf0f3;color:#333;padding:5px;}
.form-texts {border-bottom:solid 1px #dfdfdf;padding:8px;background:#f8f8f8;}
.form-texts > div {min-height:5em;max-height:10em;overflow:auto;white-space:pre-line;font-size:.85em;line-height:1.4;}
.form-row {display:flex;}
.form-row > * {flex:1 1 100%;border-bottom:solid 1px #dfdfdf;padding:8px;}
.form-row > label {flex:0 0 120px;background:#f2f2f2;color:#000;align-self:stretch;display:flex;align-items:center;justify-content:center;font-weight:500;}
.form-row *:where(input,select,textarea) {width:100%;max-width:fit-content;}
.form-row small {display:inline-block;white-space:nowrap;}
.form-group {display:inline-flex;max-width:100%;align-items:center;gap:2px;}
@media (max-width:767px) {
.form-row {flex-flow:row wrap;}
.form-row > label {font-size:14px;flex:0 0 100px;}
.form-row > label + div {flex:1 1 calc(100% - 100px);}
}
@media (max-width:420px) {
.form-row {flex-flow:column;}
.form-row > label {flex:0;padding-bottom:0;background:none;border-bottom:0;justify-content:start;}
.form-row > div {padding-top:4px;}
.form-row > div > *:where(input:not([type=checkbox],[type=radio]),select,textarea) {max-width:100%;}
}

.form-oneline > div {display:flex;gap:10px;align-items:stretch;margin-bottom:1rem;border:solid 2px #01579b;padding:10px;border-radius:10px;}
.form-oneline input {width:100%;font:inherit;border:0;border-bottom:solid 1px #000;}
@media (max-width:480px) {
    .form-oneline > div {flex-flow:column;}
    .form-oneline input {height:2.5em;}
}

div.not-yet {text-align:center;font-size:22px;background:#efefef;color:#bbb;margin:2rem auto;max-width:800px;padding:5rem;}

body.screen-block dialog::after,
body.screen-block::after {content:'';position:fixed;left:0;top:0;z-index:99999;display:block;width:100%;height:100%;cursor:wait;background:rgba(0,0,0,0);}

/* popup-container */
#popup-container {position:absolute;left:10px;top:10px;z-index:65000;}
#popup-container .popup {background:#fff;border:solid 1px #343434;padding:4px;box-shadow:rgba(0,0,0,.25) 1px 2px 3px;}
#popup-container .popup-tools {background:#343434;padding:8px;}