@charset "UTF-8";

@font-face {
    font-family: "Noto Sans KR";
    src: url("../fonts/NotoSansKR-Medium.ttf") format("truetype");
}

::-webkit-scrollbar {
    width: 5px;
    height: 100%;
}

::-webkit-scrollbar-track {
  background: transparent; /* 트랙 배경 */
}

::-webkit-scrollbar-thumb {
  background-color: #888;
  border-radius: 2.5px;
}

* {
    margin: 0;
    padding: 0;
    max-height: 1000000px;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    border: 0;
    outline: 0;
    padding: 0;
    background: transparent;
    font-family: "Noto Sans KR";
    font-style: normal;
    font-weight: normal; /* 폰트 굵기 */
    vertical-align: baseline;
}

html {
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    font-size: 16px;
}

body {
    line-height: 1;
    position: relative;
    color: #333333; /* 본문 폰트 색상 */
    font-size: 16px;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
label {
    vertical-align: middle;
    /* cursor: pointer; */
}
input {
    vertical-align: middle;
}
button,
input {
    border-radius: 0;
}
fieldset,
img {
    border: 0;
}
ol,
ul {
    list-style: none;
}
address,
em {
    font-style: normal;
}

/* html5 */
object,
del,
sub,
var {
    margin: 0;
    padding: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

/* form */
input[type="text"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="time"],
input[type="date"],
input[type="email"],
textarea {
    padding: 7px;
    font-weight: inherit;
    border: 1px solid #cccccc;
    border-radius: 2px;
    outline-style: none;
    line-height: 13px;
    color: #353535;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    /* height: calc(1.8rem + 2px); */
    height: calc(2.25rem + 2px);
}
input[type="file"] {
    overflow: hidden;
    max-width: 100%;
}
/* input[type="text"],
input[type="password"],
input[type="number"],
input[type="tel"] {
    height: 29px;
} */
textarea,
input,
select {
    vertical-align: middle;
}
textarea {
    resize: none;
    line-height: 1.2em;
}
input[type="button"],
input[type="text"],
input[type="password"],
input[type="tel"],
input[type="image"],
textarea {
    -webkit-appearance: none;
}
input:checked[type="checkbox"] {
    background-color: #fff;
    -webkit-appearance: checkbox;
}
button::-moz-focus-inner {
    padding: 0;
    border: 0;
}
label {
    margin: 0;
    display: inline-block;
    min-height: 29px;
    line-height: 29px;
    vertical-align: middle;
}
input[type="radio"],
input[type="checkbox"] {
    margin: 0 7px 0 0;
}
textarea.disabled {
    background-color: #ffffff;
    color: #bfbfbf;
}

a {
    color: #222;
    text-decoration: none;
}
a:link {
    text-decoration: none;
}
a:hover {
    text-decoration: none;
}
a:active {
    text-decoration: none;
}

/* ------------------------------------------------------------------------------- */

#wrapper {
    position: relative;
    width: 100%;
    /* min-width: 1180px; */
    overflow: hidden;
}

/*header admin*/
.admin header {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 50px;
    background: #ffffff;
    border-bottom: 0.5px solid #666;
    z-index: 1000;

    /* background: url("../images/common/bg_header5.png") repeat-x left top;
    height: 120px; */
}
.admin .toputil {
    /* position: relative;
    max-width: 1180px; */
    font-size: 14px;
    margin: 0 auto;
    /* padding-right: 30px; */
    height: 50px;

    /* height: 40px; */
}
.admin .toputil::after {
    display: block;
    clear: both;
    content: "";
}
.admin .toputil .toputil_box {
    float: right;
}
.admin .toputil .toputil_box ul {
    position: relative;
    overflow: hidden;
    float: left;
    height: 50px;
    line-height: 50px;

    /* height: 40px;
    line-height: 40px; */
}
.admin .toputil .toputil_box ul li {
    position: relative;
    float: left;
    padding-left: 15px;
}
.admin .toputil .toputil_box ul li a {
    display: block;
    color: #222;
}
.admin .header {
    position: relative;
    max-width: 1180px;
    height: 80px;
    margin: auto;
    padding-left: 10px;
}
.admin #gnb {
    position: relative;
    width: 100%;
}
/* 메뉴 선택 */
.admin #gnb .btn_work {
    font-size: 22px;
    color: #fff;
    padding: 27px 15px;
    /* 배경 클릭 범위 넓게 */
    line-height: 76px;
    padding: 0 15px;
}
.admin #gnb .btn_cap {
    font-size: 22px;
    color: #fff;
    padding: 30px 28px; /*margin-top:20px*/
}

.admin #gnb::after {
    display: block;
    clear: both;
    content: "";
}
.admin #gnb .dep1 {
    position: absolute;
    right: 0;
    top: 0;
    display: inline-block;
    /* display: inline;
    zoom: 1; */
    padding-right: 15px;
}
/* 탭 선택시 변경 */
.admin #gnb .dep1 > li::before {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0px;
    /* background-color: #266ed4; */
    content: "";
    -webkit-transition: height 0.2s;
    transition: height 0.2s;
}
.admin #gnb .dep1 > li {
    position: relative;
    float: left;
    padding: 2px 0px;
}
/* 탭 기본 색상 */
.admin #gnb .dep1 > li > a {
    display: block;
    text-align: center;
    text-decoration: none;
    color: #fff;
}
.admin #gnb .dep1 > li > a > span {
    display: inline-block;
    position: relative;
    vertical-align: top;
    font-size: 16px;
    width: 100%; /*height:80px; line-height:80px;*/
    font-weight: 500;
}
.admin #gnb .dep1 > li > a > span::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0px;
    height: 4px;
}
.admin #gnb .dep1 > li > a:hover span,
#gnb .dep1 > li > a:active span {
    /* color: #72eb51; */
}
.admin #gnb .dep1 > li > .dep2 {
    position: absolute;
    left: 0;
    top: 80px;
    width: 100%;
    padding: 15px 0;
}
.admin #gnb .dep1 > li > .dep2 > li:last-child {
    display: block;
}
.admin #gnb .dep1 > li > .dep2 li {
    float: none;
    width: 100%;
    margin: 0;
}
.admin #gnb .dep1 > li > .dep2 li a {
    display: block;
    vertical-align: top;
    font-size: 15px;
    line-height: 22px;
    height: auto;
    padding: 5px 15px;
    color: #fff;
    text-align: left;
    letter-spacing: -1px;
}
.admin #gnb .dep1 > li > .dep2 li a strong {
    font-weight: normal;
}
.admin #gnb .dep1 > li > .dep2 li a:hover,
#gnb .dep1 li .dep2 li a:active,
#gnb .dep1 li .dep2 li a.ov {
    text-decoration: underline;
    color: #fff;
}
.admin #gnb .dep1 li:hover::before,
#gnb .dep1 li.active::before {
    height: 80px;
}
.admin #gnb .dep1 li:hover > a,
#gnb .dep1 li:active > a {
    color: #fff;
    transition: color 0.2s;
    -webkit-transition: color 0.2s;
}
.admin #gnb .dep1 > li > .dep2 li > .dep3 {
    width: 100%;
    padding: 5px 0;
}
.admin #gnb .dep1 > li > .dep2 li > .dep3 li {
    float: none;
    width: 100%;
    margin: 0;
}
.admin #gnb .dep1 > li > .dep2 li > .dep3 li a {
    display: block;
    vertical-align: top;
    font-size: 14px;
    line-height: 22px;
    height: auto;
    padding: 4px 25px;
    color: #fff;
    text-align: left;
    letter-spacing: -1px;
}
.admin #gnb .dep_sub {
    left: auto;
    right: 0;
}
.admin #gnb .dep_sub > li {
    padding: 0 40px;
}
.admin #gnb .dep_sub > li > a > span {
    font-size: 18px;
    height: 80px;
    line-height: 80px;
}
.admin #gnb .current {
    background-color: #1f83fd;
}

.admin #gnb .dep1 > li > ul.ov {
    background: #266ed4;
    display: none;
}

/* START : 2021.02.04 : KEH : 서브메뉴 아래에 나오도록 변경 */
.submenu {
    display: none;
    position: absolute;
    z-index: 99;
    text-align: center;
    background: #0073ff; /* #27724f */
    width: 100%;
}
.submenu > li > a {
    display: inline-block;
    padding: 14px 0px;
    color: white;
    width: 100%;
    font-size: 15px;
}
.submenu > li > a:hover {
    background: #0073ff; /* #27724f */
}
.submenu2 {
    display: none;
    position: absolute;
    z-index: 99;
    text-align: center;
    background: #266ed4;
    width: 100%;
    left: 181px;
    background: #1d539e;
    margin-top: -43px;
}
.submenu2 > li > a {
    display: inline-block;
    padding: 14px 0px;
    color: white;
    width: 100%;
    font-size: 15px;
}
.submenu2 > li > a:hover {
    background: #18427d;
}

/*footer*/
footer {
    position: relative;
    width: 100%;
    background: url("../images/common/bg_footer.png") repeat-x left top #f9f9f9;
}
footer .footer {
    position: relative;
    width: 1180px;
    margin: 0 auto;
    padding-bottom: 25px;
}
footer .footer .bmenu {
    line-height: 57px;
}
footer .footer .bmenu::after {
    display: block;
    clear: both;
    content: "";
}
footer .footer .bmenu li {
    float: left;
    padding-right: 20px;
    font-size: 0.9rem;
}
footer .footer .bmenu li::after {
    padding-left: 20px;
    content: "|";
    color: #dbdbdb;
}
footer .footer .bmenu li:last-child::after {
    content: "";
}
footer .footer .bmenu li a {
    color: inherit;
}
.address {
    margin-top: 28px;
}
.address p {
    color: inherit;
    font-size: 0.9rem;
    padding-bottom: 8px;
}
.copyright {
    color: #999;
    font-size: 0.9rem;
    margin-top: 5px;
}

/***** SUB *****/
/* 2021.05.21 : KEH : 헤더 고정 해제 */
/* .content-wrapper2 {position: relative; width:1180px; margin:0 auto; min-height:700px; padding:160px 0 100px} */
.container {
    margin: 0 auto;
    min-height: 700px;
    padding: 40px 10px 100px;
}

.content-wrapper2 {
    position: relative;
    width: 1180px;
    margin: 0 auto;
    min-height: 700px;
    padding: 40px 0 100px;
}

/*sub common*/
#sBanner {
    position: relative;
    display: block;
    width: 100%;
    height: 300px; /*overflow:hidden; */
    padding-top: 120px;
    z-index: 0;
}
#sBanner .sBan1_1 {
    position: relative;
    width: 100%;
    min-width: 1180px;
    height: 300px;
}
#sBanner .sBan1_1 {
    background: url(../images/common/sBanner_img1_1.jpg) center top no-repeat;
}
#sBanner .sTitle {
    position: relative;
    width: 1180px;
    padding: 80px 0 0 0;
    margin: 0 auto;
    text-align: center;
}
#sBanner .sTitle p:first-child {
    content: "";
}
#sBanner .sTitle .sTit {
    font-size: 60px;
    padding-top: 20px;
    font-weight: 200;
}

/*sub navigation*/
#snb {
    position: relative;
    line-height: 50px;
    width: 100%;
    border-bottom: 1px solid #dbdbdb;
    border-top: 1px solid #dbdbdb;
    z-index: 20;
    background-color: #fff;
}
#snb .sNav {
    position: relative;
    width: 1180px;
    margin: 0 auto;
    box-sizing: border-box;
}
#snb .sNav .sdep1 {
    float: left;
    border-left: 1px solid #dbdbdb;
}
#snb .sNav .sdep1 > li {
    position: relative;
    width: 280px;
    float: left;
    border-right: 1px solid #dbdbdb;
    background: url(../images/common/snb_arrow.png) right top no-repeat;
}
#snb .sNav .sdep1 > li.on {
    background-position: right bottom;
}
#snb .sNav .sdep1 > li.home {
    width: 52px;
    background: none;
}
#snb .sNav .sdep1 > li.home a {
    background: url(../images/common/ico_home.png) center no-repeat;
    text-indent: -9999px;
    display: block;
    width: 52px;
    height: 52px;
}
#snb .sNav .sdep1 > li > a {
    text-indent: 20px;
    display: block;
    width: 100%;
    font-weight: 500;
    white-space: nowrap;
    word-break: break-all;
    overflow: hidden;
    text-overflow: ellipsis;
}
#snb .sNav .sdep1 > li > .sdep2 {
    display: none;
    border: 1px solid #dbdbdb;
    border-top: none;
    position: absolute;
    left: -1px;
    top: 53px;
    background-color: #fff;
    padding: 20px 0;
    width: 100%;
}
#snb .sNav .sdep1 > li > .sdep2 > li {
    border: none;
    width: 100%;
}
#snb .sNav .sdep1 > li > .sdep2 > li > a {
    text-indent: 20px;
    display: block;
    line-height: 35px;
    background: none;
}
#snb .sNav .sdep1 > li > .sdep2 > li > a:hover,
#snb .sNav .sdep1 > li > .sdep2 > li > a.on {
    color: #21c479;
    font-weight: 500;
}
#snb .sNav::after {
    display: block;
    clear: both;
    content: "";
}

/* form */
.form-control {
    font-size: 0.85rem;
    border-radius: 0;
}
.col-form-label {
    background-color: #f4f4f4;
}
.icheck-success
    > input:first-child:checked
    + input[type="hidden"]
    + label::before,
.icheck-success > input:first-child:checked + label::before {
    background-color: #0062cc;
    border-color: #0062cc;
}
.icheck-success
    > input:first-child:not(:checked):not(:disabled):hover
    + input[type="hidden"]
    + label::before,
.icheck-success
    > input:first-child:not(:checked):not(:disabled):hover
    + label::before {
    border-color: #0062cc;
}
.input_etc {
    height: 22px !important;
    margin-bottom: 11px;
    margin-left: 0.5rem;
}
.input_etc[readonly] {
    background-color: #e9ecef;
    opacity: 1;
}

/* tab */
.tab_sty {
    overflow: hidden;
    position: relative;
    padding: 1px 0 0 1px;
}
.tab_sty li {
    width: 25%;
    float: left;
    margin: 1px 0;
}
.tab_sty li a {
    display: block;
    margin-right: 2px;
    padding: 15px 5px;
    font-size: 16px;
    line-height: 15px;
    color: #444;
    border: 1px solid #dbdbdb;
    text-align: center;
    background-color: #f1f1f1;
}
.tab_sty li.on a,
.tab_sty li a:hover,
.tab_sty li.on a:hover {
    background-color: #0073ff; /* #27824f */
    color: #fff;
}
.student_tab {
    width: 16.66% !important;
}
.student_tab a {
    padding: 15px 15px !important;
}

/* tab_two */
.tab_two {
    overflow: hidden;
    position: relative;
    padding: 1px 0 0 1px;
}
.tab_two li {
    width: 15%;
    float: left;
    margin: 1px 0;
}
.tab_two li a {
    display: block;
    margin-right: 2px;
    padding: 15px 50px;
    font-size: 16px;
    line-height: 15px;
    color: #444;
    border: 1px solid #dbdbdb;
    text-align: center;
    background-color: #f1f1f1;
}
.tab_two li.on a,
.tab_two li a:hover,
.tab_two li.on a:hover {
    background-color: #435a7b;
    color: #fff;
}

/*pagination*/
.pagination {
    justify-content: center;
    flex-wrap: wrap; /* Ensure pagination items wrap on small screens */
}
.table-pagination {
    position: relative;
    margin: 0 auto;
}
.pagination > li > a,
.pagination > li > span {
    margin: 0 2px;
    width: 30px;
    height: 30px;
    text-align: center;
}

@media (max-width: 768px) {
    .pagination > li > a,
    .pagination > li > span {
        width: 30px; /* Adjust width for mobile screens */
        height: 30px; /* Adjust height for mobile screens */
    }
}

/* margin padding */
.pt10 {
    padding-top: 10px !important;
}
.pt16 {
    padding-top: 16px !important;
}
.pb10 {
    padding-bottom: 10px !important;
}
.pr10 {
    padding-right: 10px !important;
}
.pl10 {
    padding-left: 10px !important;
}
.pl5 {
    padding-left: 5px !important;
}

.mt20 {
    margin-top: 20px !important;
}
.mt50 {
    margin-top: 50px !important;
}
.mt100 {
    margin-top: 100px !important;
}
.mr10 {
    margin-right: 10px !important;
}

.mb10 {
    margin-bottom: 20px !important;
}
.mb20 {
    margin-bottom: 20px !important;
}

/* table */

.table th,
.table td {
    vertical-align: middle !important;
}

.table .align-top,
.table .align-top {
    vertical-align: top !important;
}

.table th {
    background-color: #F0F2F5 !important;
    padding: 10px 10px;
}

.card-body.p-0 .table thead > tr > th:first-of-type,
.card-body.p-0 .table thead > tr > td:first-of-type,
.card-body.p-0 .table tbody > tr > th:first-of-type,
.card-body.p-0 .table tbody > tr > td:first-of-type {
    padding-left: 0.75rem;
}

.card-body.p-0 .table thead > tr > th:last-of-type,
.card-body.p-0 .table thead > tr > td:last-of-type,
.card-body.p-0 .table tbody > tr > th:last-of-type,
.card-body.p-0 .table tbody > tr > td:last-of-type {
    padding-right: 0.75rem;
}

.bgGrey {
    background-color: #f4f4f4;
}
.fc-day-number {
    font-size: 16px;
}
.schedule-footer-board .schedule-footer-board__item {
    line-height: 40px;
    border: 1px solid #dbdbdb;
}
.ttl {
    font-size: 1.5em;
    font-weight: 500;
    line-height: 2;
    background-color: #f4f4f4;
    padding: 4px;
    margin: 0px 0px 10px 0px;
}
.sttl::before {
    width: 6px;
    height: 6px;
    content: "";
    display: inline-block;
    background-color: #0062cc;
    position: absolute;
    left: 0;
    top: 15px;
}
.sttl {
    position: relative;
    font-size: 18px;
    line-height: 2;
    padding-left: 15px;
    margin-left: 20px;
}
.stxt {
    font-size: 15px;
    line-height: 1.5;
    margin-left: 36px;
}
.txt3 {
    font-size: 0.9rem;
    line-height: 1.4;
    margin-top: 10px;
}
/* 자기소개서 간격 넗이기 */
/* 2020.12.21 : KEH : 내용 작성한 데로 보이게 수정 */
.text-content {
    line-height: 1.2;
    white-space: pre-wrap;
}
/* 2020.11.20 : KEH : form explorer에서 버튼 부분 정렬 */
form {
    display: inline !important;
    margin: 0px !important;
}

/* === 페이지가이드 START === */
/* 배경 */
.srch_sty {
    /* border: 1px solid #dee2e6; */
    background-color: transparent !important;
}
.page_guide {
    background: transparent;
    border-radius: 5px; /* Rounded corners for the container */
    /* border: 1px solid #f4dcd4; */
    padding-left: 0 !important;
    padding-top: 15px;
    padding-bottom: 15px;
    margin-left: -5px;
}

.page_guide ul {
    list-style: inside;
    line-height: 1.5em;
    column-count: 1;
    list-style-position: outside;
    column-gap: 30px;
}
.page_guide li {
    padding: 2px 0px;
    margin-left: 0px;
    list-style: none;
}

.page_guide b {
    font-weight: bold !important;
}
.notColumn ul {
    column-count: unset;
}

.board_gallery {
    border-bottom: 1px solid #dbdbdb;
    margin-bottom: 1rem;
}
.board_gallery .row {
    text-align: center;
}
.board_gallery .photo {
    width: 100%;
    /* aspect-ratio: 1 / 1; */
    /* padding: 1rem; */
    border-bottom: 1px solid #dbdbdb;
}
.board_gallery .photo .timestamp {
    margin-bottom: 1rem;
}
.board_gallery .photo img {
    width: auto;
    max-width: 100%;
    height: 100%;
    object-fit: contain;
    /* margin-bottom: 1rem; */
}
.selected_img_btn {
    background: red;
    color: white;
    padding: 8px 0px;
    margin-top: -10px;
    width: 100%;
}

.selected_img_box {
    background: #f1f1f1;
    padding: 15px 10px;
    border: 1px solid #dbdbdb;
    height: 200px;
}

.selected_img_box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.r2_img_box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.table-report textarea {
    padding: 0.2rem 0.5rem;
    font-size: 0.85rem !important;
}
.table-report .text-left {
    line-height: 1.4;
}

/* 230627 : burden tab START */
.burdentab_sty {
    overflow: hidden;
    position: relative;
    padding: 1px 0 0 1px;
}
.burdentab_sty li {
    width: 25%;
    float: left;
    margin: 1px 0;
}
.burdentab_sty li a {
    display: block;
    margin-right: 2px;
    padding: 15px 25px;
    font-size: 16px;
    line-height: 15px;
    color: #444;
    border: 1px solid #dbdbdb;
    text-align: center;
    background-color: #faf4d3;
}
.burdentab_sty li.on a,
.burdentab_sty li a:hover,
.burdentab_sty li.on a:hover {
    background-color: #b2de27;
    color: #333333;
}
/* 230622 : report tab END */


.tab2 li {
    width: 50%;
}
.tab3 li {
    width: 33.3%;
}
.tab4 li {
    width: 25%;
}
.tab5 li {
    width: 20%;
}
.tab6 li {
    width: 16.6%;
}

.subj {
    float: left;
    padding-top: 3px;
}
.toputil_admin {
    color: #222;
    font-size: 15px;
    padding-left: 15px;
    line-height: 50px;
    font-weight: 500;

    /* line-height: 40px; */
}

.toputil_admin .toputil_rule {
    border: 2px solid #bbb;
    padding: 3px 13px;
    border-radius: 27px;
}

.pagination-sm .page-link {
    padding: 3.5px;
    font-size: 15px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
}
/*** START 달력 css ***/
.fc-event-main {
    padding: 2px;
}
.fc-event {
    cursor: pointer;
}
/*** END 달력 CSS ***/


/********** hamburger Menu **********/
#menu_toggle {
    opacity: 0;
}
#menu_toggle:checked + .menu_btn > span {
    transform: rotate(45deg);
}
#menu_toggle:checked + .menu_btn > span::before {
    top: 0;
    transform: rotate(0deg);
}
#menu_toggle:checked + .menu_btn > span::after {
    top: 0;
    transform: rotate(90deg);
}
#menu_toggle:checked ~ .menu_box {
    right: 0 !important;
}
.menu_btn {
    /* position: fixed; */
    position: absolute;
    top: 25px;
    right: 12px;
    width: 30px;
    height: 35px;
    cursor: pointer;
    z-index: 1;
}

.menu_btn > span,
.menu_btn > span::before,
.menu_btn > span::after {
    display: block;
    position: absolute;
    width: 100%;
    height: 3px;
    background-color: #333333;
    transition-duration: 0.25s;
}

.menu_btn > span::before {
    content: "";
    top: -8px;
}

.menu_btn > span::after {
    content: "";
    top: 8px;
}

.menu_box {
    display: block;
    position: fixed;
    top: 0;
    right: -100%;
    width: 300px;
    /* width: 100%; */
    height: 100%;
    margin: 0;
    padding: 60px 0;
    list-style: none;
    background-color: #343a40;
    box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.4);
    transition-duration: 0.25s;
    float: right;
}

.menu_box > li > a {
    display: block;
    padding: 12px 24px;
    color: #fff;
    font-family: "Roboto", sans-serif;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    transition-duration: 0.25s;
    text-align: right;
}

.menu_box > div > span {
    color: #fff;
    font-family: "Roboto", sans-serif;
    font-size: 18px;
    font-weight: 600;
}
.menu_box > div > a {
    display: block;
    background: #fbfbfb;
    color: #343a40;
    margin-top: 10px;
    width: 150px;
}

.menu_box > div > a > span {
    font-size: 16px;
    font-weight: bolder;
}
.menu_item:hover {
    background-color: #cfd8dc;
}
.menu-user {
    padding-top: 10px;
    padding-right: 24px;
}
.menu-line {
    border-bottom: 1px solid #fff;
    padding: 15px 10px;
}

/* input search x 버튼 삭제 및 클리어 */
.inputWrap {
    position: relative;
    height: 30px;
    display: inline-block;
}

.inputWrap input {
    height: inherit;
}

/* css - tooltip */
.tooltip-inner {
    text-align: left;
}

.sign_box {
    position: relative;
    border: 1px solid #333333;
    width: 100%;
    aspect-ratio: 2 / 1;
    text-align: center;
    margin: auto;
    touch-action: none; /* 기본 값, 모든 터치 이벤트를 비활성화 */
    background-color: #ffffff;
}

.sign_box img {
    width: 100%;
    aspect-ratio: 2 / 1;
}

.photo .media_box {
    border: 5px solid #dbdbdb;
    height: 200px;
    padding: 10px;
}

input[data-readonly] {
    pointer-events: none;
}

.text-sm .nav-link {
    padding: 0.7rem 0.5rem !important;
}

/* 탭 버튼 */
.content-box .nav-link {
    color: #797979 !important;
    background-color: #FFFFFF !important;
    border: 0.5px solid #C8C8C8 !important;
    border-radius: 5px;
    padding: 0.5rem 1.2rem !important;
    box-shadow: 1px 1px 1px #75757540;
}

.alert-dismissible .close,
.alert-dismissible .mailbox-attachment-close {
    height: 100%;
    padding: 0px 1.25rem;
}

/* 기술지도요원 강조사항 */
.highlight {
    font-weight: bold;
    padding-top: 15px;
    margin-top: 15px;
    /* border-top: 3px #aaa dashed; */
}

/***** 테이블 : 별지 보고서 START *****/
.table-report {
    border-left: 1px solid #333333;
    border-collapse: collapse;
    margin-bottom: 0px; /* 26px */
    /* table-layout: fixed; */
}

.table-report-end {
    margin-bottom: 0px !important;
}

.table-report td,
.table-report th {
    border-bottom: 1px solid #333333 !important;
    border-right: 1px solid #333333;
    background: none !important;
    /* padding: 8px; */
    font-weight: normal;
    line-height: 1.2;
    word-break: break-all;
    background-color: #5c2e2e;
}

/* 표 내용 글자 사이 간격 */
.table-report td {
    border-top: 1px solid #333333;
    border-left: 1px solid #333333;
    background-color: #5c2e2e;
    padding: 0.5rem 0.5rem;
    font-size: 0.85rem !important;
}

.table-report th {
    padding: 12px 5px;
    box-sizing: border-box;
    border-top: 1px solid #333333;
    background-color: #5c2e2e;
}
/***** 테이블 : 별지 보고서 END *****/

/***** 테이블 : 안전·보건 예산 분류기준 START ****/
.table-report-sub th:first-child {
    border-left: none;
}

.table-report-sub th:first-child {
    border-left: none;
}

.table-report-sub th:last-child {
    border-right: none;
}

.table-report-sub td:last-child {
    border-right: none;
}

.table-report-sub thead th {
    border-bottom: 4px double #333333;
    border-top: 0.5px solid #333333;
    border-right: 0.5px solid #333333;
    font-size: 0.95rem;
    font-weight: bold;
    padding: 0.8rem 0.3rem;
    background: #fff;
}

.table-report-sub tbody td {
    border-bottom: 0.5px solid #333333;
    border-top: 0.5px solid #333333;
    border-right: 0.5px solid #333333;
    background: #fff;
    padding: 0.6rem 0.5rem;
    font-size: 0.9rem;
    font-weight: normal;
    line-height: 1.2;
}
/***** 테이블 : 안전·보건 예산 분류기준 END ****/

p {
    line-height: 15pt;
}

.nav-pills .nav-link:not(.active):hover {
    color: #fff;
}

/* 안전보건관리체계 - 보고서 틀 */
.report-container-box {
    border: 1px solid #ccc;
    background: #ddd;
    height: 100%;
    overflow-y: auto;
}

.report-container {
    padding: 0px;
    width: 1000px;
    /* width: 1100px; */
    margin: 0px auto;
    background: #fff;
}

.report-container .pdfArea {
    padding: 20px 40px;
}

.content-header {
    padding-left: 0px !important;
    padding-right: 0px !important;
}

.divider {
    border-top: 2px solid #a8a8a8;
}

/* li 태그 다음줄 들여쓰기 */
.hanging-indent {
    padding-left: 1.5em;
    text-indent: -1.5em;
    list-style-position: inside;
}

.build-modal {
    max-width: 970px;
}

/* 텍스트가 길 때 ... 처리 */
.long-name {
    display: inline-block;
    max-width: 80%; /* 원하는 너비 설정 */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* 표 안에서 텍스트가 길 때 줄바꿈 */
.long-name-span {
    display: block;
    word-wrap: break-word;
    white-space: normal;
    overflow: hidden;
    width: 100%; /* 셀에 맞춰서 너비를 자동 설정 */
}

/* 게스트 사용자 뷰 */
.container_guest {
    margin: 0 auto;
    min-height: auto;
    max-width: 1200px;
}

.toputil_guest {
    max-width: 1200px;
    font-size: 14px;
    margin: 0 auto;
    height: 50px;
    padding-left: 15px;
    padding-right: 15px;
    line-height: 50px;
    font-weight: 500;
}
/* 게스트 사용자 뷰 END */

.table-fixed {
    width: 100%;
    table-layout: fixed; /* Ensures that the table respects the colgroup widths */
}

/* 표 리스트에서 첨부파일 보여주기 */
.attached-image {
    max-width: 30%;
    height: 100px;
}
.inputForm table {
    border: none !important;
}

.inputForm tr {
    border: none !important;
}

.inputForm th {
    font-size: 1rem !important;
    font-weight: 500 !important;
    text-align: start;
    background-color: inherit !important;
    padding: 10px 5px 0 5px !important;
}

.inputForm .card-header {
    font-size: 1rem !important;
    font-weight: 500 !important;
    background-color: inherit !important;
    padding: 0 !important;
}


.inputForm td {
    padding: 5px !important;
    border-bottom: none !important;
}

.inputForm input {
    border: none !important;
    border-bottom: 0.5px solid #A4A4A4 !important;
}

.inputForm input:not([disabled]):not([readonly]) {
    background-color: #F9FAFC !important;
}

.inputForm textarea {
    border: none !important;
    border-bottom: 0.5px solid #A4A4A4 !important;
    padding: 7px !important;
}

.inputForm textarea:not([disabled]):not([readonly]) {
    background-color: #F9FAFC !important;
}

.inputForm select {
    border: none !important;
    border-bottom: 0.5px solid #A4A4A4 !important;
}

.inputForm select:not([disabled]):not([readonly]) {
    background-color: #F9FAFC !important;
}

.inputForm label {
    font-size: 1rem !important;
    font-weight: 500 !important;
}

.inputForm .file-preview,
.selectForm .file-preview {
    border: none !important;
    border-radius: 0 !important;
    background-color: #F9FAFC !important;
    padding-bottom: .25rem;
    margin-bottom: 0;
}

.inputForm .file-drop-zone-title,
.selectForm .file-drop-zone-title {
    padding: 0 30px !important;
}

.inputForm .file-drop-zone.clickable,
.selectForm .file-drop-zone.clickable {
    border: none !important;
}

.inputForm .kv-avatar .btn,
.selectForm .kv-avatar .btn {
    padding: 0.5rem 0.75rem !important;
}

.inputForm .file-drop-zone,
.selectForm .file-drop-zone {
    margin: 12px 12px 0 12px;
}

.inputForm .file-caption-main,
.selectForm .file-caption-main {
    padding-bottom: calc(.25rem + 12px);
    border-radius: 0 !important;
    background-color: #F9FAFC !important;
    border-bottom: 0.5px solid #A4A4A4 !important;
}

.placementTable th {
    text-align: center !important;
    font-size: 0.875rem !important;
    padding-bottom: 10px !important;
}

.placementTable.secondHeader {
    background-color: #F9FAFC !important;
    border-bottom: 0.5px solid #A4A4A4 !important;
}

.table-hover tbody tr:hover {
    background-color: inherit !important;
}

.row-pt0 th {
    padding-top: 0 !important;
}

.selectForm th,
.selectForm label {
    font-size: 1rem !important;
    font-weight: 500 !important;
}

.selectForm td,
.selectForm textarea {
    font-size: 1rem !important;
}

.selectForm input {
    font-size: 1rem !important;
    font-weight: 500 !important;
    border: none !important;
    background-color: inherit;
    /* background-color: inherit !important; */
}

.px5px {
    padding-left: 5px;
    padding-right: 5px;
}

.select2-container--default {
    background-color: #F9FAFC !important;
    border: none !important;
    border-radius: 0 !important;
    border-bottom: 0.5px solid #A4A4A4 !important;
}

.select2-selection--single {
    padding: 7px;
    background-color: #F9FAFC !important;
    border: none !important;
    border-radius: 0 !important;
}

.select2-container .select2-selection--single .select2-selection__rendered {
    height: calc(2.25rem + 2px) !important;
    padding-right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal_guide {
    background: transparent;
    border-radius: 5px; /* Rounded corners for the container */
    padding-left: 0 !important;
    padding-top: 15px;
    padding-bottom: 15px;
    margin-left: -5px;
}

.modal_guide ul {
    line-height: 1.5em;
}

.modal_guide li {
    list-style: none;
    padding: 2px 0px;
    margin-left: 0px;
    padding-left: 24px;     /* 전체 들여쓰기 */
    text-indent: -20px;     /* 첫 줄만 아이콘 포함 영역으로 이동 */
}
.modal_guide li::before {
    content: "\f059"; /* 아이콘 유니코드 */
    font-family: "Font Awesome 5 Free"; /* Font Awesome 글꼴 지정 */
    font-weight: 900; /* Solid 아이콘 사용 시 필요 */
    margin-right: 2px;
    position: relative;
}
.payment-select{
    padding: 0.375rem 15px !important;
}

.fc-header-toolbar .fc-toolbar-chunk:nth-child(3) {
    justify-content: flex-end;
}

.fc .fc-scrollgrid, .fc .fc-scrollgrid table, .fc-daygrid-body.fc-daygrid-body-unbalanced  {
    width: 100% !important;
}

.custom-dialog .fc-scrollgrid-sync-inner {
    padding: 0 !important;
}

.w-40 {
    width: 40% !important;
}

.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active,
.sidebar-light-primary .nav-sidebar > .nav-item > .nav-link.active {
    background-color: #1f83fd;
}

/* 기술지도요원 강조사항 타이틀 */
.highlight span {
    font-size: 18px !important;
    background: #fffb77;
    padding: 2px;
}

/* 필수 입력 표시 스타일 */
.required::after {
    content: " *";
    color: #FF634E;
    margin-left: 2px;
    vertical-align: middle;
}

.page_guide li::before {
    content: "\f059"; /* 아이콘 유니코드 */
    font-family: "Font Awesome 5 Free"; /* Font Awesome 글꼴 지정 */
    font-weight: 900; /* Solid 아이콘 사용 시 필요 */
    margin-right: 5px;
    position: relative;
}

.board_gallery .photo .on {
    border: 5px solid #007bff;
}

/* 2021.05.21 : KEH : 공지사항 NEW 표시 */
.new {
    float: left;
    background-color: #fff;
    color: #FF7A00;
    text-align: center;
    border-radius: 5px;
    font-size: 10px;
    margin-left: 10px;
    margin-right: 10px;
    padding: 5px 10px;
}