@import url("https://fonts.googleapis.com/css2?family=Pixelify+Sans:wght@400..700&display=swap");
.scanlines {
  position: relative;
  overflow: hidden;
}
.scanlines:before, .scanlines:after {
  display: block;
  pointer-events: none;
  content: "";
  position: absolute;
}
.scanlines:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0.3vmin;
  z-index: 2147483649;
  opacity: 0.75;
}
.scanlines:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2147483648;
}

.screen.scanlines:before {
  background: rgba(0, 0, 0, 0.05);
}
.screen.scanlines:after {
  background: linear-gradient(to bottom, transparent 50%, rgba(0, 0, 0, 0.05) 51%);
  background-size: 100% 0.6vmin;
  animation: scan-crt 1s steps(20) infinite;
}

@keyframes scan-crt {
  0% {
    background-position: 0 50%;
  }
}
body {
  display: flex;
  align-items: center;
  min-height: 100vh;
  margin: 0;
  background: black;
  color: #c5ccb8;
  font-family: "Pixelify Sans", sans-serif;
  font-size: 2vmin;
  text-shadow: 0 0 0.1em #c5ccb8;
}

.container {
  flex-direction: column-reverse;
  width: 100%;
  max-width: 120vh;
  margin: 0 auto;
}

.screen {
  position: relative;
  padding-top: 75%;
  background-color: #433455;
  width: 100%;
  height: 0;
  box-sizing: content-box;
  clip-path: url(#crtPath);
}
.screen .contents {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 5em;
  padding-bottom: 6em;
  box-sizing: border-box;
  display: flex;
  gap: 4%;
}
.screen .contents h1 {
  text-transform: uppercase;
}

.navbar {
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.desktop-icon {
  width: 5em;
  color: #c5ccb8;
  font-size: 0.7em;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 9.9em;
}
.desktop-icon img {
  width: 100%;
  height: auto;
}

.desktop-icon:hover {
  text-decoration: underline;
}

.logo {
  width: 100%;
}
.logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.window {
  width: 100%;
  background-color: #c5ccb8;
  border: 0.25em solid #9a4f50;
  margin: -0.25em;
  box-shadow: 0 0 0.15em #9a4f50;
  display: flex;
  flex-direction: column;
}
.window .titlebar {
  background-color: #9a4f50;
  padding: 0.5em;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  text-transform: uppercase;
}
.window .titlebar .icons a {
  color: #be955c;
  text-shadow: 0 0 0.1em #be955c;
  text-decoration: none;
}
.window .content {
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-color: #9a4f50 #be955c;
  color: #6e6962;
  text-shadow: 0 0 0.1em #6e6962;
  padding: 0 1em;
}
.window .content a {
  color: #6e6962;
  text-decoration: none;
  text-transform: uppercase;
}
.window .content a:hover {
  text-decoration: underline;
}

.projectselector {
  text-align: center;
  padding-top: 1em;
  line-height: 0.5em;
}
.projectselector button {
  background: none;
  border: 0;
  color: #6e6962;
  font-family: "Pixelify Sans", sans-serif;
  font-size: 1em;
  text-shadow: 0 0 0.1em #6e6962;
  cursor: pointer;
}
.projectselector button:hover {
  text-decoration: underline;
}

.projectgrid {
  position: relative;
}

.projecticon {
  display: block;
  position: absolute;
  margin: 1em;
  width: 3.5em;
  height: 6.5em;
  text-align: center;
  line-height: 0.7em;
}

.projecticon-content {
  position: relative;
}

.card {
  float: right;
  width: 16em;
  margin: 1em 0 0 1em;
  line-height: 0.5em;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
}
.card img {
  width: 100%;
  height: auto;
}

.bio img {
  float: left;
  width: 10em;
  height: auto;
  margin-right: 1em;
  margin-left: 0;
  margin-bottom: 2em;
}

.clear {
  clear: both;
}

.float-right img {
  float: right;
  margin-right: 0;
  margin-left: 1em;
}

.hidden {
  display: none;
}