@font-face {
  font-family: 'Signato';
  src: url('Signato-Regular.woff2') format('woff2'),
    url('Signato-Regular.woff') format('woff');
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}


* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  background: #6a2220 url(background.jpg) no-repeat center center fixed;
  background-size: cover;

  font-family: sans-serif;
  text-align: center;

  /* min-height: 100vh; */
  /* mobile viewport bug fix */
  min-height: -webkit-fill-available;

  height: 100dvh;
}
html {
  height: -webkit-fill-available;
}


#logo {
  position: absolute;
  display: block;
  width: 34vh;
  top: 4vh;

  left: 0;
  right: 0;
  margin: 0 auto;
}

#logo img {
  max-width: 100%;
  -webkit-filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, .75));
    filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, .75));
}


#buttons {
  position: fixed;
  display: block;
  width: 100%;
  height: 5vh;
  height: 5dvh;
  bottom: 4vh;
  bottom: 4dvh;

  left: 0;
  right: 0;
  margin: 0 auto;
}

#buttons button {
  color: #501b09;
  background: #D4BAA8;
  border: 0.5vh solid #B98B5C;
  border-radius: 0.5rem;
  padding: 0.5em 2em;
  font-size: 2vh;
  font-weight: bold;
  text-transform: uppercase;
  cursor: pointer;
  margin: 0.25vh 0.5vh;
}
#buttons button:hover, #buttons button:focus {
  background: #E3C7B4;
}

#share {
  display: none;
}

.slider-wrapper {
  margin: 20vh auto 10vh;  /* 15rem auto 10rem */
  position: relative;
  overflow: hidden;

  max-width: 840px;
}

.slides-container {
  height: 70vh;  /* calc(100vh - 25rem) */
  width: 100%;
  display: flex;
  overflow: hidden;
  scroll-behavior: smooth;
  list-style: none;
  margin: 0;
  padding: 0;
}

.slide-arrow {
  position: absolute;
  display: flex;
  top: 0;
  bottom: 0;
  margin: auto;
  height: 4rem;
  width: 4rem;
  border: none;
  background-color: transparent;
  
  padding: 0;
  cursor: pointer;
  opacity: 0.75;
  transition: opacity 100ms;
  z-index: 100;
}

.slide-arrow:hover,
.slide-arrow:focus {
  opacity: 1;
}

#slide-arrow-prev {
  left: 0rem;
}

#slide-arrow-next {
  right: 0rem;
  transform: rotate(180deg);
}

.slide {
  width: 100%;
  height: 100%;
  flex: 1 0 100%;

  display: flex;
  align-items: center;
  justify-content: center;
}

.slide img {
  max-width: 90%;
  max-height: 90%;
  box-shadow: 0 0 10px 5px rgba(0, 0, 0, .5);
  margin: 20px auto;
  display: block;
}


/* .slide:nth-child(1) {
  background-color: lightgoldenrodyellow;
}

.slide:nth-child(2) {
  background-color: lightgreen;
}

.slide:nth-child(3) {
  background-color: lightcoral;
  margin: 0;
} */

#text-wrap {
  position: absolute;
  overflow: hidden;
  outline: 0;
  display: none;

  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;

  border: 0.25rem #AE9A83;
  border-radius: 1.5rem;
  border-style: dashed;

  background: url(text.png) center center no-repeat;
  background-size: 5vh;
  cursor: text;
}
#text {
  /* position: absolute; */
  word-break: break-all;
  /* overflow: hidden; */
  outline: 0;
  font-family: 'Signato', cursive;
  line-height: 1;
  text-align: center;
  font-size: 2vh;

}


#shot {
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}

#ghost {
  max-width: 100%;
  max-height: 100%;
}





.uploader {
  position: absolute;
  overflow: hidden;
  outline: 0;

  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  
  border: 0.25rem #AE9A83;
  border-radius: 1.5rem;
  border-style: dashed;

  background: url(image.png) center center no-repeat;
  background-size: 5vh;
  cursor: pointer;
  color: #7A322D;
 
}

.uploader label {

  transition: all 0.2s ease;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  height: 100%;
  width: 100%;
  padding: 3vh 1.5vw;
  text-align: center;
  cursor: pointer;
  color: #7A322D;
}


.uploader #start {
  /* float: left;
  clear: both;
  width: 100%; */
}

.uploader #start.hidden {
  display: none;
}

.uploader #start div {
  font-size: 1.5vh;
}

.uploader #response {
  float: left;
  clear: both;
  width: 100%;
}

.uploader #response.hidden {
  display: none;
}



#photo {
  position: absolute;
  overflow: hidden;
  outline: 0;
  display: none;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  transform: rotate(-10deg);
}
#photo img {
  max-width: calc(100% - 5px);
  max-height: calc(100% - 5px);
  box-shadow: 1px 0 4px 1px rgba(0, 0, 0, .25);
}

#file-image.hidden {
  display: none;
}



.uploader progress,
.uploader .progress {
  display: inline;
  clear: both;
  margin: 0 auto;
  width: 100%;
  max-width: 180px;
  height: 8px;
  border: 0;
  border-radius: 4px;
  background-color: #eee;
  overflow: hidden;
}

.uploader .progress[value]::-webkit-progress-bar {
  border-radius: 4px;
  background-color: #eee;
}

.uploader .progress[value]::-webkit-progress-value {
  background: linear-gradient(to right, #393f90 0%, #454cad 50%);
  border-radius: 4px;
}

.uploader .progress[value]::-moz-progress-bar {
  background: linear-gradient(to right, #393f90 0%, #454cad 50%);
  border-radius: 4px;
}

.uploader input[type=file] {
  display: none;
}


