.detail {
  display: grid;
  gap: calc(var(--grid-gap) / 2) var(--grid-gap);
  margin: 32px 0 80px 0;
  grid-template-columns: calc(100vw - var(--grid-gap));
}

.detail__meta {
  font-size: calc(14rem/var(--initial-font-multiplier));
  color: var(--text-color-light-gray);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.detail__meta-item {
  margin-right: var(--grid-gap);
}

.detail__date-notes {
  color: var(--text-color-light-gray);
  font-size: calc(14rem/var(--initial-font-multiplier));
}

.detail__date-item:first-child {
  margin-right: 30px;
}

.detail__footer {
  padding-top: 15px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  font-size: calc(14rem/var(--initial-font-multiplier));
  color: var(--text-color-light-gray);
  border-top: 1px solid var(--border-color);
}

.detail__footer-item {
  margin: 5px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.detail__footer-item > div {
  display: flex;
  align-items: center;
}

.detail__footer-label {
  margin: 5px 20px 5px 0;
}

.detail__admin-buttons {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.detail__admin-buttons > * {
  margin: calc(var(--grid-gap) / 4);
}

.vote__items-list {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

.vote__item-vote {
  margin: 0;
  padding: 0;
}

.vote__question-list {
  display: grid;
}

.vote__question-item {
  padding: calc(var(--grid-gap) / 2) 0;
  border-bottom: 1px solid var(--border-color);
}

.vote__question-titlebar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.vote__question-title {
  font-weight: 500;
  position: relative;
}

.vote__question-item--required .vote__question-title::after {
  content: '*';
  display: inline;
  position: absolute;
  top: calc(var(--grid-gap) / 2);
  left: calc(100% + 5px);
  color: var(--error-color);
}

.vote__bar-square {
  width: 10px;
  height: 10px;
  border-radius: 4px;
}

.vote__answer-wrapper {
  display: flex;
  align-items: center;
}

.vote__answer-bar {
  height: 32px;
  float: left;
  margin-right: 7px;
  border-radius: 4px;
}

.vote__answer-counter {
  white-space: nowrap;
}

.vote__answer-counter--histogram {
  display: block;
  float: left;
  line-height: 23px;
  width: 19%;
}

.vote__answer-lolight {
  color: var(--disabled-color);
}

.vote__answer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.vote__answer > div {
  margin: 0 7px;
}

.vote__answer-graph img {
  width: 100%;
}

.vote__answer-graph {
  flex: 1 150px;
}

.vote__answer-table-wrapper {
  flex: 20 320px;
}

.vote__answer-table {
  border-collapse: collapse;
  width: 100%;
  margin: 20px 0;
}

.vote__answer-table th,
.vote__answer-table td {
  border-bottom: 1px solid var(--border-color);
  padding: 9px 10px;
  vertical-align: middle;
}

.vote__answer-table tr:last-child th,
.vote__answer-table tr:last-child td {
  border: 0;
}

:root.root--special .vote__question-item vote__item-vote,
:root.root--special .detail__footer,
:root.root--special .vote__question-item,
:root.root--special .vote__answer-table th,
:root.root--special .vote__answer-table td {
  border-color: var(--special-text-color);
}

:root.root--special .detail__meta,
:root.root--special .detail__date-notes,
:root.root--special .detail__footer,
:root.root--special .vote__question-item--required .vote__question-title::after,
:root.root--special .vote__answer-lolight {
  color: var(--special-text-color);
}

@media (hover: hover) {
  .detail__text a:hover {
    text-decoration: underline;
    text-decoration-color: var(--primary-color-25);
  }
}

@media screen and (max-width: 384px) {
  .detail__photos img {
    width: calc(100vw - var(--grid-gap));
    height: auto;
  }
}

@media screen and (max-width: 567px) {
  .vote__answer-bar {
    width: 0 !important;
  }
}

@media screen and (min-width: 896px) and (max-width: 1087px) {
  .detail {
    grid-template-columns: 1fr;
  }
}

@media screen and (min-width: 1088px) {
  .detail {
    grid-template-columns: 1fr;
  }
}
