
/*********** Input *************/
/* VISIT — WRAP */
.visit_form {width:100%; max-width:1070px; margin:0 auto;}

/* VISIT — INFO */
.visit_info {display:flex; align-items:center; justify-content:center; gap:15px; margin-bottom:30px; padding:20px; background:var(--grayBg); border-radius:var(--borderR30); box-sizing:border-box;}
.visit_info .ico {display:flex; align-items:center; justify-content:center; width:45px; height:45px; border-radius:var(--borderR100); background:rgba(250,102,0,0.1); flex-shrink:0;}
.visit_info .ico::before {content:"\e158"; font-family:var(--icon); font-size:20px; line-height:100%; font-weight:400; color:var(--main);}
.visit_info .mail {font-family:var(--eng); font-weight:600; letter-spacing:0; color:var(--main); text-decoration:underline; text-underline-position:from-font;}

/* VISIT — TABLE */
.visit_input {width:100%; border-top:3px solid var(--main);}
.visit_input dl {display:flex; border-bottom:1px solid var(--border);}
.visit_input dt {display:flex; align-items:center; width:320px; min-height:78px; padding:12px 20px; border-right:1px solid var(--border); background:var(--grayBg); box-sizing:border-box; flex-shrink:0; font-size:1rem; line-height:166.67%; letter-spacing:var(--letter-spacing-default); font-weight:600; color:var(--black);}
.visit_input dt b {margin-left:4px; font-weight:600; color:var(--main);}
.visit_input dd {display:flex; flex-direction:column; justify-content:center; flex:1; min-width:0; min-height:78px; padding:12px 10px; background:var(--white); box-sizing:border-box;}
.visit_input .input {width:365px; max-width:100%; height:54px; padding:0 15px; border:1px solid var(--border); background-color:var(--white); box-sizing:border-box; font-size:1rem; line-height:166.67%; letter-spacing:var(--letter-spacing-default); color:var(--black); transition:border-color 0.3s;}
.visit_input .input[readonly] {cursor:pointer;}
.visit_input .input_s {width:150px;}
.visit_input .select {width:150px; height:54px !important; padding:0 40px 0 15px; border:1px solid var(--border); background-color:var(--white); background-position:right 15px center; box-sizing:border-box; font-size:1rem; line-height:166.67%; letter-spacing:var(--letter-spacing-default); color:rgba(42,38,35,0.7); cursor:pointer; transition:border-color 0.3s;}
.visit_input .input:focus,.visit_input .select:focus {border-color:var(--main);}
.visit_input .visit_row {display:flex; align-items:center; gap:10px;}
.visit_input .visit_row.email .input,.visit_input .visit_row.email .select {flex:1; width:auto; min-width:0;}
.visit_input .visit_txt {flex-shrink:0; white-space:nowrap;}
.visit_input .sep {flex-shrink:0; font-size:1rem; line-height:166.67%; color:rgba(42,38,35,0.7);}
.visit_input .calendar {position:relative; width:365px; max-width:100%;}
.visit_input .calendar .input {width:100%; padding-right:50px;}
.visit_input .calendar::after {content:"\ebcc"; position:absolute; right:15px; top:50%; margin-top:-12px; font-family:var(--icon); font-size:24px; line-height:100%; font-weight:400; color:var(--light); pointer-events:none;}
.visit_input .visit_spam .spam-check-txt{margin-top: 10px;}

.visit_input .textarea {display:block; width:100%; height:200px; padding:12px 15px; border:1px solid var(--border); background-color:var(--white); box-sizing:border-box; font-size:1rem; line-height:175%; letter-spacing:var(--letter-spacing-default); color:var(--black); resize:vertical; transition:border-color 0.3s;}
.visit_input .textarea::placeholder {color:rgba(42,38,35,0.65); opacity:0.5;}
.visit_input .textarea:focus {border-color:var(--main);}

/* VISIT — DATEPICKER */
.ui-datepicker .ui-datepicker-calendar th:first-child span {color:#f00;}
.ui-datepicker .ui-datepicker-calendar th:last-child span {color:#0071bf;}

/* VISIT — BOTTOM */
.visit_bottom {display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:30px;}
.visit_check {display:flex; align-items:center; flex-wrap:wrap; gap:20px;}
.visit_agree {position:relative; padding-left:26px; word-break:keep-all;}
.visit_agree label {cursor:pointer;}
.visit_agree input[type="checkbox"] {position:absolute; left:0; top:7px; width:16px; height:16px; margin:0; border:1px solid #222; border-radius:0; background:var(--white) no-repeat center/12px auto; box-sizing:border-box; -webkit-appearance:none; appearance:none; flex-shrink:0; cursor:pointer; transition:background-color 0.3s, border-color 0.3s;}
.visit_agree input[type="checkbox"]:checked {border-color:var(--main); background-color:var(--main); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.2l2.6 2.6L10 3.4' fill='none' stroke='%23fff' stroke-width='1.8'/%3E%3C/svg%3E");}
.visit_agree label span {color:var(--black);}
.visit_agree label b {font-weight:600; color:var(--main);}
.visit_agree .btn_pri_more {margin-left:5px; padding:0; border:0; white-space:nowrap; vertical-align:baseline; background:none; font-weight:600; color:var(--black); text-decoration:underline; text-underline-position:from-font; cursor:pointer; transition:color 0.3s;}
.visit_agree .btn_pri_more:hover {color:var(--main);}
.view_more.visit_submit {background:var(--white); cursor:pointer;}
.view_more.visit_submit i::before {content:"\f3dd";}

/* VISIT — PRIVACY LAYER */
.visit_pri_layer {position:fixed; left:0; top:0; z-index:100000; display:flex; align-items:center; justify-content:center; width:100%; height:100%; padding:20px; box-sizing:border-box; opacity:0; visibility:hidden; transition:opacity 0.3s, visibility 0.3s;}
.visit_pri_layer.is-open {opacity:1; visibility:visible;}
.visit_pri_dim {position:absolute; left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,0.6);}
.visit_pri_pop {position:relative; display:flex; flex-direction:column; gap:20px; width:100%; max-width:800px; max-height:80vh; padding:50px; background:var(--white); border-radius:var(--borderR30); box-sizing:border-box;}
.visit_pri_tit {padding-right:40px; font-weight:700;}
.visit_pri_txt {overflow-y:auto; padding:20px; background:var(--grayBg); border-radius:var(--borderR10);}
.visit_pri_close {position:absolute; right:25px; top:25px; width:40px; height:40px; padding:0; border:0; background:none; cursor:pointer;}
.visit_pri_close::before {content:"\e5cd"; font-family:var(--icon); font-size:32px; line-height:100%; font-weight:400; color:var(--black);}



/*********** List *************/
/* VISIT — LIST */
.visit_list {position:relative; width:100%; border-top:3px solid var(--main); overflow-x:auto;}
.visit_list table {width:100%; min-width:1300px; border-collapse:separate; border-spacing:0px; table-layout:fixed;}
.visit_list .col_chk {width:50px;}
.visit_list .col_no {width:70px;}
.visit_list .col_name {width:120px;}
.visit_list .col_relation {width:150px;}
.visit_list .col_student {width:150px;}
.visit_list .visit_content a {display:block; overflow:hidden; color:var(--basic); text-overflow:ellipsis; white-space:nowrap; transition:color 0.3s;}
.visit_list .visit_content a:hover {color:var(--main);}
.visit_list .col_phone {width:140px;}
.visit_list .col_email {width:190px;}
.visit_list .col_wdate {width:110px;}
.visit_list .col_status {width:230px;}
.visit_list th {padding:18px 10px; border-bottom:1px solid var(--border); background:var(--grayBg); box-sizing:border-box; font-size:1rem; line-height:166.67%; letter-spacing:var(--letter-spacing-body); font-weight:600; color:var(--black); text-align:center; vertical-align:middle;}
.visit_list td {padding:16px 10px; border-bottom:1px solid var(--border); box-sizing:border-box; font-size:0.9444rem; line-height:166.67%; letter-spacing:var(--letter-spacing-body); color:var(--basic); text-align:center; vertical-align:middle; word-break:keep-all;}
.visit_list td.left {text-align:left;}
.visit_list td.visit_email {word-break:break-all;}
.visit_list th.chk_col input[type="checkbox"],.visit_list td.chk_col input[type="checkbox"] {display:block; width:20px; height:20px; margin:0 auto;}
.visit_list tr.point td {background:rgba(250,102,0,.05);}
.visit_list .notice .material-symbols-outlined {display:block; position:relative; height:24px; font-size:0;}
.visit_list .notice .material-symbols-outlined::after {content:"\e98e"; position:absolute; left:0; top:0; display:block; width:100%; height:100%; font-family:var(--icon); font-size:24px; line-height:100%; font-weight:400; text-align:center; color:var(--main);}
.visit_list .visit_name {font-weight:600; color:var(--black); text-decoration:underline; text-underline-position:from-font; transition:color 0.3s;}
.visit_list .visit_name:hover {color:var(--main);}
.visit_list .visit_time {color:var(--light);}
.visit_list .visit_nodata {padding:60px 10px; color:var(--light);}

/* VISIT — STATUS */
.visit_status {display:flex; flex-direction:column; align-items:center; gap:8px;}
.visit_badge {display:inline-flex; align-items:center; justify-content:center; min-width:72px; height:28px; padding:0 12px; border-radius:50px; box-sizing:border-box; font-size:0.8333rem; line-height:100%; font-weight:600;}
.visit_badge.st1 {background:var(--grayBg); color:var(--basic);}
.visit_badge.st2 {background:rgba(250,102,0,0.1); color:var(--main);}
.visit_badge.st3 {background:var(--black); color:var(--white);}
.visit_status_ctrl {display:flex; align-items:center; gap:4px;}
.visit_status_ctrl .select {width:110px; height:36px !important; padding:0 30px 0 12px; border:1px solid var(--border); background-color:var(--white); background-position:right 12px center; box-sizing:border-box; font-size:0.8889rem; color:var(--basic);}
.visit_status_btn {height:36px; padding:0 14px; border:1px solid var(--black); background:var(--black); box-sizing:border-box; font-size:0.8889rem; font-weight:600; color:var(--white); cursor:pointer; transition:background-color 0.3s, border-color 0.3s;}
.visit_status_btn:hover {border-color:var(--main); background:var(--main);}

/*********** View *************/
.bbs_view{display:flex; flex-direction:column; align-items:stretch; gap:30px; width:100%; box-sizing:border-box;}
.bbsView_tit {display:flex; flex-direction:column; align-items:center; gap:10px; width:100%; padding:0 0 30px; border-bottom:1px solid var(--border); box-sizing:border-box;}
.bbsView_tit .star {display:block;}
.bbsView_tit .view_badge {display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:2px;}
.bbsView_tit .view_badge .bbsname {display:flex; align-items:center; justify-content:center; padding:4px 20px; box-sizing:border-box; border:1px solid var(--main); border-radius:50px; color:var(--main); font-weight:600;}
.bbsView_tit .view_badge .catname {display:flex; align-items:center; justify-content:center; padding:4px 20px; box-sizing:border-box; border:1px solid var(--main); border-radius:50px; background:var(--main); color:var(--white); font-weight:600;}
.bbsView_tit .subject {width:100%; color:var(--black); font-weight:700; text-align:center; word-break:keep-all;}
.bbsView_tit .view_detail {display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:5px 37px; padding:10px 0 0;}
.bbsView_tit .view_detail li {display:flex; align-items:center; color:var(--basic); position: relative;}
.bbsView_tit .view_detail li + li::before {content:''; display:block; width:1px; height:16px; background:var(--border); position: absolute; left: -16px; top:50%; margin-top: -8px; flex-shrink:0;}
.bbsView_tit .view_detail li.date {gap:8px;}
.bbsView_tit .view_detail li.count {gap:7px;}
.bbsView_tit .view_detail li.count .count_ico {display:block; width:22px; height:22px; flex-shrink:0;}
.bbsView_tit .view_detail li.count .count_ico::before {content:'\e8f4'; display:block; width:22px; height:22px; line-height:22px; font-size:22px; font-family:var(--icon); text-align:center; color:var(--basic);}
.view_content {width:100%; box-sizing:border-box; color:var(--basic); word-break:keep-all;}
.view_content img {display:block; max-width:100% !important; height:auto !important; margin-left:auto; margin-right:auto;}
.view_content table {max-width:100%;}
.view_content::after {content:''; display:block; clear:both;}
.view_content p {vertical-align:top;}
.view_file {display:flex; align-items:center; gap:25px; width:100%; padding:20px 23px; box-sizing:border-box; background:var(--grayBg); border-radius:var(--borderR5);}
.view_file .btit {width:140px; flex-shrink:0; font-weight:500; color:var(--black);}
.view_file .bstxt {display:flex; flex-direction:column; align-items:flex-start; gap:6px; min-width:0; flex:1; color:var(--black);}
.view_file .bstxt a {display:inline-flex; align-items:center; gap:2px; color:var(--black); text-decoration:none; border-bottom:1px solid var(--black); word-break:break-all; transition: all .3s;}
.view_file .bstxt a::before {content:'\e226'; display:block; width:22px; height:20px; line-height:20px; font-size:20px; font-family:var(--icon); color:inherit; transform:rotate(0deg); flex-shrink:0;}
.view_file .bstxt a:hover {color:var(--main); border-bottom-color:var(--main);}
.bbs_bottom {width:100%; border-bottom:1px solid var(--border); box-sizing:border-box;}
.bbs_bottom dl {display:flex; align-items:center; gap:25px; width:100%; padding:19px 20px; box-sizing:border-box; border-top:1px solid var(--border);}
.bbs_bottom dt {display:flex; align-items:center; justify-content:space-between; width:140px; flex-shrink:0; font-weight:600; color:var(--black);}
.bbs_bottom dt::after {content:'\e313'; display:block; width:23px; height:23px; line-height:23px; font-size:23px; font-family:var(--icon); text-align:center; color:var(--black); opacity: 0.4; font-weight: 400;}
.bbs_bottom dl.prev dt::after {transform:scaleY(-1);}
.bbs_bottom dd {min-width:0; flex:1; color:var(--basic);}
.bbs_bottom dd a {display:block; color:var(--basic); text-decoration:none; text-overflow:ellipsis; overflow:hidden; white-space:nowrap;}
.bbs_bottom dd a:hover {color:var(--main);}
.bbs_view .view_btn {display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:4px; width:100%;}
.bbs_view .view_btn .btn_w, .bbs_view .view_btn .btn_b, .bbs_view .view_btn .btn_b:link, .bbs_view .view_btn .btn_b:visited {width:90px; height:44px; line-height:42px; font-size:0.8889rem; letter-spacing:-4%; color:var(--basic);}
.bbs_view .view_btn .btn_w {border:1px solid var(--border); background:var(--white);}
.bbs_view .view_btn .btn_w:hover {color:var(--black); border-color:var(--black);}

/* VISIT — VIEW */
.visit_view_table {width:100%; border-top:3px solid var(--main);}
.visit_view_table table {width:100%; border-collapse:separate; border-spacing:0px; table-layout:fixed;}
.visit_view_table .col-th {width:240px;}
.visit_view_table th {padding:18px 20px; border-bottom:1px solid var(--border); border-right:1px solid var(--border); background:var(--grayBg); box-sizing:border-box; font-weight:600; color:var(--black); text-align:left; vertical-align:middle;}
.visit_view_table td {padding:18px 20px; border-bottom:1px solid var(--border); box-sizing:border-box; color:var(--basic); vertical-align:middle; word-break:break-all;}
.visit_view_table td.visit_view_content {line-height:166.67%; word-break:keep-all;}
.visit_view_status {display:flex; align-items:center; flex-wrap:wrap; gap:10px 15px;}
.visit_view_status .visit_status_ctrl {gap:6px;}
.visit_view_status .visit_status_ctrl .select {width:150px; height:44px !important;}
.visit_view_status .visit_status_btn {height:44px; padding:0 20px;}
.visit_reply {display:flex; flex-direction:column; gap:20px;}
.visit_reply_editor {width:100%;}
.visit_reply_editor .textarea {width:100%; min-height:240px; padding:15px; border:1px solid var(--border); box-sizing:border-box; font-size:1rem; line-height:166.67%; color:var(--black); resize:vertical;}
.visit_reply_foot {display:flex; align-items:center; justify-content: space-between; gap:15px; margin-top:15px;}
.visit_reply_mail {display:flex; align-items:center; gap:8px; cursor:pointer;}
.visit_reply_mail input[type="checkbox"] {display:block; width:16px; height:16px; margin:0 !important; flex-shrink:0; bottom: auto !important; vertical-align:top;}
.visit_reply_mail span {display:block; line-height:100%; color:var(--basic);}
.visit_reply_foot .visit_status_btn {height:48px; padding:0 30px; flex-shrink:0; font-size:1rem;}






/*******************************************************************************
    @media ~1500px
*******************************************************************************/
@media all and (max-width:1500px){


}
/*******************************************************************************
    @media ~1300px
*******************************************************************************/
@media all and (max-width:1300px){

/*********** Input *************/
/* VISIT — TABLE */
.visit_input dt {width:240px;}
.visit_input .visit_row {flex-wrap:wrap;}

/*********** List *************/
/* VISIT — LIST */
.visit_list th {padding:15px 8px;}
.visit_list td {padding:14px 8px;}

}

/*******************************************************************************
    @media  ~980px
*******************************************************************************/
@media all and (max-width:980px){
/*********** Input *************/
/* VISIT — INFO */
.visit_info {gap:12px; padding:18px 20px; border-radius:var(--borderR20);}

/* VISIT — TABLE */
.visit_input dt {width:170px; min-height:auto; padding:12px 15px;}
.visit_input dd {min-height:auto;}
.visit_input .input,.visit_input .visit_spam input[type="text"] {height:50px;}
.visit_input .select {height:50px !important;}
.visit_input dd > .input {width:100%;}
.visit_input .visit_row .input,.visit_input .visit_row .calendar {flex:1 1 0; width:auto; min-width:0;}
.visit_input .visit_row .calendar .input {width:100%;}
.visit_input .visit_row.phone .select {flex:1 1 0; width:auto; min-width:0;}
.visit_input .visit_row .visit_txt {width:100%; white-space:normal;}

/* VISIT — BOTTOM */
.visit_bottom {flex-direction:column; align-items:flex-start;}
.visit_check {width:100%;}
.visit_submit {align-self:center;}

/* VISIT — PRIVACY LAYER */
.visit_pri_pop {padding:40px 30px;}

/*********** List *************/
/* VISIT — LIST */
.visit_list.scroll .responsive-dim.show {display:block;}

/*********** View *************/
/* VIEW — TOP */
.bbsView_tit {padding:0 0 24px;}

/* VIEW — FILE */
.view_file {padding:18px 20px; gap:16px;}
.view_file .btit {width:110px;}

/* VIEW — NAV */
.bbs_bottom dl {gap:16px; padding:16px 12px;}
.bbs_bottom dt {width:110px;}

/* VISIT — VIEW */
.visit_view_table .col-th {width:170px;}
.visit_view_table th,.visit_view_table td {padding:15px;}

}
/*******************************************************************************
    @media 680px
*******************************************************************************/
@media all and (max-width:680px){

/*********** Input *************/
/* VISIT — INFO */
.visit_info {align-items:flex-start; justify-content:flex-start; gap:10px; margin-bottom:20px; padding:15px;}
.visit_info .ico {width:36px; height:36px;}
.visit_info .ico::before {font-size:18px;}
.visit_info .mail {word-break:break-all;}

/* VISIT — TABLE */
.visit_input {border-top-width:2px;}
.visit_input dl {flex-direction:column;}
.visit_input dt {width:100%; padding:10px 15px; border-right:0;}
.visit_input dd {padding:10px 0 15px;}
.visit_input .input,.visit_input .visit_spam input[type="text"] {height:46px;}
.visit_input .select {height:46px !important;}
.visit_input .visit_row {gap:8px;}
.visit_input .visit_row .calendar,.visit_input .visit_row .calendar + .blind + .select {flex:1 1 100%; width:100%;}
.visit_input .visit_row.phone .select {padding:0 30px 0 12px; background-position:right 10px center;}
.visit_input .visit_row.phone .input_s {padding:0 12px;}
.visit_input .visit_row.email .select {flex:1 1 100%;}
.visit_input .textarea {height:160px;}

/* VISIT — BOTTOM */
.visit_bottom {gap:15px; margin-top:20px;}
.visit_check {gap:15px;}
.visit_agree {padding-left:24px;}
.visit_agree input[type="checkbox"] {top:4px;}

/* VISIT — PRIVACY LAYER */
.visit_pri_pop {gap:15px; padding:30px 20px; border-radius:var(--borderR20);}
.visit_pri_txt {padding:15px;}
.visit_pri_close {right:12px; top:12px;}


/*********** List *************/
/* VISIT — LIST */
.visit_list {border-top-width:2px;}
.visit_list table {min-width:1200px;}

/*********** View *************/
/* VIEW — TOP */
.bbs_view:not(.wrapper) {gap:20px;}
.bbsView_tit {gap:8px; padding:0 0 20px;}
.bbsView_tit .view_badge .bbsname, .bbsView_tit .view_badge .catname {padding:2px 14px;}
.bbsView_tit .view_detail {padding:0; gap:25px;}
.bbsView_tit .view_detail li + li::before {margin-top: -6px; left: -12px; height:12px;}
.bbsView_tit .view_detail li.count .count_ico{width: 18px; height: 18px;}
.bbsView_tit .view_detail li.count .count_ico::before{width: 18px; height: 18px; line-height: 18px; font-size: 18px;}

/* VIEW — FILE */
.view_file {flex-direction:column; align-items:flex-start; gap:10px; padding:16px;}
.view_file .btit {width:auto;}

/* VIEW — NAV */
.bbs_bottom dl {gap:12px; padding:14px 0;}
.bbs_bottom dt {width:90px;}
.bbs_bottom dt::after {width:20px; height:20px; line-height:20px; font-size:20px;}
.bbs_view .view_btn .btn_w, .bbs_view .view_btn .btn_b, .bbs_view .view_btn .btn_b:link, .bbs_view .view_btn .btn_b:visited {width:80px; height:40px; line-height:38px;}

/* VISIT — VIEW */
.visit_view_table {border-top-width:2px;}
.visit_view_table .col-th {width:110px;}
.visit_view_table th,.visit_view_table td {padding:12px 10px;}
.visit_view_status {flex-direction:column; align-items:flex-start; gap:10px;}
.visit_view_status .visit_status_ctrl {width:100%;}
.visit_view_status .visit_status_ctrl .select {flex:1; width:auto; min-width:0; height:40px !important;}
.visit_view_status .visit_status_btn {height:40px; padding:0 16px;}
.visit_reply {gap:15px;}
.visit_reply_foot {flex-direction:column; align-items:stretch; gap:12px;}
.visit_reply_mail {align-items:flex-start;}
.visit_reply_mail span {line-height:150%;}
.visit_reply_mail input[type="checkbox"] {margin-top:2px;}
.visit_reply_foot .visit_status_btn {width:100%; height:44px;}

}
