/* -------------------------------------------------------- */
/* VARIABLES */
/* -------------------------------------------------------- */

/* Variables are used like this: var(--text-color) */
:root {
  /* Background Colors: */
  --background-color: #000000;
  --content-background-color: #fafafafa;
  --sidebar-background-color: #fafafafa;

  /* Text Colors: */
  --text-color: #d9ceed;
  --sidebar-text-color: #d9ceed;
  --link-color: #6367e6;
  --link-color-hover: #ef00b7;

  /* Text: */
  --font: Arial, sans-serif;
  --heading-font: Georgia, serif;
  --font-size: 14px;

  /* Other Settings: */
  --margin: 30px;
  --padding: 20px;
  --border: none;
  --round-borders: 10px;
  --sidebar-width: 300px;
}

@font-face{
  font-family: 'main';
  src: url('/library/fonts/Coders-Crux.ttf') format('truetype');
}

@font-face{
    font-family:'tiny';
    src: url(https://cinni.net/fonts/Basiic%20Sans%2012pt.ttf);
}
@font-face{
    font-family:'bold';
    src: url(https://cinni.net/fonts/Basiic%20Sans%2018pt.ttf);
}
@font-face{
    font-family:'title';
    src: url('/library/fonts/VCRosdNEUE.ttf') format('truetype');
}

/* -------------------------------------------------------- */
/* BASICS */
/* -------------------------------------------------------- */

* {
  box-sizing: border-box;
}

body {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  min-height: 100vh;
  font-size: var(--font-size);
  margin: 0;
  padding: var(--margin);
  color: #d9ceed;
  font-family: MS PGothic;
  line-height: 1.2;
  background: #000000;
  background-image: url("/library/img/bg/kirby.png");
  background-repeat: repeat-x;
  background-position: left top;
  background-size: contain;
  background-attachment: fixed;
  overflow-x: hidden;
  
}

::selection {
  /* (Text highlighted by the user) */
  background: #6367e6;
}

mark {
  /* Text highlighted by using the <mark> element */
  text-shadow: 1px 1px 4px var(--link-color);
  background-color: inherit;
  color: var(--text-color);
}

/* Links: */
a {
  text-decoration: underline;
}

a,
a:visited {
  color: var(--link-color);
}

a:hover,
a:focus {
  color: var(--link-color-hover);
  text-decoration: none;
}

/* -------------------------------------------------------- */
/* LAYOUT */
/* -------------------------------------------------------- */

.layout {
  display: grid;
  overflow-y: auto;
  grid-template-areas: 
  'navBox main socials'
  'links main blank5'
  'blank3 main blank2' 
  'blank4 main blank1' 
  'footer footer footer';
  grid-template-columns: 200px 600px 280px;
  grid-template-rows: 125px 150px 100px 150px auto;
  grid-gap: 25px;
  /* Confused by the grid? Check out my tutorial: https://petrapixel.neocities.org/coding/positioning-tutorial#grid */
}

main {
  grid-area: main;
  overflow-y: hidden;
  padding: var(--padding);
  background: #272738;
  border: var(--border);
  border-radius: var(--round-borders);
}

/* -------------------------------------------------------- */
/* HEADER */
/* -------------------------------------------------------- */

header {
  grid-area: header;
  font-size: 1.2em;
  border: var(--border);
  border-radius: var(--round-borders);
  background: var(--content-background-color);
}

.header-content {
  padding: var(--padding);
}

.header-title {
  font-family: var(--heading-font);
  font-size: 1.5em;
  font-weight: bold;
}

.header-image img {
  width: 100%;
  height: auto;
}

/* -------------------------------------------------------- */
/* SIDEBARS */
/* -------------------------------------------------------- */

aside {
  grid-area: aside;
  border: var(--border);
  border-radius: var(--round-borders);
  overflow: hidden;
  background: var(--sidebar-background-color);
  padding: var(--padding);
  color: var(--sidebar-text-color);
}

.nav-box {
    grid-area: navBox;
    overflow-y: hidden;
    background: #272738;
}

.carrd-box {
    grid-area: carrd;
    overflow: auto;
    background: #272738;
}

.stamps-box {
  grid-area: stamps;
  overflow: auto;
  background: #272738;
}

.link-box {
  grid-area: links;
  overflow: auto;
  background: #272738;
}

.social-media {
  grid-area: socials;
  overflow: hidden;
  background: #272738;
}

.right-sidebar {
  grid-area: rightSidebar;
}

.sidebar-title {
  font-weight: var(--sidebar-title-weight);
  font-size: 1.5em;
  font-family: 'title';
}

.sns-title {
  font-weight: var(--sidebar-title-weight);
  font-size: 1.5em;
  font-family: 'title';
  margin-top: -5px;
  margin-bottom: 15px;
}

.sidebar-section:not(:last-child) {
  margin-bottom: 3em;
}

.sidebar-section ul,
.sidebar-section ol {
  padding-left: 1.5em;
}

.sidebar-section > *:not(p):not(ul):not(ol):not(blockquote) {
  margin-top: 5px;
}

.sidebar-stamps {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

.sidebar-stamps div {
  margin: -10px;
  text-align: center;  
}

.sidebar-stamps img {
  padding: 1px;
  width: 50%;
  height: auto;
}

.sidebar-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

.sidebar-buttons div {
  margin: -10px;
  text-align: center;  
}

.sidebar-buttons img {
  padding: 1px;
  width: 50%;
  height: auto;
}

/* Sidebar Blockquote: */

.sidebar-section blockquote {
  background: rgba(1, 1, 0, 0.25);
  padding: 15px;
  margin: 1em 0;
  border-radius: 10px;
  overflow: hidden;
}

.sidebar-section blockquote > *:first-child {
  margin-top: 0;
}

.sidebar-section blockquote > *:last-child {
  margin-bottom: 0;
}

/* Site Button: */

.site-button {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.site-button textarea {
  font-family: monospace;
  font-size: 0.7em;
}
  

/* -------------------------------------------------------- */
/* FOOTER */
/* -------------------------------------------------------- */

footer {
  grid-area: footer;
  border: var(--border);
  border-radius: var(--round-borders);
  overflow: hidden;
  font-size: 0.75em;
  padding: 15px;
  background: #272738;
  display: flex;
  justify-content: center;
}

footer a,
footer a:visited {
  color: var(--link-color);
}

footer a:hover,
footer a:focus {
  color: var(--link-color-hover);
}

/* -------------------------------------------------------- */
/* NAVIGATION */
/* -------------------------------------------------------- */

nav {
  margin-bottom: 0em;
}

nav .sidebar-title {
  margin-bottom: 0.25em;
}

nav ul {
  margin: 0 -5px;
  padding: 0;
  list-style: none;
  user-select: none;
  overflow: hidden;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

nav ul li {
  margin-bottom: 0;
  float: left;
}

nav > ul li > a,
nav > ul li > strong {
  display: inline-block;
}

nav > ul li > a,
nav > ul li > details summary,
nav > ul li > strong {
  padding: 1px 5px;
}

nav > ul li > a.active,
nav > ul li > details.active summary {
  font-weight: bold;
}

nav ul summary {
  cursor: pointer;
}

nav ul ul li > a {
  padding-left: 30px;
}



/* -------------------------------------------------------- */
/* CONTENT */
/* -------------------------------------------------------- */

main {
  line-height: 1.5;
}

main a,
main a:visited {
  color: var(--link-color);
}

main a:hover,
main a:focus {
  color: var(--link-color-hover);
  text-decoration-style: wavy;
}

main p,
main .image,
main .full-width-image,
main .two-columns {
  margin: 0.75em 0;
}

main ol,
main ul {
  margin: 0.5em 0;
  padding-left: 1.5em;
}

main ol li,
main ul li {
  margin-bottom: 0.2em;
  line-height: 1.3;
}

main ol {
  padding-left: 2em;
}

main blockquote {
  background: rgba(1, 1, 0, 0.25);
  padding: 15px;
  margin: 1em 0;
  border-radius: 10px;
}

main pre {
  margin: 1em 0 1.5em;
}

main code {
  text-transform: none;
}

main center {
  margin: 1em 0;
  padding: 0 1em;
}

main hr {
  border: 0;
  border-top: var(--border);
  margin: 1.5em 0;
}

/* HEADINGS: */

main h1,
main h2,
main h3,
main h4,
main h5,
main h6 {
  font-family: 'title';
  margin-bottom: 0;
  line-height: 1.5;
}

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

main h1 {
  font-size: 1.5em;
}

main h2 {
  font-size: 1.4em;
}

main h3 {
  font-size: 1.3em;
}

main h4 {
  font-size: 1.2em;
}

main h5 {
  font-size: 1.1em;
}

main h6 {
  font-size: 1em;
}

/* COLUMNS: */

.two-columns {
  display: flex;
}

.two-columns > * {
  flex: 1 1 0;
  margin: 0;
}

.two-columns > *:first-child {
  padding-right: 0.75em;
}

.two-columns > *:last-child {
  padding-left: 0.75em;
}

/* -------------------------------------------------------- */
/* CONTENT IMAGES */
/* -------------------------------------------------------- */

.image {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
}

.full-width-image {
  display: block;
  width: 100%;
  height: auto;
}

.images {
  display: flex;
  width: calc(100% + 5px + 5px);
  margin-left: -5px;
  margin-right: -5px;
}

.images img {
  width: 100%;
  height: auto;
  padding: 5px;
  margin: 0;
  overflow: hidden;
}

/* gallery */

.gallery { /* this is the main div that wraps your gallery */
  display:flex;
  flex-wrap:wrap;
  width:800px; /* this can be modified to make the gallery wider */
}

.gallery img {
  width:200px; /* this sets the width for every image */
  height:150px; /* this sets the height for every image. Try setting it to 'auto' and see how it looks weird since every image has a slightly different height? */
  object-fit:cover; /* this crops the image so they are all the same size. This might be an issue if you have landscape AND portrait images. Feel free to take this property out temporarily to see exactly what it does! */
  
}

/* this is the div which CROPS every image */
.gallery > div {
  width:200px; /* this should match the image height */
  height:150px; /* this should match the image width */
  margin-right:10px; /* this controls the gaps between the images */
  margin-bottom:10px; /* this controls the gaps between the images */
}

/* this resizes the image on hover. note that objects in 'portrait'  */
.gallery img:hover {
  transform:scale(2.5); /* this scales up the image when you hover over it */
  object-fit:contain; /* this keeps the aspect ratio of the original images*/
}

/* -------------------------------------------------------- */
/* ACCESSIBILITY */
/* -------------------------------------------------------- */

/* please do not remove this. */

#skip-to-content-link {
  position: fixed;
  top: 0;
  left: 0;
  display: inline-block;
  padding: 0.375rem 0.75rem;
  line-height: 1;
  font-size: 1.25rem;
  background-color: var(--content-background-color);
  color: var(--text-color);
  transform: translateY(-3rem);
  transition: transform 0.1s ease-in;
  z-index: 99999999999;
}

#skip-to-content-link:focus,
#skip-to-content-link:focus-within {
  transform: translateY(0);
}

/* -------------------------------------------------------- */
/* MOBILE RESPONSIVE */
/* -------------------------------------------------------- */

/* CSS Code for devices < 800px */
@media (max-width: 800px) {
  body {
    font-size: 14px;
    background-attachment: fixed;
  }

  .layout {
    width: 100%;
    grid-template: "header"  "navBox" "carrd" "socials" "footer" "stamps" "main" "links" / 1fr;
    /* Confused by the grid? Check out my tutorial: https://petrapixel.neocities.org/coding/positioning-tutorial#grid */
  }

  
  .right-sidebar { 
    display: none;
  }

  aside {
    overflow: hidden;
    border-bottom: 1px solid;
    padding: 9px;
    font-size: 0.9em;
  }

  
  nav {
    padding: 0;
  }

  nav > ul {
    padding-top: 0.5em;
  }

  nav > ul li > a,
  nav > ul li > details summary,
  nav > ul li > strong {
    padding: 0.5em;
  }

  main {
    display: none;
  }
  
  .stamps-box {
    display: none;
  }
  
  .link-box {
   display:none; 
  }

  .images {
    flex-wrap: wrap;
  }

  .images img {
    width: 100%;
  }

  #skip-to-content-link {
    font-size: 1rem;
  }
}