/*
 * Cascading style sheet for Chrysoberyl
 * (c)2012-2023 Chris Pressey, Cat's Eye Technologies.  All rights reserved.
 */

/* --- META --- */
@-ms-viewport{
    width: extend-to-zoom;
    zoom: 1.0;
}

/* --- ELEMENTS --- */
/* --- underlying page */
html {
  margin: 0;
  padding: 0;
  height: 100%;
}
body {
  background-color: white;
  background-image: url(https://static.catseye.tc/images/backgrounds/sinewhite.png);
  color: black;
  font-size: 100%;
  margin: 0;
  height: 100%;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
}
body a:link {
  color: #128051;
}
body a:visited {
  color: #1A5E41;
}
body a:active {
  color: #00c490
}

/* --- header */
header {
  padding: 1em;
  padding-top: 0.5em;
  padding-bottom: 2px;
  background-color: black;
  background-image: url(https://static.catseye.tc/images/backgrounds/sineblack.png);
  color: #B1D9B1;
  /* line-height is explicitly given, b/c some gewgaws set all their
     parents' line-heights to 0, incl. body, and we don't want to inherit */
  line-height: 20px;
}
header hgroup h1 {
  font-size: 250%;
  margin-bottom: 16px;
}
header button img {
  vertical-align: middle;
}
header a:link {
  color: #53a783;
}
header a:visited {
  color: #ccb464;
}
header a:active {
  color: #0cd490;
}
nav p {
  margin-top: 0;
}

/* --- article area */

.pageboundary {   /* for the keep-footer-to-bottom trick */
  min-height: 100%;
  position: relative;
}

article {
  margin: 1em;
  padding-bottom: 3em;     /* height of the footer */
}

/* --- footer */

footer {
  text-align: right;
  margin: 0;

  position: absolute;
  bottom: 0;
  width: 100%;
  height: 3em;             /* height of the footer */
}
footer p {
  margin: 0;
  margin-right: 0.5em;
}

/* --- global usage of elements */

blockquote {
  border-left: 8px solid #888888;
}
blockquote p {
  font-size: 100%;
  font-style: italic;
  text-align: left;
}

code {
  color: #4c6a50;
}

textarea {
  font-family: "Lucida Console", Console, monospace;
  width: 100%;
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
}

select {
  margin-bottom: 0;
  width: auto;  /* not 220px, thanks, bootstrap */
}

input[type="checkbox"] {
  margin: 4px 2px 4px 0px;
}

label {
  display: inline;
  margin-right: 1em;
}

/* --- elements within article (nominally semantic Feedmark) */

article h2 {
  margin-top: 1em;
  margin-bottom: 0;
}
article h3 {
  margin-top: 1em;
  margin-bottom: 8px;
  border: none;
  border-bottom: 1px solid black;
}
article h3 a {
  color: black;
  text-decoration: none;
}
article h3 a:link {
  color: black;
  text-decoration: none;
}
article h3 a:visited {
  color: black;
  text-decoration: none;
}
article h3 a:hover {
  background-color: gainsboro;
  text-decoration: none;
}
article h3 a:active {
  background-color: black;
  color: white;
  text-decoration: none;
}
article pre {
  background-color: #f0f0f0;
  white-space: pre;
  overflow: auto;
  overflow-wrap: normal;
  word-wrap: normal;
  word-break: normal;
}
article pre code {
  white-space: pre;
  overflow: auto;
  overflow-wrap: normal;
  word-wrap: normal;
  word-break: normal;
}


/* --- CLASSES --- */
.external {
  white-space: nowrap;
}
.external:before {
  content: url(https://static.catseye.tc/images/icons/webicon.gif);
  padding-right: 2px;
  vertical-align: top
}

.rss {
  white-space: nowrap;
}
.rss:before {
  content: url(https://static.catseye.tc/images/icons/feedicon.gif);
  padding-right: 2px;
  vertical-align: top
}

.illustration {
  float: right;
  margin-left: 10px;
}

@media screen and (max-width: 420px) {
  .illustration {
    display: none;
  }
}

@media screen and (max-width: 640px) {
  .illustration {
    width: 200px;
  }
}

.button {
  white-space: nowrap;
  background: #a0a0a0;
  border-left: 1px solid white;
  border-top: 1px solid white;
  border-right: 1px solid #303030;
  border-bottom: 1px solid #303030;
  padding: 0.5em;
  margin-left: 0.5em;
}
.button:hover {
  background: #c0c0c0;
}
.button:link {
  color: #0000ff;
}
.button:visited {
  color: #600000;
}
.button:active {
  color: #ffe0ff;
}

/* --- END the base styling --- */

/* MOBILE */

@media screen and (max-width: 420px) {
  header h1 {
    font-size: 26px;
    line-height: 36px;
    margin-bottom: 5px;
    font-weight: 900;
  }
  header p {
    line-height: 10px;
  }
  header button b {
    display: none;
  }
  .external {
    white-space: normal;
  }
}

/* PRINT */

@media print {
  body {
    color: #000;
    background: #fff;
    font-size: 12px;
  }
  header {
    color: #000;
    background: #fff;
  }
}
