.bs-bg-light-blue {
  background-color: #F5F9FC;
}

.bs-bg-surface-subtle {
  background-color: #f9fafb;
}

.field--name-field-sections > .field__item + .field__item {
  margin-block-start: 3rem;
}

.paragraph--type--two-column-bullets .field--name-field-bullet-items {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
}
@media (min-width: 48rem) {
  .paragraph--type--two-column-bullets .field--name-field-bullet-items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
  }
}
.paragraph--type--two-column-bullets .field--name-field-description {
  margin-block-end: 1.5rem;
}
.paragraph--type--two-column-bullets .field--name-field-additional-info {
  margin-block-start: 1.5rem;
}

.paragraph--type--bullet-item .field--name-field-title {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.75rem;
  color: #231f20;
}
.paragraph--type--bullet-item:has(.field--name-field-icon) {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
.paragraph--type--bullet-item:has(.field--name-field-icon) .field--name-field-icon {
  grid-area: 1/1;
}
.paragraph--type--bullet-item:has(.field--name-field-icon) .field--name-field-title {
  grid-area: 1/2;
}
.paragraph--type--bullet-item:has(.field--name-field-icon) .field--name-field-description {
  grid-area: 2/1/3/3;
}
.paragraph--type--bullet-item .field--name-field-icon {
  width: 20px;
  height: 20px;
  color: #3b82f6;
}
.paragraph--type--bullet-item .field--name-field-icon img,
.paragraph--type--bullet-item .field--name-field-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}
.paragraph--type--bullet-item .field--name-field-description {
  margin-block-start: 0.75rem;
}

.ccd-steps {
  counter-reset: ccd-step;
}

.ccd-step {
  counter-increment: ccd-step;
  border: 1px solid #e5e7eb;
  border-radius: 0.625rem;
  background-color: #fff;
}
.ccd-step + .ccd-step, .field__item + .field__item .ccd-step {
  margin-block-start: 0.5rem;
}
.ccd-step__summary {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.875rem 1rem;
  cursor: pointer;
  list-style: none;
}
.ccd-step__summary::-webkit-details-marker {
  display: none;
}
.ccd-step__summary::before {
  content: counter(ccd-step);
  flex-shrink: 0;
  min-width: 20px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5rem;
  color: #231f20;
}
.ccd-step__summary::after {
  content: "";
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  margin-inline-start: auto;
  margin-block-start: 0.25rem;
  border-right: 0.125rem solid #4a5565;
  border-bottom: 0.125rem solid #4a5565;
  transform: rotate(45deg);
  transition: transform 0.15s ease-in-out;
}
.ccd-step[open] .ccd-step__summary::after {
  margin-block-start: 0.75rem;
  transform: rotate(225deg);
}
.ccd-step__lead {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}
.ccd-step__title {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5rem;
}
.ccd-step__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.ccd-step__badge {
  padding: 0.125rem 0.5rem;
  border: 1px solid #e1e4e8;
  border-radius: 0.25rem;
  background-color: #f8f9fa;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1rem;
  color: #5f6368;
  white-space: nowrap;
}
.ccd-step__badge--eservices {
  border-color: #c7cbd1;
  background-color: #e5e7eb;
  color: #374151;
}
.ccd-step__body {
  padding-inline: 2.75rem 1rem;
  padding-block-end: 1rem;
}
@media (max-width: 47.99875rem) {
  .ccd-step__lead {
    flex: 1;
  }
  .ccd-step__badges {
    flex-basis: 100%;
  }
  .ccd-step__title {
    font-size: 0.9375rem;
    line-height: 1.5rem;
  }
  .ccd-step__body .text-formatted p,
  .ccd-step__body .text-formatted li {
    font-size: 0.875rem;
    line-height: 1.42188rem;
  }
}

.ccd-icon-heading {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.ccd-icon-heading::before {
  content: "";
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  background-color: #3b82f6;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.ccd-icon-heading--card::before {
  -webkit-mask-image: url("../images/ui/credit-card.svg");
          mask-image: url("../images/ui/credit-card.svg");
}

.ccd-icon-heading--clock::before {
  -webkit-mask-image: url("../images/ui/clock.svg");
          mask-image: url("../images/ui/clock.svg");
}
