html {
  height: 100%;
}

body {
  height: 100%;
  background: #edf2fb;
  color: navy;
  margin: 0;
  font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;
}

a {
  color: #00B7FF;
}

h1 {
  font-weight: bold;
}



#grid {
  display: grid;
  grid-template-columns: 10% 1fr 10%;
  #grid-template-rows: repeat(3, 1fr);
  #height: 100%;
}

.grid-item {
  box-shadow: 0px 20px 30px 0px rgba(0,0,0, 0.1);
  text-align: center;
  align-content: center;
  border-radius: 0.4em;
  padding: .5em;
  grid-column: 2/3;
  background-color: #fff;
}

.flx-container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.submit-button {
  color: #fff;
  background-color: #007bff;
  border: 1px solid transparent;
  width: 100%;
  padding: .5rem 1rem;
  font-size: 1.25rem;
  border-radius: .3rem;
  cursor: pointer;
  transition-duration: 0.4s;
}

.download-button {
  text-decoration: none;
  color: #fff;
  background-color: #007bff;
  border: 1px solid transparent;
  padding: .5rem 1rem;
  font-size: 1.25rem;
  border-radius: .3rem;
  cursor: pointer;
  transition-duration: 0.4s;
}

.browse-button {
  color: #fff;
  background-color: #f77e26;
  border: 1px solid transparent;
  padding: .5rem 1rem;
  font-size: 1.25rem;
  border-radius: .3rem;
  cursor: pointer;
  transition-duration: 0.4s;
}

#file-upload {
  display: none;
}

.submit-button:hover, .download-button:hover {
  background-color: #0f539a;
}

.browse-button:hover {
  background-color: #ce450f;
}

.disabled, .disabled:hover {
  background-color: #007bff;
  opacity: 0.3;
  cursor: auto;
}

@media (max-width: 850px) {

  #grid {
    display: grid;
    grid-template-columns: 2% 1fr 2%;
    grid-template-rows: 100%;
    height: 100%;
  }

  .grid-item {
    grid-row: span 1;
  }

  .flx-container {
    align-items: stretch;
  }

  body {
    font-size: 40px;
  }

  .flx-container div {
    height: 25%;
    align-content: center;
    text-align: center;
  }

  .center-flex-item {
    display: flex;
    height: 200px;
    border-radius: 10px;
    align-items:center;
    justify-content:center;
    font-size: 5vh;
  }
}
