html {
  font-size: 14px; }
  @media (min-width: 768px) {
    html {
      font-size: 16px; } }
  @media (min-width: 1024px) {
    html {
      font-size: 18px; } }
  @media (min-width: 1400px) {
    html {
      font-size: 20px; } }

body {
  font-size: 1em;
  font-family: serif;
  line-height: 160%;
  color: #333333; }

.section {
  margin: 4.5em auto;
  text-align: center;
  max-width: 640px; }
  @media (min-width: 768px) {
    .section {
      margin: 5.1em auto; } }
  @media (min-width: 1024px) {
    .section {
      margin: 6em auto; } }
  @media (min-width: 1400px) {
    .section {
      margin: 6.9em auto; } }

.sub-section {
  margin: 3em auto; }

.mini-section {
  margin: 2.4em auto; }

pre.clean {
  margin: 3em auto;
  padding: 0px;
  border: 0px;
  background-color: inherit;
  font-size: inherit; }

hr {
  margin: 0px; }

:-webkit-full-screen, :-moz-full-screen, :-ms-fullscreen, :fullscreen {
  background: white;
  width: 100%;
  height: 100%; }

.error-report {
  text-align: left;
  font-family: monospace;
  font-size: 80%;
  background-color: white;
  white-space: pre; }

.modal-body {
  white-space: pre;
  overflow: scroll; }

form.main {
  max-width: 480px;
  margin: 0 auto;
  padding: 0em 1em; }
  form.main input[type=file] {
    width: 100%; }

pre.sample {
  max-width: 480px;
  margin: 0 auto;
  text-align: left; }

.basic-table table {
  margin: 0 auto; }
  .basic-table table td {
    padding: 0px 20px; }

.site-name {
  margin: 0.6em auto;
  font-size: 1.3em; }
  .site-name a:hover {
    text-decoration: none; }

.page-header {
  margin-top: 0px;
  padding: 0px;
  border-bottom: 1px solid #e6e6e6; }
  .page-header a {
    color: #333333; }

.page-title a {
  color: #333333; }
.page-title a:hover {
  text-decoration: none; }
.page-title h1 {
  font-size: 2.5em; }

.top-links a {
  padding-left: 8px;
  padding-right: 8px; }

.page-footer {
  padding: 0px;
  border-top: 1px solid #e6e6e6; }
  .page-footer a {
    color: #333333; }
  .page-footer .about-list {
    margin: 0.3em auto; }
    .page-footer .about-list ul {
      margin: 0px; }
      .page-footer .about-list ul li {
        padding: 0 5px; }
  .page-footer .sponsor {
    margin: 0.6em auto;
    font-size: 1.1em; }

.image-thumb-list {
  max-width: 100%; }
  .image-thumb-list .image-thumb {
    margin: 7.5em auto;
    text-align: center;
    max-width: 100%; }
    @media (min-width: 768px) {
      .image-thumb-list .image-thumb {
        margin: 8.1em auto; } }
    @media (min-width: 1024px) {
      .image-thumb-list .image-thumb {
        margin: 9em auto; } }
    @media (min-width: 1400px) {
      .image-thumb-list .image-thumb {
        margin: 9.9em auto; } }
    .image-thumb-list .image-thumb a {
      color: #333333; }
    .image-thumb-list .image-thumb .image {
      max-width: 100%;
      display: inline-block;
      position: relative;
      margin-bottom: 0.6em; }
      .image-thumb-list .image-thumb .image img {
        max-width: 100%;
        max-height: 100vh; }
    .image-thumb-list .image-thumb .comment {
      max-width: 640px;
      margin: 0 auto;
      white-space: pre-line; }

.fs-icon {
  position: absolute;
  top: 0.3em;
  right: 0.3em;
  z-index: 10;
  font-size: 2.3em;
  padding: 0.2em;
  color: white;
  opacity: 0.6;
  cursor: pointer; }

.prev-next a {
  padding: 0em 1em; }

.image-full {
  max-width: 100%;
  margin: 0px auto;
  text-align: center; }
  .image-full .image {
    max-width: 100%;
    display: inline-block;
    position: relative; }
    .image-full .image img {
      max-width: 100%;
      cursor: pointer; }

.image-info a {
  color: #333333; }
.image-info .comment {
  margin-bottom: 1.8em;
  white-space: pre-line; }
.image-info .cdate {
  margin-bottom: 1em;
  font-size: 0.8em; }
.image-info .uname {
  margin-bottom: 2em;
  font-size: 1.4em; }

#profile-text {
  white-space: pre-line; }
