/* ==========================================
   부분 리뉴얼 공용 CSS (renewal-common.css)

   - 로그인, 회원가입, 마이페이지, 결제, 행사 등록·접수 본문용
   - 새 사이트: 이 파일 전체를 사이트 style.css 맨 끝에 붙이고
     아래 :root 색상 변수만 해당 사이트 색으로 바꾼다.
   - [사이트별] 표시가 있는 값은 사이트마다 확인 후 수정한다.
   - 기준 사이트: sase.or.kr / 적용 사이트: kic.or.kr
   ========================================== */


/* ==========================================
   0. 색상 변수 (사이트마다 수정)
   ========================================== */
:root {
    --rn-primary: #0f3552;          /* 주 버튼 (kic 남색) */
    --rn-primary-hover: #0a2539;    /* 주 버튼 hover */
    --rn-accent: #d4433b;           /* 보조 강조 버튼 (kic 빨강) */
}


/* ==========================================
   1. 기본 반응형 (sase re css)
   - 모바일 상단 회원 메뉴, 폼 테이블(.form_table, .form_table_m),
     행사 목록(.Conference), 서브 타이틀 등
   - #header 하단 테두리 색(#9d3731)은 [사이트별]
   ========================================== */

div.mobile-user {
    display:none;
}

.form_table td.bg02 {
	background: #fff;
	text-align:left;
}


@media (max-width: 991px) {
    #header {
        min-height: auto;
        height: 60px;
        border-bottom: 2px solid #9d3731;
        padding:8px;
    }
}


@media (max-width: 768px) {
    div.mobile-user {
        width:100%;
        padding: 0px 20px;;
        display:block;
    }

    div.mobile-user div {
        margin:10px 0;
    }

    .m_logout_btn,
    .m_maypage_btn {
        display: inline-block;
        text-align: center;
        padding: 5px 10px;
        color: #333;
    }

    .m_login_btn,
    .m_member_btn {
        display: inline-block;
        text-align: center;
        padding: 5px 10px;
        color: #333;
    }
    .mobile-user a i {
        float: left;
        margin-right: 5px;
        font-size: 20px;
        margin-top: 3px;
    }


/* form control s  */
    .form_table {
        border-top: 1px solid #d5d5d5;
    }


    .form_table th {
        display:none;
    }

    .form_table td,
    .form_table td.bg01 {
        width:100%;
        display:block;
    }

    .form_table tr {
    }

    .form_table td,
	.form_table td.bg02 {
        padding: 10px 10px;
        border-bottom: 0;
        background: #f9f9f9;
        border-radius: 10px;
    }


    .form_table td.bg01,
    .form_table td.bg03 {
        background: #fff;
        border-right: 0;
        padding: 10px 0px;
        border-bottom:0;
        margin-top:5px;
        padding-bottom: 0px;
        color: #247293;
        font-weight:bold;
        text-align:left;
    }

    .form_table td.bg02 {
        border-right: 0;
    }


    .form_table td table td {
        width: auto;
        display: table-cell;
        border-radius: 0;
    }

    .form_table td:first-child {
    }

    .form_table td:last-child {

    }


    .form_table td .form-control,
    .form_table td .form-select {
        margin-bottom:5px;
    }

    .form_buttn {
        margin:0 5px 5px 0;
    }

    .form_95,
    .form_80,
    .form_50,
    .form_40,
    .form_35,
    .form_30,
    .form_20 {
        width:100%;
        display:block;
    }

    .form_buttn01 {
        margin:0;
        margin-bottom:10px;
    }

    .form_buttn04 {
    }

    #pyMethodList li {

        display:inline-block;
    }

    .login_form_box table td {
        width:100%;
        display:inline-block;
    }

    .login_form_box table td.bg01 {
        color:#3778b5;
        padding: 10px 10px 0px;
    }


        .Conference {
            border: 0;
        }

        .Conference thead {
            border: none;
            clip: rect(0 0 0 0);
            height: 1px;
            margin: -1px;
            overflow: hidden;
            padding: 0;
            position: absolute;
            width: 1px;
        }

        .Conference th {
            display: block;
        }

        .Conference tr {
            border-top: 3px solid gray;
            border-bottom: 3px solid #ddd;
            display: block;
        }

        .Conference td,
        table.Conference td.conf_name {
            display: flex;
            max-width: 100%;
            width: 100%;
            flex-direction: row;
            flex-wrap: nowrap;
            align-items: center;
            border-bottom:0;
        }

        .Conference td::before {
            content: attr(data-label); /*data-label을 가상요소 표출*/
            width: 48px;
            text-transform: uppercase;
            text-align: left;
            margin-right: 25px;
        }

        table.Conference td.conf_cont {
            display: block;
            width: 100%;
            padding-left: 77px;
        }

        table.Conference td.conf_cont div {
            margin-left: 58px;
        }

        table.Conference td.conf_cont div:nth-child(1) {
            margin-left: 0;
        }


        .Conference td:last-child {
            border-bottom: 0;
        }

        .Conference td .form-control_m {

        }

        .Conference tr.th_tr {
            display:none;
        }

        .Conference td {
            border-bottom: 1px solid #d5d5d5;
        }

        .Conference td.n_data_label {
            text-align:center;
            display: block;
        }

        .Conference td.n_data_label::before {
            display:none;
        }


        #sub_top {
            padding: 15px 0;
            height: auto;
        }

        #sub_top h2{
            font-size:1.4rem;
        }

        .sub_title h2 {
            font-size:1.6rem;
        }

        .sub_title h4 {
            font-size:1.3rem;
        }


        .map_data_box {
            display: block;
        }

        .map_data_box div {
            width:100%;
            text-align:center;
            margin-bottom:10px;
        }


        .confer_day_box {
            display: inline-block;
            width: 45%;
            border: 1px solid #404183;
            padding: 20px;
            border-radius: 15px;
            box-shadow: 2px 3px 4px #efefef;
            background: #ffffff;
            margin:2%;
            position: relative;
        }


        .ci_box3 div {
            width:100%;
            margin-bottom:30px;
        }


        .form_table_m {
            border: 0;
        }

        .form_table_m thead {
            border: none;
            clip: rect(0 0 0 0);
            height: 1px;
            margin: -1px;
            overflow: hidden;
            padding: 0;
            position: absolute;
            width: 1px;
        }

        .form_table_m th {
            display: block;
            width:100%;
        }

        .form_table_m th.bg01 {
            text-align:center;
        }

        .form_table_m th.data_label_th {
            display:none;
        }

        .form_table_m tr {
            border-top: 3px solid gray;
            border-bottom: 3px solid #ddd;
            display: block;
        }

        .form_table_m td {
            display: flex;
            width: 100%;
            flex-direction: row;
            flex-wrap: nowrap;
            align-items: center;
            border-bottom:0;
        }

        .form_table_m td::before {
            content: attr(data-label); /*data-label을 가상요소 표출*/
            width: 100px;
            text-transform: uppercase;
            text-align: left;
        }


        .dynamic_form tr:nth-child(n+2) td:nth-child(1)::before {
            content: '* 구분';
        }

        .dynamic_form tr:nth-child(n+2) td:nth-child(2)::before {
            content: '* 학교명';
        }

        .dynamic_form tr:nth-child(n+2) td:nth-child(3)::before {
            content: '* 전공';
        }

        .dynamic_form tr:nth-child(n+2) td:nth-child(4)::before {
            content: '* 졸업년도';
        }

        .dynamic_form tr:nth-child(n+2) td:nth-child(5)::before {
            content: '논문';
        }


        .form_table_m td:last-child {
            border-bottom: 0;
        }

        .form_table_m td .form-control_m {

        }

        .form_table_m tr.th_tr {
            display:none;
        }

        .form_table_m_td td {
            border-bottom: 1px solid #d5d5d5;
        }

        .form_table_m td.n_data_label {
            text-align:center;
            display: block;
        }

        .form_table_m td.n_data_label::before {
            display:none;
        }

        .form_table_m td.n_data_label a.form_buttn03 {
            width:100%;
        }


        .day_imprtant span table tr {
            border-top: none;
            border-bottom: none;
            display: table-row;
        }

        .day_imprtant span table tr td {
            display: table-cell;
            padding: 2px;
        }

}


/* ==========================================
   2. 로그인 (/member/Login.asp)
   ========================================== */

/* 로그인 박스 */
.login_form_box {
    max-width: 500px;
    width: 100%;
    margin: 40px auto 0;
    padding: 20px;
    border: 1px solid #d1d1d1;
    border-radius: 15px;
    background: linear-gradient(359deg, #fcfcfc, #fcfcfc, transparent);
}

/* 입력 */
.login_form_field {
    margin-bottom: 5px;
}

.login_form_box div label {
    width: 100%;
}

.login_form_box div label input {
    margin-top: 5px;
}

/* 로그인 버튼 */
.login_buttn {
    position: relative;
    width: 100%;
    margin: 15px 0;
    padding: 10px;
    border: none;
    border-radius: 25px;
    outline: none;
    background: var(--rn-primary);
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}

.login_buttn:hover,
.login_buttn:focus {
    background: var(--rn-primary-hover);
}

/* 하단 링크 */
.login_form_box_bottom {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-around;
}

.login_form_box_bottom div {
    width: 100%;
    margin: 3px;
    text-align: center;
}

.login_form_box_bottom a {
    display: block;
    width: 100%;
    padding: 3px;
    border: 1px solid #cdcdcd;
    background: #f3f3f3;
    color: #333;
}

.login_form_box_bottom a.login_join {
    border-color: var(--rn-accent);
    background: var(--rn-accent);
    color: #fff;
}


/* ==========================================
   3. 회원가입 공통 (/member/Mbr_NmCheck.asp ~)
   ========================================== */

/* 가입 단계 이미지 (기존 이미지 사용) */
.join_step {
    margin: 30px 0 25px;
    text-align: center;
}

.join_step img {
    max-width: 100%;
    height: auto;
}

/* 안내 */
.sign_guide {
    max-width: 500px;
    margin: 0 auto 20px;
    padding-left: 20px;
    color: #555;
    font-size: 15px;
    line-height: 1.7;
}

/* 입력 박스 */
.sign_div {
    max-width: 500px;
    width: 100%;
    margin: 0 auto;
    padding: 25px;
    border: 1px solid #d5d5d5;
    border-radius: 15px;
    background: #f9f9f9;
}

.sign_row {
    margin-bottom: 15px;
}

.sign_label {
    display: block;
    margin-bottom: 5px;
    font-weight: 500;
}

/* 회원구분 라디오 */
.sign_radio {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 20px;
}

.sign_radio label {
    margin: 0;
    cursor: pointer;
}

.form_radio {
    margin: 0 3px 0 0;
    vertical-align: middle;
    cursor: pointer;
}

/* 확인 버튼 */
.sign_buttn {
    width: 100%;
    margin-top: 10px;
    padding: 10px;
    border: none;
    border-radius: 25px;
    background: var(--rn-primary);
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}

.sign_buttn:hover,
.sign_buttn:focus {
    background: var(--rn-primary-hover);
}

/* 모바일 */
@media (max-width: 576px) {
    .sign_div {
        padding: 20px 15px;
    }
}


/* ------------------------------------------
   3-1. 약관동의 (/member/Mbr_JoinAgree.asp)
   ------------------------------------------ */

/* 약관동의 제목 */
.agree_title {
    position: relative;
    margin: 10px 0 20px;
    padding-left: 12px;
    font-size: 20px;
    font-weight: 500;
}

.agree_title::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 4px;
    height: 18px;
    margin-top: -9px;
    background: var(--rn-accent);
}

/* 약관 박스 */
.agree_box {
    margin-bottom: 30px;
}

.agree_tit {
    margin-bottom: 10px;
    font-size: 17px;
    font-weight: 500;
}

.agree_text {
    display: block;
    width: 100%;
    height: 180px;
    padding: 12px 15px;
    border: 1px solid #d8d8d8;
    border-radius: 8px;
    background: #f7f7f7;
    color: #555;
    font-size: 13px;
    line-height: 1.9;
    resize: vertical;
}

/* 동의 체크 */
.agree_check {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 5px 15px;
    margin-top: 8px;
    color: var(--rn-accent);
}

.agree_check label {
    margin: 0;
    color: #333;
    font-weight: 500;
    cursor: pointer;
}

.agree_check input {
    margin: 0 3px 0 0;
    vertical-align: middle;
    cursor: pointer;
}

/* 하단 버튼 영역 */
.sign_btn_box {
    margin: 10px 0 30px;
    text-align: center;
}

.sign_btn_box .sign_buttn {
    width: auto;
    min-width: 220px;
    padding: 10px 30px;
}


/* ------------------------------------------
   3-2. 회원가입 정보입력 (/member/Mbr_RegForm.asp)
   - 폼 테이블 PC 기본, 버튼(.form_buttn00~03), 입력칸 너비(.form_20~95) 공용
   ------------------------------------------ */

/* 폼 섹션 제목 */
.form_title {
    position: relative;
    margin: 40px 0 15px;
    padding-left: 12px;
    font-size: 20px;
    font-weight: 500;
}

.form_title::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 4px;
    height: 18px;
    margin-top: -9px;
    background: var(--rn-accent);
}

/* 폼 테이블 공통 */
.form_table {
    width: 100%;
}

.form_table_m {
    width: 100%;
}

/* 셀렉트 박스 (kic bootstrap에 .form-select 스타일 없음) */
.form_table select,
.form_table_m select {
    width: 100%;
    max-width: 100%;
    height: 38px;
    padding: 6px 10px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    background-color: #fff;
}

/* 라인추가 버튼으로 추가된 행 (JS가 클래스 없이 만드는 입력칸) */
.dynamic_form td input[type="text"] {
    width: 100%;
    max-width: 100%;
    height: 38px;
    padding: 6px 10px;
    border: 1px solid #ced4da;
    border-radius: 4px;
}

.dynamic_form td img {
    cursor: pointer;
}

/* 버튼 */
.form_buttn00 {
    display: inline-block;
    margin: 5px;
    padding: 10px 50px;
    border: 0;
    border-radius: 30px;
    background: var(--rn-primary);
    color: #fff !important;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
}

.form_buttn00:hover {
    background: var(--rn-primary-hover);
}

.form_buttn01 {
    display: inline-block;
    margin: 5px;
    padding: 7px 12px;
    border: 0;
    border-radius: 5px;
    background: var(--rn-primary);
    color: #fff !important;
    font-size: 14px;
    vertical-align: middle;
    cursor: pointer;
}

.form_buttn01:hover {
    background: var(--rn-primary-hover);
    text-decoration: none;
}

.form_buttn02 {
    display: inline-block;
    width: 140px;
    margin: 5px;
    padding: 10px;
    border: 0;
    border-radius: 30px;
    background: #e9e9e9;
    color: #333;
    font-size: 16px;
    cursor: pointer;
}

.form_buttn03 {
    display: inline-block;
    min-width: 85px;
    padding: 5px 10px;
    border: 0;
    border-radius: 5px;
    background: #6f7071;
    color: #fff !important;
    font-size: 13px;
    text-align: center;
    cursor: pointer;
}

.form_buttn03:hover {
    background: #a5a5a5;
    text-decoration: none;
}


.form_buttn05 {
	padding: 4px 7px;
    /* margin: 5px; */
    border-radius: 2px;
    background-color: #6f7071;
    color: rgba(255, 255, 255, 0.84) !important;
    display: inline-block;
    border-radius: 5px;
    border: 0;
    text-align: center;
    width: 120px;
    font-size: 12px;
    cursor: pointer;
	margin:4px;
}

.form_buttn05:hover {
    background-color: #a5a5a5;
}

.form_buttn06 {
	padding: 4px 7px;
    /* margin: 5px; */
    border-radius: 2px;
    background-color: #951e1e;
    color: rgba(255, 255, 255, 0.84) !important;
    display: inline-block;
    border-radius: 5px;
    border: 0;
    text-align: center;
    width: 120px;
    font-size: 12px;
    cursor: pointer;
}

.form_buttn06:hover {
    background-color: #b93838;
}



.form_buttn04 {
	padding: 4px 7px;
    background-color: #ff5722;
    color: rgba(255, 255, 255, 0.84) !important;
    display: inline-block;
    border-radius: 5px;
    border: 0;
    text-align: center;
    font-size: 12px;
    cursor: pointer;
	width:100%;
}



.form_buttn07 {
	padding: 8px 20px;
    margin: 5px;
    background: #c36767;
    color: rgba(255, 255, 255, 0.84) !important;
    display: inline-block;
    border-radius: 30px;
    border: 0;
    cursor: pointer;
    font-size: 16px;
}


.form_buttn08 {
	padding: 4px 7px;
    /* margin: 5px; */
    border-radius: 2px;
    background-color: #b34848;
    color: rgba(255, 255, 255, 0.84) !important;
    display: inline-block;
    border-radius: 5px;
    border: 0;
    text-align: center;
    font-size: 12px;
    cursor: pointer;
}

.form_buttn08:hover {
    background-color: #d57575;
}



.line_more {
    margin: 10px 0 15px;
    text-align: right;
}

/* 회원가입 정보입력 */
.req {
    color: var(--rn-accent);
}

.reg_required {
    margin: 0;
    font-size: 14px;
    text-align: right;
}

.reg_form .form_title:first-of-type {
    margin-top: 10px;
}

.reg_note {
    margin: 5px 0 0;
    color: #777;
    font-size: 13px;
}

.reg_note--blue {
    color: #1c58ab;
}

.reg_line + .reg_line {
    margin-top: 5px;
}

.reg_dwell {
    display: inline-block;
    margin-left: 10px;
}

.form_opt {
    display: inline-block;
    margin: 0 15px 0 0;
    cursor: pointer;
}

.form_opt input {
    margin: 0 3px 0 0;
    vertical-align: middle;
}

.reg_sub_table {
    margin-top: 10px;
}

.reg_msg {
    width: 70%;
    border: 0;
    background: transparent;
    color: var(--rn-accent);
}

.reg_photo {
    text-align: center;
}

.reg_photo img {
    display: block;
    margin: 0 auto 8px;
    border: 1px solid #d5d5d5;
}

/* PC (769px 이상) : 표 형태 */
@media (min-width: 769px) {
    .form_table,
    .form_table_m {
        border-top: 2px solid var(--rn-primary);
    }

    .form_table td {
        padding: 10px 15px;
        border-bottom: 1px solid #d5d5d5;
        vertical-align: middle;
    }

    .form_table td.bg01 {
        width: 160px;
        border-right: 1px solid #d5d5d5;
        background: #f3f5f8;
        font-weight: 500;
        text-align: center;
    }

    .form_table td + td.bg01 {
        border-left: 1px solid #d5d5d5;
    }

    .form_table td.bg02 {
        border-right: 1px solid #d5d5d5;
    }

    .form_table td table td {
        padding: 5px;
    }

    /* 4칸 테이블 (제목-입력-제목-입력) */
    .form_table--4col {
        table-layout: fixed;
    }

    .form_table--4col col.col_th {
        width: 160px;
    }

    .reg_photo_cell {
        border-left: 1px solid #d5d5d5;
    }

    /* 목록형 테이블 (학위정보) */
    .form_table_m th {
        padding: 10px 15px;
        border-right: 1px solid #d5d5d5;
        border-bottom: 1px solid #d5d5d5;
        background: #f3f5f8;
        font-weight: 500;
        text-align: center;
    }

    .form_table_m th:last-child {
        border-right: 0;
    }

    .form_table_m td {
        padding: 8px 10px;
        border-bottom: 1px solid #d5d5d5;
        text-align: center;
    }

    .dynamic_form th:nth-child(1) {
        width: 150px;
    }

    .dynamic_form th:nth-child(4) {
        width: 110px;
    }

    .dynamic_form th:nth-child(6) {
        width: 70px;
    }

    /* 입력칸 너비 */
    .form_95,
    .form_80,
    .form_50,
    .form_40,
    .form_35,
    .form_30,
    .form_20 {
        display: inline-block;
        vertical-align: middle;
    }

    .form_95 {
        width: 95%;
    }

    .form_80 {
        width: 80%;
    }

    .form_50 {
        width: 50%;
    }

    .form_40 {
        width: 39%;
    }

    .form_35 {
        width: 35%;
    }

    .form_30 {
        width: 30%;
    }

    .form_20 {
        width: 20%;
    }
}

/* 모바일 (768px 이하) : 항목별 카드 형태 */
@media (max-width: 768px) {
    .form_table,
    .form_table > tbody,
    .form_table > tbody > tr {
        display: block;
        width: 100%;
    }

    .form_table colgroup {
        display: none;
    }

    .reg_dwell {
        display: block;
        margin: 5px 0 0;
    }

    .reg_msg {
        width: 100%;
    }

    .form_buttn00,
    .form_buttn02 {
        width: 45%;
        padding: 10px;
    }
}


/* ------------------------------------------
   3-3. 회원가입 완료 (/member/Mbr_RegResult.asp)
   ------------------------------------------ */

/* 완료 안내 박스 (.sign_div 재사용) */
.join_result {
    max-width: 600px;
    margin: 40px auto 20px;
    padding: 40px 30px;
    text-align: center;
}

.join_result_icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 20px;
    border-radius: 50%;
    background: var(--rn-primary);
    color: #fff;
    font-size: 30px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.join_result_title {
    margin-bottom: 15px;
    color: #222;
    font-size: 20px;
    font-weight: 600;
}

.join_result_text {
    margin-bottom: 8px;
    color: #555;
    font-size: 15px;
    line-height: 1.7;
    word-break: keep-all;
}

.join_result_point {
    margin: 15px 0 0;
    color: var(--rn-accent);
    font-size: 15px;
    font-weight: 500;
    word-break: keep-all;
}

/* 하단 버튼 */
.join_result_btn .form_buttn00,
.join_result_btn .form_buttn02 {
    width: auto;
    min-width: 200px;
    padding: 10px 30px;
}

/* 모바일 */
@media (max-width: 576px) {
    .join_result {
        padding: 30px 15px;
    }

    .join_result_title {
        font-size: 18px;
    }

    .join_result_btn .form_buttn00,
    .join_result_btn .form_buttn02 {
        display: block;
        width: 100%;
        min-width: 0;
        margin: 8px 0;
    }
}


/* ==========================================
   4. 마이페이지 (/mypage/Mbr_MyPage.asp ~)
   ========================================== */

/* 표 안 보조 버튼 (.form_buttn01과 높이 맞춤) */
.mypage_box .form_buttn03 {
    margin: 5px;
    padding: 7px 12px;
    font-size: 14px;
    vertical-align: middle;
}

/* 모바일 메뉴 셀렉트 (좌측 메뉴가 숨겨지는 991px 이하에서만 표시) */
.my_menu {
    display: none;
}

@media (max-width: 991px) {
    .my_menu {
        display: block;
        width: 100%;
        height: 45px;
        margin: 20px 0 0;
        border: 1px solid #ccc;
        border-radius: 5px;
        font-size: 15px;
    }
}

/* 결제납부 및 확인 (/mypage/Mbr_MyPayment.asp) */
.pay_box form {
    margin-bottom: 10px;
}

.pay_table .pay_check {
    width: 18px;
    height: 18px;
    vertical-align: middle;
    cursor: pointer;
}

.pay_table tr.pay_total td {
    background: #f3f5f8;
    font-weight: 500;
}

.pay_sum {
    width: 110px;
    border: 0;
    background: transparent;
    color: var(--rn-primary);
    font-weight: 600;
    text-align: right;
}

.pay_empty {
    padding: 50px 0;
    border-top: 2px solid var(--rn-primary);
    border-bottom: 1px solid #d5d5d5;
    color: #777;
    text-align: center;
}

.pay_table td.pay_none {
    padding: 40px 0;
    color: #777;
    text-align: center;
}

@media (min-width: 769px) {
    .pay_table tr.pay_total td {
        text-align: right;
    }

    .pay_result td.pay_summary {
        text-align: left;
    }

    .pay_result th,
    .pay_result td {
        padding-right: 5px;
        padding-left: 5px;
    }

    .pay_result th:nth-child(1) {
        width: 17%;
    }

    .pay_result th:nth-child(3),
    .pay_result th:nth-child(7) {
        width: 12%;
    }

    .pay_result th:nth-child(4),
    .pay_result th:nth-child(5) {
        width: 13%;
    }

    .pay_result th:nth-child(6) {
        width: 8%;
    }

    .pay_result td:nth-child(4),
    .pay_result td:nth-child(5) {
        white-space: nowrap;
    }

    .pay_result .form_buttn03 {
        min-width: 0;
    }
}

@media (max-width: 768px) {
    .pay_table tr.pay_total td {
        padding: 12px 10px;
    }

    .pay_table tr.pay_total .form_buttn01 {
        display: block;
        width: 100%;
        margin: 10px 0 0;
        padding: 10px;
        font-size: 15px;
    }

    .pay_table td.n_data_label .form_buttn03 {
        width: 100%;
    }
}

/* 결제하기 (/mypage/Mbr_MyPaymentDo.asp)
   - 페이지 안 인라인 style(9pt tahoma)을 .pay_method 범위로 덮어씀 */
.pay_guide {
    margin: 0 0 15px;
    padding-left: 20px;
    color: #555;
    font-size: 15px;
    line-height: 1.7;
}

.pay_order {
    margin-bottom: 10px;
}

.pay_order td.pay_price {
    color: var(--rn-primary);
    font-weight: 600;
    white-space: nowrap;
}

.pay_method #pyMethodList {
    margin: 0;
    padding: 0;
    font: inherit;
    list-style: none;
}

.pay_method #pyMethodList li {
    padding: 6px 0;
}

.pay_method #pyMethodList input {
    width: 16px;
    height: 16px;
    margin: 0 6px 0 0;
    vertical-align: middle;
    cursor: pointer;
}

.pay_method #pyMethodList label {
    margin: 0;
    cursor: pointer;
}

.pay_method .dyhidden {
    padding: 0;
    font: inherit;
    font-size: 14px;
    line-height: 1.7;
}

.pay_method .dyPaytypeHi {
    margin: 0 0 4px;
    font-weight: 600;
}

.pay_method td.pay_notice {
    background: #f3f5f8;
    text-align: left;
}

.pay_method .dyRequest {
    padding: 0;
    font: inherit;
    font-size: 14px;
    line-height: 1.7;
}

.pay_method .dyRequest p {
    margin: 0;
}

.pay_method .dyRequest label {
    margin: 0;
    cursor: pointer;
}

.pay_method #dyReceipt {
    padding: 0;
}

.pay_receipt {
    margin: 10px 0 0;
    padding: 15px;
    border: 1px solid #d5d5d5;
    background: #fff;
    list-style: none;
}

.pay_receipt li {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
}

.pay_receipt li:last-child {
    margin-bottom: 0;
}

.pay_receipt_label {
    flex: 0 0 110px;
    margin: 0;
    font-weight: 500;
}

.pay_receipt .form-control {
    max-width: 400px;
    height: 36px;
}

@media (min-width: 769px) {
    .pay_order th:last-child {
        width: 30%;
    }

    .pay_method .pay_method_th {
        width: 180px;
    }

    .pay_method > tbody > tr > td {
        padding: 15px;
        text-align: left;
        vertical-align: top;
    }

    .pay_method td.pay_method_list {
        border-right: 1px solid #d5d5d5;
    }
}

@media (max-width: 768px) {
    .form_table_m.pay_method td.n_data_label {
        padding: 12px 10px;
        text-align: left;
    }

    .pay_order td::before {
        flex: 0 0 110px;
    }

    .pay_method td.pay_method_list {
        border-bottom: 1px solid #d5d5d5;
    }

    .pay_method #pyMethodList {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .pay_method #pyMethodList li {
        display: block;
    }

    .pay_method .dyhidden tr {
        display: table-row;
        border: 0;
    }

    .pay_method .dyhidden td {
        display: table-cell;
        width: auto;
        padding: 2px;
        border: 0;
    }

    .pay_method .dyhidden td::before {
        display: none;
    }

    .pay_receipt li {
        flex-wrap: wrap;
    }

    .pay_receipt_label {
        flex-basis: 100%;
        margin-bottom: 4px;
    }
}

/* 결제내역 상세 (/mypage/Mbr_MyPaymentDetail.asp) */
.pay_detail_note {
    margin: 10px 0 0;
    color: var(--rn-accent);
    font-size: 14px;
}

@media (min-width: 769px) {
    .pay_detail th {
        width: 20%;
    }

    .pay_detail td.pay_info {
        text-align: left;
    }

    .pay_items th:nth-child(3),
    .pay_items th:nth-child(4) {
        width: 120px;
    }

    .pay_items td.pay_price {
        text-align: right;
    }
}

@media (max-width: 768px) {
    .pay_detail td.n_data_label {
        padding: 10px;
    }
}


/* ==========================================
   5. 행사 (/conference/conference01_1.asp ~)
   - kic style.css에 남은 예전 .Conference 규칙(conf_off 숨김, 내용 칸 말줄임,
     490px 이하 내용/일자 칸 숨김)을 sase 기준으로 덮어씀
   ========================================== */

/* 자료 다운로드 안내 (AC=2, 4) */
.conf_notice {
    margin: 0 0 20px;
    padding: 20px;
    border: 1px solid #e1e1e1;
    background: #f4f6ff;
}

.conf_past_title {
    margin-top: 50px;
}

/* 행사 목록 표 */
table.Conference th:nth-child(1) {
    width: 100px;
}

table.Conference th:nth-child(2) {
    width: 35%;
}

table.Conference th:nth-child(4) {
    width: 110px;
}

table.Conference td {
    word-break: keep-all;
}

table.Conference td.conf_name {
    background: none;
}

table.Conference td:nth-child(3),
table.Conference td.conf_cont {
    max-width: none;
    overflow: visible;
    text-align: left;
    text-overflow: clip;
    white-space: normal;
}

/* 상태 라벨 */
div.conf_on,
div.conf_off {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 8px 14px;
    border-radius: 5px;
}

div.conf_on {
    border: 1px solid var(--rn-primary);
    background: var(--rn-primary);
    color: #fff;
}

div.conf_off {
    border: 1px solid #d8d8d8;
    background: #f2f2f2;
}

/* 내용 없음 */
table.Conference tr.conf_no td {
    padding: 40px 0;
    color: #777;
    text-align: center;
}

/* 페이지 번호 */
.conf_paging {
    margin: 15px 0 0;
    font-size: 14px;
    text-align: center;
}

.conf_paging a {
    padding: 0 3px;
}

@media (max-width: 768px) {
    table.Conference td:nth-child(4) {
        display: flex;
    }

    table.Conference td.conf_cont {
        display: block;
    }

	
	.ConfMenu ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.ConfMenu ul li {
		border: 1px solid #898989;
		width: 49%;
		margin: 3px 0;
		padding: 5px;
		border-radius: 5px;
        background: #f3faff;
	}

	.ConfMenu ul li a {
		padding: 0px 0px;
	}

}

#editor_frm img {
	height:auto !important;
}

/* 에디터 본문 (행사 상세·발표 안내 등 #editor) : 고정 폭 표·이미지 넘침 방지 */
.editor img {
    max-width: 100%;
    height: auto !important;
}

.editor iframe {
    max-width: 100%;
}

.editor table {
    max-width: 100%;
}

@media (max-width: 768px) {
    .editor table {
        width: 100% !important;
        table-layout: fixed;
    }

    /* 에디터 표 셀의 고정 폭(style="width:241px" 등) 해제 : table-layout fixed 에서 셀 폭 합이 표 폭보다 우선함 */
    .editor td,
    .editor th {
        width: auto !important;
        overflow-wrap: anywhere;
        word-break: keep-all;
    }
}

/* 발표 신청 및 제출 (/Conference/ConferencePaperInfo.asp)
   - 발표 정보 : 논문 1건 = 세로형 form_table 1개 (.paper_card) */
.paper_nonmbr {
    margin: 10px 0 0;
    text-align: right;
}

.paper_nonmbr .form_buttn03 {
    margin: 3px;
    padding: 7px 12px;
    font-size: 14px;
}

.paper_card + .paper_card {
    margin-top: 20px;
}

.paper_card td.paper_subject {
    text-align: left;
}

.paper_card .paper_link {
    color: var(--rn-primary);
    font-weight: 600;
    text-decoration: underline;
}

.paper_check {
    color: #ff3300;
}

.paper_check--ok {
    color: var(--rn-primary);
}

.paper_fee {
    color: #3399ff;
    text-decoration: underline;
}

.paper_note {
    margin: 15px 0 0;
    padding-left: 20px;
    color: #ff6600;
    font-size: 14px;
    line-height: 1.7;
}


/* 발표 신청 폼 (/Conference/ConferencePaperReg.asp)
   - #dynamic_table 은 공용 JS(fn_addInputBox)가 예전 마크업(th, bgcolor, .form1)으로 행을 추가하므로
     클래스 대신 구조(th / td / input) 기준으로 지정 */
.paper_reg {
    font-size: 15px;
}

.paper_alert {
    margin: 0 0 10px;
    padding: 12px 15px;
    border: 1px solid #f3d9a4;
    border-radius: 4px;
    background: #fff8e6;
    color: #8a5a00;
    font-size: 14px;
}

.paper_form td.paper_editor_cell {
    padding: 10px 15px;
}

.paper_form textarea {
    max-width: 100%;
}

.paper_form .cke {
    width: 100% !important;
    max-width: 100%;
}

.paper_form select.paper_select {
    margin: 3px 0;
}

.paper_au_note {
    margin: -5px 0 10px;
    color: #555;
    font-size: 14px;
}

.paper_au_note img {
    vertical-align: middle;
}

/* 저자 정보 표 */
#dynamic_table {
    width: 100%;
    border-top: 2px solid var(--rn-primary);
}

#dynamic_table > tbody > tr > td {
    padding: 10px 5px;
    border-bottom: 1px solid #d5d5d5;
    background: #fff;
    text-align: center;
    vertical-align: middle;
}

#dynamic_table > tbody > tr > td:not(:nth-child(3)) {
    width: 32px;
    padding: 4px 2px;
}

#dynamic_table > tbody > tr > td img {
    max-width: none;
    cursor: pointer;
}

#dynamic_table tr {
    height: auto;
}

#dynamic_table table {
    width: 100%;
    border-collapse: collapse;
}

#dynamic_table table th,
#dynamic_table table td {
    padding: 6px 8px;
    border: 1px solid #e1e1e1;
    background: #fff;
}

#dynamic_table table th {
    background: #f3f5f8;
    font-weight: 500;
    text-align: center;
    white-space: nowrap;
}

#dynamic_table table th[colspan] {
    background: #fff;
}

#dynamic_table input[type="text"] {
    width: 100%;
    height: 34px;
    padding: 4px 8px;
    border: 1px solid #ced4da;
    border-radius: 4px;
}

.paper_au_add {
    margin: 10px 0 0;
    text-align: right;
}

.paper_au_add .form_buttn03 {
    padding: 7px 14px;
    font-size: 14px;
}

/* 파일 업로드 */
@media (min-width: 769px) {
    .paper_files th:nth-child(1) {
        width: 30%;
    }

    .paper_files th:nth-child(3) {
        width: 90px;
    }

    .paper_files th:nth-child(4) {
        width: 110px;
    }

    .paper_files th:nth-child(5) {
        width: 140px;
    }
}

.paper_files .form_buttn01,
.paper_files .form_buttn03 {
    min-width: 0;
    margin: 2px;
    padding: 5px 10px;
    font-size: 13px;
}

/* 추가 신청 라디오 */
.paper_opt {
    display: block;
    margin: 3px 0;
    font-weight: 400;
    cursor: pointer;
}

.paper_opt input {
    margin: 0 5px 0 0;
    vertical-align: middle;
}

/* 삭제 버튼 */
.sign_btn_box .paper_del {
    background: #fbe9e9;
    color: #c0392b;
}

@media (max-width: 768px) {
    #dynamic_table,
    #dynamic_table > tbody {
        display: block;
    }

    #dynamic_table colgroup {
        display: none;
    }

    #dynamic_table > tbody > tr {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        padding: 8px 0;
        border-bottom: 3px solid #ddd;
    }

    #dynamic_table > tbody > tr > td,
    #dynamic_table > tbody > tr > td:not(:nth-child(3)) {
        width: auto;
        padding: 4px;
        border: 0;
    }

    #dynamic_table > tbody > tr > td:nth-child(3) {
        flex: 0 0 100%;
        order: 5;
    }

    #dynamic_table table,
    #dynamic_table table > tbody {
        display: block;
        width: 100%;
    }

    #dynamic_table table tr {
        display: flex;
        flex-wrap: wrap;
    }

    #dynamic_table table th {
        display: flex;
        flex: 0 0 90px;
        align-items: center;
        text-align: left;
        white-space: normal;
    }

    #dynamic_table table td {
        flex: 1 1 calc(100% - 90px);
        min-width: 0;
    }

    #dynamic_table table th[colspan],
    #dynamic_table table td[colspan] {
        display: none;
    }
}

/* 저자 정보 버튼 (페이지 스크립트에서 fn_addInputBox / fn_AuthMove 재정의) */
#dynamic_table {
    counter-reset: au;
}

#dynamic_table > tbody > tr {
    counter-increment: au;
}

#dynamic_table > tbody > tr > td.au_no {
    width: 70px;
}

#dynamic_table td.au_no::before {
    content: "저자 " counter(au);
    display: block;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}

.au_presenter {
    display: inline-block;
    margin-top: 4px;
    padding: 1px 6px;
    border-radius: 3px;
    background: var(--rn-primary);
    color: #fff;
    font-size: 12px;
    white-space: nowrap;
}

#dynamic_table > tbody > tr > td.au_sort,
#dynamic_table > tbody > tr > td.au_tool {
    width: 44px;
}

.au_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    margin: 2px;
    padding: 0 8px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    background: #fff;
    color: #555;
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
}

.au_btn:hover {
    border-color: var(--rn-primary);
    color: var(--rn-primary);
}

.au_btn.au_del {
    border-color: #f1b8b8;
    color: #c0392b;
}

.au_btn.au_del:hover {
    background: #fbe9e9;
}

@media (min-width: 769px) {
    #dynamic_table td.au_sort .au_btn {
        display: flex;
        margin: 2px auto;
    }
}

@media (max-width: 768px) {
    #dynamic_table > tbody > tr {
        padding: 10px 0;
    }

    #dynamic_table > tbody > tr > td.au_no {
        display: flex;
        flex: 1 1 auto;
        order: 1;
        align-items: center;
        gap: 8px;
        width: auto;
        text-align: left;
    }

    #dynamic_table td.au_no::before {
        font-size: 15px;
    }

    .au_presenter {
        margin-top: 0;
    }

    #dynamic_table > tbody > tr > td.au_sort {
        display: flex;
        order: 2;
        width: auto;
    }

    #dynamic_table > tbody > tr > td.au_tool {
        display: flex;
        width: auto;
    }

    #dynamic_table > tbody > tr > td.au_tool:nth-child(4) {
        order: 3;
    }

    #dynamic_table > tbody > tr > td.au_tool:nth-child(5) {
        order: 4;
    }

    #dynamic_table > tbody > tr > td.au_tool:empty,
    #dynamic_table > tbody > tr > td.au_tool.au_none {
        display: none;
    }
}

#dynamic_table > tbody > tr > td.au_no {
    width: 64px;
}

#dynamic_table table th {
    width: 90px;
}

@media (min-width: 769px) {
    #dynamic_table td.au_tool .au_btn {
        display: flex;
        margin: 2px auto;
    }
}

/* 발표논문 보기 (/Conference/ConferencePaperView.asp) */
.paper_form td.paper_text {
    line-height: 1.7;
    text-align: left;
    word-break: keep-all;
}

.paper_au_title {
    margin: 20px 0 8px;
    font-size: 15px;
    font-weight: 600;
}

.paper_au_note + .paper_au_title {
    margin-top: 0;
}

.paper_nofile {
    color: #d4433b;
    font-weight: 500;
}

/* 서버가 출력하는 신청 기간 안내 (ChkDateStr) */
.paper_reg .alert_box {
    margin: 10px 0;
    padding: 12px 15px;
    border: 1px solid #f3d9a4;
    border-radius: 4px;
    background: #fff8e6;
    color: #8a5a00;
    font-size: 14px;
}

/* 사전등록 신청 및 확인 (/Conference/ConferenceRegistrationInfo.asp) */
.form_table td.reg_price {
    color: var(--rn-primary);
    font-weight: 600;
}

.reg_note {
    margin-left: 5px;
    color: #777;
    font-size: 13px;
}

.form_table td .form_buttn01,
.form_table td .form_buttn03 {
    margin: 0;
    padding: 6px 14px;
    font-size: 14px;
}

.reg_papers td.paper_subject {
    text-align: left;
}

.reg_papers .paper_link {
    color: var(--rn-primary);
    font-weight: 600;
    text-decoration: underline;
}

@media (min-width: 769px) {
    .reg_papers th:first-child {
        width: 160px;
    }
}

/* 서버가 출력하는 사전등록 기간 안내 (ChkDateStr) */
.reg_period .alert_box {
    margin: 10px 0;
    padding: 12px 15px;
    border: 1px solid #f3d9a4;
    border-radius: 4px;
    background: #fff8e6;
    color: #8a5a00;
    font-size: 14px;
}

@media (max-width: 768px) {
    .reg_note {
        display: block;
        margin: 6px 0 0;
    }
}

/* 사전등록 신청 폼 (/Conference/ConferenceRegistrationReg.asp) */
.reg_mtype input[type="radio"],
.reg_opt input[type="radio"],
.reg_opt input[type="checkbox"] {
    margin: 0 4px 0 0;
    vertical-align: middle;
}

.reg_mtype input[type="radio"] ~ input[type="radio"] {
    margin-left: 15px;
}

.reg_opt label {
    margin: 0 15px 0 0;
    font-weight: 400;
    cursor: pointer;
}

.reg_price_input {
    width: 90px;
    border: 0;
    background: transparent;
    color: var(--rn-primary);
    font-size: 17px;
    font-weight: 600;
    text-align: left;
}

.reg_form_table .form_buttn01 {
    margin: 0 0 0 5px;
}

/* 추가 옵션 : 항목 이름이 길어 제목칸을 넓게 */
.reg_opt_table col.reg_opt_th {
    width: 40%;
}

.reg_opt_table td.bg01 {
    line-height: 1.5;
    word-break: keep-all;
}

@media (min-width: 769px) {
    .reg_opt_table td.bg01 {
        text-align: left;
    }
}

@media (max-width: 768px) {
    .reg_form_table .form_buttn01 {
        margin: 5px 0 0;
    }
}

/* 비회원 로그인 및 등록 (/NonMember/NonMbrLogin.asp) */
.nm_desc {
    margin: -8px 0 12px;
    color: #1c58ab;
    font-size: 14px;
}

.nm_findpw {
    margin: 12px 0 0;
    font-size: 14px;
}

.nm_findpw a {
    color: #cc6600;
}

.nm_agree {
    margin: 20px 0 0;
    padding: 12px 15px;
    border: 1px solid #d5e4f5;
    border-radius: 4px;
    background: #f3f8fd;
    font-size: 15px;
}

.nm_agree input {
    width: 18px;
    height: 18px;
    margin: 0 6px 0 0;
    vertical-align: middle;
}

.nm_agree label {
    margin: 0;
    color: #0e6fc5;
    font-weight: 500;
    cursor: pointer;
}

.form_table td .reg_note {
    margin: 5px 0 0;
}

.form_table td span.reg_note {
    margin-left: 5px;
}
