@charset "UTF-8";

body {
	position: relative;
}

/* nav#top, nav#bt {
	display: none;
} */
/* 상단메뉴 */
nav#top {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	min-width: 1024px;
	height: 60px;
	z-index: 1000;
	border-bottom: 1px solid #d1d3d4;
	background: #fff;
}
@media screen and (max-width: 1023px) {
	nav#top {
		min-width: 100%;
	}
}
nav#top > a {
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
}
nav#top h1 {
	width: 100%;
	text-align: center;
	display: inline-block;
	font-size: 18px;
	line-height: 59px;
}
nav#top > div {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
}
nav#top > div a {
	float: left;
}

/* 즐겨찾기 리스트 메뉴 */
.option-menu.fav-list {
	right: 180px;
}
.option-menu.fav-list li {
	overflow: hidden;
}
.option-menu.fav-list li h2 {
	float: left;
	width: 30px;
	height: 22px;
	line-height: 22px;
	text-align: center;
}
.option-menu.fav-list li div {
	margin-top: 0;
	margin-left: 13px;
	float: left;
	height: 22px;
}
.option-menu.fav-list li div a {
	display: block;
	width: 50px;
	height: 22px;
	line-height: 22px;
	text-align: center;
	font-size: 16px;
	color: #fff;
	-webkit-border-radius: 11px;
	-moz-border-radius: 11px;
	border-radius: 11px;
}
a.go {
	background: #eb4335;
}
a.del {
	margin-left: 5px;
	background: #939598;
}





/* 듣기옵션 메뉴 */
.option-menu {
	position: absolute;
	top: 59px;
	right: 0;
	width: 181px;
	background: #fff;
	z-index: 1050;
}
.option-menu .arrow {
	position: absolute;
	display: block;
	top: -9px;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 18px;
	height: 13px;
}
.option-menu li {
	border-bottom: 1px solid #d1d3d4;
	padding: 16px 14px;
}
.option-menu li:last-child {
	border-bottom: 0;
}
.option-menu li div {
	margin-top: 11px;
	height: 20px;
}
.option-menu li div.auto-play a {
    display: block;
    width: 50px;
    height: 22px;
    line-height: 22px;
    text-align: center;
    font-size: 16px;
    color: #fff;
    -webkit-border-radius: 11px;
    -moz-border-radius: 11px;
    border-radius: 11px;
    background: #939598;
}
.option-menu li div a:last-child {
    margin-left: 5px;
}
.option-menu h2 {
	font-size: 16px;
	color: #000;
}
.option-menu label {
	float: left;
	vertical-align: top;
	display: inline-block;
	margin-right: 17px;
	padding-left: 22px;
	height: 20px;
	line-height: 20px;
	font-size: 16px;
	color: #939598;
	cursor: pointer;
	background-image: url(../image/input-bg.png);
	background-repeat: no-repeat;
	background-position-x: 0;
	background-position-y: 2px;
	text-align: right;
}
.option-menu .disabled {
    opacity: .4;
    cursor: default;
}
.option-menu input:checked.default + label {
	background-position-y: -18px !important;
	color: #000 !important;
}/* default 1회만 있다 사라짐 */
.option-menu ul li label:last-child {
	margin-right: 0;
}
.option-menu input {
	display: none;
}
.option-menu li:last-child label {
	width: 45px;
	height: 22px;
	margin-right: 8px;
	-webkit-border-radius: 11px;
	-moz-border-radius: 11px;
	border-radius: 11px;
}

li:last-child label.t-red {
	background: #eb4335;
}
li:last-child label.t-blue {
	background: #4356a4;
}
li:last-child label.t-gray {
	background: #62646f;
}


/* 하단메뉴 */
nav#bt {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 60px;
	z-index: 1000;
	border-top: 1px solid #d1d3d4;
	background: #fff;
}
.inner {
	width: 604px;
	height: 60px;
	margin: 0 auto;
	/*border-right: 1px solid #e7e9e9;*/
	border-left: 1px solid #e7e9e9;
}

.inner > div {
	float: left;
}
.play-set > a,
.set > a {
	float: left;
}
.range {
	padding: 0 16px;
	width: 421px;
	height: 60px;
	border-right: 1px solid #e7e9e9;
	position: relative;
}
.range p {
	float: left;
	color: #939598;
	font-weight: 400;
	width: 50px;
	height: 60px;
	line-height: 60px;
}
.rangeslider,
.rangeslider__fill {
  display: block;
}
.rangeslider {
  background: #939598;
  position: relative;
}
.rangeslider--horizontal {
	float: left;
	margin-top: 28px;
	height: 4px; /* 10px */
	width: 337px;
}
.speed .rangeslider--horizontal {
	width: 100%;
	margin-top: 14px;
}
.rangeslider__fill {
	background: #248ab2;
	position: absolute;
	top: 0;
	height: 100%;
}

.rangeslider__handle {
	display: inline-block;
	width: 20px;
	height: 20px;
	position: absolute;

	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
.rangeslider__handle:after {
	content: "";
	display: block;
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #248ab2;
}
.rangeslider--horizontal .rangeslider__handle {
	top: -9px; /* 25px */
	touch-action: pan-y;
	-ms-touch-action: pan-y;
}

.speed input[type=range] {
    -webkit-appearance: none;
    width: 100%;
    height: 20px;
    margin: 0;
    padding: 0;
}
.speed input[type=range]:focus {
  outline: none;
}
.speed input[type=range]::-webkit-slider-runnable-track {
    width: 100%;
    height: 4px;
    cursor: pointer;
    background: #248ab2;
}
.speed input[type=range]::-webkit-slider-thumb {
    margin-top: -8px;
    width: 20px;
   height: 20px;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background: #248ab2;
  cursor: pointer;
  -webkit-appearance: none;
}
.speed input[type=range]:focus::-webkit-slider-runnable-track {
    width: 100%;
    height: 4px;
    cursor: pointer;
    background: #248ab2;
}
.speed input[type=range]::-moz-range-track {
    width: 100%;
    height: 4px;
    cursor: pointer;
    background: #248ab2;
}
.speed input[type=range]::-moz-range-thumb {
    margin-top: -8px;
    width: 20px;
   height: 20px;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background: #248ab2;
  cursor: pointer;
  -webkit-appearance: none;
}
.speed input[type=range]::-ms-track {
    width: 100%;
    height: 4px;
    cursor: pointer;
    background: #248ab2;
    border: 0;
}
.speed input[type=range]::-ms-thumb {
    margin-top: 0;
    width: 20px;
   height: 20px;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  border: 0;
  background: #248ab2;
  cursor: pointer;
  -webkit-appearance: none;
}
input[type=range]:focus::-ms-fill-lower {
  background: #248ab2;
}
input[type=range]:focus::-ms-fill-upper {
  background: #248ab2;
}
input[type=range]::-ms-tooltip {
    display: none;
}
@media screen and (max-width: 1024px) {
	nav#top {
		min-width: 100%;
	}
	nav#top h1 {
		width: 100%;
		height: 60px;
		padding-left: 0;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.inner {
		width: 100%;
	}
	.range {
		width: 33.203125%; /* 340/1024 */ /*2018-05-30*/
	}
	.rangeslider--horizontal {
		width: 77.22567287784679%; /* 373/483 */ /*2018-05-30*/
	}
}
@media screen and (max-width: 900px) {/*2017-09-11*/
	.range {
		width: 21.484375%; /* 220/1024 */ /*2018-05-30*/
	}
	.rangeslider--horizontal {
		width: 61.07660455486542%; /* 295/483 */ /*2018-05-30*/
	}
}
@media screen and (max-width: 768px) {
	nav#top {
		min-width: 768px;
	}
	nav#top h1 {
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.inner {
		width: 768px;
	}
	.range p {
		width: 50px;
	}
}
.speed {
	width: 121px;
	padding: 12px 12px 0;
}
.speed h2 {
	width: 100%;
	position: relative;;
	font-size: 14px;
	color: #000;
	line-height: 1;
	text-align: center;
	height: 14px;
}
.speed h2 a {
	display: block;
	position: absolute;
	/*left: 0;*/
	top: 3px;
	height: 14px;
}
.speed h2 a.speed-plus {
	right: 0;
	left: unset;
}
.speed p {
	padding-top: 4px;
}
.speed p a {
	margin: 6px 0 0 0;
	float: left;
	width: 15px;
	height: 9px;
	background-position-y: -17px;
	cursor: pointer;
}
.speed p a.fast {
	background-position-x: -426px;
}
.speed p span {
	display: block;
	width: 65px;
	float: left;
	font-size: 16px;
	text-align: center;
}
.speed p a.slow {
	background-position-x: -397px;
}




/* common css */
.sprite {
	display: block;
	margin: 14px auto 0;
	width: 32px;
	height: 32px;
	background-image: url(../image/sprite.png);
	background-repeat: no-repeat;
}
.clearFix:after {
	display: block;
    visibility: hidden;
    content: ".";
    clear: both;
    text-indent: -9999px;
    height: 0;
}
.a-cmm > a {
	display: block;
	width: 60px;
	height: 60px;
	border-right: 1px solid #e7e9e9;
	border-bottom: 1px solid #d1d3d4;
}
.a-cmm > a:hover {
	background-color: #f4f4f5;
	border-bottom: 1px solid #d1d3d4;
}

.a-cmm a .sprite {
	background-position-y:  -6px;
}
.a-cmm a.act span.sprite {
	background-position-y:-48px;
} /* 활성화 */


/* 버튼 - 닫기 */
a.expand {
	border-right: 0;
	border-left: 1px solid #e7e9e9;
}
.exit { border-left: 1px solid #e7e9e9;}
.exit .sprite {
	width: 34px;
	background-position-x: 0;
}

/* 버튼 - 즐겨찾기 리스트 */
a.list {
	border-left: 1px solid #e7e9e9;
}
.list .sprite {
	background-position-x: -463px;
}

/* 버튼 - 페이지 저장 */
.save .sprite {
	background-position-x: -523px;
}

/* 버튼 - 즐겨찾기 */
.fav .sprite {
	background-position-x: -583px;
}
.fav.act .sprite {
	background-color: #fff !important;
}
.a-cmm a.fav.act .sprite {
    background-position-y: -5px !important;
	background-color: transparent !important;
}

/* 버튼 - 듣기옵션 */
a.option {
	border-left: 1px solid #e7e9e9;
}
.option .sprite {
	background-position-x: -643px;
}

/* 풀스크린 */
.expand.on .sprite {
    background-position-x: -35px;
}
.expand .sprite {
    background-position-x: -327px;
}

/* 버튼 - prev */
.prev .sprite {
	background-position-x: -135px;
}


/* 버튼 - auto */
a.auto {
	line-height: 60px;
	text-align: justify;
	-ms-word-break: break-all;
	word-break: break-all;
	font-size: 14px;
}
a.auto p {
	line-height: 1;
	width: 42px;
	margin: 15px auto 0;
	font-weight: 700;
	color: #939598;
}
a.auto p span {
	letter-spacing: 0.8px;
}

/* 버튼 - 처음으로 */
.first .sprite {
	background-position-x: -103px;
}

/* 버튼 - stop */
.a-cmm a.stop .sprite  {
	background-position-x: -284px;
	background-position-y:  -43px;
	margin: 9px auto 0;
	width: 41px;
	height: 42px;
}
/* .a-cmm a.stop:hover .sprite {
	background-position-y:  -50px
} */

/* 버튼 - play */
.a-cmm a.play .sprite  {
	background-position-x: -200px;
	background-position-y:  0px;
	margin: 9px auto 0;
	width: 41px;
	height: 42px;
}

/* 버튼 - auto-play */
.a-cmm a.autoplay .sprite  {
	background-position-x: -242px;
	background-position-y: 0px;
	margin: 9px auto 0;
	width: 42px;
	height: 42px;
}

/* 버튼 - word */
.a-cmm a.word .sprite{
	width: 47px;
	height: 33px;
}

/* 버튼 - sent */
.a-cmm a.sent .sprite{
	width: 48px;
	height: 33px;
}


.a-cmm a.play.act .sprite,
.a-cmm a.autoplay.act span.sprite {
	background-position-y:-43px;
} /* 활성화 */
/* 버튼 - next */
.next .sprite {
	background-position-x: -168px;
}

/* 버튼 - word */
.word .sprite {
	background-position-x: -364px;
}

/* 버튼 - sent */
.sent .sprite {
	background-position-x: -412px;
}

/* 버튼 - repeat */
.a-cmm a.repeat .sprite {
	width: 32px;
	height: 42px;
	background-position-x: -69px;
}

/* 버튼 - 한영버튼 */
.a-cmm a.conver .sprite { /*2017-09-11*/
	width: 32px;
	background-position-x: -761px;
}

/* 페이지 좌우 */
#gray .leftCornerBtn {display:none;overflow:hidden;position:absolute;left:0;z-index:1000;top:0;width:41px;height:81px;margin:0 0 0;cursor:pointer;}
#gray .leftCornerBtn.on {background:url(../image/viewer_left_on.png) no-repeat 0 0;}
#gray .leftCornerBtn.off {background:url(../image/viewer_left_off.png) no-repeat 0 0;}

#gray .rightCornerBtn {display:none;overflow:hidden;position:absolute;right:0;z-index:1000;top:0;width:41px;height:81px;margin:0 0 0;cursor:pointer;}
#gray .rightCornerBtn.on {background:url(../image/viewer_right_on.png) no-repeat 0 0;}
#gray .rightCornerBtn.off {background:url(../image/viewer_right_off.png) no-repeat 0 0;}







/* theme - gray */
#gray {
	background: url(../image/gray-bg.jpg);
}
#gray a.auto.act p,
#gray .range p span{
	color: #248ab2;
}
#gray .option-menu {
	border: 1px solid #248ab2;
}
#gray .arrow {
	background: url(../image/gray-arrow.png) no-repeat;
}
#gray .option-menu input:checked + label {
	background-position-y: -78px;
	color: #248ab2;
}
#gray label.t-gray {
	border: 3px solid #939598;
}
#gray a.s-auto {
    background: #248ab2;
}

.modal_black{position:absolute; top:0; left:0; z-index:100; width:100%; height:100%; z-index:99999;}
.modal_black .prog{position:absolute; top:50%; left:50%; width:41px; height:41px; border:1px solid #000; padding:9px 9px 9px 9px; margin:-25px 0 0 -25px; z-index:1000; background:#000; border-radius:5px;}
.modal_transparent{position:absolute; top:0; left:0; width:100%; height:100%; z-index:99999;}

.blue {fill:#0040ff;stroke:#0040ff;stroke-width:1;}
.puple {fill:#ab3fdd;stroke:#ab3fdd;stroke-width:1;}
.red {fill:#ae163e;stroke:#ae163e;stroke-width:1;}
.green {fill:#3ADF00;stroke:#3ADF00;stroke-width:1;}

.page_div_wrapper {
    position:relative;
    width:100%;
    height:100%
}
.page_div {
    position:absolute;
    background:transparent;
    -webkit-border-radius:3px;
    -moz-border-radius:3px;
    -ms-border-radius:3px;
    -o-border-radius:3px;
    border-radius:3px;
    display:none;
}
.pointer-left {
	position: absolute;
	left: -36px;
	width: 60px;
	height: 100%;
	z-index: 999;
	cursor: url(../image/red-cursor-prev.png), url(../image/cursor-prev.cur), auto;
}
.pointer-menu {
    position: absolute;
    right: 0px;
    left: 0px;
    margin: auto;
    width: 60px;
    height: 100%;
    z-index: 999;
    cursor: url(../image/cursor-menu.png), url(../image/cursor-menu.cur), auto;
}
.pointer-right {
	position: absolute;
	right: -36px;
	width: 60px;
	height: 100%;
	z-index: 999;
	cursor: url(../image/red-cursor-next.png), url(../image/cursor-next.cur), auto;
}

.page_div svg {
    height:100%;
    width:100%;
    -webkit-transition:opacity 300ms;
    -moz-transition:opacity 300ms;
    -o-transition:opacity 300ms;
    transition:opacity 300ms;
    /*-webkit-border-radius:3px;
    -moz-border-radius:3px;
    -ms-border-radius:3px;
    -o-border-radius:3px;
    border-radius:3px*/
}
.page_div svg image {
    display:block
}

.flip.flip_left {
    background: url(../image/gutter_shadow_left.png) right top repeat-y;
    right: 0;
}
.flip.flip_right {
    background: url(../image/gutter_shadow_right.png) right top repeat-y;
    left: 0;
    background-position: 0 0;
}

.book_cover.book_cover_left {
    background: url(../image/book_left_bg.png) right top repeat-y;
    left: -14px;
    background-position: 0 0;
}
.book_cover.book_cover_right {
    background: url(../image/book_right_bg.png) right top repeat-y;
    right: -14px;
}

.rectOption {
    cursor:pointer;
}

/*  자막 */
.caption{position:absolute; width:100%; bottom:0; height:25px; text-align:center; font-size:15px; line-height:20px; font-weight:bold; color:#fff; z-index:1;}

.stamp{width:110px; height:108px; position:absolute; z-index:999998;}
.stamp p{text-align:center; font-size:12px; display:table-cell; vertical-align:middle; width:110px; height:110px; color:#ffffff; line-height:16px; font-weight:bold; letter-spacing:-1px;}
.stamp p span{font-size:19px;}
.type_1{top:-110px;left:15px;background:url(../image/stamp_1.png);}
.type_2{top:-110px;right:15px;background:url(../image/stamp_2.png);}
.type_2 p{color:#702e0a; font-size:16px; height:110px; line-height:18px;}

.balloon{width:57px; height:168px; background:url(../image/balloon.png) no-repeat; position:absolute;top:-165px;left:-5px;z-index:999999;display:none;}
.balloon ul{width:44px; margin:0 auto; padding-top:5px;}
.balloon ul li{margin-bottom:3px;}

#top, #bt {
	display: block;
	-webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    -ms-transition: all 0.3s;
    transition: all 0.3s;
}
#bt .close {
	position: absolute;
	right: 0;
	bottom: 53px;
}
.quick_menu {
	display: none;
	width: 181px;
	position: fixed;
	right: 0;
	bottom: -80px;
	z-index: 1000;
	-webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    -ms-transition: all 0.3s;
    transition: all 0.3s;
}

#open {
	display: block;
	width: 61px;
	height: 20px;
	float: right;
}
.quick_menu .play-set {
	border-left: 1px solid #e7e9e9;
	clear: right;
	background: #fff;
	overflow: hidden;
}
#tutorial {
	position: relative;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .7);
}
#tutorial > div {
	width: 100%;
	text-align: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
#tutorial div img {
	max-width: 300px;
	min-width: 300px;
	height: 347px;
}
.tuto-text {
	margin-top: 30px;
	color: #fff;
	font-size: 2.222222222222222em;
}
#tutorial div.tuto-text img {
	max-width: 50px;
	min-width: 50px;
	height: 50px;
}

/* 레벨 레이어팝업 */
#book-layer {
    display: block; 
/*     background: rgba(0,0,0,0.7); */
}
#book-layer div.level-layer {
    position: absolute;
    width: 500px; 
    height: 280px;
    background: #fff;
    border-radius: 15px 15px 5px 5px;
    -moz-border-radius: 15px 15px 5px 5px;
    -webkit-border-radius: 15px 15px 5px 5px;   
    border: 0 none;
    box-shadow: 2px 2px 4px #939598;
    z-index: 100000;
}
div.level-layer h1 {
    width: 100%;
    height: 50px;
    line-height: 50px;
    background: #248ab2;
    color: #fff;
    font-size: 1.2222em; /* 22/18 */
    font-weight: 500;
    text-align: center; 
    border-radius: 5px 5px 0 0;
    -moz-border-radius: 5px 5px 0 0;
    -webkit-border-radius: 5px 5px 0 0; 
}
div.level-layer h2 {
    padding-top: 70px;
    font-size: 1.1111em; /* 20/18 */
    font-weight: 500;
    text-align: center;
}
.lv-layer-btn {
    margin-top: 74px;
    font-size: 0;
    text-align: center;
}

.lv-layer-btn.btn-fixed {
    margin-top: 45px;
}
div.lv-layer-btn button.btn-gray {
    margin-left: 60px;
}
.lv-beta .lv-layer-btn {
    margin-top: 51px;  
}
.lv-layer-btn button {
    width: 40%;
    height: 35px;
    line-height: 35px;
    font-size: 0.8888rem;
}

.lv-layer-btn.one-btn button {
    text-align: center;
}
div.two-button button.btn-gray {
    margin-left: 30px;
}
@media screen and (max-width: 640px) {
    #book-layer div.level-layer {
        width: 80%; 
        min-height: 191px; 
        height: 220px;
    }
    div.level-layer h2 {
        padding-top: 20px;
        font-size: 0.8888em; /* 20/18 */
        text-align: center;
    }
    .lv-layer-btn {
        margin-top: 20px;
        font-size: 0;
    }
    .lv-layer-btn.btn-fixed {
        margin-top: 35px;
    }
}

@media screen and (max-width: 320px) {
    #book-layer div.level-layer {
        width: 90%; 
        height: 220px;
    }
    .lv-layer-btn.btn-fixed {
        margin-top: 20px;
    }
}

.btn-click {        
    border: none;
    background: none;
    cursor: pointer;
    display: inline-block;
    font-size: 18px;
    font-weight: 400;
    outline: none;
    position: relative;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
.btn-click:after {
    content: '';
    position: absolute;
    /* z-index: -1; */
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
    
/* btn-cyan */
.btn-cyan {
    border-radius: 4px;
    background: #0d87bc;
    box-shadow: 0 4px #056084;
    color: #fff;
}
.btn-cyan:hover {
    box-shadow: 0 4px #056084;
    top:1px;
}
.btn-cyan:active {
    box-shadow: 0 4px #056084;
    top: 5px;
}
.btn-click.btn-cyan {
    border : 1px solid #0d87bc;
}

/* btn-gray */
.btn-gray {
    border-radius: 4px;
    background: #a7a9ac;
    box-shadow: 0 4px #808285;
    outline:0;
    border:0;
}
.btn-gray:hover {
    box-shadow: 0 4px #808285;
    top: 1px;
}
.btn-gray:active {
    box-shadow: 0 0 #808285;
    top: 5px;
}
.btn-click.btn-gray {
    border : 1px solid #a7a9ac;
}