
/*
    ****************************** 폰트 *********************************
*/

/*
    *** Jalnan
*/
@font-face {
    font-family: "Jalnan";
    src: url(../fonts/Jalnan.woff) format("woff");
}


/*
    *** pretendard
*/
@font-face {
    font-family: "PretendardEB";
    src: url(../fonts/Pretendard-ExtraBold.woff) format("woff");
}

@font-face {
    font-family: "PretendardM";
    src: url(../fonts/Pretendard-Medium.woff) format("woff");
}





/*
    ****************************** 베이스 ********************************
*/
* {margin:0; padding:0; border:0;}

a {text-decoration:none; color:#000000;}
a:visited {text-decoration:none; color:#000000;}
a:active {text-decoration:none; color:#000000;}
a:link {text-decoration:none; color:#000000;}

ul, ol, dl {list-style: none;}

:focus {outline:none;}

img {user-select: none; -webkit-user-drag: none;}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}



/*
    ****************************** 유틸 ******************************
*/
.buttonOver {cursor:pointer;}
.buttonOver img.normal {display:block;}
.buttonOver img.over {display:none;}
.buttonOver:hover img.normal {display:none;}
.buttonOver:hover img.over {display:block;}



/*
    **************************** 전체 레이아웃 ****************************
*/
body {width:100%; height:100vh; overflow: hidden; background-color:#44BFBF;}

#viewerContentFrame {position:absolute; top:0; left:0; width:100%; height:100%;}
#iframeContent {position:absolute; top:0; left:0; width:100%; height:100%;}



.virtualContentArea {position:absolute; top:50%; left:50%;}


/*
    ******************************* 공통요소 *******************************
*/
.flatButton {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 115px;
    height: 40px;
    font-size: 18px;
    font-family: NotoSans;
    font-weight: 500;
    color:#ffffff;
    border-radius: 25px;
    cursor:pointer;
    background-color: #f58220;
}
.flatButton.gray {background-color:#a9a9a9;}

/*팝업창*/
.commonWin {
    position: absolute;
    top: 0;
    left: 0;
    width: 472px;
    border-radius: 15px;
    padding: 2px;
    padding-top: 0;
    box-sizing: border-box;
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
    background-color: #f58220;
    z-index: 200;
}
.commonWin .winHead {position:relative; height:51px; display:flex; align-items: center;  padding-left:20px; box-sizing: border-box; font-size:22px; color:#ffffff;}
.commonWin .winHead .icon {margin-right:10px;}
.commonWin .winHead .btnCloseWin {position:absolute; right:10px; top:9px; cursor:pointer; pointer-events: all;}

.commonWin .winBody {display:flex; flex-direction:column; height:calc(100% - 51px); overflow: hidden; box-sizing: border-box; border-radius:13px; background-color:#ffffff;}


/*팝업창 - 스타일2*/
.commonWin2 {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 450px;
    border-radius: 5px;
    box-sizing: border-box;
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
    border:solid 1px #d9d9d9;
    border-top:solid 2px #f58220;
    background-color: #ffffff;
    z-index: 200;
}
.commonWin2 .winHead {position:relative; height:51px; background-color:#fff3cb;}
.commonWin2 .winHead .btnCloseWin {position:absolute; right:10px; top:9px; cursor:pointer;}
.commonWin2 .winBody {}
.commonWin2 .winFoot {position:relative; height:51px; background-color:#fff3cb;}



/*
    *** 컨펌 팝업
*/
.confirmWin {width:330px; top:50%; left:50%;}
.confirmWin .winBody {padding:15px 0;}
.confirmWin .winBody .message {font-size:18px; color:#444444; font-weight:700; text-align:center; padding:15px; line-height:1.2;}
.confirmWin .winBody .buttonArea {display:flex; justify-content: center;}
.confirmWin .winBody .buttonArea .flatButton {margin:0 5px;}




/*
    ***************************** 상단바 **********************************
*/
#viewerNav {
    position: absolute;
    top: 50%;
    left: 50%;
}


.topArea {
    position: absolute;
    top: -540px;
    left: 50%;
    margin-left: -720px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 1440px;
    height: 78px;
}



/*
    *** 북마크
*/
#viewerNav .bookmark .offButton {display:block; cursor: pointer;}
#viewerNav .bookmark .offButton .normal {display:block;}
#viewerNav .bookmark .offButton .over {display:none;}
#viewerNav .bookmark .offButton:hover .normal {display:none;}
#viewerNav .bookmark .offButton:hover .over {display:block;}

#viewerNav .bookmark .onButton {display:none; cursor: pointer;}
#viewerNav .bookmark .onButton .normal {display:block;}
#viewerNav .bookmark .onButton .over {display:none;}
#viewerNav .bookmark .onButton:hover .normal {display:none;}
#viewerNav .bookmark .onButton:hover .over {display:block;}

#viewerNav .bookmark.on .offButton {display:none;}
#viewerNav .bookmark.on .onButton {display:block;}

#viewerNav .bookmarkPopupBtn { cursor: pointer; margin-right: 12px;}
#viewerNav .bookmarkPopupBtn .normal { display: block;}
#viewerNav .bookmarkPopupBtn .over { display: none;}
#viewerNav .bookmarkPopupBtn:hover .normal { display: none;}
#viewerNav .bookmarkPopupBtn:hover .over { display: block;}



/*
    *** 상단 바
*/
#viewerNav .topBar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 1373px;
    height: 100%;
    font-family: Jalnan;
    font-size: 25px;
    letter-spacing: -0.15px;
    border-radius: 0 0 20px 20px;
    background-color: #18ACAC
}


/*gnb*/
#viewerNav .topBar .gnb {position:relative; height:100%;}
#viewerNav .topBar .gnb .gnbBar {display:flex; align-items: center; height:100%; cursor:pointer;}
#viewerNav .topBar .gnb .gnbBar .lessonBar {
    display: flex;
    align-items: center;
    height: 100%;
    box-sizing: border-box;
    padding-right: 30px;
    box-sizing: border-box;
    background-image: url("../images/lessonSideArrow.png");
    background-repeat: no-repeat;
    background-position: center right;
}
#viewerNav .topBar .gnb .gnbBar .lessonCell {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    color: rgba(255, 255, 255, 0.70);
    padding-left: 32px;
    padding-right: 24px;
    border-radius:0 0 0 20px;
    background-color: #0E8282;
}
#viewerNav .topBar .gnb .gnbBar .chapterName {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    color: #ffffff;
    padding-right: 16px;
    background-color: #0E8282;
}
#viewerNav .topBar .gnb .gnbBar .partName {color:#FFDC4A; padding:0 12px;}
#viewerNav .topBar .gnb .gnbBar .upDownArrow {cursor:pointer;}
#viewerNav .topBar .gnb .gnbBar .upDownArrow .downArrow {display:block;}
#viewerNav .topBar .gnb .gnbBar .upDownArrow .upArrow {display:none;}

#viewerNav .topBar .gnb .gnbBar .upDownArrow.on .downArrow {display:none;}
#viewerNav .topBar .gnb .gnbBar .upDownArrow.on .upArrow {display:block;}


/*gnb 상세메뉴*/
#viewerNav .topBar .gnb .chapterMenu {display:none; position:absolute; top:77px; left:0; border: 2px solid #B2B2B2; border-radius:30px; box-shadow: 0px 9px 9px 0px rgba(0, 0, 0, 0.15); overflow: hidden; background-color:#ffffff;}
#viewerNav .topBar .gnb .chapterMenu .menuListWrap {display:flex;}
#viewerNav .topBar .gnb .chapterMenu .lessonArea {/*width:588px;*/ padding:36px; padding-right:0; box-sizing: border-box; background-color:#F3F3F3;}
#viewerNav .topBar .gnb .chapterMenu .lessonArea .lessonList {position:relative; display:flex; align-items: center; white-space: nowrap; padding-left:43px; padding-right:60px; box-sizing: border-box; margin-bottom:17px; cursor:pointer;}
#viewerNav .topBar .gnb .chapterMenu .lessonArea .lessonList:last-child {margin-bottom:0;}
#viewerNav .topBar .gnb .chapterMenu .lessonArea .lessonList .lessonNum {position:relative; /*width:130px;*/ color:#000000; font-family:PretendardEB; margin-right:24px;}
#viewerNav .topBar .gnb .chapterMenu .lessonArea .lessonList .lessonName {position:relative; /*width:300px;*/ color:#000000; font-family:PretendardM;}

#viewerNav .topBar .gnb .chapterMenu .lessonArea .lessonList.on:after {content:""; position:absolute; top:50%; right:0; transform:translateY(-50%); width:21px; height:27px; background-image: url("../images/lessonListArrow.png");}
#viewerNav .topBar .gnb .chapterMenu .lessonArea .lessonList.on:before {content:""; position:absolute; top:50%; left:0; transform:translateY(-50%); width:calc(100% - 37px); height:45px; border-radius:0 30px 30px 0; z-index:0; background-color:#FFDC4A;}

#viewerNav .topBar .gnb .chapterMenu .cornerArea {padding:36px;}
#viewerNav .topBar .gnb .chapterMenu .cornerArea .cornerList {position:relative; display:flex; align-items: center; /*width:378px;*/ height:45px; color:#000000; font-family:PretendardM; white-space: nowrap; padding-left:38px; padding-right:30px; box-sizing: border-box; cursor:pointer;}
#viewerNav .topBar .gnb .chapterMenu .cornerArea .cornerList.on {color:#ffffff; border-radius:30px 0 0 30px; background-color:#FF6700;}
/*#viewerNav .topBar .gnb .chapterMenu .cornerArea .cornerList.on:before {content:""; position:absolute; top:50%; left:0; z-index:0; transform:translateY(-50%); height:45px; width:100%; border-radius:30px 0 0 30px; background-color:#FF6700;}*/


/*페이지 컨트롤바*/
#viewerNav .topBar .pageControlBar {display:flex; align-items:center; padding-right:12px;}
#viewerNav .topBar .pageControlBar .movePage {display:flex; align-items:center; margin-right:12px;}
#viewerNav .topBar .pageControlBar .movePage .title {color:#ffffff; font-size:20px; margin-right:10px;}
#viewerNav .topBar .pageControlBar .movePage .inputWrap {display:flex; align-items: center; justify-content: space-between; height:43px; border-radius:30px; padding-left:15px; padding-right:3px; box-sizing: border-box; background-color:#ffffff;}
#viewerNav .topBar .pageControlBar .movePage .inputWrap input {width:80px; height:33px; font-size:18px; font-family:Jalnan; color:#000000; text-align:center;}


/*볼륨*/
#viewerNav .topBar .pageControlBar .volume {position:relative; width:43px; height:43px; margin-right:12px;}



/*#viewerNav .topBar .pageControlBar .volume {position: relative; display: flex; justify-content: center; width: 70px;}*/
/*#viewerNav .topBar .pageControlBar .volume .volumeBox {
    position:absolute;
    top:0;
    left:0;
    display: flex;
    flex-direction: column;
    !*justify-content: center;*!
    align-items: center;
    width: 43px;
    height: 43px;
    border-radius: 30px;
    border: solid 2px rgba(0,0,0,0.1);
    box-sizing: border-box;
    padding-top:7px;
    background-color: #ffffff;
}*/
#viewerNav .topBar .pageControlBar .volume .volumeBox {
    position:absolute;
    top:0;
    left:0;
    display: flex;
    flex-direction: column;
    /*justify-content: center;*/
    align-items: center;
    width: 43px;
    height: 43px;
    border-radius: 30px;
    background: url("../images/speakeIcon.png")no-repeat;
    box-sizing: border-box;
    padding-top:8px;
  /*  background-color: #ffffff;*/
}
#viewerNav .topBar .pageControlBar .volume .volumeBox .speaker {cursor: pointer;}
#viewerNav .topBar .pageControlBar .volume .volumeBox .speaker .off {display: none;}
#viewerNav .topBar .pageControlBar .volume .volumeBox .dragTrack {display: none; position: relative; width: 8px; height: 94px; border-radius: 4px; margin-top:13px; background-color: #268E8E;}
#viewerNav .topBar .pageControlBar .volume .volumeBox .dragTrack .gauge {position: absolute; top:2px; left:2px; width: 4px; height: 68px; border-radius: 2px; background-color: #FFDC4A;}
#viewerNav .topBar .pageControlBar .volume .volumeBox .dragTrack .bar {position: absolute; width: 20px; height: 20px; left: -6px; top: 68px; border-radius: 50%; cursor: pointer; border:solid 1px #0099D2; box-sizing: border-box; background-color: #FFDC4A;}
#viewerNav .topBar .pageControlBar .volume .volumeBox:hover {height: 159px; box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.15); border-color:#ffffff;background: none;  background-color: #fff; }
#viewerNav .topBar .pageControlBar .volume .volumeBox:hover .dragTrack {display: block;}



/*
    ************************************* 하단바 **************************************
*/
/*
    *** 비바샘 자료실
*/
.bottomArea {position:absolute; bottom:-540px; left:50%; margin-left:-720px; width:1440px; height:70px; pointer-events: none; /*background-color:#EFEAE4;*/}

.bottomArea .btnVivasam {position:absolute; bottom:0; left:38px; pointer-events: auto; }
.bottomArea .btnLangCard {position:absolute; bottom:0; left:255px; pointer-events: auto;}




/*
    ************************************ 페이지 좌,우 이동 버튼 *************************************
*/
.pageMoveButton {
    position: absolute;
    display: flex;
    align-items: center;
    top: 50%;
    margin-top: -35px;
}
.pageMoveButton.prev {
    left: 0;
    transform-origin: center left;
}
.pageMoveButton.prev img {
    margin-right: 5px;
    cursor: pointer;
}
.pageMoveButton.next {
    right: 0;
    transform-origin: center right;
}
.pageMoveButton.next img {
    margin-left: 5px;
    cursor: pointer;
}
.pageMoveButton .noticeBox {
    display:none;
    font-size: 18px;
    color: #333333;
    text-align: center;
    padding: 10px;
    border-radius: 5px;
    border: solid 1px #aaaaaa;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.06);
    background-color: #ffffff;
}


/*
    ********************************* 팝업창 **********************************
*/
#popup {
    display: none;
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: transparent;
    border-radius: 5px;
    z-index: 999;
}

.messageWin {position:absolute; left:50%; top:50%; width:420px !important; height:150px; margin-left:-210px; margin-top:-75px;}
.messageWin .headText {font-size:23px; margin-bottom:10px;}
.messageWin .colorText {color: #0b7df3;}
.messageWin .winBody {padding:15px 0;}
.messageWin .winBody .message {height:100%; font-size:18px; color:#444444; font-weight:700; text-align:center; padding:15px; line-height:1.2;}
.messageWin .winBody .buttonArea {display:flex; justify-content: center;}
.messageWin .winBody .buttonArea .flatButton {margin:0 5px;}



/*
    ********************************** 퀵메뉴 ***********************************
*/

/*
    *** 퀵메뉴 접혔을때
*/
.quickMenu {
    display:flex;
    flex-direction: column;
    position: absolute;
    top: calc(540px - 100px);
    left: calc(960px - 100px);
    transform-origin: top left;
    transition:margin 0.1s ease-out;
}
.quickMenu .xMark {display: flex; justify-content: center; align-items: center; height:80px; width:100%; cursor:pointer;}
.quickMenu .xMark.top {border-radius:50px 50px 0 0; border-bottom:solid 2px #D7D7D7;}
.quickMenu .xMark.bottom {border-radius:0 0 50px 50px;}
.quickMenu .xMark .xOff {display:block;}
.quickMenu .xMark .xOn {display:none;}

.quickMenu .quickMenuCircle {
    position:relative;
    top:2px;
    left:2px;
    display: flex;
    width: 76px;
    height: 76px;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    border-bottom:solid 2px #D7D7D7;
    box-sizing: border-box;
    cursor: pointer;
    z-index:10;
    transition:all 0.1s ease-out;
    background-color:#ffffff;
}
.quickMenu .quickMenuCircle:hover {background-color:#FCDEC9;}

.quickMenu .xMark:hover {background-color:#FCDEC9}
.quickMenu .xMark:hover .xOff {display:none;}
.quickMenu .xMark:hover .xOn {display:block;}

.quickMenuBody {
    position: absolute;
    top: 0;
    left: 0;
    width:80px;
    height:80px;
    overflow: hidden;
    border:solid 2px rgba(0,0,0,0.2);
    box-sizing: border-box;
    box-shadow: 0 3px 5px rgba(0,0,0,0.3);
    border-radius:50px;
    background-color:#ffffff;
    transition: all 0.2s ease-out;
}
.quickMenuBody .btn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100px;
    font-size: 14px;
    color: #606060;
    font-family: Jalnan;
    font-weight: 500;
    letter-spacing: -1px;
    cursor: pointer;
    box-sizing: border-box;
    border-bottom:solid 2px #D7D7D7;
    background: #ffffff;

}
.quickMenuBody .btn:last-child {border-bottom:0; border-radius: 0 0 50px 50px;}
.quickMenuBody .btn img {margin-bottom: 16px;}
.quickMenuBody .btn#vivasam img {margin-bottom:0;}
.quickMenuBody .btn .off {display:block;}
.quickMenuBody .btn .on {display:none;}
.quickMenuBody .btn:hover {color:#FF6700; background-color:#FCDEC9;}
.quickMenuBody .btn:hover .off {display:none;}
.quickMenuBody .btn:hover .on {display:block;}

.quickMenuBody .btn.activity {position: relative;}
.quickMenuBody .btn.activity .balloonWrap {position: absolute; display: none; top: -30px; left: -140px; padding-right:15px; cursor: auto;}
.quickMenuBody .btn.activity .balloonWrap:after {content:""; position:absolute; top:50%; right:5px; margin-top:-6px; width:10px; height:12px; background-image:url("../images/quick_balloonTip.png");}
.quickMenuBody .btn.activity:hover .balloonWrap {display: block;}

.quickMenuBody .btn.activity .balloonMenu {
    width: 122px;
    border-radius: 12px;
    box-shadow: 0 3px 5px rgba(0,0,0,0.3);
    cursor: auto;
    background-color:#ffffff;
    border:solid 2px #956151;
    overflow: hidden;
}
.quickMenuBody .btn.activity .balloonMenu ul {list-style: none;}
.quickMenuBody .btn.activity .balloonMenu ul li {
    display: flex;
    justify-content: center;
    align-items: center;
    width:100%;
    height: 38px;
    font-size: 15px;
    color: #606060;
    font-family: Jalnan;
    font-weight: 500;
    border-bottom:solid 1px #D7D7D7;
    cursor: pointer;
}
.quickMenuBody .btn.activity .balloonMenu ul li:last-child {margin-bottom:0;}

.quickMenuBody .btn.activity .balloonMenu ul li:hover {color:#FF6700; background-color:#FCDEC9;}



/*
    *** 퀵메뉴 펼쳐졌을때
*/
.quickMenu.on {margin-left:-6px; transition: margin 0.1s ease-out;}
.quickMenu.on .quickMenuCircle {width:88px; height:100px; border-radius:50px 50px 0 0; /*opacity:0;*/ z-index:-1; transition: all 0.1s ease-out;}

.quickMenu.on .xMark {height:96px;}
.quickMenu.on .xMark.top {display:flex;}
.quickMenu.on .xMark.bottom {display:none;}

.quickMenu.on .quickMenuBody {width:92px; height:500px; transition: all 0.1s ease-out;}

.quickMenu.on #vivasam {border-radius:0 0 50px 50px;}




/*
    ********************************** 퀵메뉴(역방향) ***********************************
*/

/*
    *** 퀵메뉴 접혔을때
*/

.quickMenu.on.reverse .xMark.top {display:none;}
.quickMenu.on.reverse .xMark.bottom {display:flex;}




/*
    *** 퀵메뉴 펼쳐졌을때
*/

.quickMenu.on.reverse .quickMenuCircle {top:-22px; border-radius:0 0 50px 50px; transition: all 0.1s ease-out;}
.quickMenu.on.reverse .quickMenuBody {top:-420px;}
.quickMenu.on.reverse #drawAndWrite {border-radius:50px 50px 0 0;}
.quickMenu.on.reverse #vivasam {border-radius:0;}


/*
    ********************************** 북마크 ***********************************
*/

.bookmarkPopup { position: absolute; display: none; width: 580px; height: 360px; border-radius: 20px; padding:0 2px 2px 2px; box-sizing: border-box; ; background-color: #469DBD;
    box-shadow: 0 5px 5px -5px #1b1b1b,
    -5px 0 5px -5px #1b1b1b,
    5px 0 5px -5px #1b1b1b;
    overflow: hidden;
}

.bookmarkPopup .titleArea { height: 67px; line-height: 67px; ;padding-left: 24px; box-sizing: border-box; font-size: 24px; color: #fff; font-family: "Jalnan";}

.bookmarkPopup .bookmarkArea { height: 291px; background-color: #fff; border-radius: 0 0 20px 20px; padding:12px 0 12px 26px; box-sizing: border-box; overflow: hidden;}
.bookmarkPopup .bookmarkArea .bookmarkList {position: relative; padding: 12px 0; border-bottom: 1px dashed #A4A4A4; box-sizing: border-box;}
.bookmarkPopup .bookmarkArea .bookmarkList:first-child { padding-top: 0;}
.bookmarkPopup .bookmarkArea .list { position: relative; display: flex; align-items: center;  cursor: pointer;}
.bookmarkPopup .bookmarkArea .list .pageNum { width: 120px; font-size: 25px; color: #708E99; font-family: "PretendardEB"; margin-right: 14px; }
.bookmarkPopup .bookmarkArea .list .pageName { font-size: 25px; color: #000; font-family: "PretendardM";}
.bookmarkPopup .bookmarkArea  .pageDelete { position: absolute; top: 50%; transform: translateY(-50%); right: 0; font-size: 18px; color: #fff; font-family: "Jalnan"; padding: 5px 10px; border-radius: 30px; background-color: #0099D2; cursor: pointer; }
.bookmarkPopup .bookmarkArea  .pageDelete:hover { background-color: #2678A6;}

.bookmarkPopup .bookmarkArea .bookmarkList:first-child .pageDelete { top: 0; transform: translateY(0)}

.bookmarkPopup .bookCloseBtn { position: absolute; top: 12px; right: 24px; cursor: pointer;}
.bookmarkPopup .bookCloseBtn .normal { display: block;}
.bookmarkPopup .bookCloseBtn .over { display: none;}
.bookmarkPopup .bookCloseBtn:hover .normal { display: none;}
.bookmarkPopup .bookCloseBtn:hover .over { display: block;}

.bookmarkPopup .mCSB_inside > .mCSB_container { margin-right: 0 ;; padding-right: 26px;}
.bookmarkPopup .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { width: 10px; background-color:#18AFE6 !important;; }
.bookmarkPopup .mCSB_scrollTools .mCSB_draggerRail { background-color: #d9d9d9}
.bookmarkPopup .mCSB_scrollTools { right: 4px;}
/*
    ********************************** 프린트 ***********************************
*/

@media print {
    @page {
        size: A4 landscape;
        margin:0;
    }

    * {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}






