@import 'typography.css';

/* :root variables */
:root {
  --margin: 0 0;
}

body { padding: 0 }

#badges {
  padding: 0;
  margin-top: -1em;
  text-align: center
}

#badges img {
  width: auto;
  height: 0.9rem;
  margin: 0.6em 0.2em 0
}

#badges a:link {
  margin: 0;
  height: 1rem;
  border-bottom: none;
  text-decoration: none
}

body > aside
  { padding-bottom: 30vh }

body > nav {
  text-align: left;
  color: rgba(0,0,0,0.7);
  background: var(--lightest-color);
}

body > nav code {
  margin: 0;
  font-size: 0.95em;
  background: rgba(20,20,20,0.1);
}

body > nav a:link,
body > aside a:link
  { border-bottom: none }

body > aside header,
body > nav header
  { text-align: center }

body > nav a:link,
body > aside a:link
  { font-size: 85% }

body > nav header,
body > aside header
  { margin-top: 1em }

body > nav li,
body > aside li
  { list-style: none }

body > nav li a,
body > aside li a {
  margin-left: 1.7em;
  display: inline-block
}

body > nav details li a { margin-left: 2em }

body > nav summary a { margin-left: 0em }

body > nav summary,
body > aside summary {
  cursor: pointer;
  margin-left: 0.3em
}


[view] { display: block }

[view]:not(:target) {
  height: 82vh;
  display: none;
}

body > main h1 { text-align: center }

body > aside {
  text-align: left;
  background: rgba(20,20,20,0.8)
}

body > footer {
  z-index: 1;
  height: 17vh;
  width: 100vw;
  display: flex;
  margin-bottom: 0;
  padding-bottom: 3vh;
  align-items: flex-end;
  justify-content: center;
  color: rgba(230,230,230,0.4);
  background:
    linear-gradient(
      to bottom,
      rgba(59,59,59,0),
      rgba(59,59,59,1),
      rgba(59,59,59,1)
    );
}

body > footer em { font-size: 0.8em }

header-group {
  z-index: 2; /* less than github-ribbon */
  display: flex;
  background: rgba(100,100,100,1.0);
  line-height: 1.612em;
  margin-bottom: 1.612em;
}

header-group hgroup {
  text-align: center;
}
header-group h1, header-group h2
  { display: inline-block }

header-group h1 a:link {
  text-decoration: none;
  border: none
}

header-group a span {
  opacity: 0.60;
  font-size: 90%
}


.center
  { text-align: center }

section[view] {
  text-align: center; font-size: 60%
}

section[view] h1 {
  font-size: 2em;
  margin: 1.612em 0;
  letter-spacing: 0.05em;
  text-shadow: 1px 0px 5px rgba(10, 10, 10, 0.8);
}

pre, code {
  border-radius: 0.7em;
  background: rgb(30,30,30);
}

code {
  margin: 0 0.5em;
  padding: 0 0.5em;
}

pre {
  overflow: scroll;
  text-align: center;
  margin: 0 6em 1.612em;
}

section#installation pre em.comment
  { color: rgba(255,255,255,0.4) }


#lifecycle
  { margin-bottom: 7em; height: auto }

#lifecycle dl
  { margin: 0 1em }

#lifecycle dt {
  text-align: left;
  font-size: 1.612em;
  margin: 0 1.612em 0.612em;
  color: rgba(255,255,255,1.0);
  text-shadow: 1px 0px 5px rgba(10, 10, 10, 0.8);
}
#lifecycle dt:first-letter {
  font-size: 1.612em;
  color: rgba(255,255,255,0.4);
}

#lifecycle dt em
  { font-size: 80% }

#lifecycle dd {
  font-size: 1em;
  text-align: left;
  letter-spacing: 0;
  line-height: 1.612em;
  margin: 0 1em 2.612em 3.6em;
}

/* HOLY GRAIL */
body { display: flex; flex-flow: column }
body > main, body > aside { flex: 1 }

@media (orientation: landscape) {
  body         { flex-flow: row wrap }
  body > main  { margin-left: 20vw; flex-basis: 53vw }
  body > aside { flex-basis: 25vw }
  body > nav   {
    top: 0;
    left: 0;
    width: 20vw;
    height: 100vh;
    position: fixed;
    overflow: scroll;
  }
  body > nav:before {
    display: block;
    content: 'ッ';
    font-size: 18vh;
    font-weight: bold;
    text-align: center;
    color: transparent;
    line-height: 18vh; height: 18vh; /* header-group height */
    background-color: #565656;
    color: transparent;
    text-shadow: 0px 2px 3px rgba(255,255,255,0.5);
    -webkit-background-clip: text;
       -moz-background-clip: text;
            background-clip: text;
  }
  body > main,
  body > nav,
  body > aside
    { min-height: 60vh; margin-bottom: 0 }

  body > header-group
    { margin-bottom: 0; height: 18vh }

  body > header-group, body > footer
    { flex-basis: 100vw }

  body > nav,
  body > main
  { padding-bottom: 10vh }

  body > aside, body > nav
    { z-index: 1 }

  body > footer {
    z-index: 0;
    font-size: 70%;
    letter-spacing: 0px;
  }
}

  body > footer {
    left: 0;
    bottom: 0;
    position: fixed;
  }

@media screen (min-width: 786px) { }

@media (min-width:1300px) { }
