@charset "UTF-8";
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.8/dist/web/variable/pretendardvariable.css");

html * {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

body {
    font-family: "Pretendard Variable";
    font-weight: 400;
    color: #2c2c2c;
    position: relative
}

a {
    transition: color .2s ease-in-out;
    text-decoration: none;
    color: #2c2c2c;
}

a:focus {
    outline: none
}

button:focus {
    outline: none;
    box-shadow: none;
    border: none;
}

label:focus,
input:focus {
    box-shadow: none;
    border-color: #dfdfdf;
}

.wikirun-dashboard {
    background: #ffffff;
}

body.menuopen {
    overflow: hidden;
    touch-action: none;
}

.main.chat {
    background: #fff
}

/* ================= pc 버튼들 ==================

.profile {
    position: absolute;
    top: 13px;
    right: 20px;
    z-index:150
}*/

.header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 101;
    height: 56px;
    padding: 0px 30px;
    background-color: #fff !important;
    border-bottom: 1px solid #efefef;
}

@media (max-width:1200px) {
    .header {
        padding: 0px 18px;
    }
}

.profile-footer {
    position: absolute;
    background: #fff;
    bottom: 0px;
    left: 0;
    right: 0;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    border-top: .0625rem solid rgba(231, 234, 243, .7);
}

.profile-mobile {
    display: flex;
    justify-content: start;
    align-items: center;
    margin-left: 1.5rem;
}

.profile-img {
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    object-fit: cover;
    flex-shrink: 0;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    ;
}

.profile-img.inbox {
    width: 40px;
    height: 40px;
}

.profile-img.mobile {
    width: 30px;
    height: 30px;
}

.dropdown-menu {
    box-shadow: 0 0 1.25rem rgba(208, 196, 196, 0.8);
    margin-top: .32rem;
    border-top-width: 0;
    border-radius: .5rem;
    width: 14.1rem;
    border: none;
}

@media (min-width:1199.98px) {
    .dropdown-menu {
        margin-top: 0.5rem !important
    }
}

.dropdown-menu.mobile {
    width: 170px;
    margin-bottom: 0.75rem !important
}

.dropdown-box {
    display: block;
    padding: 0.25rem 1rem;
    display: flex;
    align-items: center;
}

.profile-info {
    margin-left: 1rem;
    white-space: nowrap;
    overflow: hidden;
}

.profile-nm {
    font-weight: 600;
}

.divider {
    height: 0;
    margin: 0.5rem 0.8rem;
    overflow: hidden;
    border-top: 1px solid rgba(0, 0, 0, 0.175);
    opacity: 1;
}

.dropdown-item:hover,
.dropdown-item:focus {
    background: rgba(231, 234, 243, .5);
    color: #020202
}

/*
.mobile-opener {
    opacity: 1;
    z-index: 100;
    width: 2.40625rem;
    height: 2.40625rem;
    color: #677788;
    background-color: #fff;
    border: .0625rem solid rgba(231, 234, 243, .7) !important;
    border-radius: 50%;
    transition: .4s;

}
*/
/* ================= 세로 메뉴바 ==================*/
.menubar {
    background: #fff;
    border-right: 1px solid #efefef;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 100;
    width: 270px;
    margin-left: 0;
}

@media (max-width:1200px) {
    .menubar {
        width: 230px;
    }
}

.menubar-container {
    position: relative;
    height: 100%;
    min-height: 100%
}


/* pc로고 */
.menubar .logo {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    height: 3.875rem;
    padding: 8px 30px;
    opacity: 1;
}

.logo-lg {
    width: 100%;
    min-width: 6.5rem;
    max-width: 11rem;
}

.logo-lg {
    width: 100%;
    min-width: 4rem;
    max-width: 4rem;
    margin-top: 18px;
}

@media (min-width: 1024px) {
    .logo-lg {
        min-width: 5rem;
        max-width: 5rem;
        margin-top: 24px;
    }
}


.logo-sm {
    width: 1.9125rem;
    display: none
}

/*pc 오픈 버튼 사이즈 위치 
.pc-opener {
    opacity: 1;
    z-index: 1000;
    width: 2.1rem;
    height: 2.1rem;
    font-size: .875rem;
    color: #677788;
    background-color: #fff;
    border: .0625rem solid rgba(231, 234, 243, .7) !important;
    border-radius: 50%;
    transition: .4s;
    position: absolute;
    top: .85rem;
    right: -1.125rem
}

.pc-opener i{
    margin:auto;
}*/

.menubar-content {
    height: 100%;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
}

.menubar-content::-webkit-scrollbar {
    display: none;
}

.menubar-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 80px;
    margin-bottom: 60px;
}

.menu-wrapper {
    padding: 16px 0px !important;
}

.menu-title {
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 600;
    padding: 9px 30px 4px 30px;
    margin-bottom: 6px;
    color: #677788
}

.menu {
    margin: 0;
}

.menu {
    border-bottom: 1px solid #efefef;
}


.menu-wrapper .menu:nth-of-type(2) {
    border-top: 1px solid #efefef;
}

.menu-link {
    display: flex;
    font-size: 15px;
    font-weight: 500;
    color: #132144;
    white-space: nowrap;
    padding: 9px 16px 9px 30px;
}

.submenu-link {
    font-size: 15px;
    font-weight: 500;
    color: #132144;
    display: -ms-flexbox;
    display: flex;
    white-space: wrap;
    padding: 7px 0px;
}

.link-box {
    background-color: #F9F9F9;
    position: relative;
    transition: 0.2s ease-in-out;
}

@media (max-width: 1200px) {
    .link-box {
        transition: 0.15s ease-in-out;
    }
}


.link-box-inner {
    padding: 9px 16px 9px 30px;
    margin: 0 !important;
}

/*드롭다운 메뉴 열리고 맨위 리스트
.menu-link:hover,
.menu-link[aria-expanded]:hover {
    color: #fff;
}
*/
/*드롭다운 메뉴 열리고 나서 리스트 전부
.menubar-wrapper .menu-link.active,
.menubar-wrapper .show>.menu-link {
    color: #2c2c2c;
    background-color: transparent;
}
*/
/*드롭다운 메뉴 열리고 나서 리스트 각각
.menubar-wrapper .link-box .menu .menu-link[aria-expanded]:hover,
.menubar-wrapper .link-box .menu-link:hover {
    color: #2c2c2c;
    border-radius:4px;
    background-color: rgba(189, 197, 209, .2)
}*/

/*드롭다운 메뉴 열리고 나서 리스트 각각*/
.menubar-wrapper .link-box .menu .submenu-link[aria-expanded]:hover,
.menubar-wrapper .link-box .submenu-link:hover {
    color: #377ddf;
    font-weight: 500;
    /*
    border-radius:4px;
    background-color: rgba(189, 197, 209, .2)*/
}


/*
.link-box::before {
    position: absolute;
    top: 0;
    left: 1.3125rem;
    width: .125rem;
    height: calc(100%);
    content: "";
    background-color: rgba(231, 234, 243, .7)
}*/

.menu>.menu-link[aria-expanded=true]::after,
.show>.menu-link.dropdown-toggle::after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    transition: none;
}

/*
.menu i {
    opacity: .7;
    -ms-flex: 0 0 1.9375rem;
    flex: 0 0 1.9375rem
}
    */

.dropdown-toggle {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    overflow: hidden;
}

.dropdown-toggle::after {
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='%23677788' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.72,15.78a.75.75,0,0,1-.53.22h-.38a.77.77,0,0,1-.53-.22L6.15,10.64a.5.5,0,0,1,0-.71l.71-.71a.49.49,0,0,1,.7,0L12,13.67l4.44-4.45a.5.5,0,0,1,.71,0l.7.71a.5.5,0,0,1,0,.71Z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 20px 20px;
    content: "";
    transition: none;
    border-top: 0.3rem;
}

.dropdown-toggle:not(.dropdown-toggle-empty)::after {
    padding-left: 20px;
    margin-left: auto
}

.menu-link.dropdown-toggle {
    -ms-flex-align: center;
    align-items: center;
}

.menubar .menu-link.dropdown-toggle {
    position: relative;
}

/* ========== 메인컨텐츠 ========= */

.main {
    padding: 0;
    background: #fff;
    position: relative;
    min-height: 100vh;
}

.main-container {
    padding: 90px 24px 90px 24px;
}

@media (max-width:575.98px) {
    .main-container {
        padding: 90px 16px 100px 16px;
    }
}

@media (min-width:1400px) {
    .main-container {
        padding: 90px 38px 90px 38px;
    }
}

@media (min-width:1921px) {
    .main-container {
        padding: 100px 90px 100px 90px;
    }
}

.table-wrapper {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    box-shadow: 0rem 0.375rem 0.75rem rgba(140, 152, 164, 0.075);
    border: 1px solid rgba(231, 234, 243, 0.7);
    border-radius: 0.5rem;
    padding: 1rem;
    color: #020202;
    min-height: 90vh
}

@media (max-width:575.98px) {
    .table-wrapper {
        margin: 0rem 0.375rem;
        padding: 0rem 0rem 0rem 0rem
    }
}

.table-header {
    margin-top: 1rem;
}

@media (max-width:575.98px) {
    .table-header {
        margin-top: 1rem;
    }
}

.table-title {
    margin-top: 0;
    font-weight: 500;
    font-size: 20px;
}

@media (min-width:1200px) {
    .table-title {
        font-size: 26px;
    }
}

@media (max-width:575.98px) {
    .table-title {
        margin-bottom: 1rem
    }
}

.table-noscroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-right: 0.9rem;
    padding-left: 0.9rem;
    margin-bottom: 1.5rem;
    overflow-y: scroll;
    -ms-overflow-style: none;
}

.table-noscroll::-webkit-scrollbar {
    display: none;
}

.xy-scroll {
    -webkit-overflow-scrolling: touch;
    overflow-y: auto;
    overflow-x: auto;
}

.table-withscroll {
    -webkit-overflow-scrolling: touch;
    overflow-y: auto;
    overflow-x: auto;
}

@media (max-width:575.98px) {
    .table-noscroll {
        padding-right: 0rem;
        padding-left: 0rem;
    }
}

.xy-scroll::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

@media all and (min-width:575.98px) and (max-width:1199.98px) {
    .xy-scroll::-webkit-scrollbar {
        display: none;
    }
}

@media (max-width:575.98px) {
    .xy-scroll::-webkit-scrollbar {
        display: none;
    }
}

.xy-scroll::-webkit-scrollbar-thumb {
    height: 30%;
    background: #d5d5d5;
    border-radius: 10px;
}

.xy-scroll::-webkit-scrollbar-track {
    background: #d5d5d5;
    border-radius: 10px;
}

@media (max-width:575.98px) {
    .xy-scroll {
        padding-right: 0rem;
        padding-left: 0rem;
    }
}

.table-titlebox {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.table-title-button {
    display: inline-block;
    border-radius: 0.3125rem;
    padding: 0.5125rem 1rem;
    font-size: 1.1rem;
    font-weight: 400;
    color: #fff;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: none;
    background-color: #0d6efd;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    margin-right: 1rem;
    margin-bottom: 1rem;
    z-index: 9
}

@media (max-width:575.98px) {
    .table-title-button {
        padding: 0.3125rem 0.9rem;
        font-size: 1rem;
        margin-bottom: .5rem
    }
}

.table-title-button:hover {
    box-shadow: 0rem 0rem 0.5rem rgba(55, 125, 255, 0.5);
}

.blue-btn {
    display: inline-block;
    border-radius: 6px;
    padding: 6px 12px;
    font-size: 15px;
    font-weight: 400;
    color: #fff;
    text-align: center;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: 1px solid #0d6efd;
    background-color: #0d6efd;
    z-index: 9
}

.blue-btn:focus {
    border: 1px solid #0d6efd;
}

.white-btn {
    display: inline-block;
    border-radius: 6px;
    padding: 6px 12px;
    font-size: 15px;
    font-weight: 400;
    color: inherit;
    text-align: center;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: 1px solid gray;
    background-color: #fff;
    z-index: 9
}

.white-btn:focus {
    border: 1px solid gray;
}

.blue-btn-lg {
    display: inline-block;
    border-radius: 6px;
    padding: 10px 12px;
    font-size: 16px;
    font-weight: 400;
    color: #fff;
    text-align: center;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: none;
    background-color: #0d6efd;
    z-index: 9
}

.white-btn {
    display: inline-block;
    border-radius: 6px;
    padding: 6px 12px;
    font-size: 15px;
    font-weight: 400;
    color: #2c2c2c;
    text-align: center;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: 1px solid #737373;
    background-color: #fff;
    z-index: 9
}

.white-btn:focus {
    border: 1px solid #737373;
}

.gray-line-btn {
    display: inline-block;
    border-radius: 4px;
    padding: 6px 10px;
    font-size: 16px;
    font-weight: 400;
    color: #333333;
    text-align: center;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: none;
    background-color: #fff;
    border: 1px solid #333333;
    z-index: 9
}

.gray-line-btn:focus {
    border: 1px solid #333333;
}

.gray-lightline-btn {
    display: inline-block;
    border-radius: 6px;
    padding: 6px 10px;
    font-size: 16px;
    font-weight: 400;
    color: #747474;
    text-align: center;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: none;
    background-color: #fff;
    border: 1px solid #747474;
    z-index: 9
}

.gray-lightline-btn:focus {
    border: 1px solid #747474;
}

/* 데이터 데이블이 포함된 모달 */
.modal-body.dtable {
    padding-right: 2rem;
    padding-left: 2rem
}

@media (max-width:575.98px) {
    .modal-body.dtable {
        padding-right: 0rem;
        padding-left: 0rem
    }
}

@media (max-width:575.98px) {
    .modal-body-header {
        padding-right: 1.5rem;
        padding-left: 1.5rem
    }
}

@media (max-width:575.98px) {
    .modal-body-text.dtable {
        padding-right: 1rem;
        padding-left: 1rem
    }
}

.modal-table-container {
    position: relative;
    display: flex;
    flex-direction: column;
    color: #454545;
    background-color: #fff;
    background-clip: border-box;
    border-radius: 0.375rem;
    padding-right: 0rem;
    padding-left: 0rem;
    margin-top: 1rem;
}

@media (max-width:575.98px) {
    .modal-table-container {
        padding-right: 0.5rem;
        padding-left: 0.5rem;
    }
}

.table-height-modal {
    max-height: 38vh;
}

.table-noscroll.dtable {
    padding: 0;
    margin-bottom: 0;
}

.modal-footer.dtable {
    padding: 1rem 1.5rem 2rem 1.5rem;
    justify-content: space-between;
}

@media (max-width:575.98px) {
    .modal-footer.dtable {
        padding: 0.5rem 1.5rem 2rem 1.5rem;
    }
}

.left-button {
    flex: 0.5
}

.left-button .modal-cancel {
    width: 50%
}

.right-button {
    flex: 0.5;
    display: flex;
}

.right-button .modal-cancel {
    margin-right: 0.5rem;
}

.modal .form-check {
    display: inline-block;
    min-height: 1.5rem;
    padding: 0;
    margin: 0;
    transform: translate(40px, 3px);
    margin-right: 0.75rem;
}

.form-check-input {
    border: 1px solid #b1b1b1;
}

.form-check-input:focus {
    border-color: #b1b1b1;
    box-shadow: none;
}

.form-check-input:checked {
    background-color: #0D99FF;
    border-color: #0D99FF;
    box-shadow: none;
    ;
}

/* 학생조회 */
@media (max-width:575.98px) {
    .noshow-mobile {
        display: none;
    }
}



/* =============== 반응형 ================= */

.opener .left {
    display: block
}

.opener .right {
    display: none
}

.menuopen .opener .left {
    display: none
}

.menuopen .opener .right {
    display: block
}

@media (min-width:1200px) {

    .main {
        padding-left: 270px;
        transition: all 0.17s ease-in-out;
    }

    .profile-footer {
        display: none
    }

    .menuopen .profile-footer .profile-nm {
        display: none
    }

    .menuopen .profile-footer .profile-img {
        margin-left: 0.5rem
    }

    /*
    .menuopen .link-box {
        position: absolute !important;
        top: auto;
        left: calc(100% + .5rem);
        z-index: 2;
        min-width: 12rem;
        background-color: #fff;
        box-shadow: 0 0 1.25rem rgba(208, 196, 196, 0.8);
        border-radius: .3125rem;
        padding: .5rem .5rem;
        white-space: nowrap;
        transition: none;
        transform:translate(0px, -1.6rem)
    }


    .menuopen .link-box::before {
        position: absolute;
        top: 0;
        left: -1.0625rem;
        width: 1.125rem;
        height: calc(100% - .25rem);
        content: "";
        background: 0 0
    }
    /*
    .menuopen .menubar .menu-link.dropdown-toggle::before {
        position: absolute;
        top: 50%;
        content: "";
        width: 5px;
        height: 5px;
        background-color: #bdc5d1;
        opacity: 0;
        border-radius: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        transition: opacity .3s;
        left: 5px;
        opacity:1
    }
    
    .menuopen .menubar .menu.show>.menu-link.dropdown-toggle::before,
    .menuopen .menubar .menu-link.dropdown-toggle.active::before,
    .menuopen .menubar .menu-link.dropdown-toggle:hover::before {
        background-color: #0D99FF;
    }
            */
    .menuopen .menu-wrapper {
        padding: 0;
    }
}


@media (max-width:1200px) {
    .menubar {
        margin-left: -270px;
        transition: all 0.2s ease-in-out;
    }

    .menuopen .menubar {
        margin-left: 0rem;
        padding-left: 0;
        transition: all 0.2s ease-in-out;
    }

    .link-box::before {
        display: block;
    }

    .menuopen .menubar .menu-link.dropdown-toggle::before {
        display: none;
    }

    .menuopen .menu-name {
        display: block
    }

    .menuopen .menu-link.dropdown-toggle::after {
        display: block;
    }

    .menuopen .main:before {
        content: "";
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(19, 33, 68, 0.1);
        z-index: 10;
        transition: all 0.2s ease-in-out;
    }
}

/* =============== 반응형 끝 ================= */


/* ================ 데이터 테이블 시작 =============== */

/* 디폴트 데이터테이블에서 필요없는 부분 수정*/

/* 왼쪽 아래 총 몇개중 몇개를 보여준다 정보 */
.dataTables_info {
    display: none;
}

/* 왼쪽 위 총 몇개씩 보여줄까 창*/
.dataTables_length {
    display: none
}

/* 기본 검색창*/
.dataTables_filter {
    display: none
}

/* 페이지 넘기기*/
.dataTables_paginate {
    display: block
}

/* ===== 디폴트 데이터테이블에서 필요없는 부분 수정 끝 ===== */

.wr-datatable {
    width: 100%;
    margin-bottom: 1rem;
    vertical-align: top;
    white-space: nowrap;
    vertical-align: middle
}

.table-wrapper .wr-datatable>:not(caption)>*>* {
    padding-right: 2.6rem;
    padding-left: 2.6rem
}

@media (max-width:991.98px) {
    .table-wrapper .wr-datatable>:not(caption)>*>* {
        padding-right: 1rem;
        padding-left: 1rem
    }
}

.wr-datatable thead th {
    white-space: nowrap;
    color: #555555;
    background: #fff;
    font-size: 16px;
    font-weight: 400;
    padding: 8px 16px;
    border: 1px solid rgb(230, 230, 230);
    border-bottom: 2px solid rgb(230, 230, 230);
    cursor: pointer;
}

.wr-datatable td {
    border: 1px solid rgb(230, 230, 230);
}

.wr-datatable td img {
    width: 20px;
}

/* 
  @media (min-width:575.98px) {
    .wr-datatable thead th {
        position:sticky;
        top:0
    }
  }
  */

.wr-datatable tbody td {
    white-space: nowrap;
    color: #555555;
    font-size: 17px;
    font-weight: 500;
    padding: 12px 16px;
}

@media (max-width:575.98px) {
    .wr-datatable tbody td {
        padding: 8px 16px;
    }
}

/* 티바비 tr 마우스오버 */
.wr-datatable.dataTable>tbody>tr:hover>* {
    background-color: #f9fafc;
    cursor: pointer;
}

th.no-sort span {
    background: none !important;
}

/*마지막 tr 보더 바닥에 라인주기*/
.wr-datatable.dataTable.no-footer {
    border-bottom: .0625rem solid rgba(0, 0, 0, 0.1)
}

.wr-datatable .btn {
    white-space: nowrap
}

/*검색창 serach-box*/
.datatable-searchbar {
    width: 200px;
    background: url('../images/datatable/search-glass.png');
    background-position: 0rem 0.18rem;
    background-size: 22px;
    background-repeat: no-repeat;
    outline: none;
    text-indent: 24px;
    border: none;
    border-bottom: 1px solid rgb(0, 0, 0, 0.4);
    border-radius: 0px;
    padding: 3px;
    background-color: #fff;
    color: #020202;
    text-decoration: none;
    font-size: 1rem;
}

.datatable-searchbar::placeholder {
    color: #707070;
    font-size: 1rem;
}

.datatable-searchbar:focus {
    outline: none;
    border-bottom: 1px solid rgb(0, 0, 0, 0.5);
}


@media (min-width:2559.98px) {
    .table-height {
        max-height: 100%
    }
}

@media all and (min-width:1920px) and (max-width:2559.98px) {
    .table-height {
        max-height: 100%
    }
}

@media all and (min-width:1199.98px) and (max-width:1919.98px) {
    .table-height {
        max-height: 60vh
    }
}

@media all and (min-width:767.98px) and (max-width:1199.98px) {
    .table-height {
        max-height: 100%
    }
}

@media all and (min-width:575.98px) and (max-width:767.98px) {
    .table-height {
        max-height: 100%
    }
}

@media (max-width:575.98px) {
    .table-height {
        height: 100%;
    }
}

/*솔팅 세모 아이콘!*/
.wr-datatable.dataTable thead span.sort-icon {
    display: none;
}

/*솔팅 세모 아이콘 옴기기 크기조절*/
.wr-datatable.dataTable thead .sorting span {
    transform: translate(3px, 5px);
    padding: 10px;
    background: url('../images/datatable/sort-both.png');
    background-size: 8px;
    background-repeat: no-repeat;
    background-position: 2px 0.325rem;
}

.wr-datatable.dataTable thead .sorting_asc span {
    transform: translate(3px, 5px);
    padding: 10px;
    background: url('../images/datatable/sort-up.png');
    background-size: 7px;
    background-repeat: no-repeat;
    background-position: 2px 0.325rem;
}

.wr-datatable.dataTable thead .sorting_desc span {
    transform: translate(3px, 5px);
    padding: 10px;
    background: url('../images/datatable/sort-down.png');
    background-size: 7px;
    background-repeat: no-repeat;
    background-position: 2px 0.325rem;
}

.wr-datatable.dataTable thead .sorting_desc_disabled span {
    transform: translate(3px, 5px);
    padding: 10px;
    background: url('../images/datatable/sort-disable.png');
    background-size: 7px;
    background-repeat: no-repeat;
    background-position: 2px 0.325rem;
}

input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
    display: none;
}

.wr-datatable .sorting::after,
.wr-datatable .sorting_asc::after,
.wr-datatable .sorting_desc::after {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
    align-items: center;
    width: 12px;
    height: 12px;
    background-image: url('../images/datatable/sort-both.png');
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 12px 12px;
    content: "";
    margin-left: 6px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.wr-datatable .sorting_desc::after {
    background-image: url('../images/datatable/sort-down.png');
    content: "";
}

.wr-datatable .sorting_asc::after {
    background-image: url('../images/datatable/sort-up.png');
    content: "";
}

/* 데이터 테이블 페이지 버튼*/
.dataTables_wrapper .dataTables_paginate {
    float: none;
    margin-right: 0rem;
    margin-top: 20px;
    margin-bottom: 0px;
}

@media (max-width: 575.98px) {
    .dataTables_wrapper .dataTables_paginate {
        float: none;
        margin-right: 0rem;
        text-align: center;
        margin-top: 20px;
        margin-bottom: 0px;
    }
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    box-sizing: border-box;
    display: inline-block;
    min-width: 1.5em;
    padding: .5em 1em;
    margin-left: 2px;
    text-align: center;
    text-decoration: none !important;
    cursor: pointer;
    color: #454545;
    border: 1px solid transparent;
    border-radius: 0.3125rem;
    background: transparent;
    box-shadow: none;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    color: #fff;
    background: #454545;
}

/* 데이터 테이블 요소들 모바일 정렬 */
@media (max-width: 575.98px) {
    .dataTables_wrapper .dataTables_paginate {
        float: none;
        text-align: center
    }

    .dataTables_wrapper .dataTables_paginate {
        margin-top: .5em
    }
}


/* ================ 데이터 테이블 끝 =============== */

/* ================ 채팅 시작 =============== */

.chat-container {
    padding: 0;
}

.chat-container a {
    text-decoration-line: underline;
    text-decoration-color: #0d6efd;
    color: #0d6efd
}

.dashboard-chat {
    margin-top: 0;
    height: 100dvh;
    display: flex;
    flex-direction: column;
    margin: auto;
    background: #fff;
    position: relative;
    width: 100%;
}

@media all and (min-width:1600.02px) and (max-width:1920px) {
    .dashboard-chat {
        width: 50%
    }
}

@media all and (min-width:1399.98px) and (max-width:1600px) {
    .dashboard-chat {
        width: 68%
    }
}

@media all and (min-width:992.09px) and (max-width:1399.98px) {
    .dashboard-chat {
        width: 80%
    }
}

@media (min-width:1920.08px) {
    .dashboard-chat {
        max-width: 1000px;
    }
}

.dashboard-chatwrap {
    flex: 1;
    overflow-y: scroll;
    margin-bottom: 100px;
    -ms-overflow-style: none;
    scrollbar-width: none;
    padding-right: 0.75rem;
    padding-left: 0.75rem;
}

@media all and (min-width:767.98px) and (max-width:1199.98px) {
    .dashboard-chatwrap {
        padding-right: 2rem;
        padding-left: 2rem;
    }
}

.dashboard-chatwrap::-webkit-scrollbar {
    display: none;
}

@media (max-width:575.98px) {
    .dashboard-chatwrap {
        margin-bottom: 60px;
    }
}

.message-wrap {
    margin-top: 1rem;
    margin-bottom: 1rem
}

@media (max-width:575.98px) {
    .message-wrap {
        margin-top: 0.75rem;
        margin-bottom: 0.75rem
    }
}

.message-wrap-1 {
    display: flex;
    align-items: start;
    margin: 0;
}

.user-img {
    margin-top: 0;
    flex-shrink: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    margin-right: 1rem;
}

@media all and (min-width:575.98px) and (max-width:1199.98px) {
    .user-img {
        width: 40px;
        height: 40px;
    }
}

@media (max-width:575.98px) {
    .user-img {
        width: 34px;
        height: 34px;
        margin-right: .5rem
    }
}

.message-wrap-2 {
    padding-right: 0.25rem;
    width: 100%;
}

@media all and (min-width:575.98px) and (max-width:1399.98px) {
    .message-wrap-2 {
        padding-right: .9rem;
    }
}

@media (max-width:575.98px) {
    .message-wrap-2 {
        padding-right: .475rem;
        padding-left: .25rem
    }
}

.info-box {
    display: flex;
    align-items: center;
}

.user-id {
    font-weight: 500;
}

@media (max-width:575.98px) {
    .user-id {
        font-size: 17px;
    }
}

@media all and (min-width:575.98px) and (max-width:1199.98px) {
    .user-id {
        font-size: 18px;
    }
}

@media (min-width:1200px) {
    .user-id {
        font-size: 19px;
    }
}

.message-time {
    font-size: 1rem;
    color: #212529bf;
    margin-left: .5rem
}

@media (max-width:575.98px) {
    .message-time {
        font-size: 0.875rem;
    }
}

.message-box {
    width: 100%;
    background-color: white;
    word-break: break-all;
    margin-left: 0
}

@media (min-width:1200px) {
    .message-box {
        width: 100%;
        font-size: 18px;
        line-height: 1.6;
        margin-top: 2px
    }
}

@media all and (min-width:575.98px) and (max-width:991.97px) {
    .message-box {
        font-size: 16px;
        line-height: 1.5;
    }
}

@media all and (min-width:991.97px) and (max-width:1199.98px) {
    .message-box {
        font-size: 17px;
        line-height: 1.6;
    }
}

@media (max-width:575.98px) {
    .message-box {
        width: 100%;
        font-size: 16px;
        line-height: 1.5;
    }
}

.message-box img {
    width: 100%;
    border-radius: 10px;
    margin-top: 0.375rem;
}

.date-divider {
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    color: #212529bf;
    flex-shrink: 0;
    font-size: 16px;
    margin-top: 2rem;
    margin-bottom: 2rem
}

.date-divider::after,
.date-divider::before {
    -ms-flex: 1 1 0%;
    flex: 1 1 0%;
    border-top: .0625rem solid #e6ecf0;
    margin-top: .0625rem;
    content: ""
}

.date-divider::before {
    margin-right: 1rem
}

.date-divider::after {
    margin-left: 1rem
}

/* ===== 텍스트 윈도우! ===== */

.text-window {
    z-index: 3;
    box-shadow: none;
    background: transparent;
    margin: auto;
    position: absolute;
    bottom: 0px;
    border-top-right-radius: 1.125rem;
    border-top-left-radius: 1.125rem;
    padding-right: 0.75rem;
    padding-left: 0.75rem;
    width: 100%;
}

@media all and (min-width:767.98px) and (max-width:1199.98px) {
    .text-window {
        padding-right: 2rem;
        padding-left: 2rem;
    }
}

.text-window .text-box {
    border: 2px solid #dedede;
    background: #fff;
    border-radius: 1.125rem;
    display: flex;
    align-items: start;
    width: 100%;
    margin-bottom: 20px;
}

@media (max-width:575.98px) {
    .text-window .text-box {
        margin-bottom: 10px;
    }
}

/* 텍스트에리아 */
.text-window textarea {
    font-family: "Pretendard Variable";
    resize: none;
    padding: 10px;
    margin: 0px;
    font-size: 18px;
    height: 82px;
    overflow-y: hidden;
}

@media (max-width:575.98px) {
    .text-window textarea {
        height: 48px;
        font-size: 16px;
        padding: 12px;
    }
}

.text-window .text-box .form-control {
    border: 0 !important;
    border-radius: 1rem;
}

.text-window .text-box .form-control:focus {
    box-shadow: unset;
}


/* 텍스트 윈도우 - 드랍메뉴/아이템들 */

.text-window .dropup-center .dropdown-toggle::after {
    display: none;
}

.text-window .text-box-btn {
    display: flex;
    align-items: start;
    margin-top: .5rem
}

@media(max-width: 575.98px) {
    .text-window .text-box-btn {
        margin-top: .35rem
    }
}

.text-window .menu-btn {
    margin-left: .5rem
}

.text-window .btn {
    display: inline-block;
    padding: 0.5rem 0.775rem;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    border: none;
    border-radius: 10px;
    background-color: #E7E7E7;
    transition: color .2s ease-in-out, background-color .2s ease-in-out, border-color .2s ease-in-out, box-shadow .2s ease-in-out
}

.text-window .btn:focus {
    background-color: #E7E7E7;
}

@media(max-width: 575.98px) {
    .text-window .btn {
        padding: 0.3rem 0.475rem;
    }
}

.text-window .bi {
    font-size: 20px;
    color: #888888
}

@media(max-width: 575.98px) {
    .text-window .bi {
        font-size: 18px;
    }
}

.text-window .bi::before {
    -webkit-text-stroke: 0.02rem;
}

.text-window .dropdown-menu {
    position: absolute;
    overflow: hidden;
    color: #020202;
    text-align: left;
    list-style: none;
    background-color: #fff;
    background-clip: padding-box;
    border: none;
    z-index: 1000;
    padding: 0.75rem 0rem;
    margin: 0;
    font-size: 18px;
    border-radius: 20px;
    width: 300px;
    box-shadow: 0 .4375rem 1.25rem rgba(208, 208, 196, .32);
    margin-bottom: 1rem !important;
}

@media all and (min-width:575.98px) and (max-width:991.98px) {
    .text-window .dropdown-menu {
        transform: translate(-194px, -50px) !important;
    }
}

@media (max-width: 575.98px) {
    .text-window .dropdown-menu {
        width: 200px;
        font-size: 18px;
        transform: translate(-120px, -35px) !important;
    }
}

.text-window .dropdown-menu.show {
    animation: fade-in .2s ease-in-out
}

@keyframes fade-in {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.text-window .dropdown-item {
    display: block;
    width: 100%;
    padding: 0.375rem 1.25rem;
    ;
    clear: both;
    font-weight: 400;
    color: #020202;
    text-decoration: none;
    white-space: nowrap;
    border: 0;
    margin-bottom: .25rem
}

.text-window .dropdown-item:focus,
.text-window .dropdown-item:hover {
    color: #454545;
    background-color: rgb(234, 234, 234);
    border: none;
}

.text-window .dropdown-item.active,
.text-window .dropdown-item:active {
    color: #454545;
    text-decoration: none;
    background-color: rgb(234, 234, 234);
    border: none;
}

.text-window .dropdown-item .bi {
    font-size: 20px;
    color: #454545;
    margin-right: 1rem;
}

@media (max-width: 575.98px) {
    .text-window .dropdown-item .bi {
        margin-right: 0.75rem;
    }
}

.text-window .dropdown-item .bi-paperclip::before {
    transform: rotate(45deg)
}

.text-window .dropdown-divider {
    height: 0;
    margin: 0.375rem 0;
    overflow: hidden;
    border-top: 1px solid #e6ecf0;
    margin-right: 1.25rem;
    margin-left: 1.25rem;
}

.text-window .send-btn {
    margin-left: .5rem;
    margin-right: .5rem
}

/* ===== 채팅멤버보기 모달 ===== */

.talkmember .modal-content {
    border: none;
    box-shadow: 0 .4375rem 1.25rem rgba(208, 208, 196, .32);
    color: #020202;
    padding: 16px;
}

.talkmember .modal-header {
    border: none;
    padding: 0.375rem 2rem 0.5rem 2rem;
    border-bottom: 1px solid #E7E7E7;
    font-size: 1.375rem;
}

.talkmember ul {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

.talkmember .classname .bi {
    margin-right: .5rem
}

.talkmember .modal-body {
    padding: 0.75rem 0.75rem 0rem 0.75rem;
    font-size: 18px;
    max-height: 480px;
    overflow-y: auto;
    ;
}

@media (max-width: 575.98px) {
    .talkmember .modal-body {
        padding-right: 0;
        padding-left: 0
    }
}

.talkmember ul li {
    display: flex;
    align-items: center;
    padding: 0.5rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.talkmember .member-img {
    margin-top: 0;
    flex-shrink: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 50%;
    width: 34px;
    height: 34px;
    margin-right: 1rem
}

.talkmember .member-name {
    font-size: 18px;
}

.talkmember .status-msg {
    font-size: 18px;
    padding: 0.125rem 0.555rem;
    transform: translate(0px, 0px);
    margin-left: 1rem;
    overflow: hidden;
    background: rgba(216, 216, 216, 0.2);
    border-radius: 10px;
}

.talkmember .modal-footer {
    padding-bottom: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid #E7E7E7;
    font-size: 18px;
}

.talkmember .modal-footer .modal-close {
    padding: 0.375rem 0.75rem;
    border-radius: 0.375rem;
    background-color: #454545;
    color: #fff;
    box-shadow: unset;
    border: none
}

.talkmember .btn-close {
    font-size: 16px;
}

/* ================ 채팅 끝 =============== */


/* ========== 디렉트 메세지 윈도우 =============*/
.direct-message {
    margin-top: 0;
    height: 100dvh;
    display: flex;
    flex-direction: column;
    position: relative;
}

@media (min-width:575.98px) {
    .direct-message {
        padding-right: 1.5rem;
        padding-left: 1.5rem;
    }
}

.direct-message-wrapper {
    flex: 1;
    overflow-y: scroll;
    margin-bottom: 100px;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.direct-message-wrapper::-webkit-scrollbar {
    display: none;
}

@media (max-width:575.98px) {
    .direct-message-wrapper {
        margin-bottom: 60px;
    }
}

.dm-wrap-left {
    display: flex;
    justify-content: start;
    align-items: start;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    margin: 0
}

@media (max-width:575.98px) {
    .dm-wrap-left {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }
}

.dm-left {
    display: flex;
    align-items: start;
    flex-direction: column;
    margin-top: 0.125rem;
    margin-left: 0rem;
    width: 100%;
}

.dm-message-box {
    display: flex;
    align-items: end;
    max-width: 500px;
    width: 100%;
    transition: all 0.17s ease-in-out;
}

@media (min-width:991.98px) {
    .menuopen .dm-message-box {
        max-width: 592px
    }
}

.dm-message-box.left {
    justify-content: start;
}

.dm-message-box.right {
    justify-content: end;
}

.dm-message {
    border-radius: 0.85rem;
    padding: 0.375rem 0.875rem;
    word-break: break-all;
    max-width: 500px;
    margin-top: .25rem;
    margin-bottom: .25rem;
    transition: all 0.17s ease-in-out;
}

@media (min-width:991.98px) {
    .menuopen .dm-message {
        max-width: 592px
    }
}

.dm-message.left {
    background: rgba(216, 216, 216, 0.4);
}

@media (min-width:1200px) {
    .dm-message {
        font-size: 18px;
        line-height: 1.6;
    }
}

@media all and (min-width:991.97px) and (max-width:1199.98px) {
    .dm-message {
        font-size: 17px;
        line-height: 1.6;
    }
}

@media all and (min-width:575.98px) and (max-width:991.97px) {
    .dm-message {
        font-size: 16px;
        line-height: 1.5;
    }
}

.direct-message .user-img {
    margin: 0;
    flex-shrink: 0;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    border-radius: 50%;
    width: 34px;
    height: 34px;
}

@media all and (min-width:575.98px) and (max-width:1199.98px) {
    .direct-message .user-img {
        width: 32px;
        height: 32px;
    }
}

@media (max-width:575.98px) {
    .direct-message .user-img {
        width: 30px;
        height: 30px;
    }
}

.direct-message .user-id {
    font-weight: 500;
}

@media (max-width:575.98px) {
    .direct-message .user-id {
        font-size: 1.1rem;
    }
}

@media all and (min-width:575.98px) and (max-width:1199.98px) {
    .direct-message .user-id {
        font-size: 1.125rem
    }
}

@media (min-width:1200px) {
    .direct-message .user-id {
        font-size: 1.2rem
    }
}

.dm-time {
    font-size: 1rem;
    color: #212529bf;
    white-space: nowrap;
    margin-bottom: .25rem
}

.dm-time.left {
    margin-left: .5rem;
}

.dm-time.right {
    margin-right: .5rem;
}

@media (max-width:575.98px) {
    .dm-time {
        font-size: 0.775rem;
    }
}

.dm-wrap-right {
    display: flex;
    align-items: start;
    justify-content: end;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    margin: 0
}

@media (max-width:575.98px) {
    .dm-wrap-right {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }
}

.dm-right {
    display: flex;
    align-items: end;
    flex-direction: column;
    margin-top: 0.125rem;
    margin-right: 0rem;
    width: 100%;
}

.dm-message.right {
    background: #EBF2FA;
}

.dm-img-message {
    display: flex;
    padding: 0.375rem 0rem;
    width: 100%;
    max-width: 500px;
    transition: all 0.17s ease-in-out;
}

@media (min-width:991.98px) {
    .menuopen .dm-img-message {
        max-width: 592px
    }
}

.dm-img-message img {
    width: 100%;
    height: auto;
    max-width: 500px;
    border-radius: 10px;
}

@media (min-width:991.98px) {
    .dm-img-message img {
        max-width: 592px
    }
}

/*------------------------------------*/
.dm-notice {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: var(--ar-card-height);
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: none;
    border-radius: 0.85rem;
    max-width: 500px;
    margin-top: 0.375rem;
    width: 100%;
}

.dm-notice.alarm {
    border: 0.1rem solid #447DC3;
    background: rgba(68, 125, 195, 0.03);
}

.dm-notice.test {
    border: 0.1rem solid #198754;
    background: rgba(25, 135, 84, 0.03)
}

.dm-notice.attend {
    border: 0.1rem solid #ff4400;
    background: rgba(255, 68, 0, 0.03);
}

.dm-notice.homework {
    border: 0.1rem solid #ffc107;
    background: rgba(255, 193, 7, 0.03)
}

.dm-notice-header {
    margin: 0rem 2.25rem;
    padding: 1rem 0rem;
    color: #454545;
    font-size: 19px;
    font-weight: 500
}

@media (max-width:575.98px) {
    .dm-notice-header {
        margin: 0rem 1.25rem;
        padding: 1rem 0rem 0.75rem 0rem;
    }
}

.dm-notice-header.alarm {
    border-bottom: 0.1rem solid #447DC3;
}

.dm-notice-header.test {
    border-bottom: 0.1rem solid #198754;
    ;
}

.dm-notice-header.attend {
    border-bottom: 0.1rem solid #ff4400;
}

.dm-notice-header.homework {
    border-bottom: 0.1rem solid #ffc107;
}

.dm-notice .bi-bell-fill {
    color: #0d6efd;
    margin-right: 0.5rem
}

.dm-notice .bi-calendar-check-fill {
    color: #ff4400;
    margin-right: 0.5rem
}

.dm-notice .bi-file-earmark-text-fill {
    color: #198754;
    margin-right: 0.5rem
}

.dm-notice .bi-check-circle-fill {
    color: #ffc107;
    margin-right: 0.5rem
}

/*------------------------------------*/

.dm-notice-body {
    flex: 1 1 auto;
    padding: 1rem 2.25rem 1rem 2.25rem;
    color: #454545
}

@media (max-width:575.98px) {
    .dm-notice-body {
        padding: 1rem 1.25rem 1.125rem 1.25rem;
    }
}

.dm-notice-title {
    font-size: 1.5rem;
    margin-bottom: .5rem;
    font-weight: 500;
}

@media (max-width:1199.98px) {
    .dm-notice-title {
        font-size: calc(1.275rem + .3vw);
        line-height: 1.5;
    }
}

.dm-notice-text {
    font-size: 18px;
    line-height: 1.6;
    word-break: break-all;
}

@media all and (min-width:575.98px) and (max-width:1199.98px) {
    .dm-notice-text {
        font-size: 17px;
        line-height: 1.5;
    }
}

@media (max-width:575.98px) {
    .dm-notice-text {
        font-size: 16px;
        line-height: 1.5;
    }
}

.dm-time.notice {
    margin-top: .5rem
}

;

.bi-reply-fill::before {
    color: #fff;
    font-size: 1rem;
    padding-left: 1rem;
    margin-right: .5rem !important;
}

/*------------------------------------*/
.to-who {
    display: inline-block;
    padding: 0.25rem 0.5rem 0.3rem 0.45rem;
    font-size: 0.875rem;
    font-weight: 500;
    background: #0d6efd;
    line-height: 1.5;
    color: #FFF;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    border-radius: 50rem;
    transform: translate(0rem, -0.075rem);
    margin-right: 0.25rem;
}

/*------------------------------------*/

@media (max-width:575.98px) {
    .to-who {
        font-size: 0.75rem;
        padding: 0.1rem 0.5rem 0.3rem 0.45rem;
        transform: translate(0rem, -0.09rem);
    }
}

.to-who i {
    color: #fff;
    font-size: 1rem;
    margin-right: .125rem !important;
}

.to-who.inbox {
    margin-bottom: 1rem;
    margin-top: 0.5rem;
}

.dashboard-chatwrap .dm-wrap-right .user-img {
    margin-left: 1rem;
    margin-right: 0;
}

.dashboard-chatwrap .dm-wrap-right .user-img,
.dashboard-chatwrap .dm-wrap-left .user-img {
    transform: translate(0px, 0px);
}

@media (max-width:575.98px) {

    .dashboard-chatwrap .dm-wrap-right .user-img,
    .dashboard-chatwrap .dm-wrap-left .user-img {
        transform: translate(0px, 2px);
    }
}

.choice-to {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.choice-mb {
    display: flex;
    align-items: center;
}

.modal-btn.choice {
    padding: 0.25rem 0.75rem;
    border-radius: 0.375rem;
    background-color: #ffffff;
    border: 1px solid #454545;
    color: #454545;
    box-shadow: unset;
    font-size: 1.05rem;
    font-weight: 400;
}

/* ========== 디렉트 메세지 윈도우 끝 =============*/

/*===== 시험 =====*/

.exam {
    height: 100vh
}

@media (min-width:575.98px) {
    .exam {
        overflow: hidden;
    }
}

.exam-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 60px;
}

.exam .offcanvas-backdrop {
    display: none;
}

.exam .offcanvas {
    border: none;
    padding: 1.5rem;
    background: #F2F5FA;
}

.exam .gray-line {
    width: 92%;
    margin: auto;
}

.ans-container {
    margin-top: 1rem;
    margin-bottom: 1rem;
    padding-top: .25rem;
    padding-bottom: .25rem;
    border-bottom: 1px solid rgb(213, 213, 213);
}

.ans-quest {
    background: #E8EDF3;
    font-size: 20px;
    width: 36px;
    height: 36px;
    text-align: center;
    flex: 15%;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translate(0px, -1px);
}

.ans-select {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.ans-number {
    display: flex;
    justify-content: space-between;
    flex: 70%;
    margin-left: 1rem;
    font-size: 20px;
}

.ans-answer {
    display: flex;
    align-items: center;
}

.ans-text {
    flex: 70%;
    margin-left: 1rem;
    transform: translate(0px, -1px);
}

.ans-correct {
    width: 100%;
    flex: 70%;
    margin-left: 1rem;
    font-size: 20px;
    display: flex;
    justify-content: center;
}

.exam-form {
    width: 0;
    height: 0;
    position: absolute;
}

.exam-label {
    font-size: 20px;
    text-align: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid #d4d4d4;
    text-align: center;
}

.exam-form:checked+label {
    background-color: #0d6efd;
    color: #ffffff;
    font-weight: 400;
    border-color: #d5e6ff;
}

.exam-form[type=radio] {
    border-radius: 50%;
    opacity: 0;
    width: 34px;
    height: 34px;
    transform: translate(0px, -4px);
}

.exam-textbox {
    width: 100%;
    height: 38px;
    font-size: 20px;
    border: 1px solid rgb(213, 213, 213);
    border-radius: 5px;
}

.exam-textbox:focus {
    outline: none;
}

.exam .btn {
    font-size: 18px;
}

.exam .btn:active,
.exam .btn:focus,
.exam .btn-primary:focus,
.exam .btn-primary:active {
    transform: none;
    box-shadow: none;
    outline: unset;
    border: 1px solid #0d6efd
}

.btn-close {
    opacity: 0.8
}

.btn-close:focus {
    box-shadow: none;
    opacity: 0.8
}

hr {
    margin: 0.5rem 0;
    opacity: 0.75;
    width: 100%;
}

.gray-line {
    border-top: 0.15rem solid #838383;
}


/* ====== 학생상세 페이지 ======= */

.profile-detail-header {
    display: flex;
    align-items: center;
    padding-right: 1rem;
    padding-left: 1rem;
    margin-bottom: 2.5rem;
}

.profile-detail-box {
    margin-left: 1.5rem;
    font-size: 20px;
    transform: translate(0px, 2px);
}

@media (max-width:575.98px) {
    .profile-detail-box {
        font-size: 17px;
    }
}

.status-chk {
    margin-left: .5rem;
    font-size: calc(1.3rem + .5vw);
    color: #0d6efd
}

.form-control:focus {
    border: 1px solid #dee2e6;
    box-shadow: none
}

.profile-change .form-control {
    border-color:#b1b1b1;
}

.profile-change .form-control:focus {
    box-shadow: none;
    border-color:#b1b1b1;
}

.form-control:disabled {
    background-color: #f6f6f6
}

.form-select:focus {
    box-shadow: none;
    border-color: #b1b1b1;
}

.detail-box {
    display: flex;
    align-items: center;
    padding-right: 1rem;
    padding-left: 1rem;
    margin-bottom: 3rem
}

.detail-img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

.form-control.detail-name {
    padding: 0;
    border: none;
    font-size: 1.75rem;
    font-weight: 500;
    width: 120px;
}

.form-control.detail-id {
    padding: 0;
    border: none;
    display: inline-block;
    font-size: 20px;
    font-weight: 500;
    width: 120px;
}

.col-form-label {
    padding-top: calc(.375rem + var(--bs-border-width));
    padding-bottom: calc(.375rem + var(--bs-border-width));
    margin-bottom: 0;
    font-size: inherit;
    line-height: 1.5
}

@media (max-width:575.98px) {
    .col-form-label {
        padding-top: calc(.2rem + var(--bs-border-width));
        padding-bottom: calc(.2rem + var(--bs-border-width));
    }
}

.profile-detail .form-control,
.profile-detail .col-form-label,
.profile-detail .form-select {
    font-size: 1.125rem;
}

@media (max-width:575.98px) {

    .profile-detail .form-control,
    .profile-detail .col-form-label,
    .profile-detail .form-select {
        font-size: 17px;
    }
}

.form-select option {
    background: #fff;
}

.comment-box {
    padding-bottom: 10px;
    border-bottom: 8px solid #e1e1e1;
}

.comment-input img {
    border-radius: 50%;
    height: 38px;
    width: 38px;
    display: block;
    object-fit: cover;
}

@media (max-width:575.98px) {
    .comment-input img {
        height: 28px;
        width: 28px;
    }
}

.comment-input {
    display: flex;
    align-items: flex-start;
    background: #fff;
}

.comment-input textarea {
    flex: 1;
    margin-left: 12px;
    font-size: 20px;
    border: none;
    outline: none;
    width: 100%;
    height: auto;
    resize: none;
}

@media (max-width:575.98px) {
    .comment-input textarea {
        margin-left: 0px;
        font-size: 17px;
    }
}

.comment-post {
    display: flex;
    align-items: flex-start;
    border-bottom: 1px solid rgb(232, 232, 232);
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

@media (max-width:575.98px) {
    .comment-post {
        padding-top: 1rem;
        padding-bottom: 1rem;
    }
}

.comment-post img {
    display: block;
    width: 38px;
    border-radius: 50%;
    height: 38px;
}

@media (max-width:575.98px) {
    .comment-post img {
        height: 28px;
        width: 28px;
    }
}

.comment-writer {
    font-size: 18px;
    font-weight: 500
}

@media (max-width:575.98px) {
    .comment-writer {
        font-size: 16px;
    }
}

.comment-date {
    font-size: 16px;
    font-weight: 400;
    padding-top: 1px;
    margin-left: .5rem
}

@media (max-width:575.98px) {
    .comment-date {
        font-size: 14px;
    }
}

.comment-text {
    font-size: 20px;
    margin-top: .25rem;
    margin-bottom: .25rem
}

@media (max-width:575.98px) {
    .comment-text {
        font-size: 17px;
    }
}

.comment-body {
    flex: 1;
    margin-left: 16px;
}

@media (max-width:575.98px) {
    .comment-body {
        margin-left: 10px;
    }
}

.wr-card {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    min-width: 0;
    height: "";
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 0.0625rem solid rgba(231, 234, 243, 0.7);
    border-radius: 0.6875rem;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

.wr-card-header {
    padding: 1.3125rem 1.3125rem 0rem 1.3125rem;
    margin-bottom: 0;
    border-bottom: 0.0625rem solid rgba(231, 234, 243, 0.7);
}

.wr-card-body {
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding: 1.75rem;
    font-size: 1.125rem
}

@media (max-width:575.98px) {
    .wr-card-body {
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
        padding: 1rem;
        font-size: 17px;
    }
}

@media (min-width:1199.98px) {
    .comment-height {
        max-height: 150vh
    }
}

/*기출문제 오프캔버스*/

.sat-search.dataTable>tbody>tr:hover>* {
    background: #fff;
    cursor: pointer;
}


.sat-search.dataTable thead .sorting span {
    transform: translate(0px, 3px);
    padding: 10px;
    background: url('../images/datatable/sort-both.png');
    background-size: 12px;
    background-repeat: no-repeat;
    background-position: 0px center;
    float: inline-end
}

.sat-search.dataTable thead .sorting_asc span {
    transform: translate(0px, 3px);
    padding: 10px;
    background: url('../images/datatable/sort-up.png');
    background-size: 12px;
    background-repeat: no-repeat;
    background-position: 0px center;
    float: inline-end
}

.sat-search.dataTable thead .sorting_desc span {
    transform: translate(0px, 3px);
    padding: 10px;
    background: url('../images/datatable/sort-down.png');
    background-size: 12px;
    background-repeat: no-repeat;
    background-position: 0px center;
    float: inline-end
}

.sat-search.dataTable thead .sorting_desc_disabled span {
    transform: translate(0px, 3px);
    padding: 10px;
    background: url('../images/datatable/sort-disable.png');
    background-size: 12px;
    background-repeat: no-repeat;
    background-position: 0px center;
    float: inline-end
}

.result-info {
    display: flex;
    flex-wrap: wrap;
    font-size: 18px;
    margin-top: .5rem;
    margin-bottom: 1rem;

}

@media (min-width:1200px) {
    .result-info {
        margin-bottom: 1.5rem;
    }
}

@media (max-width:575.98px) {
    .result-info {
        font-size: 16px;
        flex-direction: column;
    }
}

.result-info .info {
    margin-right: 1.5rem;
}

.indicator {
    display: inline-block;
    width: .5rem;
    height: .5rem;
    background-color: #bdc5d1;
    border-radius: 50%;
    margin-right: .4375rem;
    margin-bottom: 3px;
}

@media (max-width:575.98px) {
    .indicator {
        transform: translate(0px, 1px)
    }
}

.indicator.blue {
    background-color: #0d6efd;
}

.indicator.green {
    background-color: #198754;
}

.indicator.red {
    background-color: #dc3545;
}

.indicator.yellow {
    background-color: #ffc107;
}

.result-img {
    width: 60%;
    display: block;
    margin-bottom: 1rem;
}

@media all and (min-width:575.98px) and (max-width:1198.98px) {
    .result-img {
        width: 85%;
    }
}

@media (max-width:575.98px) {
    .result-img {
        width: 100%;
        margin-bottom: 0.5rem
    }
}

.btn-answer {
    background: rgba(231, 234, 243, .7);
    color: #020202;
    font-size: 18px;
    font-weight: 400;
    padding: 0.2rem 0.75rem;
    margin-bottom: 1rem;
    border: none;
    outline: none;
    box-shadow: none;
}

.btn.btn-answer:focus,
.btn.btn-answer:hover {
    border: none;
    outline: none;
    box-shadow: none;
    background: rgba(231, 234, 243, .7);
}

@media (max-width:575.98px) {
    .btn.btn-answer {
        font-size: 0.9rem;
        font-weight: 500;
        padding: 0.2rem 0.75rem;
        margin-bottom: 0.5rem;
    }
}

.ps-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    padding-right: .5rem;
    padding-left: .5rem
}

.ps-top-1 {
    font-size: 24px;
    font-weight: 500;
}

.btn.btn-tip {
    background: #000;
    color: #fff;
    font-size: 1.1rem;
    font-weight: 500;
    padding: 0.2rem 0.75rem;
    border-color: #000;
    border: none;
    outline: none;
    box-shadow: none;
}

.btn.btn-tip:focus {
    border: none;
    outline: none;
    box-shadow: none;
}


@media (max-width:575.98px) {
    .btn.btn-tip {
        font-size: 0.9rem;
        font-weight: 500;
        padding: 0.2rem 0.75rem;
    }
}

/*기출문제 오프캔버스*/

.answer .offcanvas-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1rem 0rem 1rem;
}

.answer .offcanvas-title .title {
    font-size: 22px;
    font-weight: 500;
    margin-bottom: 0.5rem;
}

@media (max-width:575.98px) {
    .answer .offcanvas-title .title {
        font-size: 20px;
    }
}

.answer .offcanvas-title .btn-close {
    margin-bottom: 0px;
    padding-bottom: 0px;
}

.answer .offcanvas .btn-close:focus {
    box-shadow: none;
}

.offcanvas-backdrop {
    display: none;
}

.offcanvas.tip {
    margin-top: 78px;
    margin-bottom: 300px;
    margin-right: 30px;
    ;
    width: 600px;
    border-radius: 30px;
    border: none;
    padding: 0.7rem;
    box-shadow: 0 .4375rem 1.25rem rgba(208, 208, 196, .32);
}

@media (max-width:575.98px) {
    #prime-sat .offcanvas.tip {
        width: 100%;
        margin-right: 0px;
        margin-top: 58px;
        border-radius: 0px;
        margin-bottom: 150px;
    }
}

.offcanvas.answer {
    margin-top: 78px;
    margin-bottom: 0px;
    margin-right: 30px;
    ;
    width: 600px;
    height: auto;
    border-top-right-radius: 30px;
    border-top-left-radius: 30px;
    border-bottom-right-radius: 0px;
    border-bottom-left-radius: 0px;
    border: none;
    padding: 0.7rem;
    box-shadow: 0 .4375rem 1.25rem rgba(208, 208, 196, .32);
}

@media (max-width:1200px) {
    .offcanvas.answer {
        width: 100%;
        margin-right: 0px;
        margin-top: 58px;
        border-radius: 0px;
        margin-bottom: 0px;
    }
}

.sat-search th {
    z-index: 100;
}

.answer img {
    width: 100%;
}

.offcanvas .tip-text {
    font-size: 18px;
    margin-bottom: 1rem;
}

@media (max-width:575.98px) {
    .offcanvas .tip-text {
        font-size: 16px;
    }
}

/* 캐러셀 */

.carousel-control-next,
.carousel-control-prev {
    opacity: 0.5;
}

.carousel-control-next:hover,
.carousel-control-prev:hover {
    opacity: 1;
}

.carousel-control-next:active,
.carousel-control-prev:active {
    opacity: 1;
}

.carousel-control-prev-icon {
    background-image: url(../images/icon/chevron-left.svg);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-size: 60%;
    background-repeat: no-repeat;
    background-position: center center;
    background-color: #0d6efd;
}

.carousel-control-next-icon {
    background-image: url(../images/icon/chevron-right.svg);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-size: 60%;
    background-repeat: no-repeat;
    background-position: center center;
    background-color: #0d6efd;
}

@media (max-width:765.98px) {

    .carousel-control-prev-icon,
    .carousel-control-next-icon {
        width: 32px;
        height: 32px;
    }
}

.carousel-indicators [data-bs-target] {
    box-sizing: content-box;
    flex: 0 1 auto;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    padding: 0;
    margin-right: 5px;
    margin-left: 5px;
    text-indent: -999px;
    cursor: pointer;
    background-color: #7b7b7b;
    background-clip: padding-box;
    border: 0;
    opacity: .8;
    transition: opacity .6s ease;
}

.carousel-indicators .active {
    width: 34px;
    height: 10px;
    background-color: #0d6efd;
}



.editor-input-wrap {
    width: 100%;
}

.editor-title-input {
    display: block;
    width: 100%;
    padding: 0.375rem 0rem;
    font-size: 16px;
    ;
    font-weight: 500;
    line-height: 1.5;
    color: #2C2C2C;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #fff;
    background-clip: padding-box;
    border-radius: 0px;
    border: 1px solid #c7c7c7;
    text-indent: 10px;
    ;
}

.editor-title-input:focus {
    box-shadow: none;
    outline: none;
}

.editor-title-input::placeholder {
    color: #9c9c9c;
    font-size: 16px;
}



.note-dialog {
    backdrop-filter: none !important;
    /* 기본 backdrop을 없앰 */
}

.note-modal-backdrop {
    display: none !important;
    /* 백드롭을 아예 숨김 */
}

.editor-content p {
    line-height: 28px;
}

.editor-content img {
    border-radius: 0.25rem;
    width: 100%;
}

.editor-input-wrap {
    width: 100%;
}

.editor-title-input {
    display: block;
    width: 100%;
    padding: 0.375rem 0rem;
    font-size: 16px;
    ;
    font-weight: 500;
    line-height: 1.5;
    color: #2C2C2C;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #fff;
    background-clip: padding-box;
    border-radius: 0px;
    border: 1px solid #c7c7c7;
    text-indent: 10px;
    ;
}

.editor-title-input:focus {
    box-shadow: none;
    outline: none;
}

.editor-title-input::placeholder {
    color: #9c9c9c;
    font-size: 16px;
}


/*----- 서머노트 -----*/
.note-modal-footer {
    padding-bottom: 50px !important;
}

.note-frame {
    font-family: "Pretendard Variable" !important;
    color: #15171A !important;
    border-radius: 0px !important;
}

.note-toolbar {
    border-top-left-radius: 0px !important;
    border-top-right-radius: 0px !important;
    border-color: #c7c7c7 !important;
}

.note-editor.note-airframe,
.note-editor.note-frame {
    border: 1px solid #c7c7c7 !important;
}

.note-btn.dropdown-toggle::after {
    display: none !important;
    /* 중복된 드롭다운 숨기기 */
}

.note-link-dialog .form-check {
    display: none !important;
    /* 체크박스 숨기기 */
}

.sn-checkbox-open-in-new-window {
    display: none !important;
}

.sn-checkbox-use-protocol {
    display: none !important;
}

.note-modal-footer .btn.disabled,
.note-modal-footer .btn:disabled,
.note-modal-footer .note-btn-primary,
.note-modal-footer .note-btn-primary:focus {
    background-color: #212529 !important;
    border-color: #212529 !important;
    border-radius: 0px !important;
}

.note-modal-footer .note-btn.disabled,
.note-modal-footer .note-btn[disabled],
.note-modal-footer .fieldset[disabled] .note-modal-footer .note-btn {
    opacity: 1 !important;
}

.note-modal-title {
    font-size: 16px !important;
    color: #15171A !important;
}

.note-modal .note-modal-body label {
    padding: 2px 0px !important;
}

.note-form-label {
    font-size: 14px !important;
    color: #15171A !important;
    font-weight: 400 !important;
}

.note-modal-header {
    padding: 20px 15px 0px 15px !important;
    border: none !important;
}

@media (min-width:575.98px) {
    .note-modal-header {
        padding: 20px 20px 0px 20px !important;
        border: none !important;
    }
}

.note-modal-body {
    padding: 10px 15px !important;
}

@media (min-width:575.98px) {
    .note-modal-body {
        padding: 20px 30px 20px 30px !important;
    }
}

.note-form-group {
    padding-bottom: 10px !important;
}

.note-group-image-url {
    padding-bottom: 10px !important;
}

.note-video-url {
    margin-bottom: 10px !important;
}

.note-image-input {
    border-radius: 0px !important;
}

.note-modal-body .note-input {
    border: 1px solid #B9B9B9 !important;
}

.note-modal-body .note-input:focus {
    border: 1px solid #B9B9B9 !important;
}

.note-modal-footer {
    padding: 0px 15px 50px 15px !important;
}

.note-editable p {
    color: #15171A !important;
}


.note-editor .note-editing-area .note-editable a {
    color: blue !important;
    text-decoration: underline !important;
}

.note-placeholder {
    color: #9c9c9c !important;
}

.note-modal-header .close {
    color: #2c2c2c !important;
    opacity: 0.8 !important;
}

.note-dropdown-item {
    color: #333333 !important;
    text-decoration: none !important;
}

.dashboard-container {
    padding: 1rem 1rem 1rem 1rem;
}

@media (max-width:575.98px) {
    .dashboard-container {
        padding: 1.375rem 1rem;
    }
}


.content-wrapper {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    box-shadow: 0rem 0.375rem 0.75rem rgba(140, 152, 164, 0.075);
    border: 1px solid rgba(231, 234, 243, 0.7);
    border-radius: 0.5rem;
    padding: 1rem;
    color: #2c2c2c;
    min-height: 90vh
}

@media (max-width:575.98px) {
    .content-wrapper {
        margin: 0px 10px;
        padding: 10px;
    }
}


@media (min-width:1200px) {
    .content-wrapper {
        padding: 40px 36px 40px 36px;
    }
}

.about-tab {
    background-color: #fff;
    display: flex;
    justify-content: space-around;
}

.about-tab a {
    font-size: 14px;
    padding: 10px 2px;
    cursor: pointer;
    color: #15171A;
    width: 50%;
    /* 각 항목이 1/3씩 차지 */
    text-align: center;
    /* 텍스트를 가운데 정렬 */
    font-weight: 400
}


.about-tab a.active {
    color: #377ddf;
    font-weight: 500;
    border-bottom: 2px solid #377ddf;
}

.about-tab a:hover {
    color: #377ddf;
    font-weight: 500;
}

@media (min-width:919.98px) {
    .about-tab a {
        font-size: 16px;
        padding: 12px 10px;
    }
}

.fs-classtitle {
    font-size: 18px;
    font-weight: 600;
}

@media (min-width:1200px) {
    .fs-classtitle {
        font-size: 24px;
    }
}

.fs-classtitle-sm {
    font-size: 14px;
    color: rgb(82, 82, 82)
}

@media (min-width:1200px) {
    .fs-classtitle-sm {
        font-size: 16px;
    }
}

.student-card {
    --bs-card-spacer-y: 1.3125rem;
    --bs-card-spacer-x: 1.3125rem;
    --bs-card-title-spacer-y: 0.25rem;
    --bs-card-border-width: 0.0625rem;
    --bs-card-border-color: rgba(231, 234, 243, 0.7);
    --bs-card-border-radius: 0.75rem;
    --bs-card-box-shadow: 0rem 0.375rem 0.75rem rgba(140, 152, 164, 0.075);
    --bs-card-inner-border-radius: 0.6875rem;
    --bs-card-cap-padding-y: 1.3125rem;
    --bs-card-cap-padding-x: 1.3125rem;
    --bs-card-cap-bg: transparent;
    --bs-card-bg: #fff;
    --bs-card-img-overlay-padding: 1.3125rem 1.3125rem;
    --bs-card-group-margin: 0.75rem;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    min-width: 0;
    height: var(--bs-card-height);
    word-wrap: break-word;
    background-color: var(--bs-card-bg);
    background-clip: border-box;
    border: var(--bs-card-border-width) solid var(--bs-card-border-color);
    border-radius: var(--bs-card-border-radius);
}

.student-card .card-body {
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
    color: var(--bs-card-color);
}


.person-icon::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    background-image: url("../images/icon/person.svg");
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 6px;
    vertical-align: middle;
    transform: translate(0px, -2.1px)
}

.person-fill-icon::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    background-image: url("../images/icon/person-black.svg");
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 6px;
    vertical-align: middle;
    transform: translate(0px, -2.1px)
}

.person-fill-icon-sm::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url("../images/icon/person-black.svg");
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 6px;
    vertical-align: middle;
    transform: translate(0px, -2px)
}

.school-icon::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    background-image: url("../images/icon/school.svg");
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 6px;
    vertical-align: middle;
    transform: translate(0px, -2.1px)
}

.grade-icon::before {
    content: "";
    display: inline-block;
    width: 19px;
    height: 19px;
    background-image: url("../images/icon/grade.svg");
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 6px;
    vertical-align: middle;
    transform: translate(0px, -2.1px)
}

.registerdate-icon::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    background-image: url("../images/icon/resister.svg");
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 6px;
    vertical-align: middle;
    transform: translate(0px, -2.1px)
}

.phone-line-icon::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    background-image: url("../images/icon/phone-line.svg");
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 6px;
    vertical-align: middle;
    transform: translate(0px, -2.1px)
}

.profile-cover {
    position: relative;
    height: 7.5rem;
    padding: 1rem 1rem;
    border-radius: .75rem
}


.profile-cover-img-wrapper {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 7.5rem;
    background-color: #e7eaf3;
    border-radius: .75rem
}

.profile-cover-img {
    width: 100%;
    height: 7.5rem;
    -o-object-fit: cover;
    object-fit: cover;
    vertical-align: top;
    border-radius: .75rem
}

.profile-cover-avatar {
    display: -ms-flexbox;
    display: flex;
    background-color: #fff;
    border: .25rem solid #fff;
    margin: -6.3rem auto .5rem auto
}



@media (min-width:992px) {
    .profile-cover {
        height: 10rem
    }

    .profile-cover-img-wrapper {
        height: 10rem
    }

    .profile-cover-img {
        height: 10rem
    }
}

/* ----- 수업 상세 페이지 ----- */
.classpage-header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: #EBF2FF;
    border-radius: 11px;
    min-height: 160px;
    background-image: url('assets/images/img2.jpg');
    background-size: cover;
    background-position: center;
}

/* ----- 대시보드 인덱스 ----- */

.card-badge {
    background-color: #377DFF;
    font-size: 14px;
    color: #fff;
    border-radius: 10px;
    vertical-align: middle;
    font-weight: 500;
    padding: 2px 8px;
}

/* ----- 수업상세 커멘트 ----- */

.class-comment {
    padding: 0;
    list-style: none;
}

.class-comment li {
    border-radius: 12px;
    background-color: rgba(55, 125, 255, .08);
    padding: 16px;
    margin-bottom: 16px;
}

.class-comment-header {
    display: flex;
    justify-content: space-between;
    align-items: start
}

.class-comment-detail {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 34px;
    transform: translate(0px, 1px)
}

.class-title {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0px 16px;
    flex-wrap: wrap;
    gap: 8px 18px;
}

.student-badge {
    padding: 8px 16px;
    border-radius: 0.375rem;
    background-color: rgba(55, 125, 255, .1)
}

.student-badge-name {
    color: #333333;
    font-size: 16px;
    background-color: transparent;
    padding: 0;
    border: none;
}

.student-badge-delete {
    border: 0;
    padding: 0;
    background-color: transparent;
}

/* 출석 버튼 */

.btn-outline-attend {
    --bs-btn-color: #3573be;
    --bs-btn-border-color: #3573be;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #3573be;
    --bs-btn-hover-border-color: #3573be;
    --bs-btn-focus-shadow-rgb: 13, 202, 240;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #3573be;
    --bs-btn-active-border-color: #3573be;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #3573be;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #3573be;
    --bs-gradient: none;
}

.btn-outline-absent {
    --bs-btn-color: #ed4c78;
    --bs-btn-border-color: #ed4c78;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #ed4c78;
    --bs-btn-hover-border-color: #ed4c78;
    --bs-btn-focus-shadow-rgb: 13, 202, 240;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #ed4c78;
    --bs-btn-active-border-color: #ed4c78;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #ed4c78;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #ed4c78;
    --bs-gradient: none;
}

/*---- 포스트잇----- */

.postitpage-card {
    padding: 16px 20px;
    overflow: hidden;
    background-color: #fffce1;
    border-radius: 11px;
    margin: 0px;
    position: relative;
    display: flex;
    flex-direction: column
}

.postitpage-content {
    font-size: 15px;
    word-break: break-word;
    color: #333;
}

.postit-card {
    height: 196px;
    padding: 16px 20px;
    overflow: hidden;
    background-color: #fffce1;
    border-radius: 11px;
    margin: 0px;
    position: relative;
    display: flex;
    flex-direction: column
}

@media (max-width:575.98px) {
    .list-group-item.postit {
        padding: 12px 0px;
    }
}

.postit-card-body {
    flex: 1;
    overflow: hidden
}

.postit-content {
    font-size: 15px;
    word-break: break-word;
    color: #333;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
}

.postit-check-btn {
    padding: 4px 8px;
    border-radius: 6px;
    background-color: #e1e7f5;
    border: 1px solid #e1e7f5 !important;
    font-size: 12px;
}

.postit-check-btn.checked {
    border: 1px solid #6c8cd6 !important;
}

.postit-list li:nth-of-type(n + 7) {
    display: none;
}

.check-count:not(:empty) {
    margin-left: 0.25rem;
    /* 부트스트랩 ms-1과 동일 */
}

.postit-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.postit-card-footer {
    margin-top: 6px;
}


.student-info-wrapper ul {
    margin-bottom: 24px;
}

.student-info-wrapper ul:last-child {
    margin-bottom: 0;
}

.student-info-wrapper ul span,
.student-info-wrapper ul li i {
    color: #979797;
}

.top-information-ul {
    color: #333333;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px 18px;
    list-style: none;
    padding: 0px 8px;
}

.top-logo {
    width: 120px;
}

@media (min-width:1200px) {
    .top-logo {
        width: 140px;
    }
}

.status-box {
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 0px;
    margin-right: 6px;
    border: 1px solid #ccc;
}

.status-box.pay {
    background-color: #fff4d4;
} 

.status-box.paid {
    background-color: #B1F1FB;
} 


.user-img {
    margin-top:0;
    flex-shrink: 0;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    border-radius: 50%;
    width:60px;
    height:60px;
    margin-right: 13px;
}

.register-wrapper {
    max-width: 500px;
    margin: auto
}

.register-wrapper label {
    margin-bottom: 4px;
    font-size:15px;
}

.register-wrapper .form-control,
.register-wrapper .form-select {
    border-color: #cdcdcd;
    border-radius: 0.375rem;
    font-size:16px;
}

.register-wrapper .form-control:focus,
.register-wrapper .form-select:focus{
    border-color: #6c6c6c;
    outline: 0;
    box-shadow: none;
}

.register-wrapper .form-control[type=file]:focus {
    border-color: #cdcdcd;
    outline: 0;
    box-shadow: none;
}

.date-check label {
    margin-bottom: 0px !important;
}

.visit {
    padding: 8px;
    background-color: #EBF2FA;
    margin: 6px 16px 16px 16px;
    border-radius: 8px;
}

.visit p {
    font-size: 13px;
    margin-bottom: 2px;
}

.visit a {
    font-size:13px;
    color: blue;
    text-decoration: underline;
}

.curriculum-card {
    box-shadow: none;
    border-radius: 8px;
    height: 100%;
    border: 1px solid #d6d5d5 !important
}

.curriculum-card-body {
    display: flex;
    flex-direction: column;
    padding: 24px;
}

.curriculum-card label {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 4px;
}

.curriculum-card .form-control {
    border-color: #d6d5d5
}

.curriculum-card .form-control:focus {
    border-color: #0D99FF;
}

.curriculum .form-select {
    border-color: #d6d5d5
}

.curriculum .form-select:focus {
    border-color: #0D99FF;
}


.blue-line {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-all;
    cursor:pointer;
    color: inherit
}

.blue-line:hover {
    text-decoration: underline;
    color: #0d6efd; /* 부트스트랩 기본 파랑 (#0d6efd) */
}

.btn-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.curriculum-component {
    margin-bottom: 16px;
    font-size: 16px;
    color:#595959;
}

@media (max-width:576px) {
    .curriculum-component {
        font-size: 15px;
    }
}

.component {
    display: flex;
    justify-content: start;
    align-items: center;
    margin-bottom: 8px;
}

.component-btn {
    padding: 2px 6px;
    color: #2c2c2c;
    background-color: #fff;
    font-size: 13px;
    font-weight: 500;
    border-radius: 4px;
    border: 1px solid #d1d1d2;
}

.curriculum-text {
    font-size: 17px;
    font-weight: 400;
    background-color: #EBFAF5;
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 24px;
}

@media (max-width:576px) {
    .curriculum-text {
        font-size: 16px;
        margin-bottom: 16px
    }
}

.class-card-hw-btn {
    padding: 8px 12px;
    color: inherit;
    font-size:14px;
    font-weight:500;
    background-color: #EBF2FA;
    border-radius: 4px;
    border: 1px solid #a1cdff;
    display:inline-block
}

.class-card-hw-btn:focus {
    border: 1px solid #a1cdff;
}

.class-card-test-btn {
    padding: 8px 12px;
    color: #fff;
    font-size:14px;
    font-weight:500;
    background-color: #3580F0;
    border-radius: 4px;
    border: 1px solid #3580F0;
    display:inline-block
}

.class-card-test-btn:focus {
    border: 1px solid #3580F0;
}

.class-card-test-btn a {
    color: #fff;
}

.add-btn {
    display: inline-block;
    padding: 6px 10px;
    font-family: inherit;
    font-size: 14px;;
    font-weight: 500;
    color: inherit;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    border-radius: 4px;
    border: 1px solid #d6d5d5;
    transition: none;
    background: #fff;
}

.add-btn:focus {
    border: 1px solid #d6d5d5
}

.add-btn.homework {
    background-color: #EBF2FA;
    border: 1px solid #a1cdff;
}

.add-btn.test {
    background-color: #3580F0;
    border: 1px solid #3580F0;
    color: #fff;
}

.del-btn {
    margin-left: 12px;
    background-color: #fff;
    color: #595959;
    font-size: 13px;
    padding: 0px 8px;
    border: 1px solid #d0d0d0;
    text-wrap: nowrap;
}

.del-btn:focus {
    border: 1px solid #d0d0d0
}

.curriculum-title {
    padding: 46px 24px;
    background-color: #F3F7FE;
    border-radius: 8px;
}

.curriculum-order {
    font-size: 14px;
    color: inherit;
    border-bottom: 1px solid gray
}

/*===== 시험 =====*/

.exam {
    height: 100vh
}

.exam-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 60px;
}

.exam .offcanvas-backdrop {
    display: none;
}

.exam .offcanvas {
    border: none;
    padding: 1.5rem;
    background: #F2F5FA;
}

.exam .gray-line {
    width: 92%;
    margin: auto;
}

.ans-container {
    margin-top: 1rem;
    margin-bottom: 1rem;
    padding-top: .25rem;
    padding-bottom: .25rem;
    border-bottom: 1px solid rgb(213, 213, 213);
}

.ans-quest {
    background: #E8EDF3;
    font-size: 18px;
    width: 36px;
    height: 36px;
    text-align: center;
    flex: 15%;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translate(0px, -1px);
}

.ans-select {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.ans-number {
    display: flex;
    justify-content: space-between;
    flex: 70%;
    margin-left: 1rem;
    font-size:18px;
}

.ans-answer {
    display: flex;
    align-items: center;
}

.ans-text {
    flex: 70%;
    margin-left: 1rem;
    transform:translate(0px, -1px);
}

.ans-correct {
    width:100%;
    flex: 70%;
    margin-left: 1rem;
    font-size: 18px;
    display: flex;
    justify-content: center;
}

.exam-form {
    width: 0;
    height: 0;
    position: absolute;
}

.exam-label {
    font-size: 18px;
    text-align: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid #d4d4d4;
    text-align: center;
}

.exam-form:checked+label {
    background-color: #0d6efd;
    color: #ffffff;
    font-weight: 400;
    border-color: #d5e6ff;
}

.exam-form[type=radio] {
    border-radius: 50%;
    opacity: 0;
    width: 34px;
    height: 34px;
    transform: translate(0px, -4px);
}

.exam-textbox {
    width: 100%;
    height: 38px;
    font-size: 18px;
    border: 1px solid rgb(213, 213, 213);
    border-radius: 5px;
    text-align:center
}

.exam-textbox:focus {
    outline: none;
}

.exam .btn {
    font-size: 16px;
}

@media (max-width: 575.98px) {
    .exam .btn {
        font-size: 15px;
        padding: 4px 10px;
    }
}

.exam .btn:active,
.exam .btn:focus,
.exam .btn-primary:focus,
.exam .btn-primary:active {
    transform: none;
    box-shadow: none;
    outline: unset;
    border: 1px solid #0d6efd
}