* {
  box-sizing: border-box;
  font-family: Pangolin;
  color: #595652;
}

@font-face {
  font-family: Pangolin;
  src: url("/static/fonts/pangolin.ttf");
}

body {
  margin: 0;
  padding: 0;
  background: #fff5f5;
  user-select: none;
  overscroll-behavior: contain;
}

button {
  padding: 10px 8px 8px;
  border: none;
  border-radius: 5px;
  background: #ff6;
  box-shadow: 2px 2px 6px #8862;
  outline: none;
  cursor: pointer;
}

input {
  border: none;
  border-radius: 4px;
  padding: 8px;
  box-shadow: 2px 2px 6px #8862;
  outline: none;

  &[type="file"] {
    width: 100%;

    &::file-selector-button {
      display: none;
    }
  }
}

textarea {
  width: 100%;
  height: 150px;
  border: none;
  border-radius: 4px;
  padding: 8px;
  box-shadow: 2px 2px 6px #8862;
  resize: none;
  outline: none;
}

hr {
  box-shadow: 2px 2px 6px #8862;
  color: #fff;
  border: 1px solid #f4f4f1;
}

div {
  &.container {
    position: fixed;
    display: inline;
    z-index: 1;
    top: 157px;
    left: 40px;
    right: 40px;
    bottom: 40px;
    padding: 60px 40px 40px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 4px 4px 5px #8862;
  }

  &.bear {
    position: fixed;
    z-index: 2;
    top: 36px;
    left: 50%;
    margin-left: -88px;
    width: 190px;
    height: 150px;
    background-size: cover;
    background-position: center;
    background-image: url("/static/images/bear.gif");
    cursor: pointer;

    &.animated {
      background-image: url("/static/images/bearAnimated.gif");
    }

    div.title {
      position: fixed;
      z-index: 3;
      margin-left: -70px;
      top: 163px;
      left: 50%;
      width: 148px;
      line-height: 18px;
      font-size: 16px;
      font-weight: 700;
      text-align: center;
    }
  }

  &.pager {
    div.arrow {
      position: fixed;
      z-index: 3;
      top: 90px;
      filter: drop-shadow(4px 4px 3px rgba(136, 136, 102, 0.1333333333));
      cursor: pointer;

      img {
        width: 60px;
      }

      &.previous {
        left: 60px;
      }

      &.next {
        right: 60px;
      }
    }
  }

  &.fixed-controls {
    position: fixed;
    z-index: 2;
    right: 60px;
    bottom: 60px;
    cursor: pointer;

    a {
      text-decoration: none;
      margin-left: 8px;
    }
  }
}

@media (max-width: 600px) or (max-height: 600px) {
  div {
    &.container {
      top: 127px;
      left: 20px;
      right: 20px;
      bottom: 20px;
      padding: 60px 20px 20px;
    }

    &.bear {
      top: 6px;

      div.title {
        top: 133px;
      }
    }

    &.pager {
      div.arrow {
        top: 60px;

        &.previous {
          left: 20px;
        }

        &.next {
          right: 20px;
        }
      }
    }

    &.fixed-controls {
      right: 40px;
      bottom: 40px;
    }
  }
}