:root {
  --cp-sfc-1: #690104;
  --cp-sfc-2: #8e0207;
  --cp-sfc-3: #a9030b;
  --cp-sfc-4: #dddddd;
  --cp-sfc-5: #333333;
}

.the-sfc {
  position: fixed;
  z-index: 444;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
  cursor: pointer;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
  &.the-callout {
    background-color: var(--cp-sfc-5);
    color: var(--cp-sfc-4);
    width: 150px;
    bottom: 5rem;
    right: 1rem;
    padding: 30px 10px 20px 10px;
    small {
      line-height: 1.4;
    }
  }
  &#sfc-closer,
  &#sfc-opener {
    width: 48px;
    height: 48px;
    background-color: var(--cp-sfc-1);
    color: var(--cp-sfc-4);
    right: 1.5rem;
    bottom: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    &.show {
      display: flex;
    }
    &.hide {
      display: none;
    }
    svg {
      fill: var(--cp-sfc-4);
      width: 32px;
    }
  }
  &#sfc-first-callout {
    &.show {
      display: flex;
    }
    &.hide {
      display: none;
    }
    &:before {
      content: "";
      bottom: -19px;
      right: 1rem;
      position: absolute;
      border-top: 10px solid var(--cp-sfc-5);
      border-right: 10px solid transparent;
      border-bottom: 10px solid transparent;
      border-left: 10px solid transparent;
    }

    .sfc-callout-closer {
      width: 10px;
      height: 10px;
      position: absolute;
      top: 10px;
      right: 10px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      font-size: 10px;
      cursor: pointer;
    }
  }
  &#sfc-second-callout {
    &.show {
      display: flex;
    }
    &.hide {
      display: none;
    }
    &:before {
      content: "";
      bottom: -19px;
      right: 1rem;
      position: absolute;
      border-top: 10px solid var(--cp-sfc-5);
      border-right: 10px solid transparent;
      border-bottom: 10px solid transparent;
      border-left: 10px solid transparent;
    }
    .sfc-callout-second-closer {
      width: 10px;
      height: 10px;
      position: absolute;
      top: 10px;
      right: 10px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      font-size: 10px;
      cursor: pointer;
    }
  }
  &#sfc {
    width: 68px;
    background: linear-gradient(
      to bottom,
      var(--cp-sfc-1),
      var(--cp-sfc-2),
      var(--cp-sfc-3),
      var(--cp-sfc-1)
    );
    right: 1rem;
    bottom: 5rem;
    padding: 20px 10px;
    display: none;
    &.show {
      display: flex;
    }
    &.hide {
      display: none;
    }
    ul {
      display: flex;
      flex-direction: column;
      padding: 0;
      margin: 0;
      padding-inline-start: 0;
      padding-inline-end: 0;
      margin-inline-start: 0;
      margin-inline-end: 0;
      list-style: none;
      li {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 1rem 0;
        &:first-child {
          border-bottom: 1px dashed rgba(255, 255, 255, 0.2);
        }
        a {
          display: flex;
          flex-direction: column;
          align-items: center;
          font-size: 12px;
          color: var(--cp-sfc-4);
          .icon {
            svg {
              fill: var(--cp-sfc-4);
              width: 24px;
            }
          }
        }
      }
    }
  }
}
