/*
Theme Name: 43d records
Theme URI: https://records.43d.jp/wp-theme/
Author: Motohiro Sunouchi (43d)
Author URI: http://about.me/snotch
Description: 43d records is a WordPress theme for publishing sounds and photographs for field recordings.
Version: 0.9
License: CC-BY
License URI: http://creativecommons.org/licenses/by/4.0/
Text Domain: 43d-records
Tags: black, white, gray, fluid-layout, responsive-layout, full-width-template
*/

@charset "UTF-8";
@import "./css/elements.less";
@import url(//fonts.googleapis.com/css?family=Open+Sans:700,300,400);
@import url(//fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic);

@serif-font: Lora, "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho Pro", "HG明朝E", serif;
@sans-serif-font: 'Open Sans', Helvetica, Arial, "游ゴシック", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;

@z-index_bg: 5;
@z-index_menu: 100;
@z-index_logo: 100;
@z-index_flcontent: 500;
@z-index_social: 600;
@z-index_flcontent_btn: 610;
@z-index_playbtn: 600;

html {
  font-size: 3rem;
}

body {
  font-family: @sans-serif-font;
  word-wrap: break-word;
  &.error404 {
    padding: 4rem;
  }
}

p {
  line-height: 1.2rem;
  text-align: justify;
  text-justify: inter-ideograph;
}

.p43d_records_show {
  #main_menu {
    position: fixed;
    z-index: @z-index_menu;
    list-style: none;
    margin: 0;
    padding: 0;
    left: 0;
    top: 3rem;

    li {
      width: 3rem;
      height: 3rem;
      margin: 0 0 1px 0;
      position: relative;
      cursor: pointer;

      img {
        width: 100%;
        height: 100%;
        position: absolute;
        .opacity(0.5);
        .transition-duration(0.2s);
      }
      &:hover img {
        .opacity(1);
      }
      &::before {
        content: "";
        margin: 0;
        width: 100%;
        height: 100%;
        position: absolute;
        background-color: #fff;
        .opacity(0.5);
        .transition-duration(0.2s);
      }
      &:hover::before {
        .opacity(0.9);
      }
    }
  }

  #social {
    position: fixed;
    top: 0.4rem;
    right: 2rem;
    z-index: @z-index_social;
    list-style: none;
    margin: 0;
    padding: 0;

    li {
      width: 1.2rem;
      height: 1.2rem;
      cursor: pointer;
      display: inline-block;
      margin-left: 0.4rem;
      position: relative;

      a{
        .opacity(0.6);
        .transition-duration(0.2s);
        img {
          width: 100%;
          height: 100%;
          position: absolute;
        }

        &:hover {
          .opacity(1);
        }
      }
    }
  }

  #ctrl_btns {
    position: fixed;
    top: 2.4rem;
    right: 2rem;
    z-index: @z-index_playbtn;
    list-style: none;
    margin: 0;
    padding: 0;
    li {
      width: 3rem;
      height: 3rem;
      cursor: pointer;
      .transition-duration(0);

      img {
        width: 100%;
        height: 100%;
        position: absolute;
      }

      img.default {
        display: block;
      }
      img.over {
        display: none;
      }

      &:hover {
        img.default {
          display: none;
        }
        img.over {
          display: block;
        }
      }
    }
  }

  #bg {
    margin: 0;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    z-index: @z-index_bg;
    background-color: #cccccc;
  }

  p#logo_43d {
    position: fixed;
    right: 2rem;
    bottom: 1rem;
    margin: 0;
    z-index: @z-index_logo;
    a {
      .opacity(0.6);
      .transition-duration(0.2s);
      img {
        width: 2rem;
        height: auto;
      }
    }
    a:hover {
      .opacity(1);
    }
  }

  #info_content {
    z-index: @z-index_flcontent;
    position: fixed;
    top: 6rem;
    bottom: 1.5rem;
    left: 0;
    width: 40%;
    min-width: 360px;
    overflow: auto;
    display: none;

    .close_btn {
      position: absolute;
      margin: 0;
      width: 1rem;
      height: 1rem;
      top: 1rem;
      right: 2rem;
      cursor: pointer;
      z-index: @z-index_flcontent_btn;
      .opacity(0);
      img {
        width: 100%;
        height: 100%;
      }
      &:hover img {
        .opacity(0.6);
      }
    }

    .outer_container {
      position: relative;
    }

    .bg {
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      background-color: #fff;
      .opacity(0.8);
      z-index: -1;
    }

    .inner_container {
      padding: 1rem 2rem 2rem;
      .opacity(0);
    }

    h1 {
      font-weight: normal;
      font-size: 0.6rem;
      margin: 0.2rem 1rem 0.1rem 0;
      line-height: 1.2;
    }
    h2 {
      margin: 0 0 1.8rem;
      padding-right: 2rem;
      font-size: 1rem;
      line-height: 1.2;
    }

    p.info span.label {
      position: absolute;
      left: 0;
      padding: 0.1rem 0.5rem 0 0;
      font-size: 0.4rem;
      font-weight: bold;
      text-transform: uppercase;
    }
    p.info {
      position: relative;
      margin: 0.5rem 0 0;
      padding: 0 0 0.3rem 3.8rem;
      border-bottom: 1px solid #999;
      font-family: @sans-serif-font;
      font-size: 0.5rem;
      line-height: 1.1;
      vertical-align: top;

      a.icon_link {
        display: inline-block;
        line-height: 0;
        padding: 0 0 0 0.2rem;
        &:hover {
          background-color: transparent;
        }
      }
      a {
        color: #000;
        text-decoration: none;
        &:visited {
          color: #666;
        }
        &:hover {
          color: #000;
          background-color: #AAA;
        }
      }
      img.geo_icon {
        width: 0.5rem;
        height: 0.5rem;
        margin: 0;
        padding: 0;
      }
    }

    dl.specs {
      margin: 0.2rem 0 0;
      padding: 0 0 0.3rem;
      line-height: 1;
      border-bottom: 1px solid #999;

      dt {
        padding-top: 0.45rem;
        font-size: 0.4rem;
        font-weight: bold;
        float: left;
      }
      dd {
        margin-left: 3.8rem;
        ul {
          list-style: none;
          margin: 0;
          padding: 0;

          li {
            display: inline-block;
            margin: 0 0.2rem 0 0;
            font-size: 0.5rem;
          }
        }
      }
    }

    div.content {
      margin: 1.6rem 0;
      p {
        font-size: 0.6rem;
        font-family: @serif-font;
        margin: 1.6rem 0;
      }
      img {
        max-width: 100%;
      }
      div.post_link_container {
        border-top: 0.3rem solid #AAA;

        p.post_link {
          margin: 0.6rem 0;
          line-height: 1.2;
          padding: 0.7rem 0 0 0.5rem;
          position: relative;
          span {
            display: block;
            position: absolute;
            top: 0;
            left: 0;
            font-family: @sans-serif-font;
            font-size: 0.5rem;
            font-weight: bold;
          }
          a {
            color: #000;
            text-decoration: none;
            &:visited {
              color: #666;
            }
            &:hover {
              color: #000;
              background-color: #AAA;
            }
          }
        }
      }

      h3#comments {
        font-size: 0.8rem;
        line-height: 1.2;
        padding-top: 0.4rem;
        border-top: 0.3rem solid #AAA;
      }

      ol.commentlist {
        margin: 0;
        font-size: 0.7rem;
        div.comment-author, div.comment-meta, div.reply {
          font-size: 0.6rem;
          margin: 0.1rem 0;
          line-height: 1;
        }

        li {
          p {
            margin: 0.4rem 0;
          }
          margin-bottom: 1rem;
          padding-bottom: 1rem;
          border-bottom: 1px solid #666;
        }

        li.bypostauthor {
          display: list-item;
        }
      }

      div#respond {
        margin-top: 2rem;
        border-top: 0.3rem solid #AAA;
        h3 {
          font-size: 0.7rem;
          line-height: 1.2;
        }
        p {
          font-size: 0.6rem;
          margin: 0.4rem 0;
        }

        #commentform {
          label {
            display: block;
          }
          textarea {
            max-width: 100%;
            width: 100%;
            height: 5rem;
          }
          p input {
            font-size: 0.6rem;
            font-weight: normal;
            font-family: @sans-serif-font;
          }
        }
      }
    }
  }

  #menulist {
    z-index: @z-index_flcontent;
    position: fixed;
    top: 6rem;
    bottom: 1.5rem;
    left: 0;
    width: 40%;
    min-width: 360px;
    overflow: auto;
    display: none;

    .close_btn {
      position: absolute;
      margin: 0;
      width: 1rem;
      height: 1rem;
      top: 1rem;
      right: 2rem;
      cursor: pointer;
      z-index: @z-index_flcontent_btn;
      .opacity(0);
      img {
        width: 100%;
        height: 100%;
      }
      &:hover img {
        .opacity(0.6);
      }
    }

    .outer_container {
      position: relative;
    }

    .bg {
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      width: 100%;
      height: 100%;
      background-color: #fff;
      .opacity(0.8);
      z-index: -1;
    }

    .inner_container {
      padding: 1rem 2rem 2rem;
      min-height: 8rem;
      .opacity(0);
    }

    h1 {
      font-size: 1rem;
      margin: 0.2rem 1rem 0.1rem 0;
      line-height: 1.2;
    }

    h3 {
      margin: 1.6rem 0 0.4rem;
      font-size: 0.8rem;
      color: #777;
    }

    p.description {
      font-size: 0.6rem;
      line-height: 1.4;
      color: #555;
      margin: 0.2rem 0 1rem;
    }

    ul#posts_list {
      list-style: none;
      margin: 0;
      padding: 0;
      li {
        font-size: 0.6rem;
        margin-bottom: 0.4rem;

        span {
          display: inline-block;
        }
        span.title {
          display: block;
          font-family: @serif-font;
          font-size: 0.7rem;
          a {
            color: #000;
            text-decoration: none;
            &:visited {
              color: #666;
            }
            &:hover {
              color: #000;
              background-color: #AAA;
            }
          }
        }
        span.label {
          font-weight: bold;
          font-size: 0.4rem;
          padding: 0 0.2rem 0 0;
          color: #555;
        }
        span.subinfo {
          font-size: 0.5rem;
          color: #555;
        }
      }
    }

    p.post_tags {
      margin: 0.4rem 0;
      font-size: 0.7rem;
      a {
        color: #000;
        text-decoration: none !important;
        &:visited {
          color: #666;
        }
        &:hover {
          color: #000;
          background-color: #AAA;
        }
      }
    }
  }

  #timeline {
    z-index: @z-index_flcontent;
    position: fixed;
    bottom: 3rem;
    left: 2rem;
    right: 2rem;
    height: 3.4rem;
    overflow: auto;
    display: none;

    .bg {
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      width: 100%;
      height: 100%;
      background-color: #fff;
      .opacity(0.6);
      z-index: -1;
    }

    .buttons {
      position: absolute;
      top: 0.3rem;
      right: 0.3rem;
      list-style: none;
      margin: 0;
      padding: 0;

      li {
        width: 1.4rem;
        height: 1.4rem;
        cursor: pointer;
        margin: 0;
        padding: 0;
        img {
          width: 100%;
          height: 100%;
        }
        &:hover img {
          .opacity(0.6);
        }
      }
    }

    .if {
      position: absolute;
      top: 0.6rem;
      right: 2.3rem;
      left: 0.6rem;

      .cursor {
        width: 1rem;
        height: 1rem;
        cursor: pointer;
        margin: 0;
        position: absolute;
        background-image: url('./img/icon_tl_cursor.svg');
        background-repeat: no-repeat;
        background-size: contain;

        &:hover {
          .opacity(0.6);
        }
      }

      .horizontal_bar {
        height: 2px;
        background-color: #333;
        margin: 1rem 0.5rem 0;
      }

      .current_time, .total_time {
        margin: 0;
        font-size: 0.6rem;
        position: absolute;
        top: 1.3rem;
      }
      .total_time {
        right: 0;
      }
    }
  }
}

@media (max-width: 2880px) {
  html {
    font-size: 2.8rem;
  }
}

@media (max-width: 1920px) {
  html {
    font-size: 2rem;
  }
}

@media (max-width: 1600px) {
  html {
    font-size: 1.6rem;
  }
}

@media (max-width: 1440px) {
  html {
    font-size: 1.4rem;
  }
}

@media (max-width: 1024px) {
  html {
    font-size: 1.25rem;
  }
}

@media (max-width: 768px) {
  .p43d_records_show {
    #ctrl_btns {
      li:hover {
        img.default {
          display: block;
        }
        img.over {
          display: none;
        }
      }
    }

    #info_content, #menulist {
      width: 100%;
      bottom: 0;
    }
  }
}

////

.hidden {
  display: none;
}

.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
}

.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin: 0 auto;
}

////

.wp-caption {
  margin-bottom: 1.6em;
  max-width: 100%;
}

.wp-caption-text {
  text-align: center;
}

////
.gallery-caption {
  display: block;
}

.sticky {
  display: block;
}

.bypostauthor {
  display: block;
}

////

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px;
  height: 1px;
  overflow: hidden;
  position: absolute !important;
}

////

.size-auto,
.size-full,
.size-large,
.size-medium,
.size-thumbnail {
  max-width: 100%;
  height: auto;
}
