* {
  box-sizing: border-box;
}

html, body {
  width:100%;
  height: 100%;
  margin:0;
  padding:0;

  font-family:system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  font-size:14px;
  background:black;
}

body {
  display: flex;
  flex-direction: column;
  text-align:center;
}

main {
  flex: 1;
  position:relative;
  width:100%;
}

canvas {
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
}

footer {
  padding:0px 50px 20px 50px;
  display: flex;
  align-items: center;
}

.title {
  color:white;
  display:inline-block;
  padding:11px 14px 12px 14px;
  margin:0;
  border-radius: 100px;
  font-size:14px;
  cursor:pointer;
  border:1px dashed white;
}

.title:hover {
  background:white;
  color:black;
}

nav {
  display:inline-block;
  margin-left:auto;
  vertical-align: bottom;
}

.upload {
  display:inline-block;
}

#image-upload {
  display: none;
}

.file-upload {
  padding:11px 14px 12px 14px;
  margin:0;
  border:1px solid white;
  border-radius: 100px;
  cursor:pointer;

  font-size:14px;
  background:black;
  color:white;
}

.file-upload:hover {
  background:white;
  color:black;
  outline: none;
}

.palette {
  display:inline-block;
  padding:9px 14px 10px 14px;
  margin:0 0 0 4px;
  border:1px solid white;
  border-radius: 100px;
  cursor:pointer;

  font-size:14px;
  background:black;
  color:white;
}

#palette-picker {
  font-size: 14px;
  border:1px solid white;
  outline: none;
  cursor:pointer;
}

#palette-picker option {
  font-size: 14px;
}

.slider {
  display: inline-block;
  padding:9px 14px 10px 14px;
  margin:0 0 0 4px;
  border:1px solid white;
  border-radius: 100px;
  background:black;
  color:white;
}

#size-slider {
  -webkit-appearance: none;
  appearance: none;
  position:relative;
  top:-3px;
  width:100px;
  height: 2px;
  border-radius: 5px;  
  background: white;
  outline: none;
  cursor:pointer;
}

.download {
  display:inline-block;
  padding:11px 14px 12px 14px;
  margin:0 0 0 4px;
  border:1px solid white;
  border-radius: 100px;
  cursor:pointer;

  font-size:14px;
  background:black;
  color:white;
}

.download:hover {
  background:white;
  color:black;
  outline: none;
}

aside {
  position:fixed;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  background:black;
  color:white;
  width:100%;
  max-width:540px;
  padding:30px 35px 30px 35px;
  font-size:14px;
  line-height:19px;
  border:1px solid white;
  border-radius:22px;
  cursor:pointer;
  text-align:left;
}

.hide {
  display:none;
}
