/* This CSS is designed to make simple sites that easily use a 4-color palette.
Just replace the colors in the variables for another color scheme. */
/* Moonlight GB: https://lospec.com/palette-list/moonlight-gb */

/* VARIABLES ================================================================ */
/* you don't really have to mess with anything but this section
  unless you want to customize the CSS extensively */

:root {

  /* COLORS: all colors will be one of these four: */

  --bg: #f0f6e8; /* background color */
  --font: #6461c2; /* main font color & link hover background color*/
  --clr-a: #009275; /* third color - heading, unvisited link background, and "a" classes color 93d4b5*/
  --clr-b: #0688ac; /* fourth color - horizontal rule, visited link background, and "b" classes color */

  /* OTHER */

  --font-face: 'Inconsolata', monospace;
  --width: 800px; /* max width of your site */
}


/* BASICS ================================================================ */
html {margin: 0;}

body {
  background-color: var(--bg);
  color: var(--font);
  background-attachment: fixed;

  font-family: var(--font-face);
  line-height: 1.5em;

  padding: 70px;
  margin: 0;
}

strong {color: var(--clr-a);}

hr {
  border: 1px solid var(--clr-b);
  margin: 30px auto 30px auto;
}

/* it's just my personal preference to have more separation in lists */
li {margin-bottom: 15px;}

img {max-width: var(--width);}

pre {
  font-family: var(--font-face);
  display: block;
  line-height: 1em;

  max-width: var(--width);
  overflow: hidden;
}

th, td {
  border: 1px solid var(--clr-b);
  border-radius: 10px;
  padding-top: 10px;
  padding-bottom: 20px;
  padding-left: 30px;
  padding-right: 40px;
}

/* These are the classes that center the page's content and determine the content's width */
.flexbox {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;

  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

.container {
  width: var(--width);
  height: 100%;
  margin: 0;
  padding: 30px;

  background-color: var(--bg);
}
.header {
  padding: 60px;
}


/* LINKS ================================================================ */

a:link {color: var(--clr-a);}

a:visited {color: var(--clr-b);}

a:hover {
  background-color: var(--clr-a);
  color: var(--bg);
}

/* HEADINGS ================================================================ */

h1, h2, h3, h4 {text-align: center; color: var(--clr-a);}

/* the top two headings have a large width so that changes to their
background color become ways to section off parts of a page*/
h1 {width: 100%;}
h2 {width: 100%;}

/* COLOR CLASSES ================================================================ */

::-webkit-scrollbar {width: 15px;}

::-webkit-scrollbar-track {background: var(--clr-b);}

::-webkit-scrollbar-thumb {
  background: var(--clr-a);
  border: 3px solid var(--clr-b);
}

/* COLOR CLASSES ================================================================ */

/* for text */
.a {color: var(--clr-a);}
.b {color: var(--clr-b);}
.font {color: var(--font);}
.bg-font {color: var(--bg);}

/* for backgrounds */
.a-bg {background-color: var(--clr-a);}
.b-bg {background-color: var(--clr-b);}
.font-bg {background-color: var(--font);}

/* for borders. can also change hr. */
.font-border {border-color: var(--font);}
.a-border {border-color: var(--clr-a);}
.b-border {border-color: var(--clr-b);}

.dashed-border {border-style: dashed;}
.dotted-border {border-style: dotted;}

/* make a box */
.box {
  padding: 15px;
  margin: 15px;
  border: 2px solid var(--font);
}


/* TEXT POSITIONING CLASSES ================================================================ */

.center-text {text-align: center;}
.left-text {text-align: left;}
.right-text {text-align: right;}

.no-margin {margin: 0;}

/* OPTIONAL: GALLERY AND FLEXBOX POSITIONING CLASSES ====================================*/

.gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  justify-content: center;
  align-items: center;

  width: 100%;
  margin: 0;
  padding: 0;
}

.justify-content-start {justify-content: flex-start;}
.justify-content-end {justify-content: flex-end;}
.justify-content-around {justify-content: space-around;}
.justify-content-between {justify-content: space-between;}

.align-items-start {align-items: flex-start;}
.align-items-end {align-items: flex-end;}

.align-self-start {align-self: flex-start;}
.align-self-end {align-self: flex-end;}
/* end optional flexbox stuff */

/* CHATTABLE STUFF ====================================================================== */

top_banner {display: none;}

/* MOBILE COMPATIBILITY ================================================================ */

@media only screen and (max-width: 768px) and (orientation: portrait) {
  .container {width: 100%;}
  img {max-width: 400px;}
  pre {max-width: 400px; overflow-x: scroll; border: 2px solid var(--font);}
}

/* Sidebars And MOBILE ================================================================== */

.wrapper {
  display: flex;
  flex-flow: row wrap;
/*  padding-left: 60px; */
}

/* We tell all items to be 100% width, via flex-basis */
.wrapper > * {
  flex: 1 100%;
/*  padding-left: 60px; */
}

/* We rely on source order for mobile-first approach
 * in this case:
 * 1. header
 * 2. article
 * 3. aside 1
 * 4. aside 2
 * 5. footer
 */

/* Medium screens */
@media all and (min-width: 600px) {
  /* We tell both sidebars to share a row */
  .aside { flex: 1 auto; }
}

/* Large screens */
@media all and (min-width: 800px) {
  /* We invert order of first sidebar and main
   * And tell the main element to take twice as much width as the other two sidebars
   */
  .main { flex: 3 0px; }
  .aside-1 { order: 1; padding-left: 60px}
  .main    { order: 2; padding-left: 20px; padding-right: 20px}
  .aside-2 { order: 3; padding-left: 60px; max-width: 350px}
  .footer  { order: 4; }
}
