/* skin 01 */


/* ============================= 공통 css =========================== */

.slideframe .page {    background-color: #ffffff;       box-shadow: 8px 4px 8px rgb(0 0 0 / 18%);}
#pageframe .shadow {    box-shadow: 3px 0px 13px 5px rgba(0, 0, 0, 0.20); }
.viewframe .page {background-color: #ffffff;     box-shadow: 8px 4px 8px rgb(0 0 0 / 18%);}

/* 왼쪽 페이지 그림자 */
.even .page_center_gradient {	position:absolute;	top:0;	left:0;	width:100%;	height:100%;
	background-image:-webkit-linear-gradient(left,transparent 94%, rgba(0, 0, 0, 0.12) 100%);
	background-image: linear-gradient(to right, transparent 94%, rgba(0, 0, 0, 0.12) 100%);
}

/* 오른쪽 페이지 그림자 */
.odd .page_center_gradient {	position:absolute;	top:0;	left:0;	width:100%;	height:100%;
	background-image:-webkit-linear-gradient(right,transparent 94%, rgba(0, 0, 0, 0.15) 100%);
	background-image:linear-gradient(to left, transparent 94%, rgba(0, 0, 0, 0.15) 100%);
}


/* 음영 넣었을때  */
.ebookpagecomp {z-index: 10;}  
textarea.ebookpagecomp{background-color: transparent; border: none;  -webkit-user-select:none;
  -moz-user-select:none;
  -ms-user-select:none;
  user-select:none;}
textarea.ebookpagecomp:focus{outline: none;}
.slideframe .page {background-color: #ffffff;}
.skin05 ~ #pageview .slideframe {top : 50% !important; height: 96% !important; }
.skin05 ~ #pageview_m .slideframe {top : 50% !important; height: 96% !important; }


/* 모바일 링크관련  */
.next-button,
.previous-button  {  
	-webkit-tap-highlight-color: rgba(0,0,0,0);
    -webkit-tap-highlight-color: transparent;
}

/* 메뉴버튼 선택 유무관련 메뉴 위치 정리   */
 #menu_center img.menuobjects { position: relative; right: auto !important; margin: 0 10px;}
 #bottom_center {text-align: right;} 
 #bottom_center img.bottomobjects{ position: relative; right: auto !important; margin: 10px;}


/* 확대 슬라이더 - Glass Island 스타일 */
#control {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 50px;
  text-align: center;
  z-index: 60;
}

#control #slider {
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 9999px;
  padding: 14px 0 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  box-shadow: 0 10px 30px rgba(0, 88, 190, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
  transition: box-shadow .3s ease, transform .3s ease;
}
#control #slider:hover {
  box-shadow: 0 14px 36px rgba(0, 88, 190, 0.18), 0 2px 8px rgba(0, 0, 0, 0.08);
  transform: scale(1.02);
}

/* + / - 버튼 */
#control span.plus,
#control span.minus {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: transparent;
  color: #0058be;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  margin: 0 auto;
  transition: background .2s ease, transform .15s ease;
}
#control span.plus:hover,
#control span.minus:hover {
  background: rgba(0, 88, 190, 0.1);
}
#control span.plus:active,
#control span.minus:active {
  transform: scale(0.9);
}

/* 트랙 */
#control .ui-slider {
  margin: 4px auto !important;
  width: 4px !important;
  height: 100px !important;
  background: rgba(0, 88, 190, 0.1) !important;
  border-radius: 9999px !important;
  border: none !important;
  position: relative;
}

/* 채워진 구간 */
#control .ui-widget-header {
  background: #0058be !important;
  border-radius: 9999px !important;
  transition: height .15s ease;
}

/* 핸들 */
#control .ui-state-default {
  width: 22px;
  height: 22px;
  left: 50% !important;
  margin-left: -11px !important;
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  cursor: grab;
  position: absolute;
  transition: transform .15s ease, box-shadow .15s ease;
}
#control .ui-state-default::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(0, 88, 190, 0.3);
  transform: translate(-50%, -50%);
}
#control .ui-state-default:hover {
  transform: scale(1.1);
}
#control .ui-state-default:active {
  cursor: grabbing;
  transform: scale(0.95);
}

/* 퍼센트 배지 */
#control .scalebox {
  display: inline-block;
  width: auto;
  min-width: 44px;
  padding: 6px 2px;
  margin-top: 6px;
  color: #ffffff;
  font-size: 11px;
  font-weight: 600;
  line-height: 16px;
  text-align: center;
  border-radius: 30px;
  background: #0058be;
  box-shadow: 0 4px 10px rgba(0, 88, 190, 0.2);
  letter-spacing: 0.2px;
}

.ismobile {display:none;}


.logo, .home {    cursor: pointer;}

/* 창 끌기바(공통속성) */
.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: 6px 20px; border-radius: 20px;border: 0;    display: block;    margin: auto;    cursor: pointer; }

/* =========================================================
   목차
   ========================================================= */

:root {
  --toc-bg: #ffffff;
  --toc-bg-hover: #fafcfe;
  --toc-bg-sub: #fafcfe;
  --toc-border: #e2e2e2;
  --toc-text: #333333;
  --toc-text-sub: #6b7076;
  --toc-text-sub-2: #8a8f94;
  --toc-accent: #13696a;
  --toc-accent-bg: #e6f5f5;
}

div.tablelist {
    position: absolute;
    left: 0%;
    top: 0%;
    min-width: 200px;
    max-width: 350px;
    width: 30%;
    height: 100%;
	z-index: 100;
	display: none;
    background-color: var(--toc-bg);   /* 변경: #fff → 변수 */
    box-shadow: 0 1px 6px 0 rgba(32,33,36,.2);
}

/* 상단 드래그 핸들(제목) - 추가 */
.tablelist .draggable {
    padding: 12px 14px 8px;
    cursor: move;
    user-select: none;
}
.tablelist .draggable p {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: var(--toc-text);
	padding: 10px 0;
}

/* 닫기 버튼 - 추가 */
.tablelist > .close {
    position: absolute;
    top: 12px;
    right: 14px;
    font-size:  30px;
    color: var(--toc-text-sub);
    cursor: pointer;
    line-height: 1;
    padding: 4px;
    transition: background-color .15s ease, color .15s ease;
}

.tablelist ul {
    border: 1px solid var(--toc-border);   /* 색상만 변수로 교체 */
	 width:100%; height: calc(100% - 80px) ; overflow-y:auto; padding:0px; margin:0px; list-style-type:none;
}

.tablelist li.contents {
    cursor: pointer;
    border-top: 1px solid #F0F0F0;
    border-bottom: 1px solid #E2E2E2;
	cursor:pointer;  border-bottom:0px;
    transition: background-color .15s ease;   /* 추가 */
    outline: none;                             /* 추가: 기본 포커스 파란 테두리 제거 */
    -webkit-tap-highlight-color: transparent;  /* 추가: 모바일 탭 파란 하이라이트 제거 */
}
/* 변경: 마우스가 올라가 있는 "가장 안쪽" 행에만 배경이 적용되도록 :not(:has(:hover)) 추가
   (중첩 li 구조 특성상 :hover가 상위 li까지 같이 걸리는 것을 방지) */
.tablelist li.contents:hover:not(:has(:hover)) {
    border-top: 1px solid #F0F0F0;
    border-bottom: 1px solid #E2E2E2;
    background-color: var(--toc-bg-hover);
}

.tablelist li p {
    margin: 0.5em auto;
    padding-left: 1em;
    padding-right: 1em;
    font-size: 0.9em;
    color: var(--toc-text-sub);               /* 색상만 변수로 교체 */
	margin:0.5em auto; padding-left:1em; padding-right:1em; font-size:0.9em;
}

.tablelist li span {
    float: right;
    color: #39C;
    display: none;
}

/* 서브메뉴 화살표 - 색상/두께 변경 + 열림 상태일 때 회전 */
.tablelist .topmemu:after{
    content:"";
    display: block;
    width:8px;
    height:8px;
    border-top:1.5px solid var(--toc-text-sub);
    border-right:1.5px solid var(--toc-text-sub);
    transform: rotate(135deg);
    position: absolute;
    right:14px;
    top: 16px;
    transition: transform .15s ease;   /* 추가 */
}
/* 화살표 회전 */
.tablelist .topmemu:has(> ul[style*="display: block"]):after {
    transform: rotate(45deg);
    top: 16px;
}


.tablelist[hastree='false'] ul	{ width:100%; height:100%; overflow-y:auto; padding:0px; margin:0px; list-style-type:none; border: 1px solid var(--toc-border); background: #f7f7f8; }
.tablelist[hastree='false'] li.contents	{ cursor:pointer; border-top:1px solid #F0F0F0; border-bottom:1px solid #E2E2E2;   }
.tablelist[hastree='false'] li.contents:hover	{	border-top:1px solid #F0F0F0; border-bottom:1px solid #E2E2E2; background-color: var(--toc-bg-hover); }
.tablelist[hastree='false'] li p			{ margin:0.5em auto; padding-left:1em; padding-right:1em; font-size:0.9em; color:var(--toc-text-sub); }
.tablelist[hastree='false'] li span	{ float:right; color:#39C; display: none; }


.tablelist[hastree='true'] { background: var(--toc-bg); }   /* 변경: #f1f1f1 → 흰색 배경 */
div.tablelist[hastree='true'] ul { border:0;  list-style-type: disc; margin-block-start: 0em; margin-block-end: 0.0em; margin-inline-start: 0px; margin-inline-end: 0px; padding-inline-start: 0px; line-height: 0.5em; }

div.tablelist[hastree='true'] ul li.contents {
    display: block;
    text-align: -webkit-match-parent;
    padding: 0px 0px 0px 15px;
    word-break: keep-all;
    border-top: 1px solid #eee;          /* 변경: 살짝 옅은 구분선 */
    margin: 0;
    position: relative;
    vertical-align: top;
}

div.tablelist[hastree='true'] ul li.contents  .contents {    padding: 0 0px 1px 10px; }

/* 변경: 중첩 구조에서 마우스가 실제로 올라간 행에만 배경이 적용되도록 수정 */
div.tablelist[hastree='true'] ul li.contents:hover:not(:has(:hover)) {
    border-bottom: 0;
    background-color: var(--toc-bg-hover);
}

/* 변경: 파란/청록 느낌 대신 hover와 동일한 중립 회색 배경으로 통일 */
div.tablelist[hastree='true'] ul li:focus.contents {
    background-color: var(--toc-bg-hover);
    outline: none;
    box-shadow: none;
}

div.tablelist[hastree='true'] ul li.contents p	{
    font-size:0.85em;
    color: var(--toc-text-sub);          /* 변경 */
    padding: 5px 25px 5px 0;
    line-height: 20px;
}

/* 최상위(1depth) 챕터 항목만 진하게 강조 - 추가 */
div.tablelist[hastree='true'] > ul > li.contents.topmemu > p,
div.tablelist[hastree='true'] > ul > li.contents:not(.topmemu) > p {
    font-weight: 600;
    color: var(--toc-text);
    font-size: 0.9em;
}

/* 2depth 이후는 옅은 배경 + 더 연한 텍스트 - 추가 */
div.tablelist[hastree='true'] ul li.contents .contents {
    background-color: var(--toc-bg-sub);
}
div.tablelist[hastree='true'] ul li.contents .contents > p {
    font-weight: 400;
    color: var(--toc-text-sub-2);
}

div.tablelist[hastree='true'] ul li.contents p:hover { cursor:pointer; border-bottom: 0px;  color:#990033; }  /* 변경: 글자색 강조 제거, 행 배경색만으로 hover 표시 */

/* 변경: 글자색은 그대로 두고 배경색만 바뀌도록 (파란/청록 강조 제거) */
div.tablelist[hastree='true'] ul li:focus.contents > p { color: var(--toc-text); }

div.tablelist[hastree='true'] ul li.contents span	{ display: none; }
div.tablelist[hastree='true'] ul li.contents > ul	{ display: none; }

/*-------------------------------------------------------------------------------------------------- 책갈피 창 */
div.bookmarklist {
    position: absolute;
    left: 0%;
    top: 0%;
    min-width: 200px;
    max-width: 350px;
    width: 30%;
    height: 100%;
    z-index: 11;
    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 .draggable {
    padding: 12px 14px 8px;
    cursor: move;
    user-select: none;
}
.bookmarklist .draggable p {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: var(--toc-text);
    padding: 10px 0;
}

/* 책갈피 목록 */
.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;
}
/* 책갈피 이미지 */
.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);
	max-width: 35px;
}
.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;
}
.bookmarklist li.contents {overflow: hidden;}

/*-------------------------------------------------------------------------------------------------- 지난호보기 */

#booklist {    width: 100%;	height: 36px;	padding: 3px; position: relative; 
	-webkit-appearance: none;	-moz-appearance: none;
	background: #dddddd url(images/bg_select.svg) calc(100% - 10px) 10px  no-repeat;
	background-size: 20px;	opacity: 0.5;	border: 0; 	border-radius: 5px;	font-size: 14px; 	color: #000000; }
#booklist > div {position: absolute; right: 10px; bottom: 40px; z-index: 100;}
#booklist > div a {padding: 5px 10px; background-color: #333333; color: #ffffff; width: 140px; font-size: 12px; margin-bottom: 3px; text-align: left; text-decoration: none; }
#booklist > div a:first-child{display:none;}
#booklist::-ms-expand { display: none; }

@media (max-width: 768px) { 
	#booklist {    width: 160px;}
}


/*-------------------------------------------------------------------------------------------------- 검색 창 */
div.searchlist {
    position: absolute;
    left: 0%;
    top: 0%;
    min-width: 250px;
    max-width: 350px;
    width: 30%;
    min-height: 100px;
    height: 100%;
    z-index: 10;
    display: none;
    border-right-style: solid;
    border-right-width: 0px;
    background: #ffffff;
    box-shadow: 0 1px 6px 0 rgba(32,33,36,.2);
}
.searchlist .draggable {
    padding: 12px 14px 8px;
    cursor: move;
    user-select: none;
}
.searchlist .draggable p {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: var(--toc-text);
    padding: 10px 0;
}

.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;
	border: 0; padding: 10px 2px; margin: 0;
   }

.searchlist li.header input.search_text {
    position: relative;
    width: 65%;
    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;
	font-size: 14px;
    
}
.searchlist li.header p {
    display: inline-block;
    font-size: 12px; 
    color: #444444;
    padding: 0; 
    margin: 0;
    width: 25%;
    font-weight: bold;
    text-align: center;
}
/* 검색 목록 */
.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;
}
.searchlist li.more:hover {}


@media (max-width: 768px) { 
	.searchlist li.header input.search_text {   width: 99%; }
	.searchlist li.header p { width: 99%; padding-top: 10px;}
}

/* 페이지 표시 영역 */
#pageview {
    position: fixed;
    left: 0;
    right: 0;
    margin: auto;
    top: 0;
    max-width: 2400px;
    width: 100%;
    height: 100%;
    min-height: 50px;
    z-index: 2;
    border: 0;
    background: rgba(0,0,0,0);
    overflow: hidden;
}


#menu_window #pagenation { 
    position: absolute;
    bottom: 50px;
    width: 100%;
    margin: 0;
    padding: 0px;
    text-align: center;
    padding-right: 30px;
    font-size: 14px; 
	color: #666666;				
	/* =====================  메뉴 글씨 색상  ===*/
}
#pagenation img {
    vertical-align: middle;
    max-width: 30px;
    padding: 7px; 
    border: 1px solid #dddddd;
    border-radius: 5px;
    margin: 2px;
	background-color: #ffffff;
}
#pagenation img:hover {box-shadow: 0 1px 6px 0 rgba(32,33,36,.28);}
#pagenation span {    padding: 3px;}

#menu_top {	margin-bottom: 30px; }
#search_window {
	background: #cddef4;
	opacity: 0.5;
	padding: 2px  2px; 
	border-radius: 5px;
	margin: 10px 0 ;
	color: #000000;
	display: flex;
  align-items: center;
  box-sizing: border-box;
}

#search_window:after {	clear:both; content:""}
#search_text_btn {	max-width: 30px;	float: right;   flex: 0 0 auto; }
#search_text {
	font-size: 14px; 
	height: 30px;
	padding-left: 4px;
	background-color: transparent;	
	 flex: 1 1 auto;
  min-width: 0;
  box-sizing: border-box;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
#search_text:focus {
  outline: none; border: 0;
}

#search_window:focus-within {
  outline: 2px solid #8ab4f8;
}


/* ------------------------------------------------------------------ 인덱스탭 */
#bookclip {    max-width: 150px; z-index: 7}

#bookclip div {
    display: block;
    padding: 10px;
    text-decoration: none;
    cursor: pointer;
    margin-bottom: 6px;
}
#bookclip .shadow {    box-shadow: 2px 1px 3px #bbb; }

@media screen and (max-width: 1280px){	
	  #bookclip { transform-origin: top left;    transform: scale(0.8);}
}


/*  sns 레이어 - QR코드용 */

#menu_sns {display: inline-block; position: relative; width: 100%; }


/* ==========================================================================
   SNS 공유 모달 (#snswrap / #snsbox)
   - 첨부한 공유하기.html(Material 3 스타일) 디자인을 기반으로 재현
   - Tailwind 없이 순수 CSS + CSS 변수로 작성
   - 클래스/ID는 기존 JSON 구조(type:"window" 등)를 그대로 사용한다고 가정
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. 토큰 (variables.css에 이미 동일 변수가 있다면 이 블록은 지우고
      기존 --primary 등을 그대로 참조하도록 셀렉터만 남겨두세요)
   -------------------------------------------------------------------------- */
:root {
  --sns-primary: #787878;
  --sns-primary-container: #95a1ba;
  --sns-on-primary: #ffffff;

  --sns-surface-container-lowest: #ffffff;
  --sns-surface-container-low: #f2f4f6;

  --sns-outline-variant: #c3c6d7;

  --sns-on-surface: #191c1e;
  --sns-secondary: #505f76;
  --sns-inverse-surface: #2d3133;
  --sns-inverse-on-surface: #eff1f3;

  --sns-radius-lg: 12px;
  --sns-radius-sm: 4px;
  --sns-radius-md: 8px;
  --sns-radius-full: 9999px;

  --sns-shadow-modal: 0px 10px 15px -3px rgba(0, 0, 0, 0.05),
    0px 4px 6px -2px rgba(0, 0, 0, 0.02);

}

/* --------------------------------------------------------------------------
   2. 오버레이 (#snswrap)
   ※ eFnc.wndToggle('#snswrap')이 어떤 방식으로 보이기/숨기기를 토글하는지
     몰라서, 기본은 display:none이고 보일 때 클래스 "on"이 붙는다고
     가정했습니다. 실제 토글 클래스명이 다르면 .on 부분만 바꿔주세요.
   -------------------------------------------------------------------------- */
#snswrap {
 position: fixed; width: 80%; max-width: 400px; left: 50%; top: 50%;     
    transform: translate(-50%, -50% ); 
	border-radius: 10px; background-color: #ffffff;  
    box-shadow: 1px 5px 8px 4px rgb(0 0 0 / 11%);  
    box-sizing: border-box;       
    overflow: hidden;
    z-index: 1000;
    display: none;;
}

#snswrap.on {
  display: flex;
}

/* --------------------------------------------------------------------------
   3. 모달 박스 (#snsbox)
   -------------------------------------------------------------------------- */
#snsbox {
  position: relative;
  width: 100%;
  max-width: 440px;
  max-height: 85vh;
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 0px;
  padding-bottom: 20px;
  background: var(--sns-surface-container-lowest);

}

#snsbox::-webkit-scrollbar {
  width: 4px;
}
#snsbox::-webkit-scrollbar-thumb {
  background: var(--sns-outline-variant);
  border-radius: var(--sns-radius-full);
}

/* 제목 : "SNS" (data-text로 텍스트가 채워지는 타이틀) */
.tit_sns {
  padding-right: 40px; /* 닫기 버튼과 겹치지 않도록 여백 확보 */
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
  letter-spacing: -0.01em;
  color: var(--sns-on-surface);
  background-color: #f7f9fb;
  margin: 0 !important;
  padding: 15px 15px !important;
}

#snsbox .linkbox , #snsbox .iconbox {margin: 0 20px;}
#snsbox .iconbox > div {display: flex;     gap: 15px;}
#snswrap p {text-align: center;     padding: 5px 10px;}

/* 닫기 버튼 : 타이틀과 같은 줄 우측 상단에 절대배치 */
.btn_cls_sns {
  position: absolute;
  top: 15px;
  right: 20px;
  width: 32px;
  height: 32px;
  padding: 4px;
  box-sizing: border-box;
  border-radius: var(--sns-radius-full);
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.btn_cls_sns:active {
  opacity: 0.8;
}


/* --------------------------------------------------------------------------
   5. 링크 공유 영역 (.linkbox > #linkInput + #copyLink)
   -------------------------------------------------------------------------- */
.linkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px;
  background: var(--sns-surface-container-low);
  border: 1px solid var(--sns-outline-variant);
  border-radius: var(--sns-radius-md);
}

#linkInput {
  flex: 1;
  min-width: 0;
  padding: 4px 8px;
  border: none;
  outline: none;
  background: transparent;
  color: var(--sns-secondary);
  font-size: 14px;
  line-height: 20px;
  text-overflow: ellipsis;
}
#linkInput:focus{outline: none !important;}

#copyLink {
  flex-shrink: 0;
  padding: 6px 12px !important;
  color: var(--sns-on-primary);
  background: #457ed9;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  border-radius: 4px;
  cursor: pointer;
  transition: box-shadow 0.15s ease, transform 0.1s ease;
}
#copyLink span.menutx { font-size: 12px; color: #ffffff; padding-left: 0;}

#copyLink:hover {
  box-shadow: 0 4px 6px -2px rgba(0, 0, 0, 0.15);
}
#copyLink:active {
  transform: scale(0.95);
}
/* 복사 완료 시 JS에서 붙여줄 상태 클래스 (선택사항) */
#copyLink.is-copied {
  background: var(--sns-inverse-surface);
}

/* --------------------------------------------------------------------------
   6. SNS 아이콘 영역 (.iconbox)
   -------------------------------------------------------------------------- */
.iconbox {
  display: flex;
  align-items: center;
  justify-content: space-between;;
  gap: 32px;
}

.iconbox .langicon {
  position: relative;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--sns-outline-variant);
  border-radius: var(--sns-radius-full);
  cursor: pointer;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}
.iconbox .langicon:hover {
  border-color: var(--sns-primary);
  background: color-mix(in srgb, var(--sns-primary-container) 10%, transparent);
}

.menuobjects {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

/* --------------------------------------------------------------------------
   7. 구분선 (.divider) — iconbox와 qrbox 사이 명시적 엘리먼트
   -------------------------------------------------------------------------- */
.divider {
  width: 100%;
  height: 1px;
  background: color-mix(in srgb, var(--sns-outline-variant) 30%, transparent);
}

/* --------------------------------------------------------------------------
   8. QR 코드 영역 (.qrbox > #qrcode)
   -------------------------------------------------------------------------- */
.qrbox {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
}

#qrcode.qrcode {
  width: 80px;
  height: 80px;
  background: #ffffff;
  border: 1px solid var(--sns-outline-variant);
  border-radius: var(--sns-radius-lg);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

/* QR 코드가 이미지/캔버스로 채워지는 경우를 대비한 내부 요소 크기 보정 */
#qrcode.qrcode img,
#qrcode.qrcode canvas {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* --------------------------------------------------------------------------
   9. 공용 툴팁 (.langicon / .hint--bottom 에 있는 title 속성을 그대로 활용)
      기존 title="SNS", title="COPY LINK" 같은 속성을 hover 시 말풍선으로 노출
   -------------------------------------------------------------------------- */
.langicon,
.hint--bottom {
  position: relative;
}

.langicon[title]:hover::after,
.hint--bottom[title]:hover::after {
  content: attr(title);
  position: absolute;
  bottom: -28px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  padding: 4px 10px;
  font-size: 10px;
  font-weight: 600;
  line-height: 12px;
  color: var(--sns-inverse-on-surface);
  background: var(--sns-inverse-surface);
  border-radius: var(--sns-radius-full);
  pointer-events: none;
  z-index: 10;
}


/* 모달 팝업 */

#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;      visibility: visible !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%); }




#pageframe {   
     -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;
}
#pageview {overflow: visible;} 
#pageview_m {width: 100%;}


@media screen and (max-width: 768px){	
	#pageframe {   
		-webkit-transition: all 0.002s ease-in-out 0s;
		-moz-transition: all 0.002s ease-in-out 0s;
		-ms-transition: all 0.002s ease-in-out 0s;
		-o-transition: all 0.002s ease-in-out 0s;
		transition: all 0.002s ease-in-out 0s;}
    .iconbox {gap: 10px;}    
}

@media screen and (max-width: 1280px){	
	  #bookclip { transform-origin: top left;    transform: scale(0.8);}
}




/* 스크롤바 디자인 설정 */
::-webkit-scrollbar {width: 5px; }
::-webkit-scrollbar-button:start:decrement, ::-webkit-scrollbar-button:end:increment {display: block; height: 10px; background: #efefef}
::-webkit-scrollbar-track {background: transparent; -webkit-border-radius: 10px; border-radius:10px; -webkit-box-shadow: inset 0 0 4px rgba(0,0,0,.2)}
::-webkit-scrollbar-thumb {height: 50px; width: 50px;  background: #ccc; border-radius: 10px; border-radius: 8px; -webkit-box-shadow: inset 0 0 4px rgba(0,0,0,.1)}


/* 유튜브 반응형 */
.embed_youtube {    position: relative;    width: 100%;    height: 0;  }
.embed_youtube iframe {    position: absolute;    top: 0 !important;    left: 0  !important;    width: 100%;    height: 100%  !important;}
#modal_wrap video { visibility: visible !important;  }
#modal_wrap .embed_youtube {width: 80%; height: auto;     max-width: 100%;    max-height: 800px;
    top: 50% !important;    left: 50% !important;    transform: translate(-50%, -50%);    visibility: visible !important; }

@media screen and (max-width: 768px){	
	#modal_wrap .embed_youtube {max-width: 90%;}
}



/* 인쇄 방향 옵션 */
@page { size: auto; }

/*-------------------------------------------------------------------------------------------------- 썸네일 리스트 flex 반응형 스타일 */

div.thumblist {
    position: absolute;
    z-index: 20;
    display: none;
}
div.thumblist .bg {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
}
div.thumblist .contents {
    position: fixed;
    min-width: 100px;
    width: 90%;
    min-height: 100px;
    height: 95%;
	left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    overflow-x: hidden;
    overflow-y: auto;
	   display: flex;
    justify-content: center;
    align-items: flex-start;
}
/* 섬네일 선택 표시 */
.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: 3px 5px;
    margin: 2px 0 0 2px;
    border-radius: 1em;
    background-color: #222222;
    color: #ffffff;
    text-align: center;
    font-size: 12px;
}

div.thumblist .contents  ul{
   margin: 20px auto;
    padding: 0;
    width: 100%;
	display: grid;
	gap: 15px ;
	 grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	justify-items: center;
	 }
div.thumblist .contents  ul li img {width: 100%; height: 100%; }
div.thumblist .contents  ul li div {width: auto; } 


@media screen and (max-width: 1000px) {
	div.thumblist .contents  ul{ grid-template-columns:  repeat(5, 1fr); 	}
}
@media screen and (max-width: 768px) {
	div.thumblist .contents {    width: 90%; }

	div.thumblist .contents  ul{ grid-template-columns:  repeat(3, 1fr); 	}

}

/* ========================  공통 end ========================= */



#menu_contents .menuitem {
	font-size: 18px; 
	line-height: 28px;
	margin: 4px 0; 
	color: #454545; 												/* ===============    메뉴 글씨 색상 */
}
.skin01_menu  .menutx { font-size: 0; }

#menu_contents  .menutx {
	padding-left: 15px;
	vertical-align: text-top;
}

#menu_contents #menu_twitter, #menu_contents #menu_facebook, #menu_contents #menu_kakaotalk{ 
	margin: 6px;
	border: 1px solid rgba(208, 208, 208, 0.6);
	border-radius: 50%;
	padding: 5px;
	font-size: 0;
	line-height: 0;
}
#menu_twitter img, #menu_facebook img, #menu_kakaotalk img{ 
	max-width: 26px;
}
#menu_contents #menu_twitter:hover {box-shadow: 0 1px 6px 0 rgba(32,33,36,.28);}
#menu_contents #menu_facebook:hover {box-shadow: 0 1px 6px 0 rgba(32,33,36,.28);}
#menu_contents #menu_kakaotalk:hover {box-shadow: 0 1px 6px 0 rgba(32,33,36,.28);}

.next-button, .previous-button {max-width: 60px !important; }

/*-------------------------------------------------------------------------------------------------- 도구 메뉴 */
/* 상단 창 */
#top_window {
    position: relative;
    display: block;
    z-index: 8;
    width: 100%;
    height: 6px;
    text-align: center;
}
#top_center {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    height: 100%;
    padding: 0 10px;
    text-align: right; 
}
/* 로고 이미지 */
#top_logo {
    position: absolute;
    left: 20px;
    top: 10px;
    margin: auto;
    max-height: 40px;
    max-width: 300px;
}

/* 메뉴 창 */
#menu_window {
    position: absolute;
    right: 0;
    top: 60px;
    width: 60%;
    max-width: 200px;
    height: auto;
    display: none;
    z-index: 6;
    box-shadow: 1px 4px 3px 2px rgb(0 0 0 / 14%);
}
#menu_window .menuitem {padding: 8px 0;}

#btn_close {
    position: absolute;
    right: 5%;
	margin-top: 0px;
}
#menu_contents {
    position: fixed;
    width: 30%;
    height: 100%;
    top: 0px;
    right: 0px;
    padding: 10px 20px;
    max-width: 300px;
    min-width: 250px;
    text-align: left; 
    background-color: #ffffff;
    box-shadow: -4px 4px 6px 0 rgba(32, 33, 36, .2);
}

#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: 15px;
    margin-top: -13px;
}
#home_btn_pc{max-width: 36px;  margin-right: 5px;}
#fullscreen_btn_pc {max-width: 36px;}

/* 도구 항목 */
.topobjects {
    width: 36px;
    height: auto;
    display: inline-block;
    vertical-align: middle;
    margin: 8px 3px 0;
    padding: 4px;
}
.menuobjects {
    width: 100%;
    max-width: 30px;
    height: auto;
    margin: 0;
    padding: 2px;
    vertical-align: middle;
}

#home_btn {
    border-radius: 5px;
}
#top_menu_btn {
    background-color: #ffffff;
    padding: 4px;
    border-radius: 5px;
}
#fullscreen_btn {
    background-color: #ffffff;
    border-radius: 5px;
}

/* PC 상단바에서는 홈버튼과 검색버튼 숨김 */
#home_btn,
#top_search_btn {
    display: none !important;
}
#page_prev_btn {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 5%;
    height: auto;
    z-index: 7;
    opacity: 0.7;
    text-align: center;
    display: flex;
}
 #page_next_btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    bottom: 0;
    right: 5%;
    height: auto;
    max-height: 100px;
    z-index: 7;
    opacity: 0.8;
    text-align: center;
    display: flex;
}
#page_next_btn.middle{ align-items: center; }
#page_next_btn.bottom {    align-items: flex-end; }
#page_next_btn.bottom svg {margin-bottom: 50px;    align-items: center; }

#page_prev_btn.middle{ align-items: center; }
#page_prev_btn.bottom {    align-items: flex-end; }
#page_prev_btn.bottom svg {margin-bottom: 50px;    align-items: center; }

#page_prev_btn:hover {opacity: 1;}
#page_next_btn:hover {opacity: 1;}


@media (max-width: 768px) { 
    #top_window {
        display: flex;
        justify-content: space-between;
        align-items: center;
        height: 40px;
        background: #ffffff;
    }

    #top_logo {
        position: relative;
        left: auto;
        top: auto;
        margin: initial;
        margin-left: 10px;
        max-height: 40px;
        max-width: 150px;
        height: auto; 
    }

    #top_center {
        position: relative;
        left: auto;
        right: auto;
        margin: 0 0 0 auto;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }

    .topobjects {
        width: 30px;
        margin: 10px 5px;
        padding: 2px;
    }

    /* 모바일 비활성화 요소 숨김 */
    #fullscreen_btn,
    #page_prev_btn,
    #page_next_btn,
    #menu_top,
    #search_window,
    #menu_print_btn,
    #menu_memo_btn,
    #menu_draw_btn {
        display: none !important;
    }

    /* 모바일 활성화 요소 지정 */
    #home_btn,
    #top_search_btn {
        display: inline-block !important;
    }

    #menu_window {
        right: 0;
        top: 50px;
        width: 60%;
        max-width: 180px;
        box-sizing: border-box;
    }

    #top_menu_btn {
    padding: 2px;
    border-radius: 0px;
    }
    #menu_contents {
        position: absolute;
        width: 100%;
        height: auto;
        max-height: 560px;
        top: auto;
        right: auto;
        overflow-y: auto;
        padding: 10px;
    }
    #menu_contents .menuitem {
        font-size: 16px;
        line-height: 28px;
        margin: 2px 0;
    }
    #menu_contents .menutx {
        padding-left: 10px;
    }
    #menu_contents .menuobjects {
        max-width: 24px;
        padding: 1px;
    }

    #pageview {
        position: absolute;
        top: calc(50% + 5px);
        transform: translateY(-50%);
        height: calc(100% - 50px);
    }

    #bottom_window {
        display: block !important;
        position: absolute;
        z-index: 90;
        left: 0;
        right: 0;
        bottom: 0 !important;
        margin: 0 auto !important;
        height: 40px;
        text-align: center;
        width: 100%;
    }
}

/*-------------------------------------------------------------------------------------------------- 퀵 메뉴 */
#quick_prev_btn {
    margin-right: 3%;
}
#quick_next_btn {
    margin-left: 3%;
}

#bottom_window {
    display: none;
}
#top_window:has(#menu_window[style*="display: block"]) ~ #bottom_window,
#top_window:has(#menu_window[style*="display:block"]) ~ #bottom_window,
#top_window:has(#menu_window[style*="opacity"]) ~ #bottom_window {
    display: block;
    position: fixed;
    right: 0;
    bottom: 30px;
    width: 30%;
    max-width: 300px;
    min-width: 250px;
    z-index: 10;
    text-align: center;
}
#bottom_window #pagenation { 
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0px;
    text-align: center;
    font-size: 14px; 
    color: #666666;
}

#page_num {display: inline-block; width: 100px; 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; padding: 5px; text-align: center; margin: 2px 5px; border-radius: 30px; height: 30px;
    background-color: #ffffff;    border: 2px solid #dddddd;  display :none;   vertical-align: middle; color: #666666 !important; font-weight: 700;}




 /*! Tooltip Hint.css - v2.7.0 */
 [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:#383838;color:#fff;border-radius:3px;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:4px 4px 8px rgba(0,0,0,.3)}[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:#383838}.hint--bottom-left:before,.hint--bottom-right:before,.hint--bottom:before{border-bottom-color:#383838}.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:#383838;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:#383838;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--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}


