* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: Arial, tahoma, verdana, sans-serif;
}

body {
  /*background: #fcfdfc url(https://itinerae.neocities.org/bgs/lightgrid.gif);*/
  display: grid;
  grid-template-rows: auto 1fr auto;
  grid-template-columns: 1fr 4fr;
  min-height: 100vh;
  gap: 10px;

  background-color: var(--main-bg-colour);
  padding: 20px;
  font-size: 11px;
  color: var(--body-text);
  letter-spacing: 1px;
  line-height: 1.2;

  max-width: 1200px;
  margin: 0 auto;
  overflow: hidden;
}

header {
  grid-row: 1;
  grid-column: 1 / -1;
}

.header {
  overflow: hidden;
  padding: 30px 10px 30px;
  
  text-align: center;
  box-shadow: inset var(--box-border-pixel-size) var(--box-border-pixel-size) var(--box-border-colour-light), var(--box-border-pixel-size) var(--box-border-pixel-size) var(--box-border-colour-dark);
  border-radius: var(--box-corner-curvature);
  
  background:linear-gradient(rgba(255, 255, 255, 0), rgba(248, 251, 248, 0.85));
  background-image: url(/images/Banner/Firewatch.png);
  background-blend-mode: lighten;
  background-repeat: no-repeat;
  background-position-y: 28%;
  background-size: cover;
  background-position-x: center;
}

.header::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, rgba(255, 255, 255, 0.3), transparent 70%);
  pointer-events: none;
}

.header-inner {
  position: relative;
  z-index: 2;
}

.icon {
  opacity: 1;
}

.aside {
  grid-row: 2;
  grid-column: 1;
  align-self: start;

  overflow-y: auto;
  overflow-x: hidden;
  height: 70vh;
  max-width: 250px;
  padding: 5px;
  
  background: var(--box-bg-colour);
  box-shadow: inset var(--box-border-pixel-size) var(--box-border-pixel-size) var(--box-border-colour-light), var(--box-border-pixel-size) var(--box-border-pixel-size) var(--box-border-colour-dark);
  text-align: center;
}

.aside > div {
  margin-bottom: 10px;
  border-bottom: 1px dashed #000;
}

.aside > div:last-child {
  border-bottom: none;
}

.container {
  grid-row: 2;
  grid-column: 2;
  /*max-width: 70%;
  margin-left: auto;*/

  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 2fr;
  gap: 10px;
  padding: 10px;
  overflow-y: auto;
  overflow-x: hidden;
  height: 70vh;
  background: var(--box-bg-colour);
  box-shadow: inset var(--box-border-pixel-size) var(--box-border-pixel-size) var(--box-border-colour-light), var(--box-border-pixel-size) var(--box-border-pixel-size) var(--box-border-colour-dark);
}

footer {
  grid-row: 3;
  grid-column: 1 / -1;
}

.footer {
  padding: 8px;
  text-align: center;
  color: var(--body-text);
}

a { color: var(--link-text); text-decoration: underline; }
a:hover { color: var(--link-hover); }



/* Navigation area*/

.navi {
  display: grid;
  width: 100%;

  gap: 10px;
  padding: 10px;
  
  background: var(--box-bg-colour);
}

.navi a {
  display:flex;
  padding: 3px 5px;
  margin: 2px 0;
  gap: 5px;
  text-align: center;
  color: var(--link-text);
  background: var(--box-bg-colour);
  border-radius: var(--box-corner-curvature);
  transition: 0.4s ease;
  font: italic 13px georgia, serif;

  box-shadow: inset var(--box-border-pixel-size) var(--box-border-pixel-size) var(--box-border-colour-light), var(--box-border-pixel-size) var(--box-border-pixel-size) var(--box-border-colour-dark) ;
}

.navi a:hover {
  color: var(--link-hover);
  background: var(--box-bg-colour);
  transform: translateX(2px);
}







/*Grid layouts for different in-container sections*/

.intro {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 8px;
}

.top {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.main {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.largebox {
  display: grid;
  grid-column: span 1;
  gap: 8px;

  background: var(--box-bg-colour);
  border: 1px dashed #000000
}

.note,
.now,
.box,
.largebox,
.buttons-blinkies-stamps {
  padding: 8px;
  border-radius: 4px;
}

.note,
.box,
.now {
  background: var(--box-bg-colour);
  border: 1px dashed #000000;
}

.soft {
  background: var(--box-bg-colour);
}

.row {
  padding: 2px 0;
  border-bottom: 1px dotted #ffffff;
}

.row:last-child {
  border-bottom: none;
}

.buttons-blinkies-stamps {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto;
  max-width: 100%;
  gap: 8px;
}



/* Titling */

.site-name {
  margin-bottom: 4px;
  color: var(--body-text);
  letter-spacing: 2px;
  text-shadow: 0 1px 3px rgba(255, 255, 255, 0.8);
  font: italic 19px georgia, serif;
}

.title {
  margin-bottom: 6px;
  color: var(--body-text);
  font: italic 14px georgia, serif;
}

.sub-title {
  color: var(--body-text);
  letter-spacing: 2px;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.7);
  font-size: 10px;
}





/* Lists: */
/* List with borders */
.list {
  list-style: none;
}

.list li {
  padding: 2px 0;
  border-bottom: 1px dotted #fff;
}

.list li::before {
  content: "✮";
  color: #000000;
  margin-right: 3px;
}

.list li:last-child {
  border-bottom: none;
}

/* List without borders */
.list-noborder {
  list-style: none;
}

.list-noborder li {
  padding: 2px 0;
}

.list-noborder li::before {
  content: "✮";
  color: #000;
  margin-right: 3px;
}


/* List for quotes */
.list-quotes {
  list-style: none;
}

.list-quotes li {
  padding: 2px 0;
  border-bottom: 1px dotted #fff;
}

.list-quotes li::before {
  content: "🗨";
  color: #000;
}

.list-quotes li:last-child {
  border-bottom: none;
}


/* Dotted list */
.dot-list {
  list-style:none;
}

.dot-list li {
  padding: 2px 0;
}

.dot-list li::before {
  content: "• ";
  color: #000;
}




.full {
  grid-column: span 2;
}

.quote {
  padding: 12px 10px;
  text-align: center;
  color: var(--body-text);
  background: var(--box-bg-colour);
  border: 1px dashed #000000;
  font: italic 13px georgia, serif;
}

.centered-image {
  display: block; 
  margin: 0 auto;
}

.caption {
  margin-top: 4px;
  text-align: center;
  color: var(--body-text);
  font-size: 10px;
}



/* Scrollbars */

::-webkit-scrollbar {
  width: 20px; height: 20px;
}

::-webkit-scrollbar-track {
  background: #e0e0e0;
  box-shadow: inset var(--box-border-pixel-size) var(--box-border-pixel-size) #fff, var(--box-border-pixel-size) var(--box-border-pixel-size) #000;

}

::-webkit-scrollbar-thumb {
  background: var(--box-bg-colour);
  box-shadow: inset var(--box-border-pixel-size) var(--box-border-pixel-size) var(--box-border-colour-light), var(--box-border-pixel-size) var(--box-border-pixel-size) var(--box-border-colour-dark) ;
}

::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

.quoteAttribute{
  margin-top: 5px;
  text-align: right;
}



.marquee { 
  display: flex;
  gap: 10px;

  white-space: nowrap;
  overflow: hidden;
  width: 100%;

  min-width: min-content;

  animation: scroll 30s linear infinite;
}

.marquee a {
  display: inline-flex;
  flex-shrink: 0;
}

.marquee:hover { 
  animation-play-state: paused; 
}

@keyframes scroll { from { transform: translateX(100%); } to { transform: translateX(calc(-10%)); } }



@media (max-width: 768px) {
  body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    overflow-y: auto;
  }

  header {
    order: 1;
  }

  aside{
    display: grid;
  }

  .aside {
    order: 2;
    height: auto;
    max-height: 20vh;
    max-width: none;
    width: 100%
  }

  .container {
    order: 3;
    height: auto;
    max-height: 70vh;
  }

  footer {
    order: 4;
    margin-top: auto;
  }
  
  .navi {
    grid-template-columns: repeat(2, 1fr);
  }

  .intro,
  .top,
  .main {
    grid-template-columns: 1fr;
  }

  .full {
    grid-column: span 1;
  }
}