* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  min-width: 250px;
  height: 100vh;
  display: flex;
  flex-direction: column;
}

header {
  background-color: #222b40;
  color: white;
  padding: 20px 30px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  position: sticky;
  z-index: 99;
  top: 0;
}

.date {
  text-align: left;
}

.date ~ div {
  display: flex;
  flex-direction: column;
  align-content: center;
  justify-content: center;
}

h1 {
  margin-top: 5px;
  font-size: clamp(1.8em, 10vw, 2.7em);
  margin-bottom: 15px;
  text-transform: uppercase;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.underlinePost {
  text-decoration: none;
  background-image: linear-gradient(#222b40, #222b40),
    linear-gradient(rgb(176, 251, 188), rgb(176, 251, 188)),
    linear-gradient(#feb2b2, #feb2b2);
  background-size: 20px 2px, 100% 2px, 0 2px;
  background-position: calc(20px * -1) 100%, 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 2s linear, background-position 2s linear;
  width: fit-content;
}

h1:hover {
  background-size: 20px 2px, 0 2px, 100% 2px;
  background-position: calc(100% + 20px) 100%, 100% 100%, 0 100%;
}

.search-wrapper {
  display: flex;
  justify-content: space-between;
  margin-bottom: 12px;
}

.search {
  padding: 10px;
  display: block;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  max-width: 200px;
  align-self: flex-end;
}

.tasks {
  margin-top: 1em;
}

#first {
  margin-bottom: 15px;
  width: fit-content;
}

#userinput {
  width: 85%;
  padding: 10px;
  font-size: 15px;
  border: none;
  border-radius: 0%;
}

#userinput:focus {
  outline: none;
}

.input {
  display: inline-flex;
  width: 100%;
}

#enter {
  color: #222b40;
  text-align: center;
  border-radius: 0;
  -webkit-transition: 0.4s;
  -moz-transition: 0.4s;
  transition: 0.4s;
  -o-transition: 0.4s;
  -ms-transition: 0.4s;
  border: none;
  background-color: #cecece;
  min-width: 15%;
}

#enter:hover {
  background-color: #7a7979;
  color: #222b40;
}

#enter:focus {
  outline: none;
}

main {
  flex: 1;
}

ol {
  margin: 0;
  padding: 0;
}

.list-container {
  display: inline-flex;
  width: 100%;
}

ol li {
  position: relative;
  background-color: #cecece;
  cursor: pointer;
  padding: 10px 6px 10px 30px;
  transition: 0.3s;
  width: 100%;
  /* making list unselectable */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  text-transform: capitalize;
}

ol li:nth-child(odd) {
  background-color: white;
}

ol li:hover {
  background-color: #ddd;
}

ol li.done::before {
  /* &check;  for checked symbol*/
  content: "";
  position: absolute;
  border-color: white;
  border-style: solid;
  border-width: 0 2px 2px 0;
  top: 12px;
  left: 12px;
  height: 15px;
  width: 10px;
  transform: rotate(45deg);
}

.done {
  text-decoration: line-through;
  background: #464545 !important;
  color: white;
}

.hide {
  display: none;
}

.button-container {
  background-color: #222b40;
  align-self: flex-end;
  height: 23px;
}

.delete {
  border: none;
  padding: 0.3rem;
  color: red;
  background-color: transparent;
  border-radius: 0.2rem;
  cursor: pointer;
  padding: 8px 15px;
  font-size: large;
}

.delete:hover {
  background-color: #f43c2f;
  color: white;
}

.delete:focus {
  outline: none;
}

p {
  margin: 0;
  padding: 0;
}

footer {
  width: 100%;
  background-color: #222b40;
  color: white;
  padding: 0.5rem 0 0.4rem;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: flex-end;
}

a {
  color: #9aa0af;
}

.fullheight {
  height: 100vh !important;
}

@media (max-width: 600px) {
  .search-wrapper {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    margin-bottom: 20px;
  }

  .search {
    align-self: flex-start;
    font-size: 13px;
  }

  #userinput {
    font-size: 13px;
    width: 80%;
  }

  #enter {
    min-width: 20%;
  }
}
