.content-104 {
  background-color: var(--content-104--block--background-color);
  padding-bottom: var(--content-104--block--padding-y);
  padding-top: var(--content-104--block--padding-y);
}
.content-104:not(:first-child) {
  margin-top: var(--content-104--block--margin-top);
}
.content-104 .content-104-title {
  margin-bottom: var(--content-104--title--margin-bottom);
  color: var(--content-104--title--color);
  font-family: var(--content-104--title--font-family);
  font-size: var(--content-104--title--font-size);
  font-weight: var(--content-104--title--font-weight);
  line-height: var(--content-104--title--line-height);
  letter-spacing: var(--content-104--title--letter-spacing);
  text-transform: var(--content-104--title--text-transform);
}

.content-104-grid {
  display: grid;
  grid-template-columns: var(--content-104--grid--grid-template-columns);
  gap: var(--content-104--grid--gap);
}
.content-104-grid [x-cloak] {
  display: none;
}

.content-104-card {
  display: flex;
  flex-direction: column;
  background-color: var(--content-104--card--background-color);
  border-radius: var(--content-104--card--border-radius);
  border-width: var(--content-104--card--border-width);
  border-color: var(--content-104--card--border-color);
  border-style: solid;
  padding: var(--content-104--card--padding-y) var(--content-104--card--padding-x);
}

.content-104-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--content-104--card-head--gap);
  padding-bottom: var(--content-104--card-head--padding-bottom);
  border-bottom-width: var(--content-104--card-head--border-bottom-width);
  border-bottom-color: var(--content-104--card-head--border-bottom-color);
  border-bottom-style: solid;
  text-decoration: none;
}
.content-104-card-head:hover {
  text-decoration: none;
}

.content-104-card-name {
  color: var(--content-104--card-name--color);
  font-family: var(--content-104--card-name--font-family);
  font-size: var(--content-104--card-name--font-size);
  font-weight: var(--content-104--card-name--font-weight);
  line-height: var(--content-104--card-name--line-height);
  letter-spacing: var(--content-104--card-name--letter-spacing);
  text-transform: var(--content-104--card-name--text-transform);
  min-height: calc(var(--content-104--card-name--line-height) * 2em);
  flex: 1;
  min-width: 0;
  word-break: break-word;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.content-104-card-image {
  flex-shrink: 0;
  width: var(--content-104--card-image--width);
  height: var(--content-104--card-image--height);
  overflow: hidden;
}
.content-104-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: var(--content-104--card-image--object-fit);
     object-fit: var(--content-104--card-image--object-fit);
}

.content-104-card-subs {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-top: var(--content-104--subs--margin-top);
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--content-104--subs--gap);
}

.content-104-card-sub a {
  color: var(--content-104--sub-link--color);
  font-family: var(--content-104--sub-link--font-family);
  font-size: var(--content-104--sub-link--font-size);
  font-weight: var(--content-104--sub-link--font-weight);
  line-height: var(--content-104--sub-link--line-height);
  letter-spacing: var(--content-104--sub-link--letter-spacing);
  -webkit-text-decoration: var(--content-104--sub-link--text-decoration);
          text-decoration: var(--content-104--sub-link--text-decoration);
}
.content-104-card-sub a:hover {
  color: var(--content-104--sub-link-hover--color);
  -webkit-text-decoration: var(--content-104--sub-link-hover--text-decoration);
          text-decoration: var(--content-104--sub-link-hover--text-decoration);
}

.content-104-card-sub-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--content-104--sub-row--gap);
}

.content-104-card-sub-toggle {
  flex-shrink: 0;
  width: var(--content-104--sub-toggle--size);
  height: var(--content-104--sub-toggle--size);
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.content-104-card-sub-toggle::before {
  content: "";
  width: 0.45rem;
  height: 0.45rem;
  border-right: 2px solid var(--content-104--sub-toggle--color);
  border-bottom: 2px solid var(--content-104--sub-toggle--color);
  transform: rotate(45deg);
  transform-origin: center;
  transition: transform 0.2s ease;
}
.content-104-card-sub-toggle.is-open::before {
  transform: rotate(-135deg);
}
.content-104-card-sub-toggle:hover::before {
  border-color: var(--content-104--sub-toggle-hover--color);
}

.content-104-card-subsubs {
  list-style: none;
  margin: 0;
  margin-top: var(--content-104--subsubs--margin-top);
  margin-bottom: calc(var(--content-104--subsubs--margin-top) - var(--content-104--subs--gap));
  padding: 0;
  padding-left: var(--content-104--subsubs--padding-left);
  display: flex;
  flex-direction: column;
  gap: var(--content-104--subsubs--gap);
}

.content-104-card-subsub a {
  color: var(--content-104--subsub-link--color);
  font-family: var(--content-104--subsub-link--font-family);
  font-size: var(--content-104--subsub-link--font-size);
  font-weight: var(--content-104--subsub-link--font-weight);
  line-height: var(--content-104--subsub-link--line-height);
  letter-spacing: var(--content-104--subsub-link--letter-spacing);
  -webkit-text-decoration: var(--content-104--sub-link--text-decoration);
          text-decoration: var(--content-104--sub-link--text-decoration);
}
.content-104-card-subsub a:hover {
  color: var(--content-104--sub-link-hover--color);
  -webkit-text-decoration: var(--content-104--sub-link-hover--text-decoration);
          text-decoration: var(--content-104--sub-link-hover--text-decoration);
}

.content-104-card-sub-count {
  color: var(--content-104--sub-count--color);
}

.content-104-card-toggle {
  margin-top: auto;
  padding-top: var(--content-104--toggle--margin-top);
}
.content-104-card-toggle button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: var(--content-104--toggle--color);
  font-family: var(--content-104--toggle--font-family);
  font-size: var(--content-104--toggle--font-size);
  font-weight: var(--content-104--toggle--font-weight);
  line-height: var(--content-104--toggle--line-height);
  letter-spacing: var(--content-104--toggle--letter-spacing);
}
.content-104-card-toggle button:hover {
  color: var(--content-104--toggle-hover--color);
}