/* ============================================
   COLLAPSIBLE BUTTONS (TOP + PARTY LEVEL)
   ============================================ */

.collapsible {
  background-color: #BD1003;
  color: white;
  padding: 7px;
  width: 100%;
  border: none;
  text-align: left;
  font-size: 11pt;
  font-weight: bold;
  font-family: "Libre Franklin", sans-serif;
  outline: none;
  margin: 0;
  cursor: pointer;     /* REQUIRED */
}

.collapsible:hover {
  background-color: #1E2B45;
}

.active, .collapsible.active {
  background-color: #1E2B45;
}

.collapsible:after {
  content: '\002B';
  color: white;
  font-weight: bold;
  float: right;
  margin-left: 5px;
}

.active:after {
  content: "\2212";
}

/* ============================================
   COLLAPSIBLE CONTENT (ANIMATED)
   ============================================ */

.content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.25s ease-out;
    padding: 0 18px;
    background-color: #f1f1f1;
    margin: 0;
}


/* ============================================
   STATE-LEVEL BUTTON LAYOUT
   ============================================ */

.state-button {
    display: flex;
    align-items: center;
    width: 100%;
}



/* Three equal columns */
.state-name,
.state-date-label,
.state-right-placeholder {
    flex: 1;
    text-align: center;
}

/* Left column override */
.state-name {
    text-align: left;
    padding-left: 7px;
}

/* Right column override */
.state-right-placeholder {
    text-align: right;
}

/* Date label */
.state-date-label {
    font-family: "Libre Franklin", sans-serif;
    font-size: 9pt;
    font-weight: normal;
    color: white;
}

/* attempt at resize issue
.state-button::after {
    content: '\002B';
    font-size: 13px;
    float: right;
    margin-left: 5px;
}

.state-button.active::after {
    content: "\2212";
}


/* ============================================
   CANDIDATE CARD
   ============================================ */

.cand {
  padding: 2px 7px;
  border-bottom: none;
  font-size: 12pt;
  font-family: "Libre Franklin", sans-serif;
}

.cand-name {
  font-weight: bold;
}

.cand-desc {
  margin-left: 4px;
}

.content .cand:first-child {
    margin-top: 8px;
}

/* ============================================
   ICON ROWS
   ============================================ */

.tBar,
.tBar-party,
.tBar-newsbio,
.tBar-campaign,
.tBar-official,
.tBar-personal {
  padding: 1px 1px 0px 42px;
  line-height: 1;
  display: flex;
  align-items: center;
}

.tBar img {
  width: 20px;
  height: 20px;
  margin-right: 6px;
}

.tBar-label {
  font-size: 9pt;
  font-weight: bold;
  font-family: "Libre Franklin", sans-serif;
  line-height: 20px;
  color: #555;
  margin-right: 4px;
}

/* ============================================
   CANDIDATE CARD BOTTOM BORDER
   ============================================ */

.cand-bottom-border {
  border-bottom: 1px solid #ccc;
  margin: 12px 0 16px 0;
}
