.absolute {
  position: absolute;
}

.absolute-center-x {
  left: 50%;
  transform: translateX(-50%);
}

.noselect {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

h1, h2 {
  color: #151f3b;
  z-index: 1;
}

#title-heading {
  font-size: 3em;
  top: 2em;
}

#subtitle-heading {
  top: 8em;
}

#upload-icon {
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 20em;
}

#upload-icon path {
  fill: #151f3b;
}

#tools {
  background-color: #a9bec2; /*#98a9b5*/
  display: none;
  text-align: center;
  z-index: 1;
}

#image-heading {
  position: relative;
}

#label {
  color: #151f3b;
  position: relative;
}

#label-input {
  border: 0 solid;
  border-radius: 0.5em;
  font-size: 1.5em;
  padding-left: 0.25em;
}

#label-input, #save-label {
  color: #151f3b;
}

label {
  font-size: 1.5em;
}

button {
  border: 0 solid;
}

.rounded-orange {
  background-color: #f79823;
  border-radius: 1em;
  padding: 0.5em 1em;
}

.rounded-orange:hover {
  background-color: #db8418;
  cursor: pointer;
}

#generate {
  border: 0 solid;
  border-radius: 1em;
  bottom: 8%;
  display: none;
  font-size: 24pt;
  left: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
}

#generate-text {
  bottom: 22%;
  display: none;
  font-size: 14pt;
  left: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
  width: 95%;
}

.navigation {
  background-color: #303030;
  bottom: 2em;
  color: #e8e8e8;
  display: none;
  font-size: 14pt;
  opacity: 0.7;
  padding: 1em;
  position: absolute;
}

.navigation img {
  vertical-align: middle;
  width: 1em;
}

#left {
  left: 2em;
}

#right {
  left: 6em;
}

#help-button {
  background-color: #303030;
  border-radius: 100%;
  bottom: 2.5em;
  color: white;
  height: 5em;
  position: absolute;
  right: 2.5em;
  width: 5em;
}

#help-button:focus {
  outline: none;
}

#help-button img {
  vertical-align: middle;
  width: 2.5em;
}

#help-button:hover #help {
  opacity: 1;
  visibility: visible;
}

#help {
  background-color: #303030;
  border-radius: 1em;
  bottom: -1em;
  color: #e8e8e8;
  opacity: 0;
  padding: 1em;
  position: absolute;
  right: 150%;
  text-align: left;
  transition: opacity 0.5s;
  visibility: hidden;
  width: 20em;
}

#help h1 {
  color: #e8e8e8;
  text-align: center;
}

#help p {
  font-weight: lighter;
}

#help a {
  color: #4290f5;
}

#snackbar {
  background-color: #303030;
  bottom: 2em;
  color: #e8e8e8;
  left: 50%;
  padding: 10px 0;
  position: fixed;
  text-align: center;
  transform: translate(-50%, 0);
  visibility: hidden;
  width: 30em;
  z-index: 1;
}

#snackbar.show {
  -webkit-animation: fadein 0.5s, fadeout 0.5s 3.5s;
  animation: fadein 0.5s, fadeout 0.5s 3.5s;
  visibility: visible;
}

@-webkit-keyframes fadein {
  from {bottom: 0; opacity: 0;}
  to {bottom: 2em; opacity: 1;}
}

@keyframes fadein {
  from {bottom: 0; opacity: 0;}
  to {bottom: 2em; opacity: 1;}
}

@-webkit-keyframes fadeout {
  from {bottom: 2em; opacity: 1;}
  to {bottom: 0; opacity: 0;}
}

@keyframes fadeout {
  from {bottom: 2em; opacity: 1;}
  to {bottom: 0; opacity: 0;}
}

#tutorial-info {
  left: 50%;
  position: absolute;
  top: 18em;
  transform: translate(-50%, -50%);
  width: 95%;
}

#tutorial-info-button {
  margin-top: 1em;
}

.bob {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-name: bob;
          animation-name: bob;
}

@-webkit-keyframes bob {
  0% {top: 40%;}
  50% {top: 30%;}
  100% {top: 40%;}
}

@keyframes bob {
  0% {margin-top: 0;}
  50% {margin-top: 3em;}
  100% {margin-top: 0;}
}
