* {
    box-sizing: border-box;
    font-family: 'pretendard' !important;
    font-feature-settings: var(--font-settings);
}

 input[type=text], textarea {
    padding: 0 5px;
    border: none;
    border-bottom: 1px solid #9e9e9e;
    background: transparent;
    overflow: hidden;
}

.survey-percent-wrap.location-percent-wrap .percentage-bar-wrap {
    margin-left: 66px;
}

.survey-progress .location-percent-notice {
    position: absolute;
    z-index: 2;
    left: 0;
    top: 2px;
    font-size: 12px;
    font-weight: 500;
    color: #333;
}


/* 리프레쉬 / 닫기 버튼 추가 */
.refresh_wrap, .exit_wrap {
    position: fixed;
    left: 30px;
    bottom: 40px;
    display: flex;
    align-items: center;
    flex-direction: column-reverse;
    gap: 3px;
    transition: 0.5s;
}

.exit_wrap  {
    left: 86px;
}

.exit_wrap .exit,
.refresh_wrap .refresh {
    width: 40px;
    height: 40px;
    background-color: #ffff;
    border-radius: 50px;
    border: solid 1px #e0e0e0;
    background: #fff;
    border-radius: 20px;
    padding: 5px;
    cursor: pointer;
    -webkit-transition: all ease-in-out 0.5s;
    -o-transition: all ease-in-out 0.5s;
    transition: all ease-in-out 0.5s;
    /* -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); */
    z-index: 99990;
    display: flex;
    align-items: center;
    justify-content: center;
}

.refresh_wrap:hover .refresh_txt ,
.exit_wrap:hover .exit_txt  {
   opacity: 1; 
   transition: 0.5s;
}

.refresh img, .exit img {
    width: 25px;
}

.refresh_txt, .exit_txt {
    opacity: 0;
    font-size: 14px;
    font-weight: 500;
    color: #555;
}


.container {
    text-align: center;
}


/* 원고지 / 독서지도계획안 응답창 */
.single-question-wrap.single-manuscript-wrap {
    padding: 0 !important;
}
.paper-wrapper {
    position: relative;
    width: 804px;
    margin: 30px auto 0;
    height: auto;
    min-height: 500px;

}

.paper {
    position: relative;
    display: grid;
    grid-template-columns: repeat(25, 32px);
    grid-template-rows: 62px repeat(var(--no-of-rows), 47px);
    border: 2px solid #f3926b;
    margin-bottom: 20px;
    width: fit-content;
    margin: 0 auto;
    caret-color: transparent;
}

.webRTC_survey .survey-select-arr .cell {
    color: #333;
}

.cell {
    position: relative;
    width: 32px;
    height: 32px;
    line-height: 32px;
    background-color: white;
    box-sizing: border-box; /* 셀이 겹치지 않도록 설정 */
    outline: 1px solid #f3926b; /* 셀 간의 경계선 */
    font-size: 19px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333;
}

.cell.period {
    display: flex;
    justify-content: flex-start;
    margin-left: 0;
    padding-left: 5px;
}

.cell.cursor_bg {
    background-color: #ffe9d5;
}

.cell::selection {
    background: transparent;
    color: inherit;
}

.first-row {
    margin-top: 15px;
}

.paper:focus {
    outline: none;
}

.cell.number_line::before {
    position: absolute;
    content: var(--line-no);
    font-size: 12px;
    text-align: right;
    left: -70px;
    top: 10px;
    width: 62px;
    color: #555;
    font-weight: 500;
} 

.cell.unit_1 {
    padding-bottom: 3px;
}

.cell.unit_2 {
    padding-bottom: 15px;
}

button.btn_question_close {
    padding: 0 12px;
    height: 36px;
    border-radius: 3px;
    font-size: 15px;
    font-weight: 500;
    border-radius: 3px;
    border: 1px solid #fb7c4a;
    color: #ed5c23 !important;
    min-width: 90px;
}

.controls {
    height: 75px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: sticky;
    top: 58px;
    z-index: 3;
    background-color: #fff;
    padding: 20px 0 15px;
}

.controls.bar_add {
    top: 83px;
} 

.controls.display_center {
    justify-content: center;
}

.controls .btn_right button {
    padding: 0 16px;
    height: 36px;
    color: #222;
    border-radius: 3px;
    font-weight: 500;
    border: 1px solid #dcdcdc;
    color: #333 !important;
    background-color: #fff;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.15), 0 -2px 2px rgba(255, 255, 255, 0.7) inset;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
    width: 36px;
    padding: 0;
    font-size: 20px;
}

.controls .btn_control {
    display: flex;
    gap: 10px;
}

.controls .btn_right button:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.25), 0 -2px 2px rgba(255, 255, 255, 0.13) inset; 
}

.controls .btn_right button:active {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 -1px 1px rgba(0, 0, 0, 0.1) inset;
    transform: translateY(1px);
}

.controls .btn_save_wrap {
    position: relative;
    display: flex;
    gap: 12px;
}

.controls .btn_save {
    height: 36px;
    border-radius: 3px;
    background-color: #ed5c23;
    color: #fff;
    min-width: 90px;
    font-size: 15px;
    font-weight: 600;
    box-shadow: none;
}

.controls .btn_save_wrap  .alt-msg {
    position: absolute;
    left: 100px;
    font-size: 16px;
}

.controls .btn_save:hover {
    box-shadow: none; 
}

.controls .btn_save:active {
    box-shadow: 0 1px 2px #fb7c4a25, 0 -1px 1px #fb7c4a1f inset;
}

table.reading_guid {
    padding: 0;
    margin: 0;
}

.reading_plan_wrap {
    border-bottom: 0 !important;
}

table.reading_guid_plan_wrap {
    width: 100%;
    border: 1px solid #bbb;
    padding: 0 0 0 60px;
}

table.reading_guid_plan_wrap.test_taker_info  {
    margin-bottom: 20px;
}

table.reading_guid_plan_wrap input,
table.reading_guid_plan_wrap textarea {
    /* height: 100%; */
    /* min-height: 100%; */
}

table.reading_guid_plan_wrap tr {
    border-bottom: 1px solid #999;
}

table.reading_guid_plan_wrap tr:nth-child(5) {
    height: 400px;
}

table.reading_guid_plan_wrap tr:last-child {
    border-bottom: 0;
}

table.reading_guid_plan_wrap tr th, 
table.reading_guid_plan_wrap tr td {
    text-align: center;
    font-size: 14px;
    height: 56px;
    vertical-align: middle;
}

table.reading_guid_plan_wrap tr th {
    background-color: #e9e9e9;
    color: #333 !important;
    font-weight: 600;
    font-size: 16px;
}

table.reading_guid_plan_wrap tr td {
    font-size: 16px;
    padding: 6px;
}

table.reading_guid_plan_wrap tr th:nth-child(1) {
    width: 86px;
    border-right: 1px solid #999;
}

table.reading_guid_plan_wrap tr td:nth-child(2),
table.reading_guid_plan_wrap tr th:nth-child(2) {
    width: auto;
    border-right: 1px solid #999;
}

table.reading_guid_plan_wrap tr td:nth-child(3),
table.reading_guid_plan_wrap tr th:nth-child(3) {
    width: 86px;
    border-right: 1px solid #999;
}

table.reading_guid_plan_wrap tr th:nth-child(4),
table.reading_guid_plan_wrap tr td:nth-child(4)  {
    width: 180px;
}

table.reading_guid_plan_wrap.test_taker_info tr td, 
table.reading_guid_plan_wrap.test_taker_info tr th {
    width: fit-content;
    border-right: 1px solid #999;
}

table.reading_guid_plan_wrap.test_taker_info .width_80 {
    width: 80px;
}

table.reading_guid_plan_wrap.test_taker_info tr td {
    font-weight: 500;
    color: #555;
}

table.reading_guid_plan_wrap textarea {
    max-width: 100% !important;
    width: 100% !important;
    border: 1px solid #dcdcdc;
    border-radius: 3px;
    color: #000 !important;
    padding: 3px;
}

table.reading_guid_plan_wrap textarea:focus {
    border: 1px solid #777;
    box-shadow: none;
}

table.reading_guid_plan_wrap input {
    height: auto !important;
    line-height: 25px !important;
    max-width: 100% !important;
    border-radius: 3px;
}

table.reading_guid_plan_wrap th input {
    border: 0 !important;
    font-weight: 600;
    text-align: center;
    font-size: 15px;
    padding: 0;
}

table.reading_guid_plan_wrap th input:focus {
    outline: none;
    border: 0;
    box-shadow: none;
}

table.reading_guid_plan_wrap td input {
    border: 1px solid #dcdcdc !important;
    border-radius: 3px;
    width: 100%;
    font-size: 14px !important;
    text-align: left;
}

table.reading_guid_plan_wrap td input:focus {
    outline: none !important;
    border-bottom: none !important;
    border: 1px solid #777 !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}

 .reading_guid_plan_wrap.reading_guid_plan_table tr td {
    width: 100%;
    color: #111;
    padding: 10px !important;
    font-size: 14px;
    text-align: left !important;
}

/* 글그림 문항 - 아이프레임 */
/* 인풋창 */
.iframe-section .input-type-iframe.pup {
    border: none;
}

.input-movie.dragging iframe {
    pointer-events:none;
}
  
.input-movie {
    position: relative;
    border: 1px solid #dbdbdb !important;
}

/* 에디터 표 */
.survey-set h5 table {
    width: auto;
}

  /* 하단 핸들 */
.resize-handle {
    position: absolute;
    bottom: 0px;
    width: 100%;
    height: 15px;
    padding-top: 1px;
    border-top: 1px solid #dbdbdb;
    background-color: #f6f6f6;
    transition: 0.2s;
    cursor: ns-resize;
    user-select: none;
    inset-inline: 0;
}

.resize-handle span {
    position: absolute;
    font-size: 11px;
    font-weight: 500;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.resize-handle span::before {
    content: '';
    position: absolute;
    background: url(https://www.nowntest.com/smart_editor/img/ico_extend.png) no-repeat center;
    left: -10px;
    top: 3px;
}

.resize-handle:hover span {
    color: #ed5c23;
}

/* 에디터창 */
.svynew-cont-off, .svynew-cont-off table {
    font-size: 11pt;
    color: #000;
    width: auto;
}

.svynew-cont-off, .svynew-cont-off table td,
.svynew-cont-off, .svynew-cont-off table th {
    vertical-align: middle;
}