/*
    공통 css
*/
/*@import url(https://fonts.googleapis.com/earlyaccess/nanumgothic.css);*/
@import url("https://cdn.jsdelivr.net/gh/moonspam/NanumBarunGothic@latest/nanumbarungothicsubset.css");

body  { font-family: 'NanumBarunGothic', sans-serif; }

a {
    cursor: pointer;
    color: black;
    text-decoration: none;
}
a:link {
    color: black;
    text-decoration: none;
}
a:visited {
    color: black;
    text-decoration: none;
}
a:hover {
    color: red;
    text-decoration: none;
}
/* 임의의 영역 생성 */
.scrollBar {
    overflow-y: scroll;
}

/* 아래의 모든 코드는 영역::코드로 사용 */
.scrollBar::-webkit-scrollbar {
    width: 15px;  /* 스크롤바의 너비 */
}

.scrollBar::-webkit-scrollbar-thumb {
    height: 30%; /* 스크롤바의 길이 */
    background: #828c98; /* 스크롤바의 색상 */

    border-radius: 10px;
}

.scrollBar::-webkit-scrollbar-track {
    background: #dde2e5;  /*스크롤바 뒷 배경 색상*/
}

.headerWrap ol, 
.headerWrap ul, 
.headerWrap li { 
    /* 네비게이션만 적용, froala 에디터에서 list-style 필요 */
    list-style:none; padding:0; margin:0; 
}


table {
    font-size: 12px;
}

th {
    text-align: center;
    vertical-align: middle;
}

td {
    text-align: center;
    vertical-align: middle;
}

input[type="checkbox"] {
    width: 1.3em;
    height: 1.3em;
}

input[type="checkbox"]:checked {
    background-color: #ff8a00;
    border-color: #ff8a00;
}

input[type="text"] {
    height: 34px;
}

select {
    margin: 0px 0px 0px 5px;
    height: 34px;
}

.select_no_margin {
  margin-left: 0 !important;
}

.select_w100 {
    width: 100px;
}

.select_w150 {
    width: 150px;
}

.select_w200 {
    width: 200px;
}

.select_w250 {
    width: 250px;
}

.select_w300 {
    width: 300px;
}






.wrap {
    margin: 20px auto;
    width: 1500px;
}

.wrap > .menuTitleLy {
    height: 50px;
    width:100%;
    float:left;
}

.wrap > .menuTitleLyNoTab {
    height: 40px;
    width:100%;
    float:left;
    border-bottom: 1px solid #555;
}

.wrap > .menuBoldTitleBLyNoTab {
    height: 40px;
    width:100%;
    float:left;
    border-bottom: 2px solid #555;
}

.wrap > .subMenuTitleLyNoTab {
    height: 40px;
    width:100%;
    border-bottom: 1px solid #555;
    clear: both;
}

.menuTitleTabLy {
    width:-webkit-fill-available;
}

.wrap .menuTitle {
    font-weight: bold;
    font-size: 20px;
    color: #333;
    margin-left: 10px;
    float: left;
}

.wrap .nav_layout {
    float: right;
}

.wrap .settingSubtitle  {
    /*width: 100%;*/
    font-weight: bold;
    /*font-size: 20px;*/
    /*color: #333;*/
    /*margin-left: 10px;*/
    padding: 10px;
    /*float: left;*/
    /*clear: both;*/
    border-bottom: 1px solid #ddd; /* ← 연한 회색 선 */
}

.line1 {
    width: 100%;
    border: 1px solid #ccc;
    margin: 14px 0;
}

.nav-tabs {
    border-bottom: 1px solid #555 !important;
}

.nav-tabs > .nav-item > .active {
    background-color: #555 !important;
    color: #fff !important;
    border: 1px solid #555;
}

.nav-tabs .nav-link {
    color: #999;
}

.nav-tabs .nav-link:hover {
    border-color: #666 !important;
    isolation: isolate;
    color: #555;
}

.nav-item {
    margin-right: 5px;
}

.nav-tabs .nav_layout {
    margin-left: auto;
}

.nav_title {
    width: 200px;
    line-height: 40px;
}

/* default button - dark grey */
.nav_layout button,
.search_bar button,
.button_wrap button {
    font-size: 14px;
    height: 34px;
    min-width: 70px;
    color: #fff;
    background-color: #666;
    border-color: #666;
    padding: 0px 10px;
    border-radius: 5px;
    margin: 0px 2px;
}

.nav_layout button:hover,
.search_bar button:hover,
.button_wrap button:hover {
    background-color: #555;
    border-color: #555;
}

.nav_layout .btn-disabled,
.search_bar .btn-disabled,
.button_wrap .btn-disabled {
    background-color: #cccccc !important;
    border: 1px solid #cccccc !important;
    pointer-events: none;
    cursor: not-allowed;
}

/* button orange */
.nav_layout .btn2,
.search_bar .btn2,
.button_wrap .btn2 {
    background-color: #ff8a00;
    border-color: #ff8a00;
}

.nav_layout .btn2:hover,
.search_bar .btn2:hover,
.button_wrap .btn2:hover {
    background-color: #f87b00;
    border-color: #f87b00;
}

/* button blue */
.nav_layout .btn3 {
    background-color: #003399;
    border-color: #003399;
}

.nav_layout .btn3:hover {
    background-color: #042d7e;
    border-color: #042d7e;
}

/* button sky blue */
.nav_layout .btn4 {
    background-color: #729adf;
    border-color: #729adf;
}

.nav_layout .btn4:hover {
    background-color: #6890d6;
    border-color: #6890d6;
}

/* button red */
.nav_layout .btn5 {
    background-color: #f84534;
    border-color: #f84534;
}

.nav_layout .btn5:hover {
    background-color: #ef402f;
    border-color: #ef402f;
}

/* button light gray */
.nav_layout .btn6 {
    background-color: #999;
    border-color: #999;
}

.nav_layout .btn6:hover {
    background-color: #888;
    border-color: #888;
}

.content_wrap {
    width:100%;
    margin: 10px 0px;
    display: inline-block;
}

.table_style {
    border-radius: 10px;
    border-collapse: collapse;
    box-shadow: 0 0 0 1px #bbb;
    border-style: hidden;
}

.table_head {
    background-color: #fcda5e;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.table_head th {
    border-bottom-color: #bbb !important;
}

.table_head tr:first-of-type th:first-child {
    border-top-left-radius: 10px;
}

.table_head tr:first-of-type th:last-child {
    border-top-right-radius: 10px;
}

.page-item {
    margin: 0px 5px;
}

.page-item .page-link {
    z-index: 3;
    color: #999;
    background: none;
    border: none;
}

.page-item.active .page-link {
    z-index: 3;
    color: #ff8a00;
    background-color: #fff;
    border: none;
}

.page-link.page_step {
    color: #fff;
    background-color: #ff8a00;
    border-color: #ff8a00;
    border-radius: 50% !important;
    width: 30px;
    height: 30px;
    text-align: center;
}

.page-link.page_step .page_arrow {
    font-size: 11px;
    line-height: 22px;
}

.orange_txt {
    color: #ff8a00;
}

.orange_txt:hover {
    color: red;
}

.boardArea {
    margin-top: 15px;
    padding: 0px 0px 10px 0px;
}

.receiverList {
    width: 100%;
    min-height: 50px;
    max-height: 200px;
    overflow-y: auto;
    border: 1px solid #cccccc;
    border-radius: 10px;
    padding: 3px;
    margin-top: 10px;
}

.tagList {
    width: 100%;
    min-height: 50px;
    max-height: 200px;
    overflow-y: auto;
    border: 1px solid #cccccc;
    border-radius: 10px;
    padding: 10px;
    margin-top: 10px;
}

.commentList {
    width: 100%;
    max-height: 500px;
    overflow-y: auto;
    border: 1px solid #cccccc;
    border-radius: 10px;
    padding: 10px;
    margin-top: 10px;
}

/* readyonly 흰색 배경 처리 및 포인터 이벤트 삭제처리*/
input[readonly], .form-control[readonly] {
    border: none;
    background-color: #fff;
    pointer-events: none;
    user-select: text;
}

/* 사용법: <input class="readonly" readonly /> */
input[readonly].readonly,
textarea[readonly].readonly {
    border: 1px solid #ced4da; 
    background-color: #eef2f7;
}

/* 원생정보 */
.studentInfoLeftBox {
    width:500px;
    height:725px;
    border: 1px solid #cccccc;
    border-radius: 10px;
    padding: 5px;
    display: inline-block;
}

.studentInfoRightBox {
    display: inline-block;
}

.studentInfoRightBoxDown {
    width:996px;
    height:690px;
    border: 1px solid #cccccc;
    border-radius: 10px;
    padding: 10px;

    & input,
    & textarea,
    & label,
    & select,
    & option {
        font-size: inherit;
        font-family: inherit;
    }

    & #attendanceCheckboxes {
        font-size: 13px; /* 부트스트랩 css 오버라이딩 */
    }
}

.studentInfoPrint {
    width:996px;
    height:1790px;
    border: 1px solid #cccccc;
    border-radius: 10px;
    padding: 10px;
}

.infoTable {
    border-collapse: collapse;
    border-radius: 10px;
    border-style: hidden;
    box-shadow: 0 0 0 1px #cccccc;
    font-size: 13px;
    width: 100%;
}

.infoTable .cell {
    border: 1px solid #cccccc;
    text-align: left;
    padding: 5px;
}

.infoTable .subTitle {
    background-color: #fff7e1;
    width: 80px;
}

.infoTable select {
    margin: 0px 0px 0px 0px;
    height: 34px;
}

.studentInfoRightBoxTab .nav-item {
    margin: 0 -4px 1px 0;
}

.studentInfoRightBoxTab .nav-tabs {
    border-bottom: none !important;
}

.studentInfoRightBoxTab .nav-tabs .nav-link {
    background-color: #eeeeee;
    padding: 0px 30px;
    border-radius: 0 !important;
}

.studentInfoRightBoxTab .nav-tabs .nav-link.active {
    background-color: #fcda5e !important;
    color: #000 !important;
}

.studentInfoRightBoxTab .nav-tabs .nav-link:hover {
    color: #000;
    border: 1px solid #000;
}

.selected-row {
    background-color: #fff7e1;
}

.infoTable2 {
    border-collapse: collapse;
    border-radius: 10px;
    border-style: hidden;
    box-shadow: 0 0 0 1px #cccccc;
    font-size: 14px;
    width: 100%;
}

.infoTable2 th {
    background-color: #f5f5f5;
}

.infoTable2 tr:first-of-type th:first-child {
    border-top-left-radius: 10px;
}

.infoTable2 tr:last-of-type th:first-child {
    border-bottom-left-radius: 10px;
}

.list-form {
    border: 1px solid #cccccc;
    border-radius: 5px;
    width: 50%;
    height:120px;
    padding: 3px;
    overflow-y: scroll;
}

.clearfix::after {
    content: ".";
    clear: both;
    display: block;
    height: 0;
    visibility: hidden;
}

.itemTitle {
    color: #ff8a00;
    font-weight: bold;
}

.talkParent_menuTitle_explain {
    display: inline-block;
    margin: 4px 0px 0px 10px;
    color: blue;
    font-weight: bold;
}

button.btn2:disabled {
    background-color: #cccccc !important;
    border: 1px solid #cccccc !important;
}

/* table 헤더 고정 */
.fixedHeader {
	position:sticky;
	top:0px;
}

.deleteSmallBtn {
    cursor: pointer;

    &:hover {
        filter: brightness(0.8);
    }
}

.deleteEduClass {
    cursor: pointer;

    &:hover {
        filter: brightness(0.8);
    }
}

.no-margin {
    margin: 0 !important;
}

.radio_wrap input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border: 1px solid #ced4da;
    border-radius: 50%;
    background: #fff;
    outline: none;
    cursor: pointer;
    position: relative;
    margin: 0;
}

.radio_wrap input[type="radio"]:checked {
    /* border-color: #ff8a00; */
    background: #fff;
}

.radio_wrap input[type="radio"]:checked::before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #ff8a00;
    position: absolute;
    top: 3px;
    left: 3px;
}

.is-required::before {
    content: "*";
    color: red;
    margin-right: 2px;
    font-size: 12px;
    font-weight: bold;
}