/*.modal { transition: all 0.2s ease-in-out 0s; }*/
.modal.fade .modal-dialog { margin:0; position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); display:table; }
.modal .modal-dialog .modal-content { width:100%; border:none; }
.modal .modal-dialog .modal-content .modal-head { height:65px; padding:20px; position:relative; }
.modal .modal-dialog .modal-content .modal-head .close_btn { width:25px; height:25px; min-width:auto; padding:0; border:0; position:absolute; top:20px; right:20px; background:url('/image/iconBox.svg')no-repeat -25px 0; background-size:100px; }
.modal .modal-dialog .modal-content .modal-head p { font-size:18px; font-weight:700; }
.modal .modal-dialog .modal-content .modal-body { height:calc(100% - 65px); padding:0 20px 20px; overflow:auto; }
.modal .modal-dialog .modal-content .modal-footer { width:100%; }
.modal .modal-dialog .modal-content .modal-footer .button_box { text-align:center; }
.modal-open { overflow:hidden!important; }


.modal.policy .modal-dialog .modal-content .modal-head .close_btn { width:25px; height:25px; min-width:auto; padding:0; border:0; position:absolute; top:20px; right:20px; background:url('/image/menu.svg')no-repeat -25px 0; background-size:50px; }
.modal.policy .modal-dialog .modal-content .modal-head p { font-size:18px; font-weight:700; }
.modal.policy .modal-dialog .modal-content .modal-body { height:500px; padding:0 20px 20px; overflow:auto; }
.modal.policy .modal-dialog .modal-content .modal-body p { white-space:pre-line; line-height:25px; }
.modal.policy .modal-dialog .modal-content .modal-body table { border:1px solid #ccc; }
.modal.policy .modal-dialog .modal-content .modal-body table tr th { padding:10px; border:1px solid #ccc; background:#f5f8fb; }
.modal.policy .modal-dialog .modal-content .modal-body table tr td { padding:10px; border:1px solid #ccc; }
.modal.policy .modal-dialog .modal-content .modal-footer { width:100%; }
.modal.policy .modal-dialog .modal-content .modal-footer .button_box { text-align:center; }


/* 파일업로드 */
.modal .modal-body .input-file {min-height:37px;}
.modal .modal-body .input-file {display:inline-block;}
.modal .modal-body .input-file [type="file"] {position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0, 0, 0, 0); border:0 none; }
.modal .modal-body .input-file .file-label {text-align:center; width:120px; text-shadow:none; box-shadow:none; line-height:30px; font-weight:300; cursor:pointer; color:#fff; margin:0px 0px 0px 7px; border-width:initial; border-style:none; border-color:initial; border-image:initial; padding:0px; border-radius:5px; background:#4F46E5;}
.modal .modal-body .input-file .file-label:hover {background:#4338CA;}
.modal .modal-body .input-file .file-name {width:195px; border:1px solid #dee2e6; padding:.47rem .8rem; background-color:#FFF; border-radius:.267rem; box-shadow:none; height:30px; outline:none; float:left;}
.modal .modal-body .input-file [type="file"]:focus {border:1px solid #178754;}

.event_modal.fade .modal-dialog { width:500px; height:548px; margin:0; position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); display:block; }
.event_modal .modal-dialog .modal-content { height:100%; border:0; }
.event_modal .modal-dialog .modal-content .modal-body { height:100%; padding:0; }
.event_modal .modal-dialog .modal-content .modal-footer { border:0; }
.event_modal .modal-dialog .modal-content .modal-footer .btn_box { padding:0 20px; display:flex; justify-content:center; }
.event_modal .modal-dialog .modal-content .modal-footer .btn_box button { width:120px; height:32px; color:#fff; padding:0; border:none; font-size:14px; background:none; }
.event_modal .modal-dialog .modal-content .modal-footer .btn_box button.registration_btn { margin-left:40px; position:relative; }
.event_modal .modal-dialog .modal-content .modal-footer .btn_box button.registration_btn::after { content:''; display:block; width:1px; height:70%; position:absolute; left:-20px; top:5px; background:#c7c7c7; }

/* 공지사항 팝업 — .event_modal(고정크기 이미지 배너용)과 달리 가변 길이 리치 텍스트 콘텐츠를 담는다.
   내용이 길어도 잘리지 않도록 헤더/푸터는 고정, 본문만 스크롤되는 구조로 분리했다. */
.notice_modal.fade .modal-dialog { width:600px; max-width:92vw; margin:0; position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); display:block; }
.notice_modal .modal-dialog .modal-content { max-height:85vh; border:0; border-radius:10px; display:flex; flex-direction:column; overflow:hidden; }
.notice_modal .modal-dialog .modal-content .modal-header { flex-shrink:0; padding:18px 24px; border-bottom:1px solid #eef2f7; position:relative; }
.notice_modal .modal-dialog .modal-content .modal-header .modal-title { font-size:16px; font-weight:700; color:#1e293b; padding-right:30px; }
.notice_modal .modal-dialog .modal-content .modal-header .close_btn { width:25px; height:25px; min-width:auto; padding:0; border:0; position:absolute; top:14px; right:16px; background:url('/image/iconBox.svg')no-repeat -25px 0; background-size:100px; }
.notice_modal .modal-dialog .modal-content .modal-body { flex:1 1 auto; overflow-y:auto; padding:0; }
.notice_modal .modal-dialog .modal-content .modal-footer { flex-shrink:0; width:auto; border:0; border-top:1px solid #eef2f7; }
.notice_modal .modal-dialog .modal-content .modal-footer .btn_box { padding:14px 24px; display:flex; align-items:center; justify-content:space-between; }
.notice_modal .modal-dialog .modal-content .modal-footer .btn_box button { width:auto; min-width:auto; height:auto; padding:9px 8px; color:#64748b; border:none; font-size:13.5px; font-weight:500; background:none; }
.notice_modal .modal-dialog .modal-content .modal-footer .btn_box button.cancel_btn.notice:hover { color:#1e293b; text-decoration:underline; }
.notice_modal .modal-dialog .modal-content .modal-footer .btn_box button.registration_btn { margin-left:0; padding:9px 22px; color:#fff; font-weight:700; border-radius:6px; background:#4F46E5; }
.notice_modal .modal-dialog .modal-content .modal-footer .btn_box button.registration_btn:hover { background:#4338CA; }

@media only screen and (max-width:768px){
    .notice_modal.fade .modal-dialog { width:92%; }
    .notice_modal .modal-dialog .modal-content { max-height:88vh; }
}


@media only screen and (max-width:768px){
    .modal.policy .modal-dialog { width:90%; }
    .modal.policy .modal-dialog .modal-content .modal-body table.last { display:flex; border-bottom:0; }
    .modal.policy .modal-dialog .modal-content .modal-body table.last tbody { width:calc(100% - 70px); }
    .modal.policy .modal-dialog .modal-content .modal-body table.last tr { display:flex; flex-direction:column; }
    .modal.policy .modal-dialog .modal-content .modal-body table.last tr th { width:70px; height:80px; border:0; border-bottom:1px solid #ccc; border-right:1px solid #ccc; }
    .modal.policy .modal-dialog .modal-content .modal-body table.last tr td { height:80px; border:0; border-bottom:1px solid #ccc; }

    .event_modal.fade .modal-dialog { width:90%; height:auto; }
    .event_modal .modal-dialog .modal-content { box-shadow:none!important; background:none; }
    .event_modal .modal-dialog .modal-content .modal-body { box-shadow:0 3px 9px rgba(0, 0, 0, .5);}
	.event_modal .modal-dialog .modal-content .modal-footer .btn_box button { width:100px; height:30px; }
}