@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.abs {
  position: absolute;
}

a {
  color: white;
  text-decoration: none;
}
a:hover {
  color: lightblue;
}

body {
  bottom: 0;
  font-family: "Titillium Web", sans-serif;
  color: white;
  left: 0;
  margin: 0;
  position: absolute;
  right: 0;
  top: 0;
  transform-origin: 0px 0px;
  overflow: hidden;
}

.container {
  position: absolute;
  background-color: #596e73;
  height: 720px;
  width: 1280px;
}

.input_video {
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.input_video.selfie {
  transform: scale(-1, 1);
}

.output_canvas {
  position: absolute;
  /* height: 720px;
  width: 1280px; */
  max-width: 100%;
  max-height: 100%;
  left: 0;
  top: 0;
}
.output_canvas_for_save {
  position: absolute;
  /* height: 720px;
  width: 1280px; */
  max-width: 100%;
  max-height: 100%;
  left: 0;
  top: 0;
  z-index: -2147483647;
}

.logo {
  bottom: 10px;
  right: 20px;
}
.logo .title {
  color: white;
  font-size: 28px;
}
.logo .subtitle {
  position: relative;
  color: white;
  font-size: 10px;
  left: -30px;
  top: 20px;
}

.loading {
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  align-items: center;
  backface-visibility: hidden;
  justify-content: center;
  opacity: 1;
  transition: opacity 1s;
}
.loading .message {
  font-size: x-large;
}
.loading .spinner {
  position: absolute;
  width: 120px;
  height: 120px;
  animation: spin 1s linear infinite;
  border: 32px solid #bebebe;
  border-top: 32px solid #3498db;
  border-radius: 50%;
}

.loaded .loading {
  opacity: 0;
}

.shoutout {
  left: 0;
  right: 0;
  bottom: 40px;
  text-align: center;
  font-size: 24px;
  position: absolute;
}

/*
#back_button{
  position: absolute;
  left: 0px;
  top: 0;
  white-space:nowrap;
}
*/

/*
#forward_button{
  position: absolute;
  left: 65px;
  top: 0;
  white-space:nowrap;
}

#pen_mode{
  position: absolute;
  left: 130px;
  top: 0;
}
*/

.buttonBar {
  width: 800px;
  position: absolute;
  left: 0;
  color:black;
}
#buttonBar1 {
  top: 0;
}
#buttonBar2 {
  top: 50px;
}

#buttonBar2 button{
  vertical-align: top;
}
#buttonBar2 input[type="text"]{
  vertical-align: top;
}

#buttonBar3 {
  top: 100px;
}

#buttonBar4 {
  top: 150px;
}

/*
#clear_button{
  position: absolute;
  left: 250px;
  top: 0;
  left: 0;
  display: flex;
  justify-content: space-evenly;
}
*/
button {
  border: 0;
  cursor: pointer;
  display: inline-flex;
  outline: 0;
  padding: 8px 20px;
  color: #fff;
  background-color: #ff00ff;
  box-shadow: 0px 3px 1px -2px rgb(0 0 0 / 20%), 0px 2px 2px 0px rgb(0 0 0 / 14%), 0px 1px 5px 0px rgb(0 0 0 / 12%);
  font-size: 0.875rem;
  /*min-width: 64px;*/
  box-sizing: border-box;
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
  font-weight: 500;
  line-height: 1.75;
  border-radius: 4px;
  letter-spacing: 0.02857em;
  text-align: center;
  text-transform: uppercase;
  transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
}
button:hover {
  background-color: #ffc0cb;
  box-shadow: 0px 2px 4px -1px rgb(0 0 0 / 20%), 0px 4px 5px 0px rgb(0 0 0 / 14%), 0px 1px 10px 0px rgb(0 0 0 / 12%);
}
button:active {
  box-shadow: 0px 5px 5px -3px rgb(0 0 0 / 20%), 0px 8px 10px 1px rgb(0 0 0 / 14%), 0px 3px 14px 2px rgb(0 0 0 / 12%);
}

button.invalid {
  background-color: #bbbbbb;
}
button.invalid:hover {
  background-color: #ffc0cb;
  box-shadow: 0px 2px 4px -1px rgb(0 0 0 / 20%), 0px 4px 5px 0px rgb(0 0 0 / 14%), 0px 1px 10px 0px rgb(0 0 0 / 12%);
}
button.valid:hover {
  background-color: #ff00ff;
}

#fps_display{
  position: absolute;
  left: 400px;
  top: 0;
  color:black;
  background-color: white;
  white-space:nowrap;
}
/* #susresBtn{
  position: absolute;
  left: 350px;
  top: 0;
  color:black;
} */
#loudness{
  position: absolute;
  left: 500px;
  top: 0;
  color:black;
  background-color: white;
  white-space:nowrap;
}
#start_button{
  position: absolute;
  color:black;
  background-color: white;
}

/* #fullOverlay{
  position: absolute;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(100, 100, 100, .8);
  z-index: 2147483647;
} */

.start_message{
  font-size: 60px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  user-select: none; /* CSS3 */
  -moz-user-select: none; /* Firefox */
  -webkit-user-select: none; /* Safari、Chromeなど */
}
/*
#recognitionStart{
  position: absolute;
  left: 0px;
  top: 30px;
  color:black;
}
#recognitionEnd{
  position: absolute;
  left: 70px;
  top: 30px;
  color:black;
}
#recognitionResult{
  position: absolute;
  left: 150px;
  top: 30px;
  color:black;
}
*/

input[type="button"] {
  border: 0;
  cursor: pointer;
  display: inline-flex;
  outline: 0;
  box-shadow: 0px 3px 1px -2px rgb(0 0 0 / 20%), 0px 2px 2px 0px rgb(0 0 0 / 14%), 0px 1px 5px 0px rgb(0 0 0 / 12%);
  font-size: 0.875rem;
  box-sizing: border-box;
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
  font-weight: 500;
  line-height: 1.75;
  border-radius: 4px;
  letter-spacing: 0.02857em;
  text-align: center;
}
input[type="button"]:not(.colors, .thicknesses){
  padding: 8px 20px;
}

input[type="text"]{
  margin: 6px;
  padding: 8px 10px;
  border-radius: 4px;
}

#uploadArea{
  padding: 5px;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  height: 550px;
  width: 660px;
  position: absolute;
  background-color: #bbbbbb;
}

#imgArea{
  display: block;
  border: solid 1px black;
  margin: 5px auto;
}

#voice_command{
  position: relative;
  border-radius: 4px;
  width: 150px;
  display: inline-block;
  text-align: center;
  height: 40px;
  transition: width 0.5s ease 0s, height 0.5s ease 0s;
  pointer-events: none;
}
#voice_command:hover{
  width: 450px;
  height: 550px;
  pointer-events: auto;
}

#voice_command_title{
  padding: 8px;
  pointer-events: auto;
}

#voice_command_all{
  position: relative;
  opacity: 0;
  display: inline-block;
  margin: 5px;
  transition: opacity 0.5s ease 0s;
}
#voice_command:hover #voice_command_all{
  opacity: 1;
  transition: opacity 0.5s ease 0.5s;
}

#unused_color{
  position: relative;
  left: -800px;
  transition: left 0.5s ease 0s;
  z-index: 0;
}

#current_color{
  position: relative;
  z-index: 10;
}

#current_color:hover + #unused_color{
  left: 0px;
}
#current_thickness{
  position: relative;
  z-index: 10;
}

#current_thickness:hover + #unused_color{
  left: 0px;
}
#unused_color:hover{
  left: 0px;
}
.colors{
  padding: 8px 10px;
  opacity: 0.7;
}
.colors:hover{
  opacity: 1;
}
.thick{
  padding: 12px 20px;
}
.medium{
  padding: 6px 20px;
}
.thin{
  padding: 0px 20px;
}


.helpNum{
  border-radius: 5px;
  background-color: #bebebe;
  cursor: pointer;
}
#selectedHelp{
  background-color: #ff00ff;
}

.helpContents{
  position: absolute;
  top: 30%;
  width: 100%;
}
.helpContents img{
  vertical-align: middle;
  margin-right: 5px;
}
.helpContents p{
  font-size: 24px;
}
.helpContents span{
  font-size: 24px;
  vertical-align: middle;
}

.helpContents_center{
  text-align: center;
}
.helpContents_left{
  left: 10%;
  text-align: left;
}

.color_red{
  background-color: red;
  color: white;
}
.color_orange{
  background-color: orange;
}
.color_yellow{
  background-color: yellow;
}
.color_green{
  background-color: green;
  color: white;
}
.color_blue{
  background-color: blue;
  color: white;
}
.color_lightblue{
  background-color: aqua;
}
.color_purple{
  background-color: purple;
  color: white;
}
.color_white{
  background-color: white;
}
.color_black{
  background-color: black;
  color: white;
}
.color_pink{
  background-color: deeppink;
}
.color_paleorange{
  background-color: #fedcbd;
}
.color_brown{
  background-color: #67432d;
  color: white;
}
.color_gray{
  background-color: gray;
  color: white;
}
.color_bold{
  background-color: #111111;
  color: white;
}
.color_normal{
  background-color: #444444;
  color: white;
}
.color_thin{
  background-color: #666666;
  color: white;
}


th{
  text-align: center;
}
tr td:nth-of-type(1){
  text-align: right;
  /* width:5px; */
}
tr td:nth-of-type(2){
  width: 10px;
}
tr td:nth-of-type(3){
  text-align: left;
}