/* ------ buttons ----- */
/* ------ typography ----- */
@keyframes skeleton {
  0% {
    opacity: 0.3;
    transform: scaleX(0);
    transform-origin: left;
  }
  20% {
    opacity: 1;
    transform: scaleX(1);
    transform-origin: left;
  }
  28% {
    transform: scaleX(1);
    transform-origin: right;
  }
  51% {
    transform: scaleX(0);
    transform-origin: right;
  }
  58% {
    transform: scaleX(0);
    transform-origin: right;
  }
  82% {
    transform: scaleX(1);
    transform-origin: right;
  }
  83% {
    transform: scaleX(1);
    transform-origin: left;
  }
  96% {
    transform: scaleX(0);
    transform-origin: left;
  }
  100% {
    opacity: 0.3;
    transform: scaleX(0);
    transform-origin: left;
  }
}
.bx--fieldset {
  box-sizing: border-box;
  padding: 0;
  border: 0;
  margin: 0;
  font-family: inherit;
  font-size: 100%;
  vertical-align: baseline;
  margin-bottom: 2rem;
}
.bx--fieldset *,
.bx--fieldset *::before,
.bx--fieldset *::after {
  box-sizing: inherit;
}
.bx--fieldset--no-margin {
  margin-bottom: 0;
}
.bx--form-item {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
}
.bx--label {
  box-sizing: border-box;
  padding: 0;
  border: 0;
  margin: 0;
  font-family: inherit;
  font-size: 100%;
  vertical-align: baseline;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.33333;
  letter-spacing: 0.32px;
  display: inline-block;
  margin-bottom: 0.5rem;
  color: #525252;
  font-weight: 400;
  line-height: 1rem;
  vertical-align: baseline;
}
.bx--label *,
.bx--label *::before,
.bx--label *::after {
  box-sizing: inherit;
}
.bx--label .bx--tooltip__trigger {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.33333;
  letter-spacing: 0.32px;
}
.bx--label.bx--skeleton {
  position: relative;
  padding: 0;
  border: none;
  background: #e5e5e5;
  box-shadow: none;
  pointer-events: none;
  width: 4.6875rem;
  height: 0.875rem;
}
.bx--label.bx--skeleton:hover, .bx--label.bx--skeleton:focus, .bx--label.bx--skeleton:active {
  border: none;
  cursor: default;
  outline: none;
}
.bx--label.bx--skeleton::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  animation: 3000ms ease-in-out skeleton infinite;
  background: #c6c6c6;
  content: "";
  will-change: transform-origin, transform, opacity;
}
@media (prefers-reduced-motion: reduce) {
  .bx--label.bx--skeleton::before {
    animation: none;
  }
}
input[type=number] {
  font-family: "redhat-mono", "Menlo", Courier, monospace;
}
input[data-invalid]:not(:focus),
.bx--number[data-invalid] input[type=number]:not(:focus),
.bx--text-input__field-wrapper[data-invalid] > .bx--text-input--invalid:not(:focus),
.bx--text-area__wrapper[data-invalid] > .bx--text-area--invalid:not(:focus),
.bx--select-input__wrapper[data-invalid] .bx--select-input:not(:focus),
.bx--list-box[data-invalid]:not(:focus),
.bx--combo-box[data-invalid] .bx--text-input:not(:focus) {
  outline: 2px solid #da1e28;
  outline-offset: -2px;
}
@media screen and (prefers-contrast) {
  input[data-invalid]:not(:focus),
  .bx--number[data-invalid] input[type=number]:not(:focus),
  .bx--text-input__field-wrapper[data-invalid] > .bx--text-input--invalid:not(:focus),
  .bx--text-area__wrapper[data-invalid] > .bx--text-area--invalid:not(:focus),
  .bx--select-input__wrapper[data-invalid] .bx--select-input:not(:focus),
  .bx--list-box[data-invalid]:not(:focus),
  .bx--combo-box[data-invalid] .bx--text-input:not(:focus) {
    outline-style: dotted;
  }
}
input[data-invalid] ~ .bx--form-requirement,
.bx--number[data-invalid] .bx--number__input-wrapper ~ .bx--form-requirement,
.bx--number__input-wrapper--warning ~ .bx--form-requirement,
.bx--date-picker-input__wrapper ~ .bx--form-requirement,
.bx--date-picker-input__wrapper--warn ~ .bx--form-requirement,
.bx--date-picker-input__wrapper--invalid ~ .bx--form-requirement,
.bx--time-picker--invalid ~ .bx--form-requirement,
.bx--text-input__field-wrapper[data-invalid] ~ .bx--form-requirement,
.bx--text-input__field-wrapper--warning ~ .bx--form-requirement,
.bx--text-input__field-wrapper--warning > .bx--text-input ~ .bx--form-requirement,
.bx--text-area__wrapper[data-invalid] ~ .bx--form-requirement,
.bx--select-input__wrapper[data-invalid] ~ .bx--form-requirement,
.bx--select--warning .bx--select-input__wrapper ~ .bx--form-requirement,
.bx--time-picker[data-invalid] ~ .bx--form-requirement,
.bx--list-box[data-invalid] ~ .bx--form-requirement,
.bx--list-box--warning ~ .bx--form-requirement {
  display: block;
  overflow: visible;
  max-height: 12.5rem;
  font-weight: 400;
}
input[data-invalid] ~ .bx--form-requirement,
.bx--number[data-invalid] .bx--number__input-wrapper ~ .bx--form-requirement,
.bx--date-picker-input__wrapper ~ .bx--form-requirement,
.bx--date-picker-input__wrapper--invalid ~ .bx--form-requirement,
.bx--time-picker--invalid ~ .bx--form-requirement,
.bx--text-input__field-wrapper[data-invalid] ~ .bx--form-requirement,
.bx--text-area__wrapper[data-invalid] ~ .bx--form-requirement,
.bx--select-input__wrapper[data-invalid] ~ .bx--form-requirement,
.bx--time-picker[data-invalid] ~ .bx--form-requirement,
.bx--list-box[data-invalid] ~ .bx--form-requirement {
  color: #da1e28;
}
.bx--form--fluid .bx--text-input__field-wrapper[data-invalid],
.bx--form--fluid .bx--text-input__field-wrapper--warning {
  display: block;
}
.bx--form--fluid .bx--fieldset {
  margin: 0;
}
.bx--form--fluid input[data-invalid] {
  outline: none;
}
.bx--form--fluid .bx--form-requirement {
  padding: 0.5rem 2.5rem 0.5rem 1rem;
  margin: 0;
}
input:not(output):not([data-invalid]):-moz-ui-invalid {
  box-shadow: none;
}
.bx--form-requirement {
  box-sizing: border-box;
  padding: 0;
  border: 0;
  margin: 0;
  font-family: inherit;
  font-size: 100%;
  vertical-align: baseline;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.33333;
  letter-spacing: 0.32px;
  display: none;
  overflow: hidden;
  max-height: 0;
  margin: 0.25rem 0 0;
}
.bx--form-requirement *,
.bx--form-requirement *::before,
.bx--form-requirement *::after {
  box-sizing: inherit;
}
.bx--select--inline .bx--form__helper-text {
  margin-top: 0;
}
.bx--form__helper-text {
  font-size: 0.75rem;
  line-height: 1.33333;
  letter-spacing: 0.32px;
  z-index: 0;
  width: 100%;
  margin-top: 0.25rem;
  color: #525252;
  opacity: 1;
}
.bx--label--disabled,
.bx--form__helper-text--disabled {
  color: #c6c6c6;
}
fieldset[disabled] .bx--label,
fieldset[disabled] .bx--form__helper-text {
  color: #c6c6c6;
}
.bx--radio-button-group {
  box-sizing: border-box;
  padding: 0;
  border: 0;
  margin: 0;
  font-family: inherit;
  font-size: 100%;
  vertical-align: baseline;
  position: relative;
  display: flex;
  align-items: center;
}
.bx--radio-button-group *,
.bx--radio-button-group *::before,
.bx--radio-button-group *::after {
  box-sizing: inherit;
}
.bx--label + .bx--form-item .bx--radio-button-group {
  margin-top: 0;
}
.bx--radio-button-group--vertical {
  flex-direction: column;
  align-items: flex-start;
}
.bx--radio-button-group--vertical.bx--radio-button-group--label-left {
  align-items: flex-end;
}
.bx--radio-button-group--vertical .bx--radio-button__label {
  margin-right: 0;
  line-height: 1.25rem;
}
.bx--radio-button-group--vertical .bx--radio-button__label:not(:last-of-type) {
  margin-bottom: 0.5rem;
}
.bx--radio-button {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  padding: 0;
  border: 0;
  margin: -1px;
  clip: rect(0, 0, 0, 0);
  visibility: inherit;
  white-space: nowrap;
  visibility: inherit;
}
.bx--radio-button__label {
  display: flex;
  align-items: center;
  margin-right: 1rem;
  cursor: pointer;
}
.bx--radio-button__appearance {
  box-sizing: border-box;
  padding: 0;
  border: 0;
  margin: 0;
  font-family: inherit;
  font-size: 100%;
  vertical-align: baseline;
  width: 1.125rem;
  height: 1.125rem;
  flex-shrink: 0;
  border: 1px solid #161616;
  margin: 0.0625rem 0.5rem 0.125rem 0.125rem;
  background-color: transparent;
  border-radius: 50%;
}
.bx--radio-button__appearance *,
.bx--radio-button__appearance *::before,
.bx--radio-button__appearance *::after {
  box-sizing: inherit;
}
.bx--radio-button:checked + .bx--radio-button__label .bx--radio-button__appearance {
  display: flex;
  align-items: center;
  justify-content: center;
  border-color: #161616;
}
.bx--radio-button:checked + .bx--radio-button__label .bx--radio-button__appearance::before {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
  background-color: #161616;
  border-radius: 50%;
  content: "";
  transform: scale(0.5);
}
@media screen and (-ms-high-contrast: active) {
  .bx--radio-button:checked + .bx--radio-button__label .bx--radio-button__appearance::before {
    background-color: WindowText;
  }
}
@media screen and (prefers-contrast) {
  .bx--radio-button:checked + .bx--radio-button__label .bx--radio-button__appearance::before {
    border: 2px solid WindowText;
  }
}
.bx--radio-button:disabled + .bx--radio-button__label {
  color: #c6c6c6;
  cursor: not-allowed;
}
.bx--radio-button:disabled + .bx--radio-button__label .bx--radio-button__appearance,
.bx--radio-button:disabled:checked + .bx--radio-button__label .bx--radio-button__appearance {
  border-color: #c6c6c6;
}
.bx--radio-button:disabled + .bx--radio-button__label .bx--radio-button__appearance::before,
.bx--radio-button:disabled:checked + .bx--radio-button__label .bx--radio-button__appearance::before {
  background-color: #c6c6c6;
}
.bx--radio-button:focus + .bx--radio-button__label .bx--radio-button__appearance {
  outline: 2px solid #0f62fe;
  outline-offset: 1.5px;
}
.bx--radio-button__label.bx--skeleton {
  position: relative;
  padding: 0;
  border: none;
  background: #e5e5e5;
  box-shadow: none;
  pointer-events: none;
  width: 6.25rem;
  height: 1.125rem;
}
.bx--radio-button__label.bx--skeleton:hover, .bx--radio-button__label.bx--skeleton:focus, .bx--radio-button__label.bx--skeleton:active {
  border: none;
  cursor: default;
  outline: none;
}
.bx--radio-button__label.bx--skeleton::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  animation: 3000ms ease-in-out skeleton infinite;
  background: #c6c6c6;
  content: "";
  will-change: transform-origin, transform, opacity;
}
@media (prefers-reduced-motion: reduce) {
  .bx--radio-button__label.bx--skeleton::before {
    animation: none;
  }
}
.bx--radio-button__label.bx--skeleton .bx--radio-button__appearance {
  display: none;
}
.bx--radio-button-wrapper .bx--radio-button__label {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin: 0;
}
.bx--radio-button-wrapper:not(:last-of-type) {
  margin-right: 1rem;
}
.bx--radio-button-group--vertical .bx--radio-button-wrapper:not(:last-of-type) {
  margin-right: 0;
  margin-bottom: 0.5rem;
}
.bx--radio-button-group--label-right .bx--radio-button__label,
.bx--radio-button-wrapper.bx--radio-button-wrapper--label-right .bx--radio-button__label {
  flex-direction: row;
}
.bx--radio-button-group--label-left .bx--radio-button__label,
.bx--radio-button-wrapper.bx--radio-button-wrapper--label-left .bx--radio-button__label {
  flex-direction: row-reverse;
}
.bx--radio-button-group--label-left .bx--radio-button__appearance,
.bx--radio-button-wrapper.bx--radio-button-wrapper--label-left .bx--radio-button__appearance {
  margin-right: 0;
  margin-left: 0.5rem;
}
/* ------ buttons ----- */
/* ------ typography ----- */
/* Global */
.bx--text-input {
  background-color: var(--msk-color-bg-input, #ffffff);
  border: 1px solid var(--msk-color-border-input, #4d5358);
  border-radius: 0.25rem;
  color: var(--msk-color-content-input-primary, #111417);
  font-size: 1rem;
  transition-property: box-shadow, outline;
  transition-duration: 110ms;
  transition-timing-function: ease-in-out;
}
.bx--text-input::-moz-placeholder {
  color: var(--msk-color-content-input-secondary, #4d5358);
  font-size: 1rem;
}
.bx--text-input::placeholder {
  color: var(--msk-color-content-input-secondary, #4d5358);
  font-size: 1rem;
}
.bx--text-input:hover:not([disabled]) {
  box-shadow: inset 0 0 0 0.1875rem var(--msk-color-border-input-hover-secondary, #f0f5ff);
}
.bx--text-input:active:not(disabled), .bx--text-input:focus:not(disabled), .bx--text-input:focus:hover:not(disabled) {
  border-radius: 0.25rem;
  box-shadow: inset 0 0 0 0.125rem var(--msk-color-border-focus-outer, #000000), inset 0 0 0 calc(0.125rem + 2px) var(--msk-color-border-focus-inner, #ffffff);
  outline-color: transparent;
}
.bx--text-input:disabled:hover, .bx--text-input:disabled {
  background-color: var(--msk-color-bg-disabled, #f7f3f2);
  border-bottom-color: var(--msk-color-border-disabled, #8f8b8b);
}
.bx--text-input:disabled:hover:active, .bx--text-input:disabled:hover:focus, .bx--text-input:disabled:active, .bx--text-input:disabled:focus {
  box-shadow: none;
}
input[type=number] {
  font-family: "redhat-mono", "Menlo", Courier, monospace;
}
.bx--form-item .bx--label {
  color: var(--msk-color-content-input-primary, #111417);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.2;
}
.bx--form-item .bx--form__helper-text {
  color: var(--msk-color-content-secondary, #3c3838);
  font-size: 1rem;
}
.bx--form-item .bx--form-requirement {
  background-image: url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="%23740937" xmlns="http://www.w3.org/2000/svg"><path d="M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM13 17H11V11H13V17ZM13 9H11V7H13V9Z" fill="%23740937"/></svg>');
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 1.375rem;
  color: purple;
  font-size: 1rem;
  padding: 0 0 0 1.625rem;
}
.msk-form-full-page {
  padding-inline: 0.5rem;
}
.msk-checkbox-form-bottom {
  margin-bottom: 1rem;
  margin-top: 1rem;
}
.msk-fieldset {
  border: 0;
  padding: 0;
  margin-top: 1.5rem;
  margin-bottom: 0;
}
.msk-fieldset .msk-label-text {
  color: var(--msk-color-content-input-primary, #111417);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.2;
  margin-bottom: 0.5rem;
}
.msk-fieldset .msk-legend-text {
  margin-bottom: 1.5rem;
}
.msk-fieldset .msk-fieldset-content {
  display: grid;
  row-gap: 1.5rem;
  margin: 0;
}
.msk-fieldset.msk-fieldset-colored {
  background-color: #f2f4f8;
  padding: 2rem 1rem;
}
.msk-fieldset .msk-fieldset {
  margin: 0;
  padding: 0;
}
.msk-fieldset-address .bx--select-input__wrapper,
.msk-fieldset-address .bx--select-input,
.msk-fieldset-address .bx--text-input {
  max-width: 30rem;
}
.msk-fieldset-address .bx--form-requirement {
  width: -moz-max-content;
  width: max-content;
}
.msk-fieldset-address .msk-state-zip-container {
  display: grid;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.msk-fieldset-address .msk-state-zip-container.msk-state-full {
  grid-template-columns: 13rem 7rem;
}
.msk-fieldset-address .msk-state-zip-container.msk-state-abbrev {
  grid-template-columns: 6rem 7rem;
}
.msk-fieldset-date-of-birth .msk-date-of-birth-wrapper {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  display: grid;
  grid-template-columns: 4rem 4rem 6rem;
}
/* ----- Global ----- */
.bx--radio-button__label-text {
  font-size: 1rem;
  line-height: 1.7;
}
.bx--radio-button-group--vertical .bx--radio-button__label {
  line-height: inherit;
}
.bx--radio-button__appearance {
  border: none;
  height: 1.75rem;
  margin: 0 0.5rem 0 0.25rem;
  position: relative;
  width: 1rem;
}
.bx--radio-button__appearance::after {
  background-color: #ffffff;
  border: 1px solid #343a3f;
  content: "";
  border-radius: 50%;
  position: absolute;
  min-height: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
}
.bx--radio-button:checked + .bx--radio-button__label .bx--radio-button__appearance::before {
  content: "";
  background-color: #113e90;
  border-radius: 50%;
  display: block;
  height: 1rem;
  position: absolute;
  transform: scale(0.67);
  width: 100%;
  z-index: 10;
}
/*
    - Add default spacing between groups.
    - HTML version uses .bx--fieldset instead of .bx--radio-button-group.
      - located in _form.scss;
*/
.bx--radio-button-group {
  font-family: "gotham", "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin-bottom: 0;
}
.bx--radio-button__label {
  padding-right: 0.25rem;
}
.bx--radio-button-wrapper {
  transition: background-color 110ms ease-in-out;
}
.bx--radio-button-wrapper:hover {
  background-color: #f0f5ff;
  border-radius: 0.25rem;
}
.bx--radio-button:not(:disabled):active + .bx--radio-button__label .bx--radio-button__appearance::after {
  border-color: #113e90;
}
.bx--radio-button:focus + .bx--radio-button__label .bx--radio-button__appearance {
  outline: none;
}
.bx--radio-button-wrapper:focus-within {
  border-radius: 0.25rem;
  box-shadow: inset 0 0 0 0.125rem var(--msk-color-border-focus-outer, #000000), inset 0 0 0 calc(0.125rem + 2px) var(--msk-color-border-focus-inner, #ffffff);
}
.bx--radio-button:disabled + .bx--radio-button__label {
  color: #565151;
}
.bx--radio-button:disabled + .bx--radio-button__label .bx--radio-button__appearance,
.bx--radio-button:disabled:checked + .bx--radio-button__label .bx--radio-button__appearance {
  background-color: transparent;
  border-color: transparent;
}
.bx--radio-button:disabled + .bx--radio-button__label .bx--radio-button__appearance::before,
.bx--radio-button:disabled:checked + .bx--radio-button__label .bx--radio-button__appearance::before {
  z-index: 1;
  background-color: #8f8b8b;
}
.bx--radio-button:disabled + .bx--radio-button__label .bx--radio-button__appearance::after,
.bx--radio-button:disabled:checked + .bx--radio-button__label .bx--radio-button__appearance::after {
  background-color: #f7f3f2;
  border-color: #8f8b8b;
  z-index: 0;
}
.msk-radio-button-error .bx--radio-button__appearance::after,
.msk-radio-button-error .bx--radio-button:checked:not(:active) + .bx--radio-button__label .bx--radio-button__appearance::after {
  box-shadow: 0 0 0 0.0625rem #ffffff, 0 0 0 0.1875rem #a80900;
}
/* ----- Styling for difference sizes ----- */
.msk-radio-button-wrapper-md .bx--radio-button__appearance,
.msk-radio-button-wrapper-lg .bx--radio-button__appearance {
  width: 1.25rem;
  height: 1.25rem;
}
.msk-radio-button-wrapper-md .bx--radio-button__appearance::before,
.msk-radio-button-wrapper-lg .bx--radio-button__appearance::before {
  top: 0.375rem;
  height: 3rem;
  width: 1rem;
}
.msk-radio-button-wrapper-md .bx--radio-button__appearance::after,
.msk-radio-button-wrapper-lg .bx--radio-button__appearance::after {
  height: calc(100% + 0.125rem);
  width: calc(100% + 0.125rem);
  left: -0.0625rem;
  top: 1.375rem;
}
.msk-radio-button-wrapper-md .bx--radio-button:checked + .bx--radio-button__label .bx--radio-button__appearance::before,
.msk-radio-button-wrapper-lg .bx--radio-button:checked + .bx--radio-button__label .bx--radio-button__appearance::before {
  top: 0.75rem;
  height: 1.25rem;
  transform: scale(0.67);
}
.msk-radio-button-wrapper-md .msk-radio-button__label-text,
.msk-radio-button-wrapper-md .bx--radio-button__appearance + span,
.msk-radio-button-wrapper-lg .msk-radio-button__label-text,
.msk-radio-button-wrapper-lg .bx--radio-button__appearance + span {
  min-height: 2.75rem;
  padding-top: 0.5625rem;
}
.msk-radio-button-wrapper-md .bx--radio-button:not(:disabled) + .bx--radio-button__label:hover:not(:active):not(:focus)::after,
.msk-radio-button-wrapper-lg .bx--radio-button:not(:disabled) + .bx--radio-button__label:hover:not(:active):not(:focus)::after {
  top: 0.125rem;
  bottom: -0.125rem;
}
/*
    - Large size
    - we are using the medium styles with the exception of the radio button size and position of button and hover
*/
.msk-radio-button-wrapper-lg .bx--radio-button__appearance {
  width: 1.5rem;
  height: 1.5rem;
}
.msk-radio-button-wrapper-lg .bx--radio-button:checked + .bx--radio-button__label .bx--radio-button__appearance::before {
  top: 0.625rem;
  height: 1.5rem;
}
.msk-radio-button-wrapper-lg .bx--radio-button:not(:disabled) + .bx--radio-button__label:hover:not(:active):not(:focus)::after {
  top: 0.375rem;
  bottom: -0.3125rem;
}