
.mobile_show {display:block;}
.mobile_hide {display:none;}

*::-webkit-scrollbar {width:6px; height:6px;}
*::-webkit-scrollbar-thumb {height:30%; background:#999999; border-radius:3px;}
*::-webkit-scrollbar-thumb:hover {background:#7d7d7d;}
*::-webkit-scrollbar-track {background:#dddddd;  /*스크롤바 뒷 배경 색상*/}

#header_m {/*display:flex; justify-content: center; align-items: center;*/ height:80px; position:fixed; width:100%; top:0; left:0; box-shadow:0px 4px 4px rgba(0,0,0,.1); z-index:10; background:#fff;}
#header_m h1 {position:absolute; top:50%; left:50%; transform:translate(-50%, -50%);}
#header_m h1 a {display:inline-block; height:24px;}
#header_m h1 img {height:100%;}
#header_m button {position:absolute; top:50%; transform:translateY(-50%); font-size:40px; padding:0;}
#header_m .btn_view_menu {left:14px;}
#header_m .btn_my {right:14px;}

.menu_modal {position:fixed; z-index:8; width:100%; height:100%; top:0; left:0; background:rgba(0,0,0,.6); display:none;}
#menu_m {width:280px; height:calc(100% - 80px); background:#fff; border-right:1px solid #d9d9d9; position:fixed; top:80px; left:-290px; z-index:9; padding:40px 20px;}
#menu_m .info {margin-bottom:40px;}
#menu_m .info p {line-height:1.4; margin-bottom:10px; font-size:16px;}
#menu_m .info p:last-child {margin-bottom:0;}
#menu_m .info p span {font-weight:bold;}
#menu_m .gnb {margin-bottom:40px; border-top:1px solid #d9d9d9; border-bottom:1px solid #d9d9d9;}
#menu_m .gnb li {border-bottom:1px solid #d9d9d9; position:relative;}
#menu_m .gnb li:last-child {border-bottom:none;}
#menu_m .gnb li a {padding:20px 0; display:block;}
#menu_m .gnb li a .bi {position:absolute; right:20px; top:50%; transform:translateY(-50%);}
#menu_m .btn_logout {margin-top:40px; display:block;}

#menu_m .view_rules {padding:0; display:block; width: 100%; margin-top:20px;}

.btn_attendance {width:100%;}

input[type="text"],
input[type="number"],
input[type="date"],
input[type="time"],
input[type="password"],
input[type="search"],
select {height:40px; line-height:40px; padding:0 10px; border:1px solid #999; vertical-align:middle; border-radius:4px; max-width:800px; min-width:100px; padding:0 5px; background:#fff; color:#333; font-size:14px;}

input[type="search"] {padding:0 5px; border-radius:4px;}

input[type="number"] {width:80px; text-align:right;}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {-webkit-appearance:none; margin:0;}

select::-ms-expand {
  display: none;
}

/*input[type="radio"] {display:inline-block; vertical-align:middle; margin:10px 0; margin-right:5px;}
input[type="radio"] + label {display:inline-block; vertical-align:middle; margin:10px 0; margin-right:20px;}*/

label {padding-right:0;}

input[type="radio"] {display:none; vertical-align:middle;}
input[type="radio"] + label {cursor:pointer; position:relative; margin-right:30px; vertical-align:middle; display: flex; align-items: center; height: 19px;}
input[type="radio"] + label:before {content:""; display:inline-block; width:17px; height:17px; border:1px solid #999; margin-right: 5px; border-radius:50%; background:#fff;}
input[type="radio"]:checked + label:after {content:""; position:absolute; width:9px; height:9px; border-radius:50%; background:#177bff; background-size:100%; top: 5px; left: 5px;}
input[type="radio"] + label span {vertical-align:middle; margin-left: 5px;}

input[type="checkbox"] {display:none; vertical-align:middle;}
input[type="checkbox"] + label {cursor:pointer; position:relative; margin-right:30px; vertical-align:middle; display: flex; align-items: center; height: 19px;}
input[type="checkbox"] + label:before {content:""; display:inline-block; width:17px; height:17px; border:1px solid #999; margin-right:5px; background:#fff;}
/*input[type="checkbox"]:checked + label {background:url('/img/checked.png') no-repeat 100%;}*/
input[type="checkbox"]:checked + label:after {content:""; position:absolute; width:17px; height:17px; top: 0; left: 0; background:url('/img/checked.png') no-repeat 3px 5px; background-size: 13px 9px; z-index:1;}
input[type="checkbox"] + label span {vertical-align:middle; margin-left: 5px;}

input[type="number"] + label {margin-left:5px;}


input:disabled {opacity:.3;}
/*input:read-only {opacity:.3;}*/
input[type="radio"]:disabled + label {opacity:.3;}

textarea {border:1px solid #999; border-radius:0; font-size:16px; padding:10px; font-family:'Pretendard'; width:100%; resize:vertical; min-height:100px; max-width:800px;}
button {cursor:pointer; background:none; border:none; color:#333;}
button:disabled {cursor:default;}


.search_list_data {position: absolute; background: #fff; border:1px solid #999 !important; border-radius:0 0 4px 4px; padding:0 !important;}
.search_list_data li {margin-bottom:0 !important; padding:10px 5px;}
.search_list_data li:hover {cursor:pointer; background:rgba(188, 210, 238, 0.2);}


#login {position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); width:530px;}
#login img {width: 162px;}
#login span {font-size: 16px; font-weight: bold; color: #848484;}
#login p {font-size: 14px; font-weight: bold; margin:5px 0 10px; color: #235FAF;}
#login .form_wrap {width: 100%; border: 1px solid #d9d9d9;}
#login .form_wrap_inner {padding: 60px; position: relative; display:flex; gap:20px;}
#login .form_wrap_inner label {font-size: 16px; font-weight: bold; color: #333; width:100px; text-align: justify;}
#login .form_wrap_inner input {width: 280px; height: 40px; border: 1px solid #d9d9d9; padding:0 10px; width:calc(100% - 100px);}
#login .form_wrap_inner input:focus {outline: none !important; border-color: #235FAF;}
#login .form_wrap_inner .input_wrap {margin-bottom: 20px; display:flex; align-items: center;}
#login .form_wrap_inner .input_wrap:last-child {margin-bottom:0;}
#login .form_wrap_inner button {width: 105px; height: 100px; background: #235FAF; color: #fff; font-size: 16px; font-weight: bold; border-radius: 0px; border: none; border-radius:4px;}
#login .form_wrap_inner button:hover {cursor:pointer; background:#1a5198;}
.keep_login {margin-top:20px; display:none;}

@media screen and (max-width:570px){
  #login {width:100%; text-align: center;}
  #login span {display:none;}
  #login .form_wrap {border:none; margin-top:40px;}
  #login .form_wrap_inner {padding:0; display:block; padding:0 20px;}
  #login .form_wrap_inner label {display:none;}
  #login .form_wrap_inner input {width:100%; height:50px; font-size:1.1rem;}
  #login .form_wrap_inner button {display:block; width:100%; height:50px; margin-top:20px; font-size:1.1rem;}
  .keep_login {padding:0 20px; margin-top:50px; /*display: flex;*/ justify-content: center;}
}

.popup_btn_area {display:flex; justify-content:center; align-items:center; gap:20px; margin:40px 0; height:40px; padding:20px;}
.submit_btn_area {font-size:0; margin:40px 0; height:40px;}
.btn_area_left {float:left; display:flex; gap:10px;}
.btn_area_right {float:right; display:flex; gap:10px;}

.btn_box {display:flex; height:40px; padding:0 20px; border-radius:4px; vertical-align:middle; font-size:14px; font-weight:normal; text-align:center; align-items: center; justify-content: center; flex-direction: row;}
.btn_box span {display:inline-block;}
.btn_box.disabled, .btn_box:disabled {opacity:0.3; cursor:default;}
.btn_txt {border:none; background:none;}
.btn_txt:not(:disabled):hover {cursor:pointer; opacity:.6;}
.btn_txt:disabled {opacity:.3;}

.layout_m .btn_box {height:50px; font-size:1rem; border-radius: 0.5rem;}

.btn_close_ex {position:absolute; top:10px; right:10px; font-size:30px; padding:0;}
.btn_icon {position:absolute; top:50%; right:0; transform:translateY(-50%); font-size:20px; width:50px;}

.btn_box .bi {margin-right:10px; font-size:20px; margin-top:3px;}
.btn_box.btn_only_icon .bi {margin-right:0;}

.btn_rnd {display:flex; height:40px; padding:0 20px; min-width:120px; border-radius:20px; vertical-align:middle; font-size:16px; font-weight:normal; text-align:center; align-items: center; justify-content: center; flex-direction: row;}
.btn_rnd .bi {margin-right:5px; font-size:20px; display:flex;}
.btn_rnd.btn_only_icon .bi {margin-right:0;}

.layout_m .btn_rnd {height:50px; font-size:1rem; border-radius:25px;}

.btn_black {background:#333; color:#fff; border:1px solid #333;}
.btn_black:not(:disabled):hover {background:#000; border:1px solid #333;}
.btn_black .bi {color:#fff;}
.btn_red {background:#e50a0a; color:#fff; border:1px solid #e50a0a;}
.btn_red:not(:disabled):hover {background:#e50a0a; border:1px solid #e50a0a;}
.btn_red .bi {color:#fff;}
.btn_red_line {background:#fff; color:#e50a0a; border:1px solid #e50a0a;}
.btn_red_line .bi {color:#e50a0a;}
.btn_red_line:not(:disabled):hover {background:#ffe6e6; border:1px solid #e50a0a;}
.btn_black_line {background:#fff; color:#333; border:1px solid #333;}
.btn_black_line:not(:disabled):hover {background:#eee; border:1px solid #333;}
.btn_blue {background:#235faf; color:#fff; border:1px solid #235faf;}
.btn_blue:not(:disabled):hover {background:#1c549d; border:1px solid #235faf;}
.btn_blue .bi {color:#fff;}
.btn_white {background:#fff; color:#333; border:1px solid #ccc;}
.btn_white:not(:disabled):hover {background:#eee; border:1px solid #ccc;}
.btn_excel {background:#217346; color:#fff; border:1px solid #217346;}
.btn_excel:not(:disabled):hover {background:#1a633b; border:1px solid #1a633b;}

.btn_rnd:disabled {background:#e9e9e9; color:#333; border:1px solid #ccc;}


#page_title {font-size:1.4rem; font-weight:bold; line-height:1.3;}
@media screen and (max-width:480px){
  #page_title {font-size:1.3rem;}
}
@media screen and (max-width:380px){
  #page_title {font-size:1.2rem;}
}
@media screen and (max-width:280px){
  #page_title {font-size:1.1rem;}
}

.board_list {margin-bottom:20px;}
.no_list {font-size:18px; text-align:center; padding:60px 0;}
.no_list span {vertical-align:middle;}
.no_list .bi {color:#698ee3; margin-right:5px; vertical-align:middle; font-size:22px;}


.ctl {display:flex; justify-content: center; align-items: center;}

.write_layout ul {display:block !important; padding-bottom:20px;}
.write_layout ul li {width:100%; display:flex; font-size:0; line-height:unset !important; margin-bottom:40px; align-items: center;}
.write_layout ul li:last-child {margin-bottom:0;}
.write_layout ul li > div {display:flex; align-items: flex-start; flex-wrap: wrap; font-size:16px;}
.write_layout ul li .title {width:200px; position:relative;}
.write_layout ul li .cont {width:calc(100% - 200px);}
.write_layout ul li input {height:40px; line-height:40px;}
.write_layout ul li #subject,
.write_layout ul li #content {width:100%;}
.write_layout ul li .input_block {display:flex; gap:10px; margin-bottom:10px; width: 100%; align-items: center;}
.write_layout ul li .input_block:last-child {margin-bottom:0;}
.write_layout ul li .input_block.vertical_center {align-items: center;}
.write_layout .color_input_block {display:flex; gap:10px; align-items: center; margin-right:30px;}

.ql-toolbar {width:800px; border-radius:4px 4px 0 0;}
#editor {width:800px; border-radius:0 0 4px 4px;}

.btn_add_input, .btn_del_input {font-size:20px; width:40px; padding:0;}

.write_layout ul li .title.required:before {content:"*"; color:red; position:absolute; top:0; left:-10px; font-size:20px;}
.guide {margin-top:10px; font-size:16px; line-height:1.3; color:#000; font-weight:normal; text-align: left;}
.guide.top {margin-top:0; margin-bottom:10px;}
.guide.blue {color:blue;}
.guide.red {color:red;}
.guide_link {margin-top:10px;}
.guide.bottom {margin-top:20px;}

.list_layout table {width:100%;}
.list_layout td {cursor:pointer;}
.list_layout.main {margin-bottom:60px;}

.view_layout ul {display:block !important;}
.view_layout ul li {width:100%; display:block; font-size:0; line-height:1.4 !important; margin-bottom:20px;}
.view_layout ul li > div {display:inline-block; vertical-align:middle; font-size:16px;}
.view_layout ul li .title {width:100px; font-weight:bold;}
.view_layout ul li .cont {width:calc(100% - 100px);}
.view_layout ul li input {height:40px; line-height:40px;}
.view_layout ul li #subject,
.view_layout ul li #content {width:100%;}
.view_layout ul li .file img {max-height:200px; border-radius:10px;}
.view_layout ul li .btn_download {margin-top:10px; line-height:38px; display:inline-block;}
.view_layout ul li .btn_download .bi {margin-right:4px; font-size:20px; vertical-align:middle;}
.view_layout ul li .btn_download span {vertical-align:middle;}
.view_layout ul li .content {border:1px solid #d9d9d9; padding:20px; max-width: 800px; width: 100%;}
.view_layout ul li .content img {max-width:100%;}

.view_layout.layout_m ul li {border-bottom:1px solid #d9d9d9; padding-bottom:20px;}
.view_layout.layout_m ul li > div {display:block;}
.view_layout.layout_m ul li .title {margin-bottom:10px;}
.view_layout.layout_m ul li .cont {width:100%;}
.view_layout.layout_m ul li .content {border:none; padding:0; max-width:unset;}

.view_layout .view_closeup {position:relative; display:inline-block; max-height:200px; border-radius:10px; overflow:hidden;}
.view_layout .closeup_indicator {display:flex; position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,.3); color:#fff; font-size:40px; border-radius:10px; justify-content:center; align-items:center; opacity:0;}
.view_layout .view_closeup:hover .closeup_indicator {opacity:1;}
.view_layout .view_closeup img {height:100%;}


.member_layout > div:not(.submit_btn_area) {border-bottom:1px solid #d9d9d9; padding:20px 0; display:flex; gap:40px;}
.member_layout .profile {align-items:center;}
.member_layout .profile .photo {width:160px; height:200px; border:1px solid #d9d9d9; border-radius:10px; overflow:hidden; position:relative;}
.member_layout .profile .photo img {width:100%; height:100%;}
.member_layout .profile .photo .bi {position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); font-size:80px; color:#d9d9d9;}
.member_layout ul {display:block !important; border:none !important; margin-bottom:0 !important; padding-bottom:0 !important; width:50%;}
.member_layout ul li {width:100%; display:block; font-size:0; line-height:1.4 !important; margin-bottom:20px;}
.member_layout ul li > div {display:inline-block; vertical-align:middle; font-size:16px;}
.member_layout ul li .title {width:150px; font-weight:bold;}
.member_layout ul li .cont {width:calc(100% - 150px);}

.member_layout.layout_m > div {display:block;}
.member_layout.layout_m .profile .photo {display:block; margin:0 auto 40px;}
.member_layout.layout_m ul {width:100%;}

/* 로딩 애니메이션 */
#buffering_modal {width:100%; height:100%; top:0; left:0; position:fixed; z-index:99999; display:flex; align-items: center; justify-content: center; flex-direction: column; background:rgba(255,255,255,.7);}
#buffering {width:80px; height:80px; transform-origin:center; position:relative;}
#buffering .buff_rotate {width:100%; height:100%; position:absolute; top:50%; left:50%; transform:translate(-50%, -50%);}
#buffering .buff_bar_space {width:6px; height:100%; position:absolute; top:50%; left:50%; transform:translate(-50%, -50%);}
#buffering .buff_bar {width:4px; height:24px; background:#2864f0; position:absolute; top:0; left:50%; transform:translateX(-50%); border-radius:2px;}
#buffering_modal p {font-size:16px; color:#333; text-align:center; margin-top:20px;}


.img_closeup {position:fixed; z-index:9999; width:100%; height:100%; top:0; left:0; background:rgba(0,0,0,.7);}
.img_closeup img {position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); max-width:calc(100% - 20px); max-height:calc(100% - 20px);}
.img_closeup .btn_download {position:absolute; top:200px; left:50%; transform:translateX(-50%); line-height:40px;}
.img_closeup .btn_download .bi {font-size:20px; vertical-align:middle; margin-right:4px;}
.img_closeup .btn_download span {vertical-align:middle;}


/* 파일 업로드 관련 */
.file_upload_area {font-size:0;}
.file_upload_area .file_name {font-size:14px;}
.file_upload_area label {display:flex; width:100px; height:100px; color:#ccc; border:1px solid #ccc; border-radius:10px; font-size:40px; align-items:center; justify-content:center;}
.file_upload_area label:hover {cursor:pointer;}
.file_upload_area input[type="file"] {position:absolute; width:0; height:0; padding:0; overflow:hidden; border:0;}
.file_upload_area .upload_display {display:inline-block; position:relative;}
.file_upload_area .upload_display .upload_thumb {max-height:200px; border-radius:10px;}
.file_upload_area .upload_display .del_file {position:absolute; color:red; cursor:pointer; font-size:20px; font-weight:bold; width:unset; height:unset; border-radius:unset; border:none; background:none; padding:0;}
.file_upload_area .upload_display.image .del_file,
.file_upload_area .upload_display.video .del_file {top:0px; right:-25px;}
.file_upload_area .upload_display.file .del_file {top:50%; right:-25px; transform:translateY(-50%);}
.file_upload_area .upload_display.image .file_name,
.file_upload_area .upload_display.video .file_name {margin-top:5px; font-size:14px;}
.file_upload_area .upload_display.file .file_name {font-size:14px;}

.member_upload_by_excel {margin-top:20px; display: flex; justify-content: flex-end; gap: 10px;}
.excel_upload_area {font-size:0; font-size: 0; display: flex; align-items: center; color: #333;}
.excel_upload_area .file_name {font-size:14px;}
.excel_upload_area label {display:flex; align-items:center; justify-content:center;}
.excel_upload_area label:hover {cursor:pointer;}
.excel_upload_area input[type="file"] {position:absolute; width:0; height:0; padding:0; overflow:hidden; border:0;}
.excel_upload_area .upload_display {display: flex; position: relative; align-items: center; gap: 5px;}
.excel_upload_area .upload_display .del_file {color:red; cursor:pointer; font-size:20px; font-weight:bold; width:unset; height:unset; border-radius:unset; border:none; background:none; padding:0;}
.excel_upload_area .upload_display.file .file_name {font-size:14px;}

/* 팝업 관련 */
.popup {position:fixed; width:100%; height:100%; top:0; left:0; background:rgba(0,0,0,.6); z-index:9999;}
.popup .popup_box {position:absolute; width:calc(100% - 80px); max-width:800px; max-height:calc(100% - 80px); background:#fff; overflow: hidden; text-align:center; border-radius: 14px; top:50%; left:50%; transform:translate(-50%, -50%); box-shadow: 0 0 10px rgba(0,0,0,.3); border-top: 4px solid #84abe9;}
.popup .popup_box .popup_scroll {overflow-y:auto; width:100%; height:100%;}

.popup .popup_box.large {width:calc(100% - 80px); max-width:1000px; height:calc(100% - 80px); max-height:800px;}
.popup.layout_m .popup_box {width:calc(100% - 40px); max-width:unset; height:calc(100% - 40px); max-height:unset; min-width:unset;}

.popup .popup_head {height:100px; display:flex; justify-content: center; align-items: center; flex-direction: column;}
.popup .popup_head p {line-height:1.4;}
.popup .popup_head .title {font-size:25px; font-weight:bold;}
.popup .btn_area {text-align:center; margin-top:40px; padding-bottom:40px; display:flex; gap: 10px; justify-content: center;}
.popup .submit_btn_area {padding:40px 20px; margin-top:0;}
.popup .input_block {display:block; margin-bottom:10px; position:relative;}
.popup .input_block input {width:100%; padding-right:50px;}

.popup .popup_cont {padding:0 40px;}
.popup.layout_m .popup_cont {padding:0 20px;}
.popup .popup_cont ul {border-top:1px solid #d9d9d9;}
.popup .popup_cont li {display:flex; align-items: center;}
.popup .popup_cont ul.list_head li span {display:inline-block; height:50px; line-height:50px; font-weight:bold;}
.popup .popup_cont ul.list_body li {border-bottom:1px solid #d9d9d9; margin-bottom:20px; padding:20px 0;}
.popup .popup_cont ul.list_body li:hover {cursor:pointer; background:rgba(188, 210, 238, 0.2)}
.popup .popup_cont ul.list_body li span {display:inline-block; line-height: 1.3;}

.popup .popup_cont li > div {text-align:left;}
.popup .popup_cont li > div:first-child {width:120px;}
.popup .popup_cont li > div:last-child {width:calc(100% - 120px);}
.popup .popup_cont li.no_list {justify-content: center;}

@media screen and (max-width:524px){
  .popup.layout_m .submit_btn_area {height:auto;}
  .popup.layout_m .submit_btn_area > div {display:block; width:100%; float:unset;}
  .popup.layout_m .submit_btn_area button,
  .popup.layout_m .btn_area button,
  .popup.layout_m .popup_btn_area button {display:block; width:100%; margin-bottom:10px;}

  .popup.layout_m .btn_delete {margin-top:50px;}
}

.make_popup .input_block {display:flex; gap:20px; margin-bottom:20px; align-items: center;}
.make_popup .input_block input {width:50%;}
.make_popup .color_input_block {display:flex; gap:10px; align-items: center; width:50%;}
.make_popup .color_input_block input {width:calc(100% - 42px) !important;}

@media screen and (max-width:520px){
  .make_popup input {display:block; margin-bottom:10px; width:100%;}
}

.schedule_popup .popup_cont ul.list_body li {margin-bottom:0;}
.schedule_popup .popup_cont .type {width:120px;}
.schedule_popup .popup_cont .subject {width:calc(100% - 440px);}
.schedule_popup .popup_cont .period {width:200px;}
.schedule_popup .popup_cont .name {width:120px;}

.schedule_reg_popup .popup_box ul {padding:20px 0; border-bottom:1px solid #d9d9d9;}
.schedule_reg_popup .popup_box ul li {margin-bottom:20px;}
.schedule_reg_popup .popup_box ul li:last-child {margin-bottom:0;}
.schedule_reg_popup .popup_box ul li #schedule_subject {width:100%;}
.schedule_reg_popup .popup_box select {min-width:unset;}

@media screen and (max-width:524px){
  .popup:not(.member_select_popup).layout_m .popup_cont li {display:block;}
  .popup:not(.member_select_popup).layout_m .popup_cont li > div {display:block; width:100% !important;}
  .popup:not(.member_select_popup).layout_m .popup_cont li > div:first-child {margin-bottom:10px; font-weight:bold;}

  .popup.layout_m .popup_cont li > div.period {display:flex; align-items: center; gap: 10px;}

  /* .popup .popup_cont #start_date,
  .popup .popup_cont #end_date {width:100%; margin-bottom:10px;}
  #start_hour, #start_minute, #end_hour, #end_minute {width:calc((100% - 10px) / 2);}
  #start_hour, #end_hour {margin-right:10px;} */
}

/* 일정 상세보기 팝업 */
.schedule_view_popup .popup_box ul {padding:20px 0; border-bottom:1px solid #d9d9d9;}
.schedule_view_popup .popup_box ul li {margin-bottom:20px;}
.schedule_view_popup .popup_box ul li:last-child {margin-bottom:0;}
.schedule_view_popup .popup_box ul li div:first-child {width:120px;}
.schedule_view_popup .popup_box ul li div:last-child {width:calc(100% - 120px);}
.schedule_view_popup .popup_box ul li .schedule_subject {width:100%;}

/* 일정 상세보기 팝업 */
.offday_view_popup .popup_box {max-width:400px;}
.offday_view_popup .popup_box ul {padding:20px 0; border-bottom:1px solid #d9d9d9;}
.offday_view_popup .popup_box ul li {margin-bottom:20px;}
.offday_view_popup .popup_box ul li:last-child {margin-bottom:0;}
.offday_view_popup .popup_box ul li div:first-child {width:120px;}
.offday_view_popup .popup_box ul li div:last-child {width:calc(100% - 120px);}
.offday_view_popup .popup_box ul li .schedule_subject {width:100%;}

.rules_popup .popup_box .popup_cont{height:calc(100% - 100px); overflow-y:auto;}
.rules_popup .popup_box .content {white-space:pre-wrap; text-align:justify; margin-bottom:100px;}

/* 공지팝업 */
.notice_popup {position:fixed; background:#fff; border-radius:4px; box-shadow: 2px 2px 10px rgba(0,0,0,.3); overflow:hidden;}
.notice_popup .head {height:50px; background:#666; color:#fff; display: flex; align-items: center; padding:0 10px; border:1px solid #666; cursor:move;}
.notice_popup .head .bi {margin-right:5px;}
.notice_popup .content {border:1px solid #999; border-bottom:none; overflow-y: auto;}
.notice_popup .content img {max-width:100%;}
.notice_popup .bottom_bar {background:#666; color:#fff; display: flex; align-items: center; justify-content: space-between; padding:10px; border:1px solid #666;}
.notice_popup .bottom_bar .bar_area {display: flex; align-items: center;}
.notice_popup .bottom_bar .bar_area label {font-size:12px;}

@media screen and (max-width:768px){
  .notice_popup {max-width:calc(100% - 40px) !important; max-height:calc(100% - 40px) !important; top: 20px !important; left:20px !important;}
}

@media screen and (max-width:420px){
  .bottom_bar {display:block !important;}
  .bottom_bar .bar_area {justify-content: space-between;}
}

/* 상단 메뉴 */
#header #menu ul.gnb > li {position:relative;}
#header #menu ul.gnb > li > span:hover,
#header #menu ul.gnb > li > a:hover {opacity:0.6;}
#header #menu ul.gnb > li > span {display:inline-block; cursor:pointer;}
#header #menu ul.gnb > li .bi {position:absolute; bottom:-21px; left:50%; transform:translateX(-50%);}
#header #menu ul.sub_menu {position:absolute; top:50px; left:-20px; display:block; border:1px solid #d9d9d9; border-top:none; background:#fff; z-index:2; box-shadow:2px 2px 3px rgba(0,0,0,.15);}
#header #menu ul.sub_menu li {width:300px; display:block; border-bottom:1px solid #d9d9d9;}
#header #menu ul.sub_menu li:last-child {border-bottom:none;}
#header #menu ul.sub_menu li a {padding:20px; display:block;}
#header #menu ul.sub_menu li a:hover {background:rgba(188, 210, 238, 0.2);}



/* 검색 영역 */
#search_wrap, #mode_select {display:flex; gap:10px; align-items: center; flex-wrap: wrap; position: absolute; top: 0; right: 0; color: #000; font-size: 16px;}
#search_wrap .btn_search,
#mode_select .btn_search {min-width:unset; width:40px; padding:0;}
#search_wrap .input_block,
#mode_select .input_block {display:flex; gap:10px; align-items:center;}
#search_wrap .input_block label,
#mode_select .input_block label {font-size:16px; font-weight:normal; color:#333;}
.link {font-size:16px; font-weight:normal; display:inline-block;}
.btn_txt .bi {margin-right:5px;}

/* 모바일 */
#mobile_layout #search_wrap {position:static;}

@media screen and (max-width:420px){
  #mobile_layout #search_wrap select,
  #mobile_layout #search_wrap input[type='search'] {width:100%; margin-bottom:5px;}
  #mobile_layout #search_wrap .btn_search {width:100%; display:block;}
}

/* 페이징 네비게이션 */
.paging {text-align:center; display:flex; justify-content:center; align-items:center; gap:0px; margin-top: 40px;}
.paging button {background:none; border:none; color:#333; padding:7px;}
.paging button.on {color:#177bff; font-weight:bold; cursor:default;}


/* 달력 */
#calendar {position:relative;}
.calendar_navi {display:flex; justify-content: center; align-items: center; gap: 50px; margin-bottom:40px;}
.calendar_navi .prev {color:#ccc; font-size:20px;}
.calendar_navi .now {font-size:30px; font-weight:bold;}
.calendar_navi .next {color:#ccc; font-size:20px;}
.calendar_navi button {font-size:30px;}
.calendar_navi button.btn_prev {margin-right:20px;}
.calendar_navi button.btn_next {margin-left:20px;}
#calendar table {table-layout:fixed; opacity:0;}
#calendar table th, #calendar table td {width:calc(100% / 7); border:1px solid #d9d9d9;}

#calendar thead tr {box-shadow:none !important;}
#calendar thead th {height:50px; line-height:50px; text-align:center;}
#calendar tbody td {height:160px; position:relative; line-height: unset; vertical-align: top;}
#calendar tbody td.prev, #calendar tbody td.next {background:rgba(0,0,0,.03); color:#ccc;}
#calendar tbody td span {position:absolute; top:10px; left:10px; line-height:1; font-size:16px;}
#calendar tbody td.today {border:2px solid var(--color-main);}
#calendar tbody td.today .today_indicator {position:absolute; top:0px; left:0px; width:0; height:0; border:6px solid transparent; border-left:6px solid var(--color-main); border-top:6px solid var(--color-main); z-index:1; display:flex; border-radius:0; transition:all ease .1s;}
#calendar tbody td.today .today_indicator p {font-size:.8rem; color:#fff; display:none;}
#calendar tbody td.today .today_indicator:hover {width:auto; height:auto; padding:10px 12px; background:var(--color-main); border-width:0; border-radius:0 0 4px 0; transition:all ease .1s;}
#calendar tbody td.today .today_indicator:hover p {display:block;}

#calendar tbody tr:hover {background:none !important;}

#calendar .calendar_btn_area {position:absolute; bottom:10px; right:10px; display:none; gap:10px;}
#calendar .calendar_btn_area button {opacity:.1; width:30px; height:30px; display:flex; background:#000; color:#fff; border-radius:50%; justify-content: center; align-items: center;}
#calendar .calendar_btn_area button .bi {line-height:1; font-size:16px;}
#calendar .calendar_btn_area button:hover {opacity:.3;}
#calendar .table_schedule tbody tr td.now:hover .calendar_btn_area {display:flex;}

#calendar tr th:first-child,
#calendar tr td:first-child {color:red;}
#calendar tr td.prev:first-child,
#calendar tr td.next:first-child {color:#f0b3b3;}
#calendar tr th:last-child,
#calendar tr td:last-child {color:blue;}
#calendar tr td.prev:last-child,
#calendar tr td.next:last-child {color:#bebeff;}
#calendar tr td.holiday {color:red;}
#calendar tr td.prev.holiday,
#calendar tr td.next.holiday {color:#f0b3b3;}
#calendar tr td em {position:absolute; top:10px; right:10px; line-height:1; font-size:16px; max-width:calc(100% - 30px); font-style: normal; white-space: nowrap; text-overflow: ellipsis; overflow: hidden;}

#calendar .schedule_btn_block {width:100%; height:30px; padding:1px 0; position:absolute;}
#calendar .schedule_btn_block.start {padding-left:10px;}
#calendar .schedule_btn_block.end {padding-right:10px;}
#calendar .schedule_btn_block.start .btn_schedule {border-top-left-radius:5px; border-bottom-left-radius:5px;}
#calendar .schedule_btn_block.end .btn_schedule {border-top-right-radius:5px; border-bottom-right-radius:5px;}

#calendar .btn_schedule {width:100%; height:100%; text-align:left; padding:0 10px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; word-break:break-all; margin-bottom:3px;}
#calendar tbody td.prev .btn_schedule,
#calendar tbody td.next .btn_schedule {opacity:.6;}
#calendar .btn_schedule.hover {filter: saturate(1.2) brightness(0.96);}

#calendar .offday_btn_block {width:100%; height:30px; padding:1px 10px; position:absolute;}
#calendar .offday_btn_block.am {padding-right:40%;}
#calendar .offday_btn_block.pm {padding-left:40%;}
#calendar .offday_btn_block .btn_offday {width:100%; height:100%; text-align:left; padding:0 10px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; word-break:break-all; margin-bottom:3px; border-radius:5px; cursor:default;}

#calendar .btn_offday:hover {filter: saturate(1.2) brightness(0.96); cursor:pointer;}


/* 모바일 달력 */
#calendar.layout_m .calendar_navi {margin-bottom:30px;}
#calendar.layout_m .calendar_navi button {font-size:24px;}
#calendar.layout_m .calendar_navi .prev {display:none;}
#calendar.layout_m .calendar_navi .now {font-size:24px;}
#calendar.layout_m .calendar_navi .next {display:none;}
#calendar.layout_m .table_schedule,
#calendar.layout_m .table_offday {margin-top:40px; width: 100%;}

@media screen and (max-width:768px){
  #calendar.layout_m .table_schedule th,
  #calendar.layout_m .table_offday th {font-size:14px;}
  #calendar.layout_m .table_schedule td span,
  #calendar.layout_m .table_schedule td em,
  #calendar.layout_m .table_offday td span,
  #calendar.layout_m .table_offday td em {font-size:14px;}
  #calendar.layout_m .schedule_btn_block.start {padding-left:3px;}
  #calendar.layout_m .schedule_btn_block.end {padding-right:3px;}
  #calendar.layout_m .btn_schedule {padding:0 3px; font-size:12px;}
}

@media screen and (max-width:612px){
  #calendar.layout_m .table_schedule th,
  #calendar.layout_m .table_offday th {font-size:12px;}
  #calendar.layout_m .table_schedule td span,
  #calendar.layout_m .table_schedule td em,
  #calendar.layout_m .table_offday td span,
  #calendar.layout_m .table_offday td em {font-size:12px;}
  #calendar.layout_m .schedule_btn_block.start {padding-left:2px;}
  #calendar.layout_m .schedule_btn_block.end {padding-right:2px;}
  #calendar.layout_m .btn_schedule {padding:0 2px; font-size:11px;}
}

@media screen and (max-width:532px){
  #calendar.layout_m .table_schedule th,
  #calendar.layout_m .table_offday th {font-size:10px;}
  #calendar.layout_m .table_schedule td span,
  #calendar.layout_m .table_schedule td em,
  #calendar.layout_m .table_offday td span,
  #calendar.layout_m .table_offday td em {font-size:10px;}
  #calendar.layout_m .btn_schedule {font-size:9px;}
}

@media screen and (max-width:380px){
  #calendar.layout_m .table_schedule th,
  #calendar.layout_m .table_offday th {font-size:9px;}
  #calendar.layout_m .table_schedule td span,
  #calendar.layout_m .table_schedule td em,
  #calendar.layout_m .table_offday td span,
  #calendar.layout_m .table_offday td em {font-size:9px;}
  #calendar.layout_m .btn_schedule {font-size:8px;}
}

.page_title {text-align:left; font-size:30px; font-weight:bold; margin-bottom:40px; color:var(--color-main); position:relative;}
/*.page_title span{position:absolute; right:0px;}
.page_title span a{text-align:right; font-size:16px; color:#7B7B7B;}*/
.page_title.layout_m {font-size:30px;}


/* 직원 선택 팝업 */
.member_select_popup .member_list li span {height:50px; line-height:50px;}
.member_select_popup .member_list li span.chk {width:10%; display:flex; justify-content: center; align-items: center;}
.member_select_popup .member_list li span.team {width:30%;}
.member_select_popup .member_list li span.position {width:30%;}
.member_select_popup .member_list li span.name {width:30%;}
.member_select_popup .member_list li span.chk label {margin-right:0;}
.member_select_popup .member_list li span.chk label:before {margin-right:0;}
.member_select_popup .member_list .li_cont li {border-bottom:1px solid #d9d9d9;}
.member_select_popup .member_list .li_cont li:hover {cursor:pointer; background:rgba(188, 210, 238, 0.2);}
.schedule_reg_popup .selected_member {font-size:16px; margin-top:10px;}

@media screen and (max-width:524px){
  .member_select_popup .member_list li span.chk {width:20%;}
  .member_select_popup .member_list li span.team {display:none;}
  .member_select_popup .member_list li span.position {width:40%;}
  .member_select_popup .member_list li span.name {width:40%;}
}

.auto_logout_popup .remain_time {color:red;}


/* 모바일 레이아웃 시작 */
#mobile_layout {position:relative; top:81px; width:100%;}
#mobile_layout .layout_inner {padding:40px 20px; min-height:calc(100vh - 280px);}
#mobile_layout .board_list table caption {font-size:30px; font-weight:bold; color:var(--color-main); text-align:left; position:relative; margin-bottom:40px;}
#mobile_layout .board_list table caption .more_btn {font-size:1rem; position:absolute; right:0px; bottom:0;}
#mobile_layout .board_list table caption #search_wrap {margin-top:20px;}
#mobile_layout .board_list table thead {box-shadow: 0px 4px 9px rgba(0,0,0,.08);}
#mobile_layout .board_list table th {text-align: center; vertical-align: middle; padding: 20px 0;}
#mobile_layout .board_list table td {border-bottom:1px solid #d9d9d9; text-align: center; vertical-align: middle; padding: 20px 0;}


/* 모바일 푸터 시작 */
#footer_m {padding:20px; background:#666; color:#fff;}
#footer_m nav {margin-bottom:40px;}
#footer_m nav p {font-size:20px; font-weight:bold; margin-bottom:20px;}
#footer_m nav ul li {line-height:1.3; margin-bottom:10px;}
#footer_m a {color:yellow;}

/* 모바일 출퇴근 팝업 */
.attendance_popup .popup_box {height:unset !important;}
.attendance_popup .popup_cont p {line-height:1.4; font-size:16px; margin-bottom:10px;}
.attendance_popup .popup_cont p:last-child {margin-bottom:0;}
.attendance_popup .popup_cont .att_info {border-bottom:1px solid #d9d9d9; padding-bottom:20px; margin-bottom:20px;}
.attendance_popup .popup_cont .att_btn {margin-bottom:40px;}

/* 색상 피커 관련 */
.color_chip {display:inline-block; height: 32px; width: 32px; border-radius:4px; vertical-align:middle; box-shadow:1px 1px 4px rgba(0,0,0,.3);}
.color_chip:hover {cursor:pointer;}
.list_layout .color_chip {margin-right:10px;}
.pickr .pcr-button {height: 32px; width: 32px; border-radius:4px;}
.pcr-app .pcr-interaction .pcr-result {height:unset; line-height:unset; border:none;}

.color_preview .btn_schedule {height:30px; width:200px; line-height:28px; border-radius:5px; text-align:center;}

/* 리팩한 비밀번호 입력란에 보기 버튼 추가 */
.password_outer {display:flex; align-items: center; border:1px solid #999; border-radius:4px; max-width:800px; min-width:100px;}
.password_outer input {border:none; border-radius:none; max-width:unset; min-width:unset; width:calc(100% - 30px);}
.password_outer button.view_pw {width:30px; height:100%;}
.password_outer input:focus {outline:none;}
