@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap');

:root {
  --color-alert-error--50: #e0182d;
  --color-brand-primary: #900;
  --color-brand-secondary: #fc0;
  --color-base--10: #f7f7f5;
  --color-base--20: #ededeb;
  --color-base--30: #e0e0dc;
  --color-base--40: #c3c2bb;
  --color-base--50: #77766f;
  --color-base--60: #5e5d56;
  --color-base--70: #44433c;
  --color-base--80: #33322a;
  --color-base--90: #1f1e18;
  --color-base--100: #141410;
  --color-gray--80: #969492;
  --color-gray--100: #514F4D;
  --color-link-active: #01548f;
  --color-link-hover: #01406E;
  --color-black: #000;
  --color-white: #fff;

  --md-circular-progress-size: 60px;
  --md-circular-progress-active-indicator-width: 10.125;
  --md-sys-color-primary: var(--color-brand-primary);
}

.has-color-alert-error-50 {
  color: var(--color-alert-error--50);
}

* {
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box;
  font-family: "Source Sans 3", Helvetica, Arial, sans-serif;
}

html {
  font-size: 16px;
}

body {
  background: #fcfcfa;
  background-size: cover;
  min-height: 100vh;
}

body,
html {
  margin: 0;
  padding: 0;
}

a {
  color: var(--color-link-active);
}

a:hover {
  color: var(--color-link-hover);
}

a:focus, a:focus-visible {
    background: rgba(0, 0, 0, 0);
    box-shadow: 0 0 0 2px var(--color-white);
    outline: 4px solid var(--color-brand-primary);
    color: var(--color-link-hover);
    outline-offset: 2px;
    position: relative;
    /*z-index: 20;*/
}

a > .link-text-overflow {
  display: inline-block;
  max-width: 32rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media only screen and (max-width: 600px) {
  a > .link-text-overflow {
    max-width: 15rem;
  }
}

p {
  font-size: 1.25rem;
  line-height: normal;
  margin-top: 0;
  margin-bottom: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--color-base--90);
  font-weight: 700;
  line-height: 1.5rem;
  text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
  letter-spacing: 0;
  margin-top: 0;
  margin-bottom: 0;
}

h1 {
  font-size: 2.25rem;
  font-weight: 900;
  line-height: normal;
  margin: 0 0 1rem;
}

button {
  display: inline-block;
  cursor: pointer;
  font-weight: 400;
  text-decoration: none;
  line-height: 1.5rem;
  border: none;
  border-radius: 0.25rem;
  padding: 0.375rem 1rem 0.5rem;
  outline: none;
}

button:active,
button:hover {
  background: #ae2725;
  color: #fff;
}

button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus {
    background: #900;
    color: #fff;
    outline: 2px solid #900;
    outline-offset: 2px;
    position: relative;
}

button:focus:before,
input[type="button"]:focus::before,
input[type="reset"]:focus::before,
input[type="submit"]:focus::before {
    border-radius: 4px;
    bottom: 0;
    content: '';
    left: 0;
    outline: 2px solid #fff;
    outline-offset: 0;
    position: absolute;
    right: 0;
    top: 0;
}

/*
button:focus {
  outline: 3px solid var(--color-brand-primary);
  outline-offset: 2px;
}
*/

input {
  appearance: none;
  border: 1px solid var(--color-base--60);
  font-size: inherit;
  line-height: 1.5rem;
  padding: 0.5rem 1rem 0.375rem;
  background: #fff;
  color: #000;
  width: 100%;
}

input[type="text"]:focus,
input[type="password"]:focus {
  outline: 3px solid var(--color-brand-primary);
  outline-offset: 2px;
}

input:not(:focus):not(:placeholder-shown):invalid,
input[aria-invalid="true"],
input:user-invalid {
    border: 2px solid var(--color-alert-error--50);
}

input[type="password"] {
    font-family: caption;
    font-size: 1.25rem;
    letter-spacing: .375rem;
    line-height: 1.5rem;
}

ol {
  list-style-position: inside;
  margin: 0;
  padding-left: 1em;
  text-indent: -1em;
}

@media only screen and (max-width: 500px) {
  input[type="password"] {
    font-family: caption, 'Source Sans 3';
    font-size: 1rem;
  }
}

.font-size-small {
  font-size: 1rem;
  line-height: 1.25rem;
}

.font-size-normal {
  font-size: 1.25rem;
  line-height: normal;
}

.font-weight-700 {
  font-weight: 700;
}

.font-weight-normal {
  font-weight: normal;
}

.font-weight-900 {
  font-weight: 900;
}

.line-height-normal {
  line-height: normal;
}

.line-height-1-2-5 {
  line-height: 1.25rem;
}

.line-height-1-5 {
  line-height: 1.5rem;
}

.margin-0 {
  margin: 0;
}

.margin-bottom-0-5 {
  margin-bottom: .5rem;
}

.margin-bottom-1 {
  margin-bottom: 1rem;
}

.margin-bottom-1-5 {
  margin-bottom: 1.5rem;
}

.margin-bottom-2 {
  margin-bottom: 2rem;
}

.margin-right-0-5 {
  margin-right: .5rem;
}

.margin-right-1 {
  margin-right: 1rem;
}

.margin-right-1-5 {
  margin-right: 1.5rem;
}

.margin-right-2 {
  margin-right: 2rem;
}

.text-align-center {
  text-align: center;
}

.text-align-left {
  text-align: left;
}

.width-100 {
  width: 100%;
}

.column-wrap-end-center {
  align-items: flex-end;
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
}

.column-wrap-center-center {
  align-items: center;
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
}

.column-wrap-start-center {
  align-items: flex-start;
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
}

.column-wrap-center-end {
  align-items: center;
  display: flex;
  flex-flow: column wrap;
  justify-content: flex-end;
}

.column-wrap-center-start {
  align-items: center;
  display: flex;
  flex-flow: column wrap;
  justify-content: flex-start;
}

.column-wrap-start-start {
  align-items: flex-start;
  display: flex;
  flex-flow: column wrap;
  justify-content: flex-start;
}

.column-wrap-end-end {
  align-items: flex-end;
  display: flex;
  flex-flow: column wrap;
  justify-content: flex-end;
}

.column-nowrap-end-center {
  align-items: flex-end;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
}

.column-nowrap-center-center {
  align-items: center;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
}

.column-nowrap-start-center {
  align-items: flex-start;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
}

.column-nowrap-center-end {
  align-items: center;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-end;
}

.column-nowrap-center-start {
  align-items: center;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
}

.column-nowrap-start-start {
  align-items: flex-start;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
}

.column-nowrap-end-end {
  align-items: flex-end;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-end;
}

.row-wrap-end-center {
  align-items: flex-end;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
}

.row-wrap-center-center {
  align-items: center;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
}

.row-wrap-start-center {
  align-items: flex-start;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
}

.row-wrap-center-start {
  align-items: center;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
}

.row-wrap-start-start {
  align-items: flex-start;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
}

.row-wrap-center-end {
  align-items: center;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-end;
}

.row-wrap-end-end {
  align-items: flex-end;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-end;
}

.row-nowrap-center-center {
  align-items: center;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
}

.row-nowrap-start-center {
  align-items: flex-start;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
}

.row-nowrap-center-start {
  align-items: center;
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
}

.row-nowrap-start-start {
  align-items: flex-start;
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
}

.row-nowrap-end-center {
  align-items: flex-end;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
}

.row-nowrap-center-end {
  align-items: center;
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-end;
}

.row-nowrap-end-end {
  align-items: flex-end;
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-end;
}

.position-relative {
  position: relative;
}

.position-absolute {
  position: absolute;
}

.app {
  display: grid;
  grid-template-rows: 5.5rem 1fr auto;
  grid-template-areas:
    'header'
    'main'
    'footer';
  min-height: 100%;
  margin: 0;
  padding: 0;
  overflow: auto;
}

@media only screen and (max-device-width: 480px) {
  .app {
    grid-template-rows: 3rem 1fr auto;
  }
}

.app-main {
   grid-area: main;
   overflow: hidden;
}

.progress-wrapper {
  height: 100%;
  margin: 0 auto;
  padding: 0;
}

.progress-wrapper .md-circular-progress {
  height: var(--md-circular-progress-size);
  width: var(--md-circular-progress-size);
}

.progress-wrapper__message {
  margin-top: 5rem;
  top: 0;
  width: max-content;
}

@media only screen and (max-device-width: 480px) {
  .app-header,
  .app-main,
  .app-footer {
      max-width: unset;
  }
}

.app-header {
  background: #900;
  grid-area: header;
  height: 5.5rem;
  margin: 0;
  padding: 0 2rem;
}

@media only screen and (max-device-width: 480px) {
  .app-header {
    box-sizing: border-box;
    height: 3rem;
    padding: 0 1rem;
  }
}

.app-logo {
  display: flex;
  height: auto;
  width: 115px;
}

@media only screen and (max-device-width: 480px) {
  .app-logo {
    display: flex;
    height: auto;
    width: 5.5rem;
  }
}

.app-footer {
  border-top: 1px solid var(--color-base--40);
  grid-area: footer;
  line-height: normal;
  margin: 0;
  padding: 1.5rem 2rem 2rem;
}

@media only screen and (max-device-width: 480px) {
  .app-footer {
    box-sizing: border-box;
    margin: 0;
    padding: 1rem;
  }
}

.app-footer h2 {
    font-size: 1rem;
    margin-bottom: .5rem;
}

.app-footer-links {
  align-items: flex-start;
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;;
  list-style: none;
  margin: 0;
  padding: 0;
}

.app-footer-links li {
  display: flex;
  flex-flow: row nowrap;
  margin-bottom: .5rem;
  position: relative;
}

.app-footer-links li::before {
  content: '|';
  display: inline-block;
  margin: 0 1rem;
}

@media only screen and (max-width: 600px) {

  .app-footer-links {
    align-items: flex-start;
    display: flex;
    flex-flow: column nowrap;
    justify-content: flex-start;;
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .app-footer-links li {
    flex-flow: column nowrap;

  }

  .app-footer-links li::before {
    content: '';
    display: none;
    margin: 0;
  }
}

.app-footer-links li:first-of-type::before {
  content: '';
  display: none;
}

.icon-check-circle {
  margin: 1rem;
  position: absolute;
  right: -3rem;
}

@media only screen and (max-device-width: 480px) {
  .icon-check-circle {
    position: relative;
    right: unset
  }
}

.icon-ext-link {
  display: inline-flex;
  position: relative;
}

.icon-ext-link::before {
  position: absolute;
  left: -999em;
  right: auto;
  content: "External.";
}

.icon-ext-link svg {
  display: inline-flex;
  margin-left: .25rem;
  position: relative;
  top: 1px;
}

.icon-ext-link:focus svg {
  fill: var(--color-link-hover);
}

.icon-ext-link.font-size-normal svg {
  top: 2px;
}

.icon-spinner {
  animation: rotate 2s linear infinite;
}

.icon-spinner path {
  animation: dash 1.5s ease-in-out infinite;
}

@media (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .app-main {
    max-height: 100%;
  }
}

.screen-reader-only-text {
  position: absolute !important;
  height: 1px !important;
  width: 1px !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  clip-path: polygon(0 0, 0 0, 0 0) !important;
  -webkit-clip-path: polygon(0 0, 0 0, 0 0) !important;
  overflow: hidden !important;
}

.app-main-wrapper {
  box-sizing: content-box;
  height: -webkit-min-content;
  height: -moz-min-content;
  height: min-content;
  margin: 5rem 0;
  padding: 0 1.5rem;
  width: 100%;
  max-width: 36rem;
}

.app-main-wrapper.error {
  padding: 1.125rem 1.5rem 1.5rem;
}

.app-main-wrapper > *:last-child > p:last-of-type {
  margin-bottom: 0;
}

@media only screen and (max-width: 600px) {
  .app-main-wrapper {
    box-sizing:  border-box;
  }
}

@media only screen and (max-device-width: 480px) {
  .app-main-wrapper {
    margin: 0;
    padding: 1.5rem;
  }

  .app-main-wrapper.error {
    padding: 1.125rem 1rem;
  }
}

.icon-before svg {
  margin-right: .5rem;
}

.app-main-wrapper__footer .tabpanel {
  align-items: flex-start;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  margin: .5rem 0;
  min-height: 10em;
  width: 100%;
}

.app-main-wrapper__footer .tabpanel.is-hidden {
  display: none;
}

.app-main-wrapper__footer .tabpanel form {
  margin: 1rem 0;
  width: 100%;
}

.content-switcher__select-wrapper {
  position: relative;
}

/*
.content-switcher__select,
.content-switcher__select::picker(select) {
  appearance: base-select;
}
*/

.content-switcher__select::picker(select) {
  overflow: visible;
}


.content-switcher__select::picker-icon {
  /*
  content: url('data:image/svg+xml,<svg class="icon-chevron-down" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="%231f1f1f"><path d="M480-361q-8 0-15-2.5t-13-8.5L268-556q-11-11-11-28t11-28q11-11 28-11t28 11l156 156 156-156q11-11 28-11t28 11q11 11 11 28t-11 28L508-372q-6 6-13 8.5t-15 2.5Z"/></svg>')
*/
  display: none;
}


.content-switcher__select-wrapper .icon-chevron-down {
  position: absolute;
  right: 0.5rem;
  top: 0;
  height: 100%;
  width: 24px;
  pointer-events: none;
}

/*
.content-switcher__select option::checkmark {
  display: none;
}
*/

.content-switcher__select {
  -moz-appearance: none;
  -webkit-appearance: none;
  align-items: center;
  background: var(--color-white);
  border: 1px solid var(--color-base--60);
  border-radius: 0;
  color: var(--color-base--90);
  display: flex;
  flex-flow: row nowrap;
  font-size: 1rem;
  justify-content: flex-start;
  line-height: 20px;
  padding: .825rem .5rem;
  position: relative;
  width: 100%;
}

.content-switcher__select:focus-visible {
  outline: 3px solid var(--color-brand-primary);
  outline-offset: 2px;
}

.content-switcher__select option {
  border-bottom: 1px solid var(--color-base--60);
  padding: .875rem .75rem;
  position: relative;
}

.content-switcher__select option:checked {
  color: var(--color-base--60);
}

.content-switcher__select option:last-of-type {
  border-bottom: none;
}

.content-switcher__select option:focus-visible,
.content-switcher__select option:hover {
  background: var(--color-base--30);
  outline: none;
}

.content-switcher__select option:focus-visible::before {
  bottom: 0;
  content: '';
  outline: 3px solid var(--color-brand-primary);
  outline-offset: 3px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.content-switcher__select-label {
  display: block;
  font-weight: bold;
  margin-bottom: .5rem;
}

.form-field-wrapper {
    align-items: flex-start;
    display: flex;
    flex-flow: column nowrap;
    justify-content: flex-start;
    position: relative;
    width: 100%;
}

.form-field-wrapper label {
  color: var(--color-base--90);
  line-height: 1.75rem;
  margin: 0 0 .5rem;
}

.form-field-wrapper input::-ms-reveal,
.form-field-wrapper input::-ms-clear {
  display: none;
}

#loginform .form-field-wrapper input[aria-invalid="false"] {
  border: 1px solid var(--color-base--60) !important;
}

.iti {
  width: 100%;
}

.iti  .iti__selected-country:hover .iti__selected-country-primary {
  background: var(--color-base--30);
  border-radius: 0;
}

.iti  .iti__selected-country:hover,
.iti  .iti__selected-country:focus {
  background: unset;
  color: var(--color-base--90);
  outline: none;
}

.iti  .iti__selected-country:hover::before,
.iti  .iti__selected-country:focus::before {
  outline: none;
}

.iti  .iti__selected-country:focus .iti__selected-country-primary,
.iti  .iti__selected-country:focus-visible .iti__selected-country-primary{
  background: var(--color-base--30);
  border-radius: 0;
  outline: 3px solid var(--color-brand-primary);
  outline-offset: 2px;
  position: relative;
}

.iti  .iti__selected-country:focus .iti__selected-country-primary::before,
.iti  .iti__selected-country:focus-visible .iti__selected-country-primary::before {
  border-radius: 0;
  bottom: 0;
  content: '';
  left: 0;
  outline: 2px solid #fff;
  outline-offset: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.iti  .iti__selected-country-primary {
  position: relative;
}

.iti  .iti__selected-country-primary::after {
  border-right: 1px solid var(--color-base--40);
  content: '';
  display: inline-block;
  height: 1.25rem;
  position: absolute;
  right: 0;
}

.iti .iti__arrow {
  border: none;
  height: 24px;
  position: relative;
  width: 24px;

}

.iti .iti__arrow::before {
  content: url('data:image/svg+xml,<svg class="icon-chevron-down" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="%231f1f1f"><path d="M480-361q-8 0-15-2.5t-13-8.5L268-556q-11-11-11-28t11-28q11-11 28-11t28 11l156 156 156-156q11-11 28-11t28 11q11 11 11 28t-11 28L508-372q-6 6-13 8.5t-15 2.5Z"/></svg>');
  position: absolute;
  right: 0;
  top: 0;
}

.iti .iti__country-container .iti__selected-dial-code {
  margin-left: 1rem;
}

.error-notification {
  display: block;
}

.error-notification p {
  color: var(--color-alert-error--50);
  display: block;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 20.8px; /* 130% */
  margin: 0 0 .5rem;
}

.error-notification p:last-of-type {
  margin: 0;
}

.error-notification.active {
  margin: 0 0 .5rem;
}

.error-notification-card {
  background-color: var(--color-base--10);
  border-left: 8px solid var(--color-base--90);
  box-shadow: 0px 3px 6px 0px rgba(0,0,0,.16);
  display: none;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 20.8px; /* 130% */
  margin: 0 0 1rem;
  padding: 1rem 2rem 1rem 0;
  position: relative;
  width: 100%;
}

.error-notification-card.alert {
  border-left: 8px solid #fc0;
  margin: 0 0 2.5rem;
}

@media only screen and (max-device-width: 480px) {
  .error-notification-card.alert {
    border-left: 4px solid #fc0;
  }
}

.error-notification-card .error-notification-card__close-button {
  appearance: none;
  background: transparent;
  border: 0; 
  border-radius: 0;
  margin: 0;
  padding: 0;
  position: absolute;
  right: .5rem;
  top: .5rem;
}

.error-notification-card.alert .icon-warning {
  height: 24px;
  min-height: 24px;
  min-width: 24px;
  width: 24px;
  margin: 0 1rem 0 .675rem;
}

.error-notification-card.error {
  border-left: 8px solid #e70f0f;
}

@media only screen and (max-device-width: 480px) {
  .error-notification-card.error {
    border-left: 4px solid #e70f0f;
  }
}

.error-notification-card.error .icon-error {
  height: 20px;
  min-height: 20px;
  min-width: 20px;
  width: 20px;
  margin: 0 1rem 0 .675rem;
}

.error-notification-card.active {
  align-items: center;
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
}

.input-email,
.input-usc-netid,
.input-password,
.input-tel {
  height: 40px;
}

.input-email:focus-visible,
.input-tel:focus-visible {
  outline: 3px solid var(--color-brand-primary);
  outline-offset: 2px;
}

.input-password {
  appearance: none;
  background: #fff;
  border: 1px solid var(--color-base--60);
  color: #000;
  display: flex;
  flex-flow: row nowrap;
  font-size: 1rem;
  letter-spacing: normal;
  line-height: 1.25rem;
  padding: 0.5rem 3rem 0.375rem 1rem;
  width: 100%;
}

.input-bypass-code {
  background: transparent;
  border: none;
  font-size: 1.5rem;
  height: 1.5rem;
  line-height: 1.5rem;
  outline: none;
  padding: 0;
  width: 7.25rem;
}

.input-tel-wrapper,
.input-email-wrapper {
  width: 100%;
}

@media only screen and (max-width: 680px) {
  .input-tel-wrapper,
  .input-email-wrapper {
    width: calc(100% - 2rem);
  }
}

.button--reveal-toggle {
  align-items: center;
  appearance: none;
  background: transparent;
  border: 0;
  border-radius: 0;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  line-height: normal;
  height: 26px;
  padding: 0;
  width: 26px;
  z-index: 20;
}

.button--reveal-toggle.pw {
  top: 43px;
  right: 14px;
}

.button--reveal-toggle svg {
  fill: var(--color-gray--80);
  pointer-events: none;
}

.button--reveal-toggle:focus {
  outline: 3px solid var(--color-brand-primary);
  outline-offset: 2px;
}

.button--reveal-toggle:focus svg {
  fill: var(--color-base--100);
}

.button--reveal-toggle:hover {
  background: var(--color-base--10);
  border-radius: .25rem;
  outline: 4px solid var(--color-base--10);
}

.button--reveal-toggle:hover svg {
  fill: var(--color-base--90);
}

.button--reveal-toggle .icon-show {
  display: none;
}

.button--reveal-toggle .icon-hide {
  display: block;
}

.button--reveal-toggle:focus,
.button--reveal-toggle.pw-hidden {
  background: transparent;
}

.button--reveal-toggle.position-absolute:focus,
.button--reveal-toggle.position-absolute {
  position: absolute;
}

.button--reveal-toggle.position-relative:focus,
.button--reveal-toggle.position-relative {
  position: relative;
}

.button--reveal-toggle.pw-hidden .icon-show {
  display: block;
}

.button--reveal-toggle.pw-hidden .icon-hide {
  display: none;
}

.button--primary {
    appearance: none;
    align-items: center;
    background: #900;
    border: 0;
    border-radius: .25rem;
    color: #fff;
    display: flex;
    flex-flow: row nowrap;
    font-size: 1rem;
    font-style: normal;
    justify-content: center;
    letter-spacing: 0.06px;
    line-height: normal;
    margin: 0 0 1rem;
    padding: .875rem 1rem;
}

.button--link {
  background: transparent;
  color: var(--color-link-active);
  padding: 0;
}

.button--link:hover {
  background: transparent;
  color: var(--color-link-hover);
  padding: 0;
}

.button--link:focus,
.button--link:focus-visible {
  background: transparent;
  color: var(--color-link-hover);
  outline: 3px solid var(--color-brand-primary);
  outline-offset: 2px;
  padding: 0;
  position: relative;
}
.button--link:focus::before,
.button--link:focus-visible::before {
  bottom: 0;
  content: '';
  left: 0;
  outline: 2px solid #fff;
  outline-offset: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.button--link.copied,
.button--link.copied:hover {
  color: var(--color-link-active);
  cursor: none;
  pointer-events: none;
  text-decoration: none;
}

.screen-reader-only {
  border: 0 !important;
  outline: 0 !important;
  clip: rect(0 0 0 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
}

.visually-hidden:not(:focus):not(:active) {
    border: 0;
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.hidden {
  display: none;
}

.visibility-hidden {
  visibility: hidden;
}

.visibility-visible {
  visibility: visible;
}
