@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+KR|Noto+Serif+KR&display=swap');
@import url('https://fonts.googleapis.com/css?family=Material+Icons');
/*@import url(iconfont/material-icons.css);*/
/* @import url('style_card.css'); */
@import url('style__general__dark.css') screen;
@import url('style__answer__serif.css');
@import url('style__answer__quiz.css');
@import url('style_nav.css');
@import url('style_share.css');
@import url('style_context.css');
@import url('style_card.css');
@import url('style_toast.css');
@import url('style_ad.css');

::selection {
  background: rgba(0, 0, 0, 0);
}

.contents ::selection {
  color: rgba(0, 0, 0, .87);
  /* text-shadow: 1px 2px 1px #c8b900; */
  background: #ffeb3b;
  padding: 1em;
}

:focus {
  outline: none;
}

::-webkit-scrollbar-track {
  background-color: inherit;
}

::-webkit-scrollbar {
  width: 6px;
  height: 6px;
  background-color: inherit;
}

::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, .1);
  -webkit-box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.1);
}

::-webkit-scrollbar-corner {
  opacity: 0;
}

body {
  padding: 0 0 0 300px;
  margin: 56px 0 0;
  font-family: 'Noto Sans KR', sans-serif;
  color: rgba(0, 0, 0, .87);
  cursor: default;
  overflow-x: hidden;
  transition: .3s;
}

h2 {
  margin: 1em 0;
}

body.fold {
  padding: 0 0 0 68px;
}

#main_item {
  padding: 0;
  margin: 0;
  width: calc(100% - 300px);
  position: absolute;
  top: 56px;
  z-index: 2;
  /* box-shadow: 0 2px 4px rgba(0, 0, 0, .2); */
  background: #fff;
  transition: .3s;
}

#main_item .contents {
  margin: auto;
  column-width: 34em;
  height: calc(100vh - 4em - 56px);
  padding: 2em;
  overflow-y: visible;
  overflow-x: auto;
  column-fill: auto;
  /* transform: translateX(0); */
  will-change: transform;
}

#item_list {
  padding: 0 1em 0 2em;
  display: flex;
  flex-flow: wrap;
  max-height: calc(100vh - 56px - 45px);
  overflow: auto;
  transition: box-shadow .25s;
  will-change: transform;
}

#item_list section.item {
  position: relative;
  padding: 1em;
  margin: 0 1em 1em 0;
  box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
  /* background: #fff; */
  transition: .25s;
  z-index: 1;
  flex: auto;
  max-width: 15em;
  min-width: 10em;
}

#item_list h2 {
  width: 100%;
  position: relative;
  cursor: pointer;
}

#item_list h2 a.btn_item_fold {
  opacity: 0;
}

#item_list section.on {
  margin: 1em -1em;
  padding: 2em;
  box-shadow: 0 5px 11px rgba(0, 0, 0, .2);
  /*width: 100%;*/
}

#item_list section h3 {
  margin: 0;
  cursor: pointer;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

dl#setting {
  padding: 1em;
  box-shadow: 0 2px 4px rgba(0, 0, 0, .2);
  background: #fff;
  width: calc(100% - 2em);
  transition: .25s, background 0s, color 0s;
  /*border-top: 1px rgba(0, 0, 0, .12) solid;*/
}

body.fold #main_item {
  width: calc(100% - 68px);
}

header {
  position: fixed;
  color: rgba(0, 0, 0, .98);
  /* box-shadow: 0 2px 6px 0 rgba(60, 64, 67, .15); */
  transition: .3s;
  padding-left: 300px;
  width: calc(100% - 300px);
  height: 56px;
  left: 0;
  top: 0;
  z-index: 4;
  background: #fff;
  text-align: center;
}

body.fold header {
  padding-left: 68px;
  width: calc(100% - 68px);
}

header .timer {
  cursor: pointer;
  font-weight: normal;
  float: right;
  /* line-height: 1.25; */
  margin: 0;
  transition: .25s;
}

header #print_icon {
  float: right;
  cursor: pointer;
  /* line-height: 1.25; */
  margin: 0 .5em 0 0;
  opacity: 0;
  transition: .25s;
}

header:hover #print_icon {
  opacity: 1;
}

.disabled,
.disabled a {
  color: rgba(0, 0, 0, 0.3);
}

.hide {
  display: none !important;
  margin: 0 !important;
}

.shadow-right {
  box-shadow: 2px 0 6px 0 rgba(60, 64, 67, .15);
}

.shadow-top {
  box-shadow: 0 -2px 6px 0 rgba(60, 64, 67, .15);
}

.shadow-bottom {
  box-shadow: 0 2px 6px 0 rgba(60, 64, 67, .15);
}

.shadow-top-inset {
  box-shadow: inset 0 7px 6px -5px rgba(60, 64, 67, .15);
}

.shadow-bottom-inset {
  box-shadow: inset 0 -7px 6px -5px rgba(60, 64, 67, .15);
}

.shadow-top-inset.shadow-bottom-inset {
  box-shadow: inset 0 7px 6px -5px rgba(60, 64, 67, .15), inset 0 -7px 6px -5px rgba(60, 64, 67, .15);
}

section.sub {
  width: 100%;
  text-align: center
}

a {
  cursor: pointer;
  text-decoration: none;
  font-weight: 700;
  color: #000;
  transition: .25s, font-size 0s;
  padding: .5em .75em;
  margin: -.75em
}

.contents a:hover {
  box-shadow: 0 2px 5px rgba(0, 0, 0, .25);
  background: #fff;
  position: relative;
}

li a {
  padding: 0;
  margin: 0;
}

li a:hover {
  position: inherit;
  box-shadow: none;
  background: rgba(0, 0, 0, .05);
}

h2, h3, h2 a, h3 a {
  color: rgba(0, 0, 0, .54);
  /* transition: .25s; */
}

.contents h2, .contents h3, .contents h2 a, .contents h3 a {
  color: rgba(0, 0, 0, .98);
  /* transition: .25s; */
}

h1 {
  font-size: 20px;
  margin: 14px 2em 14px 3em;
  text-align: left;
  display: flex;
  align-items: center;
}

h1 #title {
  flex: 1;
  text-overflow: ellipsis;
  overflow: hidden;
}

h3 .material-icons>svg {
  fill: rgba(0, 0, 0, .54);
}

nav h3 .material-icons {
  vertical-align: bottom;
  font-size: 20px;
  margin-right: 1em;
}

nav h3 .material-icons>svg {
  width: 20px;
  max-width: none;
}

.shadow {
  box-shadow: 0 2px 5px rgba(0, 0, 0, .25);
  border-radius: 3px;
  background: #fff;
}

.material-icons {
  vertical-align: text-bottom;
  margin-right: .5em;
  display: inline-block;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'liga';
}

.material-icons>svg {
  width: 24px;
  height: 24px;
  margin-bottom: 5%;
  transition: .3s;
}

a:not(nav a)>.material-icons {
  /* margin: 0; */
}

input[type="checkbox"] {
  display: none;
}

.copyright {
  text-align: center;
  background: none;
  color: rgba(0, 0, 0, .54);
  /*font-size: .8em;*/
  padding: .5em;
  margin: 0;
}

.copyright a {
  color: inherit !important;
  font-weight: inherit;
}

.targeted {
  background: #e3f2fd !important;
  /* background: rgba(158, 158, 158, .2) !important; */
}

.targeted a, .targeted i, .targeted i svg {
  fill: #2196f3;
  color: #2196f3;
}

/* ------------------------------------------------------------------- */
/* ***** footer ***** */
/* ------------------------------------------------------------------- */
footer {
  /* width: calc(100% - 300px);
  position: absolute;
  bottom: 0; */
}

/* ------------------------------------------------------------------- */
/* ***** tooltip ***** */
/* ------------------------------------------------------------------- */
#tooltip, #tooltip_nav {
  color: #fff;
  position: absolute;
  top: 0;
  visibility: hidden;
  opacity: 0;
  filter: alpha(opacity=0);
  background: #424242;
  -webkit-transition: .5s opacity;
  transition: .5s opacity;
  padding: 1ex;
  border-radius: 3px;
  max-width: 400px;
  z-index: 4;
  box-shadow: 0 2px 5px rgba(0, 0, 0, .25);
}

#tooltip_nav {
  position: fixed;
  z-index: 4;
}

#tooltip_before, #tooltip_nav_before {
  border-color: #424242 transparent transparent;
  border-width: 1ex 1ex 0;
  border-style: solid;
  content: " ";
  position: absolute;
  left: calc(50% - .5em);
  bottom: -.9ex
}

#tooltip_text {
  white-space: pre-line;
}

hr {
  border-width: 1px 0 0 0;
}

.logo_inline {
  display: inline-block !important;
  margin: -12px -10px -22px -12px !important;
  width: 53px;
}

.logo_inline.black {
  opacity: .54;
}

.for_dev {
  display: none;
}

.for_dev:not(.on):not(h3), nav .for_dev {
  background: #fea;
}

.loading {
  text-align: center;
}

.spin {
  animation-name: spin;
  animation-duration: 2500ms;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

@-moz-keyframes spin {
  from {
    -moz-transform: rotate(0deg);
  }

  to {
    -moz-transform: rotate(360deg);
  }
}

@-webkit-keyframes spin {
  from {
    -webkit-transform: rotate(0deg);
  }

  to {
    -webkit-transform: rotate(360deg);
  }
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

/* ------------------------------------------------------------------- */
/* ***** .locked ***** */
/* ------------------------------------------------------------------- */
[locked="true"] a span::before {
  content: "(";
}

[locked="true"] a span::after {
  content: ")";
}

[locked="true"] a {
  /* color: #f00; */
  opacity: .65;
  /* text-decoration: line-through; */
}

/* ------------------------------------------------------------------- */
/* ***** splash ***** */
/* ------------------------------------------------------------------- */
div#splash {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: #fff;
  text-align: center;
  z-index: -1;
  transition: 1s;
  opacity: 0;
}

div#splash.on {
  z-index: 6;
  opacity: 1;
}

div#splash svg {
  top: calc(50% - 32px);
  position: relative;
  width: 64px;
  height: 64px;
  fill: gold;
}
