* {
  font-family: "Open Sans", sans-serif;
  color: #1c1f22;
}

h1,
h2,
h4,
label,
a {
  font-family: "Proza Libre", sans-serif;
}

header {
  background: #a1e8cc;
  width: 100%;
  height: 3.3rem;
}

p {
  margin-top: 1rem;
  margin-bottom: 1rem;
  line-height: 1.75em;
  width: 100%;
}

.logo {
  max-height: 70%;
  margin-right: 1.5rem;
}

a {
  font-size: 1rem;
}

h3,
h3 a {
  margin-bottom: 0.25rem;
  font-size: 1.75rem;
  font-weight: 600;
}

a:hover,
.journal-entry h3:hover {
  color: #833fc7;
  cursor: pointer;
}

a:active,
.journal-entry h3:active {
  color: #ac64ff;
  cursor: pointer;
}

a.detailed-view-nav {
  font-size: 2rem;
  padding: 1rem 0;
}

h2 {
  font-size: 2rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

h4 {
  font-weight: 400;
  font-size: 0.9rem;
}

li {
  text-decoration: none;
}

ul {
  padding: 0;
}

.border-bottom {
  border-bottom: 2px solid rgba(0, 0, 0, 0.1);
}

.tag-list-container h4 {
  font-weight: 600;
}

.tag-list {
  margin-top: 1.5rem;
  display: flex;
  flex-flow: wrap row;
}

.tag-item {
  display: inline;
  margin-right: 0.5rem;
  margin-bottom: 2rem;
}

.tag-item a {
  font-size: 0.75rem;
  border: 1px solid rgba(0, 0, 0, 0.25);
  border-radius: 20px;
  padding: 0.5rem;
}

.tag-item a:hover {
  border-color: rgba(172, 100, 255, 0.5);
  color: rgb(131, 63, 199);
}

.tag-item a:active {
  border-color: rgba(82, 24, 148, 0.5);
  color: rgb(172, 100, 255);
}

label {
  display: block;
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

label span {
  margin-left: 1rem;
  font-size: small;
}

.txt-color-white {
  color: white;
}

.txt-align-center {
  text-align: center;
}

button {
  display: block;
  color: white;
  background-color: #1c1f22;
  border-radius: 4px;
  border: 0;
  text-transform: lowercase;
  height: 2rem;
  font-size: 1rem;
  box-shadow: 1px 1px 1px black;
}

button:hover {
  background-color: #833fc7;
  cursor: pointer;
}

button:active {
  box-shadow: inset 0 0 5px black;
  transform: translateY(1px);
}

.button-save {
  width: 4.5rem;
  margin-bottom: 2rem;
}

.button-new {
  width: 3.5rem;
}

.journal-entry .edit-button {
  margin-top: 5px;
  margin-bottom: auto;
  margin-left: auto;
  font-size: 1.5rem;
}

a.edit-button:hover,
.detailed-view-nav:hover {
  color: #833fc7;
}

a.edit-button:active,
.detailed-view-nav:active {
  color: #4b0092;
  transform: scale(95%);
}

textarea {
  resize: none;
  height: 9rem;
}

input:focus,
textarea:focus {
  outline: 2px solid #a1e8cc;
}

#entry-form input,
#entry-form textarea {
  width: 100%;
  border: 1px solid #b6b6b6;
  border-radius: 6px;
  padding: 0.5rem;
}

#entry-form input {
  height: 2.5rem;
}

img.entry-img {
  object-fit: cover;
  border-radius: 4px;
  width: 100%;
  height: 250px;
  margin-bottom: 1rem;
}

.bottom-margin-1rem {
  margin-bottom: 1rem;
}

.header-and-date {
  margin-bottom: 0.5rem;
}

.no-entry-message {
  margin-top: 0.75rem;
}

form#entry-form {
  padding-top: 1rem;
}

.journal-entry,
.single-journal-entry {
  padding-bottom: 2rem;
  border-bottom: 2px solid rgba(0, 0, 0, 0.1);
}

.journal-entry {
  padding-top: 1rem;
  margin-top: 0;
  margin-bottom: 3rem;
}

.single-journal-entry {
  margin-bottom: 1.5rem;
}

.journal-entry:last-of-type {
  border-bottom: 0;
}

.delete-target {
  color: red;
}

.delete-target:hover {
  color: rgb(184, 0, 0);
}

.delete-target:active {
  color: rgb(63, 0, 0);
}

.modal {
  position: fixed;
  z-index: 1;
  width: 100vw;
  height: 100vh;
  background: linear-gradient(rgba(0 0 0 / 75%), rgba(0 0 0 / 75%));
}

.pop-up {
  background-color: white;
  padding: 1.5rem;
  border-radius: 4px;
}

.pop-up p {
  margin-left: auto;
  margin-right: auto;
  margin-top: 0;
  text-align: center;
  width: 75%;
}

.pop-up button {
  padding-left: 1rem;
  padding-right: 1rem;
}

.pop-up button.confirm {
  background-color: #dc2626;
}

.pop-up button.confirm:hover {
  background-color: rgb(184, 0, 0);
}

.pop-up button.cancel {
  color: black;
  background-color: #b6b6b6;
}

.pop-up button.cancel:hover {
  background-color: #e2e2e2;
}

.sort-select {
  padding-bottom: 1rem;
}

.sort-select label {
  font-size: 1.25rem;
  margin-bottom: 0;
  margin-right: 0.5rem;
}

.sort-select select {
  font-size: 1.25rem;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.25);
}

.sort-select select:focus-visible {
  outline: 1px solid rgba(82, 24, 148, 0.5);
}

button#reverse {
  width: 2rem;
  height: 2rem;
}

button#reverse * {
  color: white;
}

.remove-top-margin {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  img.entry-img {
    height: 400px;
  }
}
