.accordion__section-title, .accordion__section h3.accordion__section-title, .accordion__section-area h3.accordion__section-title {
  color: #000;
  font-size: 21px;
  font-size: 1.3125rem;
  font-weight: 600;
  pointer-events: none; }
  .accordion__section-title.pagefx-anchor:before {
    content: '';
    display: block;
    height: 1.25rem; }
  @media screen and (min-width: 48rem) {
    .accordion__section-title, .accordion__section h3.accordion__section-title, .accordion__section-area h3.accordion__section-title {
      flex: 1;
      min-width: 15%;
      margin-right: 1.5rem; } }
  @media screen and (min-width: 64rem) {
    .accordion__section-title, .accordion__section h3.accordion__section-title, .accordion__section-area h3.accordion__section-title {
      min-width: 20%;
      margin-right: 4rem; } }
  @media screen and (min-width: 80rem) {
    .accordion__section-title, .accordion__section h3.accordion__section-title, .accordion__section-area h3.accordion__section-title {
      min-width: 240px;
      margin-right: 5.5rem; } }

.accordion__dl {
  width: 100%;
  max-width: inherit; }
  .accordion__dl[data-group-count="1"] dt,
  .accordion__dl[data-group-count="1"] .accordion__section-anchors {
    display: none; }

.accordion + .accordion__container {
  margin-top: 0.5rem; }

.accordion__header {
  display: flex;
  justify-content: space-between;
  border: none;
  border-bottom: 2px solid #f1f1f1;
  background: transparent;
  width: 100%;
  appearance: none;
  cursor: pointer;
  font-weight: 400;
  line-height: 1;
  margin: 0;
  font-size: 18px;
  font-size: 1.125rem;
  text-align: left;
  font-weight: normal;
  padding: 1rem 0 1rem; }
  @media screen and (min-width: 64rem) {
    .accordion__header {
      font-size: 21px;
      font-size: 1.3125rem; } }
  @media screen and (min-width: 80rem) {
    .accordion__header {
      font-size: 24px;
      font-size: 1.5rem; } }
  .accordion__header:focus {
    outline: 1px solid #cf000d; }
  .accordion__header.active .accordion__expander {
    transform: rotate(180deg); }

.accordion__expander {
  position: relative;
  display: block;
  width: 13px;
  height: 13px;
  top: 5px;
  right: 5px;
  transition: transform 200ms linear; }
  .accordion__expander:after {
    content: '';
    display: block;
    position: absolute;
    width: 13px;
    height: 13px;
    top: -25%;
    transform: rotate(45deg);
    border: 2px solid #000;
    border-top: none;
    border-left: none;
    box-sizing: border-box; }

.accordion__label {
  line-height: 1.15;
  padding-right: 2rem;
  text-align: left;
  width: 100%; }
  .accordion__label sup {
    top: -0.7em;
    font-size: 60%;
    padding: 0 2px; }

.accordion__section {
  margin: 0;
  padding: 0;
  max-height: 0;
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
  transition: max-height .3s ease-in-out, opacity .5s ease-in-out, visibility .3s ease-in-out, padding .3s ease-in-out; }
  .accordion__section * {
    pointer-events: none; }
  .accordion__section.active {
    padding: 1.5rem 0;
    max-height: 5555rem;
    opacity: 1;
    visibility: visible;
    transition: max-height .3s ease-in-out, opacity .5s ease-in-out, visibility .3s ease-in-out, padding .3s ease-in-out; }
    .accordion__section.active * {
      pointer-events: auto; }

.accordion__section {
  overflow: visible; }
  .accordion__section-anchors {
    box-shadow: 0 5px 12px 0 rgba(0, 0, 0, 0.17);
    margin: 0 auto 2rem;
    transition: margin .3s ease-in-out; }
    @media screen and (min-width: 30rem) {
      .accordion__section-anchors {
        display: grid;
        grid-template-columns: auto 2px auto;
        grid-template-rows: auto auto;
        justify-items: center;
        align-items: center; } }
    @media screen and (min-width: 48rem) {
      .accordion__section-anchors {
        grid-template-columns: auto 2px auto 2px auto 2px auto;
        grid-template-rows: auto; } }
  .accordion__section.active .accordion__section-anchors {
    margin-top: -1.5rem; }
  .accordion__section-line {
    display: block;
    background-color: #f1f1f1;
    width: calc(100% - 2rem);
    height: 2px;
    margin: 0 auto; }
    @media screen and (min-width: 30rem) {
      .accordion__section-line {
        width: 2px;
        height: 30px; }
        .accordion__section-line:nth-of-type(2) {
          display: none; } }
    @media screen and (min-width: 48rem) {
      .accordion__section-line:nth-of-type(2) {
        display: block; } }
  .accordion__section a.accordion__section-link {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-decoration: none;
    color: #000;
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 600;
    padding: 1.25rem 1rem;
    position: relative;
    width: calc(100% - 2rem); }
    @media screen and (min-width: 30rem) {
      .accordion__section a.accordion__section-link {
        width: 100%;
        justify-content: center;
        padding: 1.25rem 0; } }
  .accordion__section-area + .accordion__section-area {
    margin-top: 3rem; }
  @media screen and (min-width: 48rem) {
    .accordion__section-area {
      display: flex; }
      .accordion__section-area + .accordion__section-area {
        margin-top: 4rem; } }
  @media screen and (min-width: 80rem) {
    .accordion__section-area + .accordion__section-area {
      margin-top: 5rem; } }
  .accordion__section-body {
    margin-top: 1rem;
    flex: 3; }
  .accordion__section-subaccordion {
    background-color: #f1f1f1; }
    .accordion__section-subaccordion + .accordion__section-subaccordion {
      margin-top: 1rem; }

.accordion__button {
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  box-sizing: border-box;
  border: 2px solid transparent;
  border-radius: 0;
  background-color: #cf000d;
  color: #fff;
  font-weight: 600;
  letter-spacing: .2px;
  min-height: 2.875rem;
  padding: 0.25rem 2rem;
  transition: color 300ms ease, background-color 300ms ease;
  font-size: 1.125rem;
  cursor: pointer;
  color: #fff; }
  .accordion__button:focus {
    outline: 1px solid #000; }
  .accordion__button:hover {
    background-color: #b6000b;
    color: #fff; }
  .accordion__button:disabled {
    background-color: #fff;
    border: 2px solid #d5d5d5;
    color: #d5d5d5; }
  @media screen and (min-width: 48rem) {
    .accordion__button {
      max-width: 15.625rem; } }

.accordion__video {
  padding: 0;
  cursor: pointer;
  appearance: none;
  border: none;
  background: none;
  cursor: pointer;
  position: relative;
  display: flex;
  justify-content: center; }
  .accordion__video:focus {
    outline: 1px solid #cf000d; }
  .accordion__video::after {
    content: url(../img/video-play-icon.svg);
    position: absolute;
    align-self: center; }

.accordion__content {
  margin: 0; }
  @media screen and (min-width: 48rem) {
    .accordion__content {
      padding-right: 2rem; } }
  @media screen and (min-width: 80rem) {
    .accordion__content {
      padding-right: 4rem; } }
  .accordion__content p {
    margin-top: 0; }

.subaccordion__header {
  padding: 1.25rem 0;
  border: 0;
  transition: padding .3s ease-in-out; }
  .subaccordion__header.active {
    padding-bottom: 0.5rem; }

.subaccordion__label {
  font-size: 16px;
  font-size: 1rem;
  letter-spacing: 0.01em;
  font-weight: 600;
  line-height: 1.4;
  padding: 0 2.5rem 0 1.5rem;
  margin: 0;
  text-align: left; }

.subaccordion__expander {
  right: 1.5rem; }

.subaccordion__section {
  background-color: #f1f1f1;
  padding: 0 1.5rem; }
  .subaccordion__section.active {
    padding: 0 1.5rem 1.5rem; }

.subaccordion__copy {
  font-size: 16px;
  font-size: 1rem;
  letter-spacing: 0.01em;
  font-weight: 400;
  line-height: 1.4;
  margin: 0; }

/*# sourceMappingURL=accordion.css.map */