body {
  font-family: 'Karla', sans-serif;
  font-size: 14px;
  margin: 0;
}

h2 {
  margin: 0;
  font-size: 20px;
}

hr {
  margin: 30px 0;
  border: 0;
  border-bottom: 1px solid #000000;
}

code {
  background-color: #E5E5E5;
  padding: 3px;
  font-size: 12px;
}

a {
  color: #0000F4;
  text-decoration: underline;
  transition: color 0.2s linear;
}

a:visited {
  color: #0000F4;
}

a:hover {
  color: #4040FF;
}

.container {
  margin: 30px;
  width: 33%;
  min-width: 600px;
}

.header {
  background-color: #000000;
  width: 100%;
  height: 40px;
  color: #FFFFFF;
  display: flex;
  align-items: center;
}

.header span {
  padding: 0 10px;
}

.header a {
  color: #FFFFFF;
  transition: color 0.2s linear;
}

.header a:visited {
  color: #FFFFFF;
}

.header a:hover {
  color: #4040FF;
}

.search {
  display: flex;
}

.search-input {
  height: 30px;
  width: 330px;
  padding: 0 7px;
  border-radius: 2px;
  border: 1px solid #000000;
}

.search-input:focus {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.generate-button {
  height: 32px;
  margin: 0 0 0 20px;
  padding: 0px 10px;
  font-weight: bold;
  font-size: 14px;
  border-radius: 3px;
  background-color: #0000F4;
  color: #FFFFFF;
  text-decoration: none;
  transition: background-color 0.2s linear;
  display: flex;
  align-items: center;
}

.generate-button:visited {
  color: #FFFFFF;
}

.generate-button:hover {
  color: #FFFFFF;
  background-color: #4040FF;
}

.selected {
  display: flex;
  flex-wrap: wrap;
  margin: 15px 0 0 0;
}

.selected div {
  padding: 2px 10px;
  margin: 0 5px;
  border: 1px dashed #000000;
  cursor: pointer;
  border-radius: 2px;
  transition: 0.2s linear;
}

.selected div:hover {
  color: #FFFFFF;
  background-color: #000000;
  border: 1px solid #000000;
}

.selected div:nth-of-type(1) {
  margin: 0 5px 0 0;
}

.term-chooser {
  position: absolute;
  background-color: #FFFFFF;
  border: 1px solid #000000;
  margin: -1px 0 0 0;
  padding: 0;
  width: 344px;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}

.term-chooser.focused { display: block; }

.term-chooser.unfocused { display: none; }

.term-chooser li {
  margin: 0;
  padding: 5px 10px;
  font-size: 14px;
  list-style: none;
}

.term-chooser li:hover {
  cursor: pointer;
  color: #FFFFFF;
  background-color: #000000;
}

.templates-header {
  display: flex;
  align-items: center;
}

.templates-header-count {
  margin: 0 5px;
}

.templates-list {
  padding: 0;
}

.templates-list li {
  list-style-type: none;
}

.instructions ol {
  padding: 0 0 0 15px;
}

.api table {
  margin: 20px 0;
  width: 100%;
}

.footer {
  display: flex;
  justify-content: space-between;
}

.footer .top {
  text-decoration: none;
}
