/* 출석체크 */
.m-attendance-check-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 28px;
    padding: 0 12px;
    border: 0;
    background-color: #59a530 !important;
    border-radius: 14px;
    color: #fff;
    font-size: 13px;
    margin-top: 0 !important;
    margin-right: 13px;
    white-space: nowrap;
}
.m-attendance-check-btn .ico-attendance-check {
    display: inline-block;
    width: 12px;
    height: 12px;
    background: url(../images/attendance/ico-calendar.png) center no-repeat;
    background-size: cover;
    margin-right: 6px;
}
@media (min-width: 768px) {
    .m-attendance-check-btn {
        margin-top: 8px;
    }
}
.attendance-btn-wrap {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #ddd;
}
.attendance-btn-wrap .btn {
    flex: 1;
    max-width: 180px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 48px;
    line-height: 45px;
    padding: 0 10px;
    border-radius: 8px;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: -0.8px;
}
.attendance-btn-wrap .btn.disabled {
    background-color: #c0c0c0;
    opacity: 1;
}
.attendance-btn-wrap .btn-att-green {
    background-color: #59a530;
}
.attendance-btn-wrap .btn-att-dark-green {
    background-color: #108d97;
}
.attendance-btn-wrap .ico-att-calendar {
    display: inline-block;
    width: 14px;
    height: 16px;
    background: url(../images/attendance/ico-calendar-lg.png) center no-repeat;
    background-size: cover;
    margin-right: 10px;
    transform: translateY(1px);
}
.attendance-btn-wrap .ico-att-lecture {
    display: inline-block;
    width: 16px;
    height: 15px;
    background: url(../images/attendance/ico-lecture.png) center no-repeat;
    background-size: cover;
    margin-right: 10px;
    transform: translateY(1px);
}
/* 출석체크 공통 팝업 style */
.modal.modal-attendance-popup .modal-content {
    width: calc(100% - 40px);
    margin: 0 auto;
}
.modal.modal-attendance-popup .modal-header {
    position: relative;
    padding: 34px 30px 0 30px;
    justify-content: center;
}
.modal.modal-attendance-popup .modal-header .modal-title {
    font-size: 18px;
    font-weight: bold;
    letter-spacing: -0.9px;
}
.modal.modal-attendance-popup .modal-header .btn-close {
    position: absolute;
    top: 23px;
    right: 23px;
    width: 13px;
    height: 13px;
    background-image: none;
}
.modal.modal-attendance-popup .modal-body {
    padding: 22px 30px 28px;
}
.modal.modal-attendance-popup .modal-body .txt {
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -1px;
    text-align: center;
    padding-bottom: 15px;
    border-bottom: 1px solid #ddd;
}
.modal.modal-attendance-popup .modal-body .txt .font-weight-bold {
    color: #59a530;
}
.modal.modal-attendance-popup .modal-body .date {
    font-size: 14px;
    line-height: 15px;
    letter-spacing: -0.7px;
    text-align: center;
    color: #666;
}
.modal.modal-attendance-popup .modal-body .desc-list {
    margin-top: 14px;
}
.modal.modal-attendance-popup .modal-body .desc-list .item {
    font-size: 14px;
    line-height: 21px;
    letter-spacing: -0.7px;
    text-align: left;
    color: #666;
}
.modal.modal-attendance-popup .modal-body .img {
    text-align: center;
}
.modal.modal-attendance-popup .modal-body .img-map {
    margin-bottom: 23px;
}
.modal.modal-attendance-popup .modal-body .img-attendance {
    margin-bottom: 30px;
}
.modal.modal-attendance-popup .modal-body .img-error {
    margin-bottom: 22px;
}
.modal.modal-attendance-popup .modal-body .date {
    font-family: Roboto;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: -0.7px;
    text-align: center;
    color: #666;
    padding-top: 6px;
    margin-bottom: 9px;
}
.modal.modal-attendance-popup .modal-body .caution {
    font-size: 14px;
    line-height: 18px;
    letter-spacing: -0.7px;
    color: #666;
    padding-top: 16px;
    border-top: 1px solid #ddd;
    margin-top: 17px;
}
.modal.modal-attendance-popup .modal-body .caution .color-orange {
    font-weight: bold;
    color: #f63;
}
.modal.modal-attendance-popup .modal-footer {
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 0 20px 30px 20px;
}
.modal.modal-attendance-popup .modal-footer .btn {
    max-width: 160px;
    justify-content: center;
    flex: 1;
    height: 48px;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: -0.8px;
    line-height: 45px;
    text-align: center;
    padding: 0 10px;
    border-radius: 24px;
    color: #fff;
    margin: 0;
}
.modal.modal-attendance-popup .modal-footer .btn.btn-cancel {
    font-weight: 400;
    color: #666;
    background-color: #edeff0;
}
.modal.modal-attendance-popup .modal-footer .btn.btn-active {
    color: #fff;
    background-color: #ff7f00;
}
.modal.modal-attendance-popup .modal-footer .btn + .btn {
    margin-left: 10px;
}
.modal.modal-attendance-popup .ico-att-pop-close {
    display: inline-block;
    width: 13px;
    height: 13px;
    background: url(../images/attendance/ico-att-pop-close.png) center no-repeat;
    background-size: cover;
}
.modal.modal-attendance-popup .ico-att-map {
    display: inline-block;
    width: 51px;
    height: 47px;
    background: url(../images/attendance/ico-att-map.png) center no-repeat;
    background-size: cover;
}
.modal.modal-attendance-popup .ico-att-out-lg {
    display: inline-block;
    width: 42px;
    height: 40px;
    background: url(../images/attendance/ico-att-out-lg.png) center no-repeat;
    background-size: cover;
    transform: translate(7px, 5px);
}
.modal.modal-attendance-popup .ico-att-in-lg {
    display: inline-block;
    width: 41px;
    height: 40px;
    background: url(../images/attendance/ico-att-in-lg.png) center no-repeat;
    background-size: cover;
    transform: translate(-3px, 3px);
}
.modal.modal-attendance-popup .ico-att-error {
    display: inline-block;
    width: 46px;
    height: 46px;
    background: url(../images/attendance/ico-att-error.png) center no-repeat;
    background-size: cover;
}
/* 출석체크 상세 페이지 style */
.attendance-detail-box {
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 62px;
}
.attendance-detail-box .heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 24px;
    border-bottom: 1px solid #636363;
}
.attendance-detail-box .heading .title {
    font-size: 20px;
    font-weight: bold;
    letter-spacing: -1px;
    color: #000;
}
.attendance-detail-box .heading .btn-black {
    height: 32px;
    padding: 0 10px;
    border-radius: 6px;
    font-size: 14px;
}
.attendance-detail-box .map-box {
    margin-top: 17px;
    margin-bottom: 20px;
}
.attendance-detail-box .map-box .title {
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: -0.8px;
    color: #000;
    margin-bottom: 20px;
}
.attendance-detail-box .map-box .map {
    width: 100%;
    aspect-ratio: 1.5020408163;
    border-radius: 10px;
    overflow: hidden;
    margin: 0 auto;
}
.attendance-detail-box .check-row {
    display: flex;
    max-width: 368px;
    align-items: center;
    justify-content: center;
    border: 1px solid #ddd;
    border-radius: 10px;
    margin: 0 auto 20px;
    overflow: hidden;
}
.attendance-detail-box .check-row .item {
    flex: 1;
    height: 78px;
}
.attendance-detail-box .check-row .item + .item {
    border-left: 1px solid #ddd;
}
.attendance-detail-box .check-row .item > * {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    padding-left: 39px;
    border: 0;
    background-color: #fff;
    /*justify-content: center;
    */
}
.attendance-detail-box .check-row .item .img {
    margin-right: 30px;
    width: 23px;
    height: 23px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.attendance-detail-box .check-row .item .info .title {
    font-size: 15px;
    font-weight: bold;
    line-height: 17px;
    letter-spacing: -0.75px;
    color: #59a530;
    margin-bottom: 8px;
}
.attendance-detail-box .check-row .item .info .time {
    font-family: Roboto;
    font-size: 15px;
    line-height: 14px;
    color: #000;
}
.attendance-detail-box .btn-row {
    display: flex;
    max-width: 368px;
    align-items: center;
    justify-content: center;
    margin: 0 auto 28px;
}
.attendance-detail-box .btn-row button {
    border-radius: 24px;
    height: 48px;
    line-height: 45px;
    font-weight: bold;
}
.attendance-detail-box .btn-row .btn-active-lg {
    width: 70%;
    border: 1px solid #ff7f00;
    background-color: #ff7f00;
    color: #fff;
}
.attendance-detail-box .btn-row .btn-active-lg.disabled {
    background-color: #c0c0c0;
    border-color: #c0c0c0;
}
.attendance-detail-box .btn-row .btn-active-border {
    width: 30%;
    border: 1px solid #ff7f00;
    background-color: #fff;
    color: #ff7f00;
    margin-left: 10px;
}
.attendance-detail-box .btn-row .btn-active-border.disabled {
    color: #c0c0c0;
    border-color: #c0c0c0;
}
.attendance-detail-box .caution-list {
    margin-bottom: 26px;
}
.attendance-detail-box .caution-list .title {
    font-size: 16px;
    font-weight: bold;
    line-height: 18px;
    letter-spacing: -0.8px;
    color: #000;
    margin-bottom: 7px;
}
.attendance-detail-box .caution-list .item {
    position: relative;
    font-size: 14px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.57;
    letter-spacing: -0.9px;
    text-align: left;
    color: #666;
    padding-left: 13px;
}
.attendance-detail-box .caution-list .item:before {
    content: '';
    position: absolute;
    width: 2px;
    height: 2px;
    top: 10px;
    left: 5px;
    border-radius: 100%;
    background-color: #666;
}
.attendance-detail-box .ico-attendance-in-sm {
    display: inline-block;
    width: 19px;
    height: 20px;
    background: url(../images/attendance/ico-attendance-in-sm.png) center no-repeat;
    background-size: cover;
}
.attendance-detail-box .ico-attendance-out-sm {
    display: inline-block;
    width: 23px;
    height: 22px;
    background: url(../images/attendance/ico-attendance-out-sm.png) center no-repeat;
    background-size: cover;
}
.attendance-detail-box .ico-att-accordion {
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url(../images/attendance/ico-att-accordion-minus.png) center no-repeat;
    background-size: cover;
}
.attendance-detail-box .att-accordion {
    margin-bottom: 30px;
}
.attendance-detail-box .att-accordion .card {
    border: 0;
    border-radius: 0;
}
.attendance-detail-box .att-accordion .card-header {
    display: flex;
    align-items: center;
    padding: 0 0 10px;
    background-color: #fff;
    border-bottom: 1px solid #636363;
}
.attendance-detail-box .att-accordion .card-header .title {
    font-size: 16px;
    font-weight: bold;
    line-height: 20px;
    letter-spacing: -0.8px;
    color: #000;
    margin-right: 10px;
}
.attendance-detail-box .att-accordion .card-header a {
    display: flex;
    width: 100%;
    align-items: center;
}
.attendance-detail-box .att-accordion .card-header a .ico {
    transform: translateY(1px);
}
.attendance-detail-box .att-accordion .card-header a.collapsed .ico-att-accordion {
    background: url(../images/attendance/ico-att-accordion-plus.png) center no-repeat;
    background-size: cover;
}
.attendance-detail-box .att-accordion .card-body {
    padding: 0;
}
.attendance-detail-box .att-btn-wrap {
    display: flex;
    justify-content: center;
}
.attendance-detail-box .att-btn-wrap button + button {
    margin-left: 10px;
}
.attendance-detail-box .att-btn-wrap .btn-black {
    background-color: #000;
}
.attendance-detail-box .att-btn-wrap .btn-grey {
    height: 40px;
    background-color: #edeff0;
    font-size: 15px;
    color: #666;
}
.attendance-detail-box .att-btn-wrap .btn-orange {
    height: 40px;
    background-color: #ff7f00;
    font-size: 15px;
}
.attendance-detail-box .table-box {
    margin-bottom: 30px;
}
.attendance-detail-box .color-green {
    color: #59a530 !important;
}
.attendance-detail-box .color-orange {
    color: #f63 !important;
}
.attendance-detail-box .font-roboto {
    font-family: 'Roboto';
}
.attendance-detail-box .table-item .table-title {
    font-size: 20px;
    font-weight: bold;
    line-height: 22px;
    letter-spacing: -1px;
    color: #000;
    margin-bottom: 6px;
}
.attendance-detail-box .table-item .table-title-sm {
    font-size: 16px;
    font-weight: bold;
    letter-spacing: -0.8px;
    color: #000;
}
.attendance-detail-box .table-item .table-desc {
    font-size: 14px;
    line-height: 16px;
    letter-spacing: -1px;
    color: #666;
    margin-bottom: 23px;
}
.attendance-detail-box .table-item .att-table {
    margin-top: 9px;
    border-top: 1px solid #636363;
}
.attendance-detail-box .table-item + .table-item {
    margin-top: 25px;
}
.attendance-detail-box .mt-15 {
    margin-top: 15px !important;
}
.attendance-detail-box .form-item .form-control {
    height: 50px;
    font-size: 16px;
    color: #666;
    letter-spacing: -0.8px;
    border-color: #ddd;
    border-radius: 8px;
}
.attendance-detail-box .form-item .form-control:disabled {
    background-color: #f7f7f7;
}
.attendance-detail-box .form-item .value {
    display: block;
    font-size: 14px;
    letter-spacing: -0.7px;
    text-align: right;
    color: #666;
}
.attendance-detail-box .form-item .value em {
    font-style: normal;
}
.attendance-detail-box .form-item select.form-control {
    background: #fff url(../../svc/images/attendance/ico-select.png) right 13px center/10px 5px no-repeat;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.attendance-detail-box .form-item textarea.form-control {
    height: 120px;
    resize: none;
    font-size: 16px;
    color: #666;
    padding: 10px 14px;
}
.attendance-detail-box .form-item textarea.form-control::placeholder {
    font-size: 16px;
}
.att-table table {
    width: 100%;
}
.att-table th, .att-table td {
    padding: 17px 20px;
    font-size: 15px;
    line-height: 16px;
    letter-spacing: -0.75px;
    text-align: left;
    border-bottom: 1px solid #ddd;
}
.att-table th {
    font-weight: bold;
    background-color: #f7f7f7;
    color: #666;
    text-align: center;
}
.att-table td {
    color: #000;
    padding-left: 20px;
    padding-right: 10px;
}
.att-table.att-v-table th {
    padding-left: 5px;
    padding-right: 5px;
}
.att-table.att-v-table td {
    padding: 0 5px;
    height: 50px;
    text-align: center;
    font-family: 'Roboto';
}

/* 2024.01.08 - 비대면 교육 동의서 팝업 */
@font-face {
    font-family: 'S-CoreDream-6Bold';
    src: url(../fonts/S-CoreDream-6Bold.eot);
    src:url(../fonts/S-CoreDream-6Bold.woff) format('woff');
    font-style: normal;
}

.modal-non-face-to-face-education.modal .modal-content {
    background-color: #ebe8e3;
    border: 0;
    border-radius: 0;
}

.modal-non-face-to-face-education.modal .modal-dialog {
    max-width: 600px;
}

.modal-non-face-to-face-education.modal .modal-header {
    padding-top: 80px;
    position: relative;
    justify-content: center;
}

.modal-non-face-to-face-education.modal .ico-att-pop-close-black {
    display: inline-block;
    width: 17.5px;
    height: 17.5px;
    background: url(../images/attendance/ico-att-pop-close-black@2x.png) center no-repeat;
    background-size: cover;
}

.modal-non-face-to-face-education.modal .modal-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background-image: url(../images/attendance/pop-deco@2x.png);
    width: 528px;
    height: 115.5px;
    background-size: cover;
}

.modal-non-face-to-face-education.modal .btn-popup-close {
    position: absolute;
    right: 11px;
    top: 11px;
    width: 35px;
    height: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: transparent;
    border: 0;
}

.modal-non-face-to-face-education.modal .modal-title {
    font-family: 'S-CoreDream-6Bold';
    font-weight: bold;
    font-size: 30px;
    letter-spacing: -1.5px;
    line-height: 32px;
}

.modal-non-face-to-face-education.modal .color-red {
    color: #fb2127;
}

.modal-non-face-to-face-education.modal .modal-body {
    padding: 32px 30px 35px;
}

.modal-non-face-to-face-education.modal .desc-list {
    padding: 20px 30px 25px;
    border-radius: 10px;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2);
    background-color: #f9f9f9;
    margin-bottom: 15px;
}

.modal-non-face-to-face-education.modal .desc-list .item-title {
    position: relative;
    font-size: 16px;
    letter-spacing: -.8px;
    line-height: 16px;
    padding-left: 21px;
    font-weight: bold;
    margin-bottom: 20px;
}

.modal-non-face-to-face-education.modal .desc-list .item-title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 1px;
    background-image: url(../images/attendance/ico-caution@2x.png);
    width: 16px;
    height: 16px;
    background-size: cover;
}

.modal-non-face-to-face-education.modal .desc-list .item {
    font-size: 15px;
    line-height: 20px;
    font-weight: 500;
}

.modal-non-face-to-face-education.modal .desc-bottom {
    padding: 0 30px;
}

.modal-non-face-to-face-education.modal .txt {
    padding-left: 20px;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: -1.13px;
    color: #333;
}

.modal-non-face-to-face-education.modal .txt-red {
    color: #d80101;
}

.modal-non-face-to-face-education.modal .modal-footer {
    justify-content: center;
    padding: 0 30px 60px;
}

.modal-non-face-to-face-education.modal .btn {
    color: #fff;
    border-radius: 5px;
    height: 40px;
    line-height: 37px;
    background-color: #ee8508;
    padding: 0 18px;
    margin: 0;
}
.modal-backdrop.fade.show {
	display: none !important;
}