/* Variables
////////////////////////// */

:root {
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  --background: #f9f9f9;
  --foreground: #5a5a6a;
  --background-alt: #efefef;
  --accent: #28d;
  --accent-foreground: #f9f9f9;
  --accent-alt: #f5ca5a;
  --link: #28d;
  --link-alt: #28d;
  --link-visited: #28d;
}


/* Basics
////////////////////////// */

html {
  height: 100%;
  font-size: 62.5%;
  font-family: var(--font);
  font-weight: 200; }

body {
  font-size: 1.5rem;
  line-height: 1.618;
  margin: auto;
  height: 100%;
  color: var(--foreground);
  background-color: var(--background); }

/* Extra small devices (portrait phones, less than 576px) */
@media (min-width: 575.98px) {
    body {
        font-size: 1.4rem;
    }
}

/* Small devices (landscape phones, less than 768px) */
@media (min-width: 767.98px) {
    body {
        font-size: 1.6rem;
    }
}

/* Medium devices (tablets, less than 992px) */
@media (min-width: 991.98px) {
    body {
        font-size: 1.7rem;
    }
}

/* Large devices (desktops, less than 1200px) */
@media (min-width: 1199.98px) {
    body {
        font-size: 1.8rem;
    }
}

hr {
    border: none;
    border-bottom: 1px solid var(--background-alt); }

/* Typography
////////////////////////// */

h1, h2, h3, h4, h5, h6 {
  line-height: 1.1;
  font-family: var(--font);
  font-weight: 200;
  margin: 1rem 0;
  overflow-wrap: break-word;
  word-wrap: break-word;
  -ms-word-break: break-all;
  word-break: break-word; }

h1 {
  font-size: 2.35em; }

h2 {
  font-size: 2.00em; }

h3 {
  font-size: 1.75em; }

h4 {
  font-size: 1.5em; }

h5 {
  font-size: 1.25em; }

h6 {
  font-size: 1em; }

p {
  margin-top: 0px; }

small, sub, sup {
  font-size: 75%; }

a {
  text-decoration: none;
  cursor: pointer;
  color: var(--link); }
  a:hover {
    color: var(--link-alt);
    border-bottom: 2px solid var(--link-alt); }
  a:visited {
    color: var(--link-visited); }

blockquote {
  margin-left: 0px;
  margin-right: 0px;
  padding-left: 1em;
  padding-top: 0.8em;
  padding-bottom: 0.8em;
  padding-right: 0.8em;
  border-left: 5px solid var(--accent);
  margin-bottom: 2.5rem;
  color: var(--foreground);
  background-color: var(--background-alt); }

blockquote p {
  margin-bottom: 0; }

q {
    background-color: var(--background-alt); }

pre {
  color: var(--foreground);
  background-color: var(--background-alt);
  display: block;
  padding: 1em;
  overflow-x: auto;
  margin-top: 0px;
  margin-bottom: 2.5rem; }

code {
  font-size: 0.9em;
  padding: 0 0.5em;
  color: var(--foreground);
  background-color: var(--background-alt);
  white-space: pre-wrap; }

pre > code {
  padding: 0;
  background-color: transparent;
  white-space: pre; }

strong {
    font-weight: 600; }

/* Data structures
////////////////////////// */

ul {
  list-style: none;
  padding-left: 0em;
  margin-top: 0px;
  margin-bottom: 2.5rem; }

li {
  margin-bottom: 1em; }

table {
  text-align: justify;
  width: 100%;
  border-collapse: collapse; }

table caption, table td, table th {
  padding: 0.5em;
  text-align: left;
  vertical-align: top;
  padding: 0.5em;
  border-bottom: 1px solid var(--background-alt); }
}

/* Media
////////////////////////// */

img, video {
  height: auto;
  max-width: 100%;
  margin-top: 0px;
  margin-bottom: 2.5rem; }


/* Form elements
////////////////////////// */

input, textarea {
  border: 1px solid var(--background-alt); }
  input:focus, textarea:focus {
    border: 1px solid var(--accent); }

textarea {
  width: 100%; }

button, input[type="submit"], input[type="reset"], input[type="button"] {
  margin: 0;
  display: inline-block;
  padding: 5px 10px;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  background-color: var(--accent);
  color: var(--accent-foreground);
/*  border-radius: 1px;
  border: 1px solid var(--accent);*/
  border: none;
  cursor: pointer;
  box-sizing: border-box; }
  button[disabled], input[type="submit"][disabled], input[type="reset"][disabled], input[type="button"][disabled] {
    cursor: default;
    opacity: .5; }
/*
    button:hover:enabled, input[type="submit"]:hover:enabled, input[type="reset"]:hover:enabled, input[type="button"]:hover:enabled {
    background-color: var(--accent-alt);
    border-color: var(--accent-alt);
    outline: 0; }
*/

textarea, select, input {
  color: var(--foreground);
  padding: 6px 10px;
  /* The 6px vertically centers text on FF, ignored by Webkit */
  margin: 5px 0;
  color: var(--foreground);
  background-color: var(--background-alt);
  border: 1px solid var(--background-alt);
  border-radius: 4px;
  box-shadow: none;
  box-sizing: border-box; }
  textarea:focus, select:focus, input:focus {
    border: 1px solid var(--accent);
    outline: 0; }

input[type="checkbox"]:focus {
  outline: 1px dotted var(--accent); }

/*
label, legend, fieldset {
  display: block;
  margin-bottom: .5rem;
  font-weight: 600; }*/
  /*label sub, label sup {
    color: var(--background-alt); }*/

