/* Browser Reset */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, figure {
  background: transparent;
  border: 0;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  outline: 0; }

h1, h2, h3, h4, h5, h6 {
  clear: both;
  font-weight: normal; }

ol, ul {
  list-style: square; }

blockquote {
  quotes: none; }

blockquote:before, blockquote:after {
  content: '';
  content: none; }

del {
  text-decoration: line-through; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

a img {
  border: none; }

cite {
  display: inline-block; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

input[type=submit] {
  -webkit-appearance: none !important;
  appearance: none !important; }

input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #626161 inset !important; }

button::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner,
input[type="file"] > input[type="button"]::-moz-focus-inner {
  border: none; }

input:focus,
select:focus,
textarea:focus,
button:focus {
  outline: none; }

body {
  color: white;
  background: #000014 url(../images/fog_full_tall.jpg) no-repeat center top/100%;
  font-family: Trebuchet MS, Verdana, sans-serif;
  line-height: 1.4;
  overflow-x: hidden; }
  @media screen and (max-width: 959px) and (orientation: portrait) {
    body {
      padding-top: 30vw; } }
  @media screen and (min-width: 960px), (orientation: landscape) {
    body {
      padding-top: 25vw; } }

h1 {
  line-height: 1.4;
  font-weight: 500; }
  @media screen and (max-width: 959px) and (orientation: portrait) {
    h1 {
      font-size: 4.16667vw; } }
  @media screen and (min-width: 960px), (orientation: landscape) {
    h1 {
      font-size: 1.66667vw; } }

h2 {
  line-height: 1.4; }
  @media screen and (max-width: 959px) and (orientation: portrait) {
    h2 {
      font-size: 3.81944vw; } }
  @media screen and (min-width: 960px), (orientation: landscape) {
    h2 {
      font-size: 1.52778vw; } }
  h2.title {
    opacity: 0.7;
    line-height: 1.1;
    margin: 5.55556vw 0 2.77778vw; }
    @media screen and (max-width: 959px) and (orientation: portrait) {
      h2.title {
        font-size: 4.16667vw; } }
    @media screen and (min-width: 960px), (orientation: landscape) {
      h2.title {
        font-size: 1.66667vw; } }

h3 {
  line-height: 1.4; }
  @media screen and (max-width: 959px) and (orientation: portrait) {
    h3 {
      font-size: 3.125vw; } }
  @media screen and (min-width: 960px), (orientation: landscape) {
    h3 {
      font-size: 1.25vw; } }

p, li, .subtitle {
  line-height: 1.4; }
  @media screen and (max-width: 959px) and (orientation: portrait) {
    p, li, .subtitle {
      font-size: 2.77778vw;
      margin-bottom: 6.94444vw; } }
  @media screen and (min-width: 960px), (orientation: landscape) {
    p, li, .subtitle {
      font-size: 1.11111vw;
      margin-bottom: 1.38889vw; } }

a {
  color: white;
  text-decoration: none;
  transition: opacity .2s;
  opacity: 0.7; }
  a:hover {
    opacity: 1 !important; }

@media screen and (max-width: 959px) and (orientation: portrait) {
  .inner {
    margin: 0; } }
@media screen and (min-width: 960px), (orientation: landscape) {
  .inner {
    margin: 0 15vw; } }

.body_container {
  position: relative;
  z-index: 1; }
  @media screen and (max-width: 959px) and (orientation: portrait) {
    .body_container {
      padding: 6.94444vw;
      padding-top: 0; } }

.site_header .header_text {
  display: block;
  max-width: 90%;
  margin: 0 auto 0; }
  @media screen and (max-width: 959px) and (orientation: portrait) {
    .site_header .header_text {
      width: 100%; } }
.site_header .mobile_nav_button {
  text-indent: -9999vw;
  display: block;
  width: 8vw;
  height: 8vw;
  position: fixed;
  top: 6.94444vw;
  right: 6.94444vw;
  background: transparent url(../images/hamburger.png) no-repeat center/cover;
  border: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
  z-index: 99; }
  @media screen and (min-width: 960px), (orientation: landscape) {
    .site_header .mobile_nav_button {
      display: none; } }
.site_header h1 {
  display: none; }

.site_nav {
  margin: 0 auto 2.77778vw; }
  .site_nav .inner {
    overflow: auto;
    padding-bottom: 1vw;
    padding-top: 2.77778vw; }
  .site_nav a {
    height: 2.5vw;
    display: block;
    float: left;
    opacity: 0.85; }
    .site_nav a:hover {
      opacity: 1; }
    .site_nav a.active {
      opacity: 1; }
    .site_nav a img {
      height: 2.65vw;
      width: auto; }
  @media screen and (max-width: 959px) and (orientation: portrait) {
    .site_nav {
      display: none; } }

.praise {
  text-align: center;
  margin-top: 2.77778vw; }
  .praise h1 {
    margin-bottom: 1.38889vw; }
  .praise .testimonial {
    margin-bottom: 4.16667vw; }
  .praise .quote_source {
    text-align: right;
    display: block;
    margin-top: 1.38889vw;
    font-size: 0.88889vw; }
    @media screen and (max-width: 959px) and (orientation: portrait) {
      .praise .quote_source {
        margin-top: 6.94444vw;
        font-size: 2.22222vw; } }
    .praise .quote_source a {
      opacity: 1; }

.intro {
  padding: 0 0 1vw;
  overflow: auto; }
  .intro .left_text {
    width: 43%;
    float: left;
    margin-right: .2vw; }
    @media screen and (max-width: 959px) and (orientation: portrait) {
      .intro .left_text {
        float: none;
        width: auto;
        margin: 0; } }
  .intro .image {
    float: left;
    width: 25%;
    text-align: center; }
    @media screen and (max-width: 959px) and (orientation: portrait) {
      .intro .image {
        float: none;
        width: auto;
        text-align: center;
        margin: 6.94444vw; } }
    .intro .image img {
      width: 65%; }
      @media screen and (max-width: 959px) and (orientation: portrait) {
        .intro .image img {
          width: 50%; } }
    .intro .image .japanese {
      font-size: 0.88889vw; }
      @media screen and (max-width: 959px) and (orientation: portrait) {
        .intro .image .japanese {
          font-size: 2.22222vw; } }
      .intro .image .japanese .jtxt {
        font-size: 1.52778vw;
        margin: 1.38889vw auto 0;
        display: block; }
        @media screen and (max-width: 959px) and (orientation: portrait) {
          .intro .image .japanese .jtxt {
            font-size: 3.81944vw;
            margin: 6.94444vw auto 0; } }
  .intro .right_text {
    float: right;
    width: 30%;
    font-style: italic; }
    .intro .right_text a {
      float: right;
      font-style: italic;
      color: white;
      opacity: 0.85;
      transform: translateY(-1vw);
      text-decoration: underline; }
      @media screen and (max-width: 959px) and (orientation: portrait) {
        .intro .right_text a {
          transform: translateY(-5vw); } }
      .intro .right_text a.image_link {
        clear: both;
        margin: 1.38889vw auto;
        float: none;
        display: block;
        transform: none;
        text-align: center;
        font-style: normal;
        text-decoration: none; }
        @media screen and (max-width: 959px) and (orientation: portrait) {
          .intro .right_text a.image_link {
            max-width: 75%;
            margin: 6.94444vw auto; } }
    .intro .right_text img {
      clear: both; }
    @media screen and (max-width: 959px) and (orientation: portrait) {
      .intro .right_text {
        float: none;
        width: auto; } }

footer {
  margin-top: 12.18889vw; }
  footer .footer_nav {
    float: left;
    margin-bottom: 1vw; }
    @media screen and (max-width: 959px) and (orientation: portrait) {
      footer .footer_nav {
        position: fixed;
        top: -100vh;
        left: 0;
        right: 0;
        background: #000014;
        width: 100%;
        height: 100vh;
        transition: top .15s;
        display: flex;
        flex-wrap: wrap; } }
    footer .footer_nav a {
      color: white;
      opacity: 0.8;
      transition: opacity .4s;
      text-decoration: none;
      display: inline-block;
      font-size: 0.66667vw; }
      footer .footer_nav a:not(:last-child) {
        margin-right: .5vw; }
        footer .footer_nav a:not(:last-child)::after {
          content: '|';
          padding-left: .5vw; }
      footer .footer_nav a:hover {
        opacity: 1; }
      @media screen and (max-width: 959px) and (orientation: portrait) {
        footer .footer_nav a {
          font-size: 4.16667vw;
          text-align: center;
          line-height: 1.2;
          padding: 3.47222vw;
          margin: 3.47222vw;
          display: block;
          width: 100%; }
          footer .footer_nav a:after {
            content: '' !important; } }
  footer p {
    float: right;
    font-size: 0.66667vw;
    opacity: 0.8;
    line-height: 3;
    margin-bottom: 1vw; }
    @media screen and (max-width: 959px) and (orientation: portrait) {
      footer p {
        font-size: 2.22222vw;
        line-height: 1.1;
        text-align: center; } }

.testimonial p {
  opacity: 0.8;
  color: #8b9095; }
  .testimonial p:before {
    content: '\201C';
    font-size: 3.33333vw;
    line-height: 0;
    color: #464646;
    vertical-align: middle; }
  .testimonial p:after {
    content: '\201D';
    font-size: 3.33333vw;
    line-height: 0;
    vertical-align: bottom;
    color: #464646; }
.homepage .content_area {
    padding-bottom: 1vw;
}
.subpage .content_area {
  overflow: auto;
  padding-bottom: 1vw; }
  .subpage .content_area h1 {
    margin-bottom: 1.38889vw; }
  .subpage .content_area section {
    float: left;
    width: 70%; }
    @media screen and (max-width: 959px) and (orientation: portrait) {
      .subpage .content_area section {
        float: none;
        width: auto; } }
  .subpage .content_area section.sidebar {
    float: right;
    width: 25%; }
    @media screen and (max-width: 959px) and (orientation: portrait) {
      .subpage .content_area section.sidebar {
        float: none;
        width: auto; } }
    .subpage .content_area section.sidebar a {
      margin: 2vw auto;
      text-align: center;
      display: block;
      opacity: 0.85; }
    @media screen and (max-width: 959px) and (orientation: portrait) {
      .subpage .content_area section.sidebar img {
        width: auto;
        margin-bottom: 6.94444vw; } }
  .subpage .content_area section.links {
    float: none;
    width: auto; }
  .subpage .content_area section.contact {
    float: none;
    width: auto; }
    .subpage .content_area section.contact img.hal_photo {
      float: left;
      margin-right: 3vw;
      margin-bottom: 8vw; }
    .subpage .content_area section.contact .follow_button {
      width: 20vw;
      float: left; }
      @media screen and (max-width: 959px) and (orientation: portrait) {
        .subpage .content_area section.contact .follow_button {
          margin: 0 auto;
          text-align: center;
          display: block;
          width: auto;
          float: none; } }
    .subpage .content_area section.contact .twitter_image {
      margin-left: 6vw; }
      @media screen and (max-width: 959px) and (orientation: portrait) {
        .subpage .content_area section.contact .twitter_image {
          margin: 0 auto;
          text-align: center;
          display: block; } }
    .subpage .content_area section.contact .smalltext {
      font-size: 0.88889vw;
      margin-bottom: 4.16667vw; }
      @media screen and (max-width: 959px) and (orientation: portrait) {
        .subpage .content_area section.contact .smalltext {
          font-size: 2.22222vw; } }

.follow_button {
  color: #fff;
  display: block;
  padding: 1vw;
  font-size: 0.88889vw;
  line-height: 1.1;
  text-align: center;
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#2fbff1+0,083b5d+100 */
  background: #2fbff1;
  /* Old browsers */
  background: -moz-linear-gradient(top, #2fbff1 0%, #083b5d 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #2fbff1 0%, #083b5d 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #2fbff1 0%, #083b5d 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2fbff1', endColorstr='#083b5d',GradientType=0 );
  /* IE6-9 */
  border-radius: 3px;
  text-decoration: none; }
  @media screen and (max-width: 959px) and (orientation: portrait) {
    .follow_button {
      font-size: 2.77778vw;
      padding: 3vw;
      max-width: 70vw; } }

.mobile_nav_open .footer_nav {
  top: 0; }

#google_translate_element {
  text-align: center; }

.goog-te-gadget .goog-te-combo {
  font-size: 1.25vw !important; }
  @media screen and (max-width: 959px) and (orientation: portrait) {
    .goog-te-gadget .goog-te-combo {
      font-size: 3.125vw !important; } }

.subpage .goog-te-gadget .goog-te-combo {
  font-size: 1.11111vw !important; }
  @media screen and (max-width: 959px) and (orientation: portrait) {
    .subpage .goog-te-gadget .goog-te-combo {
      font-size: 2.77778vw !important; } }

.book_title,
.movie_title {
  font-weight: 700;
  font-style: italic; }

hr {
  max-width: 60%;
  margin: 4.16667vw auto; }

.lightning {
  position: absolute;
  opacity: 0;
  background: transparent no-repeat center / contain;
  animation-name: lightning;
    animation-duration: 8s;
  animation-iteration-count: infinite;
  pointer-events: none; }
  .lightning.lightning_1 {
    background-image: url(../images/light1.png);
    width: 15vw;
    height: 21vw;
    left: 58vw;
    top: 4vw;
    animation-delay: .9s; }
  .lightning.lightning_4 {
    background-image: url(../images/light4.png);
    width: 25vw;
    height: 15vw;
    left: 75vw;
    top: 3vw;
    animation-delay: 2.5s;
    /* or: Xms */ }
  .lightning.lightning_5 {
    background-image: url(../images/light5.png);
    width: 24vw;
    height: 33vw;
    left: 20vw;
    top: 4vw;
    animation-delay: .5s;
    /* or: Xms */ }

@keyframes lightning {
  0% {
    opacity: 0; }
  1% {
    opacity: 1; }
  4% {
    opacity: 0; } }
.subpage_links .links a {
  opacity: 1; }

p.indent {
  margin-left: 5vw;
  margin-right: 5vw; }

form {
  margin-top: 2.77778vw; }
  form label {
    display: inline-block;
    width: 25vw;
    margin-right: 2vw;
    text-align: right;
    margin-bottom: 1.38889vw; }
  form input {
    display: inline-block;
    width: 40vw; }
  form button {
    margin: 1.38889vw 0 1.38889vw 27vw; }

.success {
  color: green; }

@media screen and (max-width: 959px) and (orientation: portrait) {
  section.praise {
    padding-bottom: 6.94444vw; } }

/*# sourceMappingURL=style.css.map */


.subpage_links .links a:hover {
	text-decoration: underline;
}

.subpage_suggested .content_area a{
    opacity: 1;
}

.subpage_contact footer{
    margin-top: 13.88889vw;
}

.praise .testimonial:last-of-type {
	margin-bottom: 0;
}
.praise .testimonial:last-of-type .quote_source{
	margin-bottom: 1.38889vw;
}

main {
    display: block;
    }


