@keyframes ringpulse {
    from { border-width: 5px; }
    to { border-width: 0px; }
  }

  @font-face {
    font-family: "Old English Five";
    src: url("/fonts/old_english_five.ttf");
  }
  html {
    min-height: 100%;
    min-width: 1920px;
    position: relative;
    background-color: #eee;
    display: flex;
    justify-content: center;
  }

    body {
      position: relative;
      background-color: white;
      width: 1920px;
      font-family: "Red Hat Display", sans-serif;
      height: 100%;
      margin: 0;
    }

    main {
      padding: 7rem;
      margin-top: 78px;
      font-size: 16pt;
      color: #666;
      line-height: 1.8em;
      font-family: "Averia Serif Libre", serif;
      z-index: -2;
    }

    main img {
      opacity: 0.9;
      max-width: 100%;
    }

    input, button {
      font-family: "Red Hat Display", sans-serif;
    }

    h1 {
      font-family: "Old English Five", serif;
    }

    h1, h2 {
      text-align: center;
    }

    pre {
      font-family: "Averia Serif Libre", serif;
    }

    .hidden {
      display: none;
    }

    #cursor {
      border-style: solid;
      border-color: skyblue;
      border-radius: 50%;
      animation-name: "ringpulse";
      animation-duration: 1s;
      animation-timing-function: linear;
      animation-iteration-count: infinite;
      animation-direction: alternate;
      position: fixed;
      font-size: 20pt;
      transform: translateX(-50%) translateY(-50%);
      opacity: 0.5;
      z-index: 1;
    }

    .peer-cursor {
      border-radius: 50%;
      border: 3px solid lightcoral;
      position: absolute;
      transform: translateX(-50%) translateY(-50%);
      z-index: 3;
      width: 36px;
      height: 36px;
      transition: 0.1s top linear, 0.1s left linear;
    }

    #cursor.reverse {
      transform: translateX(-50%) translateY(-50%) scale(-1, 1);
    }

    #settings {
      position: fixed;
      width: 100%;
      box-sizing: border-box;
      padding: 0.6rem 0.6rem 0;
      top: 0;
      left: 0;
      background-color: rgba(255, 255, 255, 0.75);
      z-index: 11;
    }

    #settings:hover {
      background-color: white;
    }

    #settings-text {
      display: flex;
      justify-content: space-between;
    }

    #emoji-list {
      font-size: 30pt;
      width: 100%;
      white-space: nowrap;
      overflow-x: scroll;
      cursor: pointer;
    }

    .emoji-option {
      display: inline;
    }
    .emoji-option.selected {
      border-radius: 10px;
      background-color: skyblue;
    }

    #main {
      position: relative;
    }

    #comment-form {
      position: absolute;
      bottom: 100%;
      left: 40%;
      z-index: 10;
      padding: 1rem;
      border-radius: 0.5rem;
      font-size: 10pt;
      background-color: #eee;
    }

    .drawn-comment {
      font-family: "Red Hat Display", sans-serif;
      font-size: 10pt;
      position: absolute;
      bottom: 0;
      padding-bottom: 40px;
      padding-right: 0.8em;
      z-index: 1;
      opacity: 0.5;
    }

    #emoji-wrapper {
      position: absolute;
      top: 77px;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 3;
    }

    #emoji-wrapper.xray {
      opacity: 0.4;
    }

    .drawn-emoji {
      font-size: 28pt;
      position: absolute;
      transform: translateX(-50%) translateY(-50%);
      user-select: none;
    }

    .drawn-emoji .emoji {
      display: block;
      text-shadow: 0 0 1px rgba(0, 0, 0, 0.5);
    }

    .drawn-emoji .delete-emoji {
      text-align: center;
      opacity: 0.2;
      position: absolute;
      font-size: 9pt;
      top: 85%;
      left: 0;
      right: 0;
    }

    .drawn-emoji:hover .delete-emoji {
      opacity: 1;
    }
    
    .drawn-emoji.reverse .emoji {
      transform: scale(-1, 1);
    }

    .drawn-comment .comment-text {
      position: relative;
      display: block;
      padding: 0;
      border-radius: 0.5rem;
      background-color: #333;
      color: #333;
      border: 2px solid #eee;
      width: 5px;
      height: 5px;
      overflow: hidden;
      transition: 0.1s all linear;
    }

    .drawn-emoji:hover .comment-text,.peer-cursor:hover .comment-text {
      padding: 0.4rem 0.8rem;
      background-color: #eee;
      width: auto;
      height: auto;
      overflow: initial;
      min-width: 4rem;
    }

    .drawn-emoji:hover .drawn-comment,.peer-cursor:hover .drawn-comment {
      opacity: 1;
    }

    .comment-text:before, #comment-form:before {
      content: "▼";
      position: absolute;
      bottom: -0.8em;
      left: 5px;
      color: #eee;
      font-size: 15pt;
    }
    .comment-text:before {
      opacity: 0;
      transition: 0.2s opacity linear;
    }
    .drawn-emoji:hover .comment-text:before, .peer-cursor:hover .comment-text:before {
      opacity: 1;
    }

    #secret-wrapper {
      background-color: rgba(255, 255, 255, 0.75);
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      padding: 0.4rem;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between;
      z-index: 11;
    }