.ac {
  --color-white: #fff;
  --color-light-grey: #eee;
  --color-grey: #8a8a8a;
  --color-black: #111;

  margin-bottom: 8px;
  border: 1px solid var(--color-light-grey);
  background-color: var(--color-white);
  box-sizing: border-box;
}

.ac .ac-header {
  margin: 0;
  padding: 0;
}

.ac .ac-trigger {
  font: bold 16px "Arial", sans-serif;
  color: var(--color-black);
  text-align: left;
  width: 100%;
  padding: 8px 32px 8px 8px;
  display: block;
  cursor: pointer;
  background-color: transparent;
  transition: color 0.25s ease;
  position: relative;
  text-decoration: none;
  margin: 0;
  border: 0;
}

.ac .ac-trigger::after {
  content: "";
  text-align: center;
  width: 1.5rem;
  aspect-ratio: 1/1;
  position: absolute;
}

.ac .ac-trigger:focus {
  color: var(--color-grey);
}

.ac .ac-panel {
  overflow: hidden;
  transition-property: height, visibility;
  transition-timing-function: ease;
}

.ac .ac-panel .ac-text {
  font: 15px/24px "Arial", sans-serif;
  color: var(--color-black);
  padding: 8px;
  margin: 0;
}

.ac.js-enabled .ac-panel {
  visibility: hidden;
}

.ac.is-active .ac-panel {
  visibility: visible;
}

.ac.is-active > .ac-header .ac-trigger::after {
  content: "";
}
