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

/* Baseline CSS defs mostly remains */

body {
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1;
}

/* Added main section container */
main {
  padding: 10px;
  margin: 0 50px;
} 

.container {
  padding: 30px;
} 

textarea{
  background: transparent;
  border: none;
  resize: none;
  color: #000000;
  border-left: 1px solid black;
  padding: 10px;
  min-width: 100%;
  min-height: 100%;
  font-size: medium;
}

.jumbotron {
  text-align: center;
  background-color: transparent;
  color: black;
  border-radius: 0;
  border-bottom: 7px solid black;
  padding: 30px;
}

.description{
  white-space: pre-wrap; 
  padding-right: 0px;
  padding-left: 0px;
}

.row {
  white-space: pre-wrap;
  height: 80px;
  border-top: 1px solid white;
  display: flex;
  flex-wrap: wrap;
}

.hour {
  background-color: #ffffff;
  color: #000000;
  border-top: 1px dashed #000000;
  text-align: right;
}

.past {
  background-color: #d3d3d3;
  color: black;
}

.present {
  background-color: #ff6961;
  color: white;
  font-weight: bold;
  font-size: large;
}

.future {
  background-color: #77dd77;
  color: black;
  font-size: larger;
  font-weight: bold;
}

.saveBtn {
  border-left: 1px solid black;
  border-top-right-radius: 15px;
  border-bottom-right-radius: 15px;
  background-color: #06AED5;
  color: white;
  min-height: 50px;
}
/* saveBtn sizing and positioning */
.saveBtn i {
  font-size: 26px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.saveBtn i:hover {
  font-size: 40px;
  transition: all .3s ease-in-out;
}

/* Footer area css settings */
.footer-area {
  font-weight: bolder;
  font-size: larger;
  margin: 10px 50px 50px;
  padding: 40px 0;
  background-color: lightsteelblue;
}
footer div {
  text-align: center;
}
#hourly-div {
  border-left: none;
}

/* MEDIA QUERY FOR TABLETS AND SMALLER */
@media screen and (max-width: 768px) {
  main {
    padding: 5px;
    margin: 0 20px;
  } 

  .container {
    padding: 10px;
  } 

  .row {
    display:flex;
    max-height: 50px;
    flex-direction: column;
    width: 100%;
  }
  .hour {
    text-align: left;
    /*height: 50px; */
    /*flex-flow: column;*/
    width: 10%;
  }
  .description {
    width: 80%;
    border-top: 1px dashed black;
  }
  .saveBtn {
    /*flex-flow: column; */
    /*flex-wrap: wrap; */
    width: 10%;
  }

  .present {
    font-weight: bold;
    font-size: medium;
  }
  
  .future {
    font-size: medium;
    font-weight: bold;
  }
  
  .footer-area {
    font-weight: bolder;
    font-size: larger;
    margin: 10px 50px 20px;
    padding: 10px 0;
    background-color: lightsteelblue;
  }
}