/* Grid layout for the home page — PicoCSS v2 dropped the .grid class from v1 bootstrap-grid addon */
.grid {
 display: grid;
 gap: 1rem;
 align-items: start;
}

/* Modified so that the grid with the logo doesn't squish the logo, but also is offset so the logo isn't too big
 https://github.com/picocss/examples/blob/master/v1-bootstrap-grid/css/pico-bootstrap-grid.css */
#offset-grid {
 display: grid;
 gap: 1rem;
 align-items: start;
}

@media (min-width: 560px) {
 #offset-grid {
   grid-template-columns: minmax(192px, 1fr) 4fr;
 }
}

#offset-grid > * {
 grid-template-columns: 1fr;
}

/* Two-column layout for Source Code / Implementation and Details sections */
@media (min-width: 768px) {
 #offset-grid .grid,
 div > .grid {
   grid-template-columns: 1fr 1fr;
 }
}

/* Basic border to make the nav area more visible */
.nav-border {
  border-style: outset;
  border-width: 2px;
  border-color: #bababa;
  border-radius: 12px;
  margin-left: 6px;
}

/* Border for broader areas */
.expandable-border {
  border-style: solid dashed solid dashed;
  border-width: 2px;
  border-color: #494b52;
  border-radius: 6px;
  padding: 3px 6px 3px 6px;
}

.video-insert {
  background-size: cover;
  overflow: hidden;
}

/* Project CSS */
.tag-games {
  border-style: solid;
  border-width: 2px;
  border-color: #bababa;
  color: #000;
  border-radius: 6px;
  margin: 3px;
  padding: 3px;

  background: lightgreen;
}

.tag-simulation {
  border-style: solid;
  border-width: 2px;
  border-color: #bababa;
  color: #000;
  border-radius: 6px;
  margin: 3px;
  padding: 3px;

  background: magenta;
}

.tag-software {
  border-style: solid;
  border-width: 2px;
  border-color: #bababa;
  color: #000;
  border-radius: 6px;
  margin: 3px;
  padding: 3px;

  background: lightblue;
}

.tag-lasermill {
  border-style: solid;
  border-width: 2px;
  border-color: #bababa;
  color: #000;
  border-radius: 6px;
  margin: 3px;
  padding: 3px;

  background: lightcoral;
}

.tag-printer {
  border-style: solid;
  border-width: 2px;
  border-color: #bababa;
  color: #000;
  border-radius: 6px;
  margin: 3px;
  padding: 3px;

  background: chartreuse;
}

.tag-electronics {
  border-style: solid;
  border-width: 2px;
  border-color: #bababa;
  color: #000;
  border-radius: 6px;
  margin: 3px;
  padding: 3px;

  background: olivedrab;
}

.tag-hardware {
  border-style: solid;
  border-width: 2px;
  border-color: #bababa;
  color: #000;
  border-radius: 6px;
  margin: 3px;
  padding: 3px;

  background: darkorange;
}

.tag-mobile {
  border-style: solid;
  border-width: 2px;
  border-color: #bababa;
  color: #000;
  border-radius: 6px;
  margin: 3px;
  padding: 3px;

  background-color: lightgray;
}

.no-grid-wrap {
  grid-template-columns: repeat(auto-fit, minmax(0%, 1fr));
}

@media (min-width: 768px) {
  .fit-content {
      grid-template-columns: repeat(auto-fit, minmax(0%, max-content));
  }
}

.max-content-height {
  grid-template-rows: max-content auto;
}

.project-image-card {
  width: 352px;  /* 320 px + 2x16px borders = 352px; */
  display: inline-block; /* For auto-wrapping */
}

.github-overlay {
  position: absolute;
  top: -147px;
  left: 0;
  width: 100%;
  height: 320px;
  padding: 0px;
  opacity: 0.7;
  z-index: 1;
  object-fit: cover;
}

/* TODO move to a project-specific CSS file */
.markdown-body {
  box-sizing: border-box;
  min-width: 200px;
  max-width: 980px;
  margin: 0 auto;
  padding: 45px;
}

@media (max-width: 767px) {
  .markdown-body {
    padding: 15px;
  }
}

[data-theme=light]
:not([data-theme=dark])
.markdown-background {
  background-color: #EEE;
}

:not([data-theme=light])
.markdown-background {
  background-color: #000;
}

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

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

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

.relative-position {
  position: relative;
}

.no-space {
  margin: 0px;
  padding: 0px;
}

.circle-bullet {
  list-style-type: circle;
}

.github-readme-box {
  border: 1px solid #d0d7de;
  border-radius: 6px;
  padding: 16px;
  margin: 16px 0;
}

.github-readme-box .markdown-body {
  padding: 0;
  font-size: 0.9em;
}
