/* skin 07 */

/* 내장 폰트 */
@font-face {
    font-family: 'OpenSans';   font-style: normal;   font-weight: 700;
    src: url("./fonts/OpenSans-Bold.woff") format('woff');
}
@font-face {
	font-family: 'OpenSans';    font-style: normal;    font-weight: 400;
    src: url("./fonts/OpenSans-Regular.woff") format('woff');
}

body {
    font-family: 'Inter', 'Pretendard', sans-serif;
    overflow: hidden;
	font-weight: 400;
    margin: 0;
    width: 100%;
    height: 100%;
}
.shadow {box-shadow: none;}

/* 탭 포커싱 테두리 */
select:focus,
span:focus {
    border: 1px solid rgba(128, 255, 255, 0.5) !important;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    outline: none;
}

/* 1. 전체 영역 강제 적용 */
::selection {
    background-color: #7ba4d63c !important;
}

/* 2. 웹킷 브라우저 강제 적용 */
::-webkit-selection {
    background-color: #7ba4d63c !important;
}

/* 3. 이북 본문 영역(#wrap) 하위의 모든 요소에 적용 (공백 주의) */
#wrap ::selection {
    background-color: #7ba4d63c !important;
}

/* 4. 만약 텍스트 레이어 클래스가 별도로 있다면 추가 */
.text-layer ::selection {
    background-color: #7ba4d63c !important;
}
.page img.target {
    /* 1. 파랗게 하이라이트되는 선택 기능만 차단 */
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;

    /* 2. 브라우저 기본 이미지 드래그(반투명하게 따라오는 현상) 차단 */
    /* 이 설정이 있어야 내비게이션 스크립트가 방해받지 않습니다. */
    -webkit-user-drag: none;
    pointer-events: auto;
}


.viewframe .page {background-color: #ffffff;   }
.viewframe .page .target {width: 100%; height: 100%;}

#pageframe {transition: transform 0.3s ease-in-out 0s;}

@media screen and (max-width: 768px){
    #pageframe {   		transition: transform 0.002s ease-in-out 0s;}
}


/* 마우스 커서정의  */
/* 확대 모드일 때 (zoomin 클래스가 붙었을 때) */
.pageview.zoomin .viewframe {
    cursor: grab; /* 화면 전체 드래그 가능 상태 */
}

.pageview.zoomin .viewframe:active {
    cursor: grabbing; /* 드래그 중인 상태 */
}

/* 텍스트 레이어 위에서의 커서 */
.pageview.zoomin .text-item {
    cursor: text; /* 텍스트 선택 가능 상태 */
}

/* 버튼이나 링크 등 클릭 요소 */
.pageview.zoomin .ebookpagecomp[id^='Link'],
.pageview.zoomin .ebookpagecomp[id^='Btn'] {
    cursor: pointer;
}



/* 상단 타이틀 바 기본 디자인 */
#top_title_bar {
 /*    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 50px;
    background: #ffffff;
    border-bottom: 1px solid #e0e0e0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 60px 0 30px;
    z-index: 10; */
    transform: translateY(-100%);
    opacity: 1;
    transition: transform 0.3s ease, opacity 0.3s ease;
    font-family: 'Inter', 'Pretendard', sans-serif;
}
#top_title_bar.active {
    transform: translateY(0);
    opacity: 1;
}

/* 좌측 타이틀 텍스트 스타일 */
.book_title_text {
    font-weight: 600;
    font-size: 15px;
    color: #333333;
    letter-spacing: 0.5px;
}
.booktiticon {display: inline-block; margin-right: 5px; }

/* 우측 컨트롤 그룹 정렬 */
.title_right_group {
    display: flex;
    align-items: center;
    gap: 20px;
}

/* 확대/축소 컨트롤 박스 (배경 포함) */
.zoom_control_box {
    display: flex;
    align-items: center;
    background: #f1f4f8; /* 이미지와 유사한 연한 배경색 */
    padding: 7px 12px;
    border-radius: 6px;
    gap: 15px;
}

.zoom_percent_text {
    font-size: 13px;
    font-weight: 600;
    min-width: 45px;
    text-align: center;
}

/* 아이콘 버튼 크기 및 커서 */
.zoom_control_box img, #top_menu_snsbtn {
    width: 20px;
    height: 20px;
    cursor: pointer;
    opacity: 0.8;
}

.zoom_control_box img:hover, #top_menu_snsbtn:hover {
    opacity: 1;
}


 #control {display: none;}
 .shadow {    box-shadow: none;}
/*--------------------------------------------------------------------------------------------------
		Components By Class
*/

/* 로고 이미지 */
.logo {
    cursor: pointer;
}
/* 홈 버튼 */
.home {
    cursor: pointer;
}

/* 책갈피 이미지 */
.pageview img.bookmark {
    position: absolute;
    width: 5%;
    height: auto;
    cursor: pointer;
    top: -5px;
    left: 0;
    right: 0;
    margin: auto;
    opacity: 0.25;
    filter:alpha(opacity=25);
}
.pageview img.bookmark:hover {
    opacity: 0.5;
    filter:alpha(opacity=50);
    border: 3px dotted #DDDDDD;
}
.pageview img.bookmark.activate {
    opacity: 0.5 !important;
    filter:alpha(opacity=50) !important;
}

/* 창 끌기바(공통속성) */
.draggable {
    width: 100%;
    margin: 0;
    font-weight: bold;
    color: #333333;
    z-index: 10;
    background: #ffffff;
    border: 0px solid #E3E3E3;
}
.draggable p {
    padding: 1.1em;
    font-size: 0.9em;
    margin: 0;
}
div span.close {
    position: absolute;
    right: 10px;
    top: 5px;
    font-size: 30px;
    cursor: pointer;
    color: #808286;
    z-index: 10;
}

/* 암호입력박스 */
#pwdBox {    background: #ffffff;	padding: 20px;	text-align: center; }
#pwdText { width:200px;height:30px; background: #eaeaea; border: 1px solid #dddddd; border-radius: 4px; margin: 20px 0;}
#pwdBox .btn_pwd {background-color: #4a4a4a; color: #ffffff; padding: 3px 20px; border-radius: 20px;border: 0;    display: block;    margin: auto;    cursor: pointer; }

.next-button, .previous-button {max-width: 60px !important; }


/* ---------- 공통 컴포넌트 창 ------- */

/* 탭 버튼 활성화 시 아이콘 보라색 변경 */
.tab-btn.active img {
    filter: invert(21%) sepia(94%) saturate(3574%) hue-rotate(260deg) brightness(88%) contrast(97%) !important;
}

/* 탭 버튼 활성화 시 하단 보라색 밑줄 */
.tab-btn.active::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 24px;
    height: 3px;
    background-color: #6D28D9;
    border-radius: 2px;
}
/* 부모에 position: relative가 있어야 밑줄 위치가 잡힙니다. */
.tab-btn { position: relative; }


/*-------------------------------------------------------------------------------------------------- 목차 창 */
/* 1. 목차 전체 컨테이너 */
div.tablelist {
    position: relative;
    min-width: 200px;
    max-width: 350px;
    width: 100%;
    height: 100%;
    z-index: 13;
    background-color: #ffffff;
    box-sizing: border-box;
}

/* 2. 스크롤 영역 */
.tablelist > ul {
    width: 100%;
    height: 100%;
    overflow-y: auto;
    padding: 0;
    margin: 0;
    list-style-type: none;
    padding: 20px 0 150px 10px;

}

/* 3. 목차 항목 (li) */
.tablelist li.contents {
    cursor: pointer;
    display: block;
    margin-bottom: 4px;
    transition: background 0.2s ease;
}

/* 4. 항목 텍스트 (p) */
.tablelist li p {
    margin: 0;
    padding: 12px 10px;
    font-size: 14px;
    color: #4b5563;
    display: flex;
    align-items: center;
    justify-content: space-between;
    word-break: keep-all;
}

/* 5. [중요] 서브메뉴 초기 상태: 모두 닫힘 */
.tablelist li.topmemu > ul {
    display: none;
    padding: 0 0 10px 15px;
}
.tablelist li.topmemu > ul li.contents p {
    font-size: 13px !important;
    color: #6b7280;
    padding: 8px 16px;
    font-weight: 400;
}
/* 6. 열린 상태 디자인 (Image 1 스타일) */
.tablelist li.topmemu:has(> ul[style*="display: block"]) {
    /* background-color: #e3e3e3; */ /* 열렸을 때 배경색 */
}

.tablelist li.topmemu:has(> ul[style*="display: block"]) > p {
    color: #474747; /* 열렸을 때 텍스트 색상 */
    font-weight: 600;
}

/* 7. 화살표 인디케이터 */
.tablelist li.topmemu > p::after {
    content: '';
    width: 16px; height: 16px; flex-shrink: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23666666'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 5l7 7-7 7'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    transition: transform 0.3s ease;
}

/* 열렸을 때 화살표 회전 */
.tablelist li.topmemu:has(> ul[style*="display: block"]) > p::after {
    transform: rotate(90deg);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236D28D9'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 5l7 7-7 7'%3E%3C/path%3E%3C/svg%3E");
}

/* 호버 효과 */
.tablelist li.contents:hover {
/*     background-color: #f3f4f6; */
}

/* 페이지 번호 숨김 */
.tablelist li span { display: none; }



/*-------------------------------------------------------------------------------------------------- 책갈피 창 */
div.bookmarklist {
    position: absolute;
    left: 0%;
    top: 0%;
    min-width: 200px;
    max-width: 350px;
    width: 30%;
    height: 100%;
    z-index: 13;
    display: none;
    border-right-style: solid;
    border-right-width: 2px;
    border-right-color: #EBEBEB;
    background: #ffffff;
	box-shadow: 0 1px 6px 0 rgba(32,33,36,.2);
}
/* 책갈피 목록 */
.bookmarklist ul {
    width: 95%;
    height: 95%;
    margin: auto;
    padding: 0;
    list-style-type: none;
    overflow: auto;
}
.bookmarklist li.contents {
    cursor: pointer;
    height: 100px;
    border-top: 1px solid #F0F0F0;
    border-bottom: 1px solid #E2E2E2;
    margin-top: -1px;
    position: relative;
}
.bookmarklist li.contents:first-child {
    margin-top: 0px;
}

.bookmarklist li.contents:hover {
    border-top: 1px solid #F0F0F0;
    border-bottom: 1px solid #E2E2E2;
}
.bookmarklist li.contents img {
    display: inline-block;
    float: left;
    width: auto;
    height: 100%;
    border: 1px solid gray;
    margin-right: 10px;
}
.bookmarklist li.contents span.page {
    position: absolute;
    left: 5px;
    background-color: white;
    border: 1px solid gray;
    border-radius: 1em;
    font-size: 0.75em;
    padding: 0.2em 0.5em;
    margin-top: 0.5em;
}
.bookmarklist li.contents p.text {
    font-size: 13px;
    color: #333333;
}
/* 사이드바 내부의 모든 실제 스크롤 요소 디자인 통일 */
#common_sidebar .tablelist ul,
#common_sidebar .searchlist .search_results,
#common_sidebar .bookmarklist ul,
#common_sidebar .thumblist  {
    /* 파이어폭스용 */
    scrollbar-width: thin;
    scrollbar-color: #cccccc transparent;
}

/* 크롬, 사파리, 엣지용 (Webkit) */
#common_sidebar .tablelist ul::-webkit-scrollbar,
#common_sidebar .searchlist .search_results::-webkit-scrollbar,
#common_sidebar .bookmarklist ul::-webkit-scrollbar,
#common_sidebar .thumblist::-webkit-scrollbar {
    width: 6px; /* 두께 통일 */
}

#common_sidebar .tablelist ul::-webkit-scrollbar-track,
#common_sidebar .searchlist .search_results::-webkit-scrollbar-track,
#common_sidebar .bookmarklist ul::-webkit-scrollbar-track,
#common_sidebar .thumblist::-webkit-scrollbar-track {
    background: transparent;
}

#common_sidebar .tablelist ul::-webkit-scrollbar-thumb,
#common_sidebar .searchlist .search_results::-webkit-scrollbar-thumb,
#common_sidebar .bookmarklist ul::-webkit-scrollbar-thumb,
#common_sidebar .thumblist::-webkit-scrollbar-thumb {
    background-color: #cccccc; /* 검색창 디자인과 동일한 회색 */
    border-radius: 10px;
}

#common_sidebar .tablelist ul::-webkit-scrollbar-thumb:hover,
#common_sidebar .searchlist .search_results::-webkit-scrollbar-thumb:hover,
#common_sidebar .bookmarklist ul::-webkit-scrollbar-thumb:hover,
#common_sidebar .thumblist::-webkit-scrollbar-thumb:hover {
    background-color: #aaaaaa;
}

/*-------------------------------------------------------------------------------------------------- 검색 창 */
/* div.searchlist {
    position: absolute;
    left: 0%;
    top: 0%;
    min-width: 250px;
    max-width: 350px;
    width: 30%;
    min-height: 100px;
    height: 100%;
    z-index: 13;
    display: none;
    border-right-style: solid;
    border-right-width: 2px;
    background: #ffffff;
    box-shadow: 0 1px 6px 0 rgba(32,33,36,.2);
}
.searchlist ul {
    width: 100%;
    height: 90%;
    margin: auto;
    padding: 0 7px;
    list-style-type: none;
    overflow-y: auto;
}
.searchlist li.header {
    text-align: left;
    border-top: 1px solid #f5f5f5;
    padding: 5px 0;

}
.searchlist li.header input.search_text {
    position: relative;
    width: 66%;
    text-align: left;
    height: 30px;
    display: inline-block;
    background-color: #f5f5f5;
    padding: 3px;
    border-radius: 5px;
    border: 0;
    vertical-align: top;
    margin-right: 5px;
    margin-left: 0px;

}
.searchlist li.header p {
    display: inline-block;
    font-size: 14px;
    color: #444444;
    padding: 0;
    margin: 0;
    width: 25%;
    font-weight: bold;
    text-align: center;
	padding-top: 5px;
}

/* 검색 목록
.searchlist li.contents {
    cursor: pointer;
    height: 100px;
    border-top: 1px solid #F0F0F0;
    border-bottom: 1px solid #E2E2E2;
    margin-top: -1px;
    position: relative;
    padding: 2px;
}
.searchlist li.contents:first-child {
    margin-top: 0px;
}

.searchlist li.contents img {
    display: inline-block;
    float: left;
    width: auto;
    height: 100%;
    border: 1px solid gray;
    margin-right: 10px;
}
.searchlist li.contents span.page {
    position: absolute;
    left: 5px;
    background-color: white;
    border: 1px solid gray;
    border-radius: 1em;
    font-size: 0.75em;
    padding: 0.2em 0.5em;
    margin-top: 0.5em;
}
.searchlist li.contents span.text {
    color: #333333;
    font-size: 13px;
}
.searchlist li.contents span.highlight {
    color: #fd2828;
    background-color: #e5e5e5;
    font-weight: bold;
    font-size: 13px;
}
.searchlist li.more {
    color: #444444;
    font-weight: bold;
    text-align: center;
    cursor: pointer;
    background: #f2f2f2;
}
 */

/* 검색창 메인 컨테이너 */
div.searchlist {
/*     position: absolute;
    left: 0; top: 0;
 */
    height: 100%;
    z-index: 18;
    background: #ffffff;
    border-right: 1px solid #e5e8eb;
    box-shadow: 10px 0 25px rgba(0,0,0,0.05);
/*     display: none; */
    flex-direction: column; /* 세로 구조 강제 */

}
div.searchlist[style*="display: block"] {
    display: flex !important;
}
/* 상단 타이틀 & 닫기 버튼 */
.searchlist .draggable { padding: 20px 20px 10px; background: #fff; }
.searchlist .draggable p { font-size: 18px; font-weight: 600; color: #1a1d23; margin: 0; padding: 0; }
.searchlist .close { position: absolute; top: 12px; right: 20px; font-size: 34px; color: #adb5bd; cursor: pointer; line-height: 1; }

/* [핵심] 고정 헤더 영역 */
.searchlist .search_header {
    position: relative;
    padding: 15px 20px 10px;
    background: #fff;
    border-bottom: 1px solid #f1f3f5;
    flex-shrink: 0;
}
.searchlist .btn_clear_search {
    position: absolute;
    right: 28px;
    top: 35px;
    transform: translateY(-50%);
    cursor: pointer;
    display: none; /* 내용이 있을 때만 보이게 설정 */
    font-size: 26px;
    color: #666666;
}
.searchlist input.search_text {
    width: 100%;
    height: 42px;
    background: #f1f3f5;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    padding: 0 14px;
    font-size: 14px;
    box-sizing: border-box;
    outline: none;
    transition: all 0.2s;
}
.searchlist input.search_text:focus { background: #fff; border-color: #ced4da; box-shadow: 0 2px 10px rgba(0,0,0,0.05); }
.searchlist .result_count { font-size: 12px; color: #868e96; margin: 10px 0 0 2px; font-weight: 600; }

/* [핵심] 스크롤 리스트 영역 */
.searchlist ul.search_results {
    flex: 1; /* 남은 공간 모두 차지 */
    overflow-y: auto;
    padding: 0;
    margin: 0;
    list-style: none;
}
.searchlist ul::-webkit-scrollbar { width: 4px; }
.searchlist ul::-webkit-scrollbar-thumb { background: #dee2e6; border-radius: 10px; }

/* 결과 아이템 */
.searchlist li.contents {
    display: flex;
    padding: 15px 20px 5px;
    border-bottom: 1px solid #f8f9fa;
    cursor: pointer;
    transition: background 0.2s;
}
.searchlist li.contents:hover { background: #fcfdfe; }

/* 섬네일 & 페이지 배지 */
.searchlist li.contents .thumb_box {
    position: relative;
    flex-shrink: 0;
    width: 65px;
    margin-right: 18px;
}
.searchlist li.contents img {
    width: 100%;
    height: auto;
    border-radius: 6px;
    border: 1px solid #eee;
    box-shadow: 0 3px 6px rgba(0,0,0,0.04);
}
.searchlist li.contents .thumb_box .page {
    position: absolute;
    top: -6px; left: -6px;
    background: #343a40;
    color: #fff;
    font-size: 13px;
    font-weight: 400;
    padding: 2px 7px;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.15);
}

/* 텍스트 영역 */
.searchlist li.contents .info_box { flex: 1; min-width: 0; }
.searchlist li.contents .text_wrap {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.6;
    color: #495057;
    /* 3줄 제한 */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.searchlist li.contents span.highlight {
    color: #e03131; /* 트랜디한 레드 */
    background: transparent;
    font-weight: 800;
    /* text-decoration: underline; */
}

/* 더보기 버튼 */
.searchlist li.more {
    margin: 10px 20px 20px;
    padding: 10px;
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 12px;
    text-align: center;
    font-size: 13px;
    font-weight: 700;
    color: #495057;
    cursor: pointer;
    transition: all 0.2s;
}
.searchlist li.more p{margin: 5px;}
.searchlist li.more:hover { background: #e9ecef; color: #212529; }


/*-------------------------------------------------------------------------------------------------- Objects By ID */
/* 배경 영역 */
#background {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    border: 0;
    background: #ffffff;
    background-repeat: repeat;
}
/* 페이지 표시 영역 */
#pageview {
    position: relative;
/*     left: 50%;
    top: calc(50% - 23px);
    transform: translate(-50%, -50%);
    max-width: 2400px; */
    width: 100%;
    height: calc(100% - 0px); /* 하단 메뉴 높이 제외 */
    min-height: 50px;
    z-index: 2;
    border: 0;
    background: rgba(0,0,0,0);
    overflow: hidden;
}
#pageview_m {
    position: absolute;
    top: calc(50% + 5px); /* 하단 메뉴 높이 /2  */
    transform: translateY(-50%);
    max-width: 2400px;
    width: 100%;
    height: calc(100% - 75px); /* 하단 메뉴 높이 제외 */
    min-height: 50px;
    z-index: 2;
    border: 0;
    background: rgba(0,0,0,0);
    overflow: hidden;
}

.bottompage {
/*     position: absolute; width: 100px; height: 30px;
    bottom: 0px; left: 50%; transform: translateX(-50%); text-align: center;
 */    z-index: 300;}

#pagenation {
    padding: 0px;
    text-align: center;
    font-size: 14px;
    transform: translateY(100%);
    opacity: 0;
    transition: transform 0.4s ease, opacity 0.4s ease;
}
#pagenation.active {
    transform: translateY(0);
    opacity: 1;
}
#pagenation img {
    width: 100%;
    vertical-align: middle;
    max-width: 30px;
    padding: 2px 10px;
}
/* #pagenation img:hover {box-shadow: 0 1px 6px 0 rgba(32,33,36,.28);} */
#pagenation span {
    padding: 3px;
}
#bottom_window_m  #pagenation {padding-bottom: 5px;}
#bottom_window_m  #pagenation img {
    width: 100%;
    vertical-align: middle;
    max-width: 33px;
    box-sizing: border-box;
    margin: 0;

}
#bottom_window_m > div {flex: 1;}

#bottom_window_m #quick_next_btn {margin: 0;}
#bottom_window_m #quick_page {margin: 0; width: 80px;}

#menu_top {
    display: inline-block;
    vertical-align: top;
    max-width: 150px;
	}

#search_window {
	display: inline-block;
    vertical-align: middle;
	margin: 0 10px;
	color: #000000;
    background-color: transparent !important;

}
#search_window:after {
	clear:both; content:""
}
#search_text_btn {
	max-width: 20px;
    vertical-align: middle;
    margin-bottom: 0px;
    margin-left: -30px;
}
#search_text {
	width: 120px;
	background: #ffffff;
    border: 1px solid #666666;
    border-radius: 50px;
	font-size: 14px;
	height: 30px;
	padding: 5px 20px 5px 10px;
	background-color: transparent;
    transition: width 0.3s ease;
}
#search_text:focus {
    width: 200px; /* 클릭(포커스) 시 너비 설정 */
}
#search_text::placeholder {
    color: #bababa;
    font-style: italic;
}

/* 이전호 목록 */

#booklist {
    padding: 0;
	border: 0;
	font-size: 13px;
	color: #000000;
	min-width: 80px;
    display: inline-block;
    z-index: 101;
    background-color: transparent !important;
    position: relative;
    cursor: pointer;
}
#booklist::-ms-expand { display: none; }
#booklist a {display: block; text-decoration: none; color: #222222;  }
#booklist > div ul a {width: 130px;}
#booklist p {padding: 5px 0; margin: 0;}
#booklist ul {position: absolute; bottom: 25px; right:-15px;
    opacity: 0;
    visibility: hidden;
    transition: right 0.5s ease, opacity 0.5s ease, visibility 0.5s;
}
#booklist ul.on {bottom: 25px; opacity: 1; visibility: visible; }


#booklist img.iconarrow  {width: 10px; display: inline-block; }

#rightcol {text-align: right;}
#rightcol #booklist > div {position: relative;right: auto; bottom: auto; margin: 0 5px 0 10px; display: inline-block;}

/* 모바일 줌 */

@media (max-width: 768px) {
    #control {display: none !important; }
}
#mo_zoom, #mo_zoom > div {display: inline-block;}
#mo_zoom img {width: 30px; margin-left: 10px;  cursor: pointer;}

/*-------------------------------------------------------------------------------------------------- 도구 메뉴 */
/* 상단 창 */
#top_window {
    position: absolute;
    display: block;
    top: 0; left: 0;
    z-index: 8;
    width: 100%;
    text-align: left;
}
/* 로고 이미지 */
#top_logo {    z-index: 11;}

#top_center {
	height: 100%;
	padding: 0 1%;
	text-align: right;
}


/* 메뉴 창 */
#menu_window {
    position: absolute;
	left: 0;
    right: 0;
    top: 0px;
    width: 100%;
    height: 50px;
    z-index: 6;

}
#btn_close {
	position: absolute;
	right: 5%;

}
#menu_contents {	padding: 8px 10px;	text-align: left; }
#menu_wrap {
    display: grid;
    justify-content: space-between;
    grid-template-columns: 1fr 300px 1fr;
    margin: auto;
    align-items: center;
}
#menu_wrap > div {flex : 1; }



#menu_contents .menuitem {	width: 22px; display: inline-block;  margin: 0 10px; opacity: 0.9;      vertical-align: middle;     font-size: 0;}
#menu_contents .menuitem img {	width: 100%; height: auto; }
#menu_contents .menuitem:hover {opacity:1;}
#menu_contents  .menutx { font-size: 0; }
#menu_twitter img, #menu_facebook img, #menu_kakaotalk img{
	max-width: 23px;
}



/*  sns 레이어 - QR코드용 */
#menu_sns {display: inline-block; position: relative; }


/*  sns 레이어 - QR코드용 */
#menu_sns {display: inline-block; position: relative; }

#snswrap {position: fixed; width: 80%; max-width: 400px; left: 50%; top: 50%;     transform: translate(-50%, -50% );
		border-radius: 8px; background-color: #ffffff;  padding: 20px; display: none;  box-shadow: 1px 2px 3px 1px rgb(0 0 0 / 13%);
        box-sizing: border-box;         }
#snswrap #snsbox  {display: block;  text-align: left;}

#snswrap div.left{display: inline-block; width: calc(100% - 90px); vertical-align: top; padding-top: 10px; }
#snswrap div.right {text-align: left; vertical-align: top; display: inline-block; margin-left: 10px; padding-top: 10px;}

#snswrap .tit_sns {font-size: 16px;    color: #222222 !important;    padding: 0px ; width: 100%; display: block; margin: 0; height: 35px;
    font-weight: 600;}
#snswrap .tit_sns .menutx {display: block; padding: 0 0 10px; font-size: 16px; }

#snswrap  .linkbox {display: flex; justify-content: space-between; align-items: center;  }
#linkInput {padding: 3px 10px; color: #666666; border: 2px solid #e7e7e7; box-sizing: border-box;
    font-size: 14px; width: calc(100% - 55px); overflow: hidden; height: 30px;    line-height: 28px;}

#snswrap #copyLink {margin: 0;
    background-color: #464646e0;
    border: 1px solid #2e2e2ee8;
    width: 60px;    height: 30px;  padding: 0;
    line-height: 28px;   cursor: pointer;     display: inline-block;    vertical-align: middle; text-align: center; box-sizing: border-box;}
#snswrap #copyLink span {padding: 0; font-size: 12px; color: #ffffff !important; display: block; }

*{ box-sizing: border-box; }
#snswrap img.btn_cls_sns  {position: absolute; right: 8px; top: 8px;width: 26px;}  /* 공유하기 닫기버튼 */
#qrcode {text-align: left; }
#qrcode img {width: 80px;}
#snswrap  .sns_icons {margin-bottom: 5px;   }


@media (max-width: 768px) {
    #search_window_box {display: none;}
    #snswrap .tit_sns {height: 30px;}
    #menu_twitter img, #menu_facebook img, #menu_kakaotalk img{width: 24px;}
    #linkInput {padding: 0 10px;     width: calc(100% - 75px);}
    #snswrap #copyLink {height: 27px;}
    #snswrap  .sns_icons {text-align: center;}
    #snswrap div.right {text-align: center;}

}

@media (max-width: 360px) {
    #snswrap div.left {display: block; width: 100%;}
    #snswrap div.right {display: block; text-align: center;width: 100%; margin-left: 0; margin-top: 10px;}
    #qrcode {margin: auto;}
 }


#menu_contents #menu_twitter, #menu_contents #menu_facebook, #menu_contents #menu_kakaotalk{
	display: inline-block;
	border: 2px solid #eeeeee;
	border-radius: 50%;
	padding: 5px;
	margin: 3px;
	font-size: 0;
	line-height: 0;
    -webkit-transition: all 0.3s ease-in-out 0s;
    -moz-transition: all 0.3s ease-in-out 0s;
    -ms-transition: all 0.3s ease-in-out 0s;
    -o-transition: all 0.3s ease-in-out 0s;
    transition: all 0.3s ease-in-out 0s;
}
#menu_contents #menu_twitter:hover { border-color: #1DA1F2; }
#menu_contents #menu_facebook:hover {border-color: #4867AA; }
#menu_contents #menu_kakaotalk:hover{ border-color: #FAE100; }



#arrow_up {
    width: 0;
    height: 0;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-bottom: 15px solid #ffffff;
    float: right;
    margin-right: 20%;
    margin-top: -12px;
}
/* 도구 항목 */
.topobjects {
    width: 40px;
    height: auto;
    top: 0;
	bottom: 0;
	margin: 5px 3px 0;
	padding: 4px;

}
.menuobjects {
	width: 100%;
	max-width: 36px;
    height: auto;
	margin: 0;
	padding: 2px;
	vertical-align: middle;
}
#top_search_btn {
    right: 60px;
}
#home_btn {
    right: 80px;
    border-radius: 5px;
}
#top_menu_btn {
    right: 40px;
    background-color: #ffffff;							/* ========================  테마 색상값 */
    padding: 4px;
    border-radius: 5px;
}
#fullscreen_btn {
    right: 0;
    background-color: "";			        	/* ========================  테마 색상값 */
}
.fullscreen_btn{    width: 20px;    height: 20px;    cursor: pointer;    opacity: 0.8;}
.fullscreen_btn:hover{ opacity: 1;}


#page_prev_btn {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 10px;
    height: auto;
    z-index: 7;
	opacity: 0.2;
    text-align: center;
    display: flex;
}
#page_prev_btn:hover { opacity: 0.8;}

#page_next_btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    bottom: 0;
    right: 0%;
    height: auto;
    max-height: 100px;
    z-index: 7;
    opacity: 0.2;
    text-align: center;
    display: flex;
}
#page_next_btn:hover { opacity: 0.8;}

#page_next_btn.middle{     align-items: center; }
#page_next_btn.bottom {    align-items: flex-end; }
#page_next_btn.bottom svg {margin-bottom: 50px;}

#page_prev_btn.middle{     align-items: center; }
#page_prev_btn.bottom {    align-items: flex-end; }
#page_prev_btn.bottom svg {margin-bottom: 50px;}

#page_prev_btn:hover {opacity: 1;}
#page_next_btn:hover {opacity: 1;}


/*-------------------------------------------------------------------------------------------------- 퀵 메뉴 */

#bottom_window {
    position: absolute;
    z-index: 15;
    left: 0;
    right: 0;
    bottom: 0px;
    margin: auto;
    text-align: center;
}
#bottom_sns {position: absolute; right: 10px; bottom: 0px; }
#bottom_sns .menuitem{
	 display: inline-block; width: 25px;  margin: 0 10px;
}

#quick_prev_btn {
    margin-right: 0px;
}
#quick_next_btn {
    margin-left: 0px;
}

#page_num {display: inline-block; width: 80px; padding: 5px; text-align: center; margin: 2px 5px; border-radius: 30px; height: 30px;
    background-color: #ffffff;    border: 2px solid #dddddd;   vertical-align: middle; cursor: pointer;  color: #666666 !important; font-weight: 700;}
#quick_page {display: inline-block; width: 100px; text-align: center; height: 30px;
    font-family: 'Inter', 'Pretendard', sans-serif; font-size: 14px;
    border: 0px solid #dddddd;   vertical-align: middle; color: #444444 !important; font-weight: 600;
    background: transparent;}


/*-------------------------------------------------------------------------------------------------- 섬네일 */
div.thumblist {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 20;
/*     display: none; */
}
div.thumblist .bg {
   position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background: rgba(0, 0, 0, 0.5); */
    z-index: 1;
}
div.thumblist .contents {
    display: block !important;
/*     position: absolute; */
/*     left: 5%;
    top: 5%;
    min-width: 100px;
    width: 90%;
    min-height: 100px;
    height: 90%;
 */    overflow-x: hidden;
    overflow-y: auto;
    z-index: 20 ;
    background: transparent;
}
div.thumblist .contents ul {
    display: flex ;
    flex-wrap: wrap ;      /* 개수가 많으면 다음 줄로 자동 넘김 */
    justify-content: center ; /* 가로 중앙 정렬 */
    align-content: flex-start !;
    gap: 30px ;            /* 아이템 간의 간격을 일정하게 유지 (margin 대신 권장) */
    padding: 20px 10px;        /* 상하좌우 적당한 여백 */
    margin: 0 ;
    list-style: none ;
}
div.thumblist .contents li {
    display: block;
    position: relative;
    width: 120px;
    flex-shrink: 0;
    border: 1px solid #dddddd;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 1px 3px 5px 3px #00000010;
}
/* 섬네일 선택 표시 */
.thumblist .on {
    border: 4px solid rgb(255, 128, 0);
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    /* inner border style */
}
/* 섬네일 번호 칸 */
.thumblist span {
    position: absolute;
    padding: 2px 5px;
    margin: 4px 0 0 4px;
    border: 1px solid #666666;
    border-radius: 1em;
    background-color: rgb(255,255,255);
    color: rgb(42, 42, 42);
    text-align: center;
    font-weight: bold;
    font-size: 11px;
    font-family: 'Inter', 'Pretendard', sans-serif;
}
.thumblist img {
    cursor: pointer;
    width: 100%;
    height: auto;
}


/* ------------------------------------------------------------------ 인덱스탭 */
#bookclip {
/*    padding-top: 30px; */
    max-width: 150px;
    z-index: 10;
	/* margin-top: 40px; */
}
#bookclip div {
    display: block;
    padding: 10px;
    text-decoration: none;
    cursor: pointer;
    margin-bottom: 6px;
}
#bookclip div:first-child {font-size: 0; padding: 0; }
#bookclip .shadow {
    box-shadow: 4px 6px 9px 1px rgb(0 0 0 / 20%) ;
}

/* 반응형 화면 */
@media screen and (max-width: 1300px) {
	#menu_contents 	#menu_memo_btn,
    #menu_contents #menu_bookmark_btn,
	#menu_contents #menu_slide_btn,
	#menu_contents	#menu_draw_btn{ display: none; }
}
@media screen and (max-width: 1000px) {
    #menu_contents #menu_print_btn,
    #menu_contents #menu_thumb_btn,
    #menu_contents #pageview_btn {display: none;}

}
@media screen and (max-width: 768px) {
	#menu_contents .menuitem {margin: 0 5px;}
	#menu_top { position: inherit; display: inline-block;  transform: inherit;  width: 80%; margin-left: 0px;	 margin-bottom: 10px;}



}

/* 모달 팝업 */
#modal_wrap {position: absolute; width: 100%; height: 100%; top: 0; left: 0;  z-index: 10000;    visibility: hidden;}
#modal_wrap .bg_modal {background-color: rgba(0, 0, 0,0.85);  width: 100%; height: 100%; top: 0; left: 0; }
#modal_wrap .btn_closemodal {position: absolute; bottom: 30px; display: block; cursor: pointer;  left: 50%;  transform: translateX(-50%); background-color: #ffffff;
	border-radius: 2px; color: #222222; font-size: 14px; padding: 10px 24px;  z-index: 100;    border: 1px solid #cccccc;}

#modal_wrap img {position: absolute; top: 50% !important; left: 50%  !important; transform: translate(-50%, -50%);  max-width: 100%; max-height: 800px;   height: auto !important;  visibility: visible  !important;  }
#modal_wrap video {position: absolute; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%);  max-width: 1400px; max-height: 800px; width: 80%  !important;  height: auto !important;   }


/* 인트로 이미지 */
.intro {position:absolute; width:100%; height:100%;background: #ffffff;  z-index:10000}
.intro img {position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }


/* ----------------  모바일   ------------------- */

#top_window_m {
    position: relative;
    z-index: 12;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    text-align: right;
    background: #222222;
}
#top_window_m #top_center {flex : 1;}

#top_window_m  #top_logo {
    position: relative;
    width: auto;
    height: 60%;
    margin: 0;
    margin-left: 10px;
	max-height: 40px;
	z-index: 10;
}

#menu_window_m {
	position: absolute;
    right: -200px;
    top: 50px;
    width: 60%;
    max-width: 180px;
    height: auto;
    opacity: 0;
    visibility: hidden;
    z-index: 6;
    box-shadow: 1px 4px 3px 2px rgb(0 0 0 / 14%);
    transition: right 0.5s ease, opacity 0.5s ease, visibility 0.5s;
}
#menu_window_m.on {
    right: 0;
    opacity: 1;
    visibility: visible;
}


#menu_contents_m {
	width: 100%;
    max-height: 560px;
    overflow-y: auto;
	text-align: left;
	padding: 10px;
}

#menu_contents_m #menu_twitter,
#menu_contents_m #menu_facebook ,
#menu_contents_m #menu_kakaotalk {display: inline-block;
	margin: 5px ;
	border: 1px solid rgba(208, 208, 208, 0.6);
	border-radius: 50%;
	padding: 3px;
}

#menu_contents_m .menutx {padding-left: 20px;}
#menu_contents_m .menuitem { padding: 8px 0 8px 5px; }
#menu_contents_m .menuobjects {max-width: 26px;}

#arrow_up_m {
	position: absolute;
	top: -10px;
	right: 5px;
    width: 0;
    height: 0;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-bottom: 15px solid #ffffff;
}
.topobjects_m {width: 24px; margin: 10px 8px; vertical-align: middle;}

#bottom_window_m #page_num {border-radius: 0; border: 0;}

.quickobjects_m {
    width: auto;
    height: 80%;
    margin: 0 3%;
}
#quick_pagenum_area_m {
    color: gray;
    position: relative;
    bottom: 10px;
    font-size: 12px;
}
#quick_pagetotal_area_m {
    color: gray;
    position: relative;
    bottom: 10px;
    font-size: 12px;
}
.quicktexts_m {
    color: gray;
    position: relative;
    bottom: 10px;
    font-size: 12px;
}

#bottom_window_m {
    position: absolute;
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    align-items: center;
    z-index: 4;
    width: 100%;
    max-width: 1200px;
    height: 36px;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    text-align: left;
}
#quick_home_m {
    right: 5px;
    position: absolute;
}
#bottom_window_m #booklist  {}
#bottom_window_m #booklist > div {position: relative; right: auto; bottom: auto; }

@media screen and (max-width: 738px) {
    #top_window_m  #top_logo {height: 30px;}
 }


/* 왼쪽 페이지 그라데이션*/
#pageframe .even .page_center_gradient {
	position:absolute;
	top:0;
	left: auto;
	right:0;
	width:10%;
	height:100%;
	max-width: 80px;
	background-image: -webkit-linear-gradient(right, rgba(60, 60, 60, 0.3) 0, rgba(50, 50, 50, 0.1) 50%, rgba(200, 200, 200, 0) 100%);
}

/* 오른쪽 페이지 */
#pageframe .odd .page_center_gradient {
	position:absolute;
	top:0;
	left:0;
	width:6%;
	height:100%;
	max-width: 50px;
    background-image: -webkit-linear-gradient(left,
		rgba(53, 53, 53, 0.37) 0,
		rgba(53, 53, 53, 0.2) 30%,
		rgba(53, 53, 53, 0.1) 50%,
		rgba(200, 200, 200, 0) 100%);
}



 /*! Tooltip Hint.css - v2.7.0 */
 [class*=hint--]:before {    display: none !important;} /* 화살표 모두 숨기기 */
 [class*=hint--]{position:relative;display:inline-block}[class*=hint--]:after,
 [class*=hint--]:before{position:absolute;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0);visibility:hidden;opacity:0;z-index:1000000;pointer-events:none;-webkit-transition:.3s ease;-moz-transition:.3s ease;transition:.3s ease;-webkit-transition-delay:0s;-moz-transition-delay:0s;transition-delay:0s}

 [class*=hint--]:hover:after,[class*=hint--]:hover:before{visibility:visible;opacity:1;-webkit-transition-delay:.1s;-moz-transition-delay:.1s;transition-delay:.1s}

 [class*=hint--]:before{content:'';position:absolute;background:0 0;border:6px solid transparent;z-index:1000001}
 [class*=hint--]:after{background:#555555;color:#fff;border-radius:26px;padding:8px 10px;font-size:12px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;line-height:12px;white-space:nowrap;text-shadow:0 -1px 0 #000;box-shadow:3px 3px 6px rgba(0,0,0,.2)}
 [class*=hint--][aria-label]:after{content:attr(aria-label)}
 [class*=hint--][data-hint]:after{content:attr(data-hint)}
 [aria-label='']:after,[aria-label='']:before,[data-hint='']:after,
 [data-hint='']:before{display:none!important}
 .hint--top-left:before,.hint--top-right:before,.hint--top:before{border-top-color:#555555}
 .hint--bottom-left:before,.hint--bottom-right:before,
 .hint--bottom:before{border-bottom-color:#555555}
 .hint--top:after,
 .hint--top:before{bottom:100%;left:50%}
 .hint--top:before{margin-bottom:-11px;left:calc(50% - 6px)}
 .hint--top:after{-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);transform:translateX(-50%)}
 .hint--top:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}
 .hint--top:hover:after{-webkit-transform:translateX(-50%) translateY(-8px);-moz-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}
 .hint--bottom:after,
 .hint--bottom:before{top:100%;left:50%}
 .hint--bottom:before{margin-top:-11px;left:calc(50% - 6px)}
 .hint--bottom:after{-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);transform:translateX(-50%)}
 .hint--bottom:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}
 .hint--bottom:hover:after{-webkit-transform:translateX(-50%) translateY(8px);-moz-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}
 .hint--right:before{border-right-color:#555555;margin-left:-11px;margin-bottom:-6px}
 .hint--right:after{margin-bottom:-14px}.hint--right:after,.hint--right:before{left:100%;bottom:50%}
 .hint--right:hover:after,.hint--right:hover:before{-webkit-transform:translateX(8px);-moz-transform:translateX(8px);transform:translateX(8px)}
 .hint--left:before{border-left-color:#555555;margin-right:-11px;margin-bottom:-6px}
.hint--left:after{margin-bottom:-14px}
.hint--left:after,.hint--left:before{right:100%;bottom:50%}
.hint--left:hover:after,.hint--left:hover:before{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}
.hint--top-left:after,.hint--top-left:before{bottom:100%;left:50%}
.hint--top-left:before{margin-bottom:-11px;left:calc(50% - 6px)}
.hint--top-left:after{-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);transform:translateX(-100%);margin-left:12px}
.hint--top-left:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}
.hint--left:after{margin-bottom:-14px}
.hint--left:after,.hint--left:before{right:100%;bottom:50%}
.hint--left:hover:after,.hint--left:hover:before{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}
.hint--top-left:after,.hint--top-left:before{bottom:100%;left:50%}
.hint--top-left:before{margin-bottom:-11px;left:calc(50% - 6px)}
.hint--top-left:after{-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);transform:translateX(-100%);margin-left:12px}
.hint--top-left:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}
.hint--top-left:hover:after{-webkit-transform:translateX(-100%) translateY(-8px);-moz-transform:translateX(-100%) translateY(-8px);transform:translateX(-100%) translateY(-8px)}
.hint--top-right:after,.hint--top-right:before{bottom:100%;left:50%}
.hint--top-right:before{margin-bottom:-11px;left:calc(50% - 6px)}
.hint--top-right:after{-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0);margin-left:-12px}
.hint--top-right:hover:after,.hint--top-right:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}
.hint--bottom-left:after,.hint--bottom-left:before{top:100%;left:50%}
.hint--bottom-left:before{margin-top:-11px;left:calc(50% - 6px)}
.hint--bottom-left:after{-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);transform:translateX(-100%);margin-left:12px}
.hint--bottom-left:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}
.hint--bottom-left:hover:after{-webkit-transform:translateX(-100%) translateY(8px);-moz-transform:translateX(-100%) translateY(8px);transform:translateX(-100%) translateY(8px)}
.hint--bottom-right:after,.hint--bottom-right:before{top:100%;left:50%}
.hint--bottom-right:before{margin-top:-11px;left:calc(50% - 6px)}
.hint--bottom-right:after{-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0);margin-left:-12px}
.hint--bottom-right:hover:after,.hint--bottom-right:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}
.hint--large:after,.hint--medium:after,.hint--small:after{white-space:normal;line-height:1.4em;word-wrap:break-word}
.hint--small:after{width:80px}
.hint--medium:after{width:150px}
.hint--large:after{width:300px}
.hint--error:after{background-color:#b34e4d;text-shadow:0 -1px 0 #592726}
.hint--error.hint--top-left:before,.hint--error.hint--top-right:before,.hint--error.hint--top:before{border-top-color:#b34e4d}
.hint--error.hint--bottom-left:before,.hint--error.hint--bottom-right:before,.hint--error.hint--bottom:before{border-bottom-color:#b34e4d}
.hint--error.hint--left:before{border-left-color:#b34e4d}
.hint--error.hint--right:before{border-right-color:#b34e4d}
.hint--warning:after{background-color:#c09854;text-shadow:0 -1px 0 #6c5328}
.hint--warning.hint--top-left:before,.hint--warning.hint--top-right:before,.hint--warning.hint--top:before{border-top-color:#c09854}
.hint--warning.hint--bottom-left:before,.hint--warning.hint--bottom-right:before,.hint--warning.hint--bottom:before{border-bottom-color:#c09854}
.hint--warning.hint--left:before{border-left-color:#c09854}
.hint--warning.hint--right:before{border-right-color:#c09854}
.hint--info:after{background-color:#3986ac;text-shadow:0 -1px 0 #1a3c4d}
.hint--info.hint--top-left:before,.hint--info.hint--top-right:before,.hint--info.hint--top:before{border-top-color:#3986ac}
.hint--info.hint--bottom-left:before,.hint--info.hint--bottom-right:before,.hint--info.hint--bottom:before{border-bottom-color:#3986ac}
.hint--info.hint--left:before{border-left-color:#3986ac}
.hint--info.hint--right:before{border-right-color:#3986ac}
.hint--success:after{background-color:#458746;text-shadow:0 -1px 0 #1a321a}
.hint--success.hint--top-left:before,.hint--success.hint--top-right:before,.hint--success.hint--top:before{border-top-color:#458746}
.hint--success.hint--bottom-left:before,.hint--success.hint--bottom-right:before,.hint--success.hint--bottom:before{border-bottom-color:#458746}
.hint--success.hint--left:before{border-left-color:#458746}
.hint--success.hint--right:before{border-right-color:#458746}
.hint--always:after,.hint--always:before{opacity:1;visibility:visible}
.hint--always.hint--top:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}
.hint--always.hint--top:after{-webkit-transform:translateX(-50%) translateY(-8px);-moz-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}
.hint--always.hint--top-left:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}
.hint--always.hint--top-left:after{-webkit-transform:translateX(-100%) translateY(-8px);-moz-transform:translateX(-100%) translateY(-8px);transform:translateX(-100%) translateY(-8px)}
.hint--always.hint--top-right:after,.hint--always.hint--top-right:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}
.hint--always.hint--bottom:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}
.hint--always.hint--bottom:after{-webkit-transform:translateX(-50%) translateY(8px);-moz-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}
.hint--always.hint--bottom-left:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}
.hint--always.hint--bottom-left:after{-webkit-transform:translateX(-100%) translateY(8px);-moz-transform:translateX(-100%) translateY(8px);transform:translateX(-100%) translateY(8px)}
.hint--always.hint--bottom-right:after,.hint--always.hint--bottom-right:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}
.hint--always.hint--left:after,.hint--always.hint--left:before{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}
.hint--always.hint--right:after,.hint--always.hint--right:before{-webkit-transform:translateX(8px);-moz-transform:translateX(8px);transform:translateX(8px)}
.hint--rounded:after{border-radius:4px}
.hint--no-animate:after,.hint--no-animate:before{-webkit-transition-duration:0s;-moz-transition-duration:0s;transition-duration:0s}
.hint--bounce:after,.hint--bounce:before{-webkit-transition:opacity .3s ease,visibility .3s ease,-webkit-transform .3s cubic-bezier(.71,1.7,.77,1.24);-moz-transition:opacity .3s ease,visibility .3s ease,-moz-transform .3s cubic-bezier(.71,1.7,.77,1.24);transition:opacity .3s ease,visibility .3s ease,transform .3s cubic-bezier(.71,1.7,.77,1.24)}
.hint--no-shadow:after,.hint--no-shadow:before{text-shadow:initial;box-shadow:initial}
.hint--no-arrow:before{display:none}

.circle-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  margin-left: 0.05em;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 0.8em;
  line-height: 1;
  vertical-align: 0.18em;
  box-sizing: border-box;
}