@font-face {
  font-family: 'DS-Digital';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src: url('pkg/ds_digital/DS-DIGIB.TTF');
}
@font-face {
  font-family: 'WindSong';
  font-style: normal;
  font-weight: 500;
  font-display: block;
  src: url('pkg/WindSong/WindSong-Medium.ttf');
}
@font-face {
  font-family: 'Volkhov';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('pkg/Volkhov/Volkhov-Regular.ttf');
}
@font-face {
  font-family: 'Volkhov';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('pkg/Volkhov/Volkhov-Bold.ttf');
}


body {
  background: black;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  font-family: sans-serif;
}

#background-canvas {
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: -1;
}

#main-layout {
  display: flex;
  width: 100%;
}

#title-panel {
  display: flex;
  flex: 1 1 15%;
  justify-content: center;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.6);
}

#title-text-digital {
  margin: 0 0;
  padding: 0 0;
  font-family: 'DS-Digital', sans-serif;
  color: red;
  -webkit-text-stroke-width: 0px;
  -webkit-text-stroke-color: #fff;
  text-shadow: 5px 5px #555;
}

#title-text-loom {
  font-family: 'WindSong', cursive;
  color: black;
  -webkit-text-stroke-width: 0px;
  -webkit-text-stroke-color: #fff;
  text-shadow: 3px 3px #555;
}

@media (min-aspect-ratio: 10/9) {
  #main-layout {
    flex-flow: row nowrap;
  }

  #title-panel {
    min-height: 100vh;
  }

  #title-text-digital {
    writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-size: 6em;
  }
}

@media (max-aspect-ratio: 10/9) {
  #main-layout {
    flex-flow: column nowrap;
  }

  #title-panel {
    min-width: 100vw;
  }

  #title-text-digital {
    font-size: 3em;
  }
}

#content-panel {
  display: flex;
  flex: 1 1 85%;
  flex-flow: column nowrap;
}

.vis-group-panel {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  margin: 10px 20px;
  padding: 10px;
  background-color: rgba(255, 255, 255, 0.6);
}

.vis-group-title {
  flex: 0 0 33%;
  text-align: center;
  font-family: Volkhov, serif;
  font-weight: bold;
  font-size: 1.8em;
}

.vis-panel {
  display: inline;
  flex: 1 1 256px;
  max-width: 100%;
  margin: 0.2em;
}

.vis-title {
  text-align: center;
  font-family: Volkhov, serif;
  font-size: 1.4em;
  margin: 0.1em;
}

.vis-preview {
  display: block;
  text-align: center;
}

.vis-preview-image {
  position: relative;
  display: inline-block;
  max-width: 100%;
}

.masked {
  -webkit-mask-image: url(hex-white.png);
  mask-image: url(hex-white.png);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  max-width: 100%;
}

.shadow {
  position: absolute;
  top: 12px;
  left: 15px;
  opacity: 65%;
  max-width: 100%;
}

#author-panel {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  margin: 10px 20px;
}

#author-image-panel {
  margin: 20px;
}

#author-image {
  width: 128px;
  height: 128px;
  -webkit-mask-image: url(circle-mask.png);
  mask-image: url(circle-mask.png);
  -webkit-mask-size: 128px 128px;
  mask-size: 128px 128px;
  box-shadow: 10px 10px 7px rgba(0, 0, 0, 0.65);
}

#author-name {
  text-align: center;
  color: white;
  font: normal 18px sans-serif;
}

#author-contact-panel {
  text-align: center;
  margin: 10px;
  color: white;
}

#author-contact-panel a {
  color: lightblue;
}

#linkedin-logo {
  height: 32px;
}
