/*
 * DO NOT EDIT THIS FILE.
 * See the following change record for more information,
 * https://www.drupal.org/node/3084859
 * @preserve
 */

/**
 * @file
 * Buttons.
 */

:root {
  --font-sans: "metropolis", sans-serif;
  --font-serif: "Lora", "georgia", serif;
  --font-size-base: 1rem;
  --font-size-l: 1.125rem;
  --font-size-s: 0.875rem;
  --font-size-xs: 0.8125rem;
  --font-size-xxs: 0.75rem;
  --line-height-base: 1.6875rem;
  --line-height-s: 1.125rem;
  --max-width: 84.375rem;
  --max-bg-color: 98.125rem;
  --sp: 1.125rem;
  --content-left: 5.625rem;
  --container-padding: var(--sp);
  --container-padding-nav: var(--sp2);
  --site-header-height-wide: var(--sp8);
  --toolbar-height: 2.4375rem;
  --toolbar-tray-height: 2.5rem;
  --toolbar-tray-vertical-width: 14.9375rem;

  --scrollbar-width: 0.9375rem;
  --grid-gap: var(--sp);
  --grid-gap--md: var(--sp2);
  --grid-gap--lg: var(--grid-gap--md);
  --grid-gap--nav: var(--grid-gap--md);
  --grid-gap--max: var(--grid-gap--md);
  --grid-col-count: 6;
  --grid-col-count--md: 14;
  --grid-col-count--lg: var(--grid-col-count--md);
  --grid-col-count--nav: var(--grid-col-count--md);
  --grid-col-count--max: var(--grid-col-count--md);
  --grid-gap-count: calc(var(--grid-col-count) - 1);
  --grid-gap-count--md: calc(var(--grid-col-count--md) - 1);
  --grid-gap-count--lg: var(--grid-gap-count--md);
  --grid-gap-count--nav: var(--grid-gap-count--md);
  --grid-gap-count--max: var(--grid-gap-count--md);
  --grid-full-width: calc(100vw - var(--sp2));
  --grid-full-width--md: var(--grid-full-width);
  --grid-full-width--lg: calc(var(--grid-full-width) - var(--scrollbar-width));
  --grid-full-width--nav: calc(100vw - var(--scrollbar-width) - var(--content-left) - var(--sp4));
  --grid-full-width--max: calc(var(--max-width) - var(--sp4));
  --grid-col-width: calc((var(--grid-full-width) - var(--grid-gap-count)*var(--grid-gap))/var(--grid-col-count));
  --grid-col-width--md: calc((var(--grid-full-width--md) - var(--grid-gap-count--md)*var(--grid-gap--md))/var(--grid-col-count--md));
  --grid-col-width--lg: calc((var(--grid-full-width--lg) - var(--grid-gap-count--lg)*var(--grid-gap--lg))/var(--grid-col-count--lg));
  --grid-col-width--nav: calc((var(--grid-full-width--nav) - var(--grid-gap-count--nav)*var(--grid-gap--nav))/var(--grid-col-count--nav));
  --grid-col-width--max: calc((var(--grid-full-width--max) - var(--grid-gap-count--max)*var(--grid-gap--max))/var(--grid-col-count--max));
  --sp0-25: calc(var(--sp)*0.25);
  --sp0-5: calc(var(--sp)*0.5);
  --sp0-75: calc(var(--sp)*0.75);
  --sp1: calc(var(--sp)*1);
  --sp1-5: calc(var(--sp)*1.5);
  --sp2: calc(var(--sp)*2);
  --sp2-5: calc(var(--sp)*2.5);
  --sp3: calc(var(--sp)*3);
  --sp4: calc(var(--sp)*4);
  --sp5: calc(var(--sp)*5);
  --sp6: calc(var(--sp)*6);
  --sp7: calc(var(--sp)*7);
  --sp8: calc(var(--sp)*8);
  --sp9: calc(var(--sp)*9);
  --sp10: calc(var(--sp)*10);
  --sp11: calc(var(--sp)*11);
  --sp12: calc(var(--sp)*12);
  --color--black: #000;
  --color--gray-0: #0d1214;
  --color--gray-5: #0c0d0e;
  --color--gray-8: #171e23;
  --color--gray-10: #313637;
  --color--gray-20: #6e7172;
  --color--gray-25: #5d7585;
  --color--gray-28: #7d919d;
  --color--gray-30: #7e96a7;
  --color--gray-40: #98abb9;
  --color--gray-45: #afb8be;
  --color--gray-50: #9ea0a1;
  --color--gray-70: #d7e1e8;
  --color--gray-75: #e3e3e5;
  --color--gray-80: #e7edf1;
  --color--gray-90: #f1f4f7;
  --color--gray-95: #f7f9fa;
  --color--blue-10: #1c042f;
  --color--blue-20: #39075f;
  --color--blue-30: #550b8e;
  --color--blue-50: #8e12ed;
  --color--blue-70: #bb71f4;
  --color--blue-90: #e8d0fb;
  --color--blue-95: #e8fcf8;
  --color--cp--green-42: #18bc9c;

  --color--white: #fff;
  --color--red: #e33f1e;
  --color--gold: #fdca40;
  --color--green: #3fa21c;
  --header-height-wide-when-fixed: calc(var(--sp)*6);
  --mobile-nav-width: 31.25rem;
  --border-radius: 0.1875rem;
}

[dir="ltr"] .button {
  margin-left: 0;
}

[dir="rtl"] .button {
  margin-right: 0;
}

[dir="ltr"] .button {
  margin-right: var(--sp1);
}

[dir="rtl"] .button {
  margin-left: var(--sp1);
}

.button {
  display: inline-block;
  height: var(--sp3);
  margin-top: var(--sp1);
  margin-bottom: var(--sp1);
  padding-top: calc(var(--sp3)/2 - var(--line-height-s)/2);
  padding-bottom: calc(var(--sp3)/2 - var(--line-height-s)/2);
  padding-left: var(--sp1-5);
  padding-right: var(--sp1-5);
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  color: var(--color--blue-20);
  border: solid 2px var(--color--blue-20);
  border-radius: var(--border-radius);
  background-color: var(--color--white);
  font-family: var(--font-sans);
  font-size: var(--font-size-l);
  font-weight: 700;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-font-smoothing: antialiased
}

.button:hover,
  .button:focus {
    text-decoration: none;
    color: var(--color--blue-10);
    border: solid 2px var(--color--blue-10);
    background: none;
    font-weight: 700;
  }

.button:focus {
    outline: 2px solid var(--color--blue-70);
    outline-offset: 2px;
  }

.button:active {
    color: var(--color--blue-20);
    border-color: var(--color--blue-20);
  }

.button:disabled,
  .button.is-disabled {
    cursor: default;
    color: var(--color--gray-70);
    border-color: var(--color--gray-70);
  }

.button {

  /*
    IE11 doesn't work properly on button elements so we only do
    inline-flex on modern browsers.
  */
}

@supports (display: inline-flex) {

.button {
    display: inline-flex;
    align-items: center;

    /* Top padding accounts for font not being vertically centered within line-height. */
    padding-top: 1px;
    padding-bottom: 0;
    padding-left: var(--sp1-5);
    padding-right: var(--sp1-5);
    line-height: var(--line-height-s)
}
  }

/* No margin if is part of a menu. */

[dir="ltr"] .menu .button {
  margin-left: 0;
}

[dir="rtl"] .menu .button {
  margin-right: 0;
}

[dir="ltr"] .menu .button {
  margin-right: 0;
}

[dir="rtl"] .menu .button {
  margin-left: 0;
}

.menu .button {
  margin-top: 0;
  margin-bottom: 0;
}

.button--small {
  height: var(--sp2-5);
  padding-top: calc(var(--sp2-5)/2 - var(--line-height-s)/2);
  padding-bottom: calc(var(--sp2-5)/2 - var(--line-height-s)/2);
  padding-left: var(--sp);
  padding-right: var(--sp);
  font-size: var(--font-size-base);
  line-height: normal;
}

.button--primary {
  color: var(--color--white);
  background-color: var(--color--blue-20)
}

.button--primary:hover,
  .button--primary:focus {
    color: var(--color--white);
    border-color: var(--color--blue-10);
    background-color: var(--color--blue-10);
  }

.button--primary:active {
    color: var(--color--white);
    background-color: var(--color--blue-20);
  }

.button--primary:disabled,
  .button--primary.is-disabled {
    color: var(--color--white);
    background-color: var(--color--gray-70);
  }

.button--icon-back {
  display: inline-flex;
  align-items: center
}

[dir="ltr"] .button--icon-back:before {
    margin-right: 0.5em;
}

[dir="rtl"] .button--icon-back:before {
    margin-left: 0.5em;
}

[dir="ltr"] .button--icon-back:before {
    border-left: solid 2px currentColor;
}

[dir="rtl"] .button--icon-back:before {
    border-right: solid 2px currentColor;
}

.button--icon-back:before {
    display: block;
    width: 0.5em;
    height: 0.5em;
    content: "";
    transform: rotate(45deg); /* LTR */
    border-bottom: solid 2px currentColor;
  }

[dir="rtl"] .button--icon-back:before {
  transform: rotate(-45deg);
}

.shepherd-cancel-icon {
  font-size: 1.5em;
}
