body {
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,
      Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
    -webkit-font-smoothing: antialiased;
    background-color: 	rgb(220,220,220)
  }

  table {
    margin-top: 5%;
    width: 100%!important;
  }
  
  /* Global button style */
  .button {
    font-family: inherit;
    text-align: center;
    cursor: pointer;
    border: none;
    text-decoration: none;
    outline: none;
    color: white;
    background-color: rgb(0, 120, 212);
    padding: 0.5rem 1.2rem;
    border-radius: 2px;
    font-size: 1rem;
    min-width: 6rem;
  }
  
  .button:hover {
    background-color: rgb(65,105,225);
  }
  
  .button.disabled {
    pointer-events: none;
    background-color: #cccccc;
    color: #666666;
  }
  
  /* Main section */

  .main {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding-left: 5%;
    padding-right: 5%;
    justify-content: center;
  }
  
  .main .title h3 {
    font-size: 2rem;
    font-weight: 400;
    margin: 0.5rem 0;
    color: black;
  }
  
  .hidden {
    display: none;
  }
  
  .reveal {
    opacity: 0;
  }
  
  .reveal:hover {
    opacity: 0.2;
  }

  /* First section: Describe images to use */
  .describing-section {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 50vw;
    align-items: center;
    text-align: justify;
    margin-top: 1%;
    margin-bottom: 1%;
  }

  .describing-section img {
    box-shadow: rgba(0, 0, 0, 0.9) 0px 7px 29px 0px;
    object-fit: fill;
    width: 100%
  }

  .describing-section p {
    font-size: 1rem;
    color: black;
    object-fit: fill;
  }
  
  /* Upload box */
  .upload-box {
    font-size: 1rem;
    color: black;
    cursor: pointer;
    width: 50vw;
    height: 28vw;
    background-color: rgb(255, 255, 255);
    border: 0.1rem dashed black;
    border-radius: 0.7rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  
  .upload-box.dragover {
    /* background-color: grey; */
    color: #eeeeee;
    border: 0.1rem solid rgb(0, 120, 212);
    box-shadow: inset 0 0 0 0.1rem rgb(0, 120, 212);
  }
  
  .upload-box:hover {
    border-color: rgb(0, 120, 212);
  }
  
  .upload-box #image-preview {
    width: 25vw;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.19);
  }
  
  #image-result {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    max-height: 20rem;
  }
  
  #image-box {
    position: relative;
    width: auto;
    float: left;
    margin-bottom: 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  
  #image-display {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    max-height: 20rem;
  }
  
  #image-display.loading {
    filter: brightness(30%);
  }
  
  #pred-result {
    color: black;
    position: relative;
  }

  #pred-result-not-important {
    color: rgb(10, 10, 10);
    position: relative;
    font-size: 90%;
  }

  #explanation {
    position: relative;
    object-fit: fill;
    width: 25vw;
    margin-top: 5%;
  }
  
  #loader {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    margin: 0 auto;
  }
  
  /* Animation */
  #spinner {
    box-sizing: border-box;
    stroke: #000000;
    stroke-width: 3px;
    transform-origin: 50%;
    animation: line 1.6s cubic-bezier(0.4, 0, 0.2, 1) infinite,
      rotate 1.6s linear infinite;
  }
  @keyframes rotate {
    from {
      transform: rotate(0);
    }
    to {
      transform: rotate(450deg);
    }
  }
  @keyframes line {
    0% {
      stroke-dasharray: 2, 85.964;
      transform: rotate(0);
    }
    50% {
      stroke-dasharray: 65.973, 21.9911;
      stroke-dashoffset: 0;
    }
    100% {
      stroke-dasharray: 2, 85.964;
      stroke-dashoffset: -65.973;
      transform: rotate(90deg);
    }
  }

  /* Responsiveness */
  @media screen and (max-width: 1200px) {
    .describing-section {
      width: 65vw;
    }

    .upload-box {
      width: 65vw;
      height: 37vw;
    }
  }

  @media screen and (max-width: 900px) {
    .describing-section {
      width: 90vw;
    }

    .upload-box {
      width: 90vw;
      height: 50vw;
    }
  }

  @media screen and (max-width: 700px) {
    .describing-section {
      flex-direction: column;
    }

    .describing-section img {
      margin-right: 0px;
      margin-top: 0.5rem;
      margin-bottom: 0.5rem;
      object-fit: fill;
    }

    .describing-section p {
      margin-left: 0px;
      object-fit: fill;
    }
  }
