:root {
  --border-radius: 30px;
}

body[data-mode="dark"] {
  --color-primary: #444444;
  --color-secondary: magenta;
  --text-color-title: blue;
  --text-color-primary: #cccccc;
  --text-color-secondary: #010101;
  --color-background: #242424;
  --border-color: var(--color-primary);
  --message-color: #333333;
}

body[data-mode="light"] {
  --color-primary: #ddd;
  --color-background: #eee;
  --color-secondary: magenta;
  --text-color-title: blue;
  --text-color-primary: #343434;
  --text-color-secondary: #010101;
  --border-color: #bbb;
  --message-color: var(--color-background);
}

body {
  display: grid;
  background-color: var(--color-background);
  font-family: sans-serif;
  color: var(--text-color-primary);
}

#topbar {
  margin: 2em 5em 3em 5em;
  padding: 1em;
  border-radius: var(--border-radius);
  background-color: var(--color-primary);
  display: flex;
  justify-content: center;
  position: relative;
  box-sizing: border-box;
}

#topbar h1 {
  color: var(--text-color-title);
}

#messages {
  display: flex;
  flex-direction: column;
  margin-left: 8em;
  margin-right:8em;
}

.message {
  border: 1px solid var(--border-color);
  border-radius: 5px;
  margin-bottom: 1em;
  background-color: var(--message-color);
}

.message div {
  padding: 0.4em 1.5em; 
  border-bottom: 1px solid var(--border-color);
}

.message p {
  padding: 0.4em 1.5em;
}

form {
  display: flex;
  flex-direction: column;
  margin-left: 8em;
  margin-right: 8em;
}

form label {
  margin-bottom: 0.5em;
}

form input, form textarea {
  margin-bottom: 1em;
  padding: 1em;
  border-radius: var(--border-radius);
}

form button {
  width: 20vw;
}

button {
  border-radius: var(--border-radius);
  padding: 1.5em;
  background-color: var(--color-primary);
  border: none;
  color: var(--text-color-primary);
  font-size: 10pt;
  transition: background-color ease-in 150ms, color ease-in 150ms, transform ease-in 150ms;
}

button:hover {
  background-color: var(--color-secondary);
  color: var(--text-color-secondary);
  transform: scale(110%);
}

.notification {
  border-radius: 15px;
  background-color: var(--color-secondary);
  color: var(--text-color-secondary);
  display: flex;
  justify-content: center;
  width: 30vw;
  position: fixed;
  left: 35vw;
  top: -15vh;
  transition: transform 150ms ease-in;
}

.notification.animating {
  transform: translateY(20vh);
}

#dark-light-mode-container {
  position: absolute;
  right: 3em;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 1em;
  bottom: 1em;
}

#dark-light-mode-selector {
  background-color: var(--color-background);
  width: 90px;
  height: 45px;
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 1em;
  padding-right: 1em;
  cursor: pointer;
  box-sizing: border-box;
}

body[data-mode="dark"] .bi-moon-fill {
  color: black;
}

body[data-mode="light"] .bi-sun-fill {
  color: white;
}

#dark-light-mode-selector svg {
  z-index: 10;
}

#dark-light-mode-indicator {
  position: absolute;
  border-radius: 50px;
  width: 45px;
  height: 45px;
  background-color: white;
  left: 0;
  transition: transform 150ms ease-in, background-color 150ms ease-in;
}

body[data-mode="dark"] #dark-light-mode-indicator {
}

body[data-mode="light"] #dark-light-mode-indicator {
  transform: translateX(45px);
  background-color: black;
}
