:root {
  --cpao-white: #ffffff;
  --cpao-dark-blue: #002453;
  --cpao-yellow: #E0FE69;
  --cpao-gray-300: #D0D5DD;
  --cpao-gray-500: #667085;
  --cpao-teal: #17666D;
  --cpao-orange: #E97523;
  --cpao-blue: #0065D1;
  --cpao-yellow-rgb: 224, 254, 105;

  --cpao-single-pixel: 0.0625rem;
}

html {
  font-size: 16px;
}

html, body {
  font-family: 'Inter', sans-serif;

  background: var(--cpao-dark-blue, #002453);
  color: var(--cpao-white, white);
}

body {
  font-size: 0.875rem;
  line-height: 1.125rem;
}

.cpao-container {
  width: 100%;
  max-width: 22.5rem;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "GT Walsheim", sans-serif;
  font-weight: 400;
  line-height: normal;
}

header {
  background: var(--cpao-white, white);
}
footer{
  font-family: "GT Walsheim", sans-serif;
  src: url('/cas/css/GTWalsheim/GT-Walsheim-Regular-7068d2b93d9fea8889ad4626cd808495.otf') format('opentype');
}

a, a:visited:not(.link-icon):not(:hover):not(:focus):not(:active) {
  color: var(--cpao-white, white);
  text-decoration: underline;
}

a:hover, a:focus, a:active {
  color: var(--cpao-yellow, #E0FE69);
}

.cpao-label {
  display: block;
  margin-bottom: 0.5rem;
}

.form-group {
  display: flex;
  flex-direction: column;
}

.cpao-input.cpao-textfield {
  display: flex;
  padding: 10px 14px;
  align-items: center;
  gap: 8px;
  /* align-self: stretch; */
  border-radius: 1.5rem;
  border: var(--cpao-single-pixel) solid var(--Gray-300, #D0D5DD);
  background: var(--cpao-white, #FFF);
  box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);

  color: var(--cpao-gray-500, #667085);
  /* Text md/Normal */
  font-family: 'Inter';
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5rem; /* 150% */
}

.cpao-button {
  display: block;
  padding: .5rem 1.5rem;
  font-family: "GT Walsheim";
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.5rem; /* 150% */
  text-transform: uppercase;
  color: var(--cpao-dark-blue, #002453);
  background-color: var(--cpao-yellow, #E0FE69);
  border: var(--cpao-single-pixel) solid var(--cpao-yellow, #E0FE69);
  border-radius: 1.5rem;
  box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);
}

.cpao-button:disabled {
  opacity: 0.5;
}

.cpao-button-stretch {
  width: 100%;
}

.cpao-button-centered {
  padding: 10px 28px;
  margin: 0 auto;
}

.cpao-cancel {
  background: none;
  border: none;
  color: var(--color-gray-300, #D0D5DD);
  text-decoration: underline;
}

.cas-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3rem 0;
}

.text-small {
  font-size: 0.75rem;
}

.text-soft {
  color: var(--cpao-gray-300, #D0D5DD);
}

.text-emphasis {
  color: var(--cpao-yellow, #E0FE69);
}

.text-alert {
  color: var(--cpao-teal, #7BF3FF);
}

.text-center {
  text-align: center;
}

.text-info {
  color: var(--cpao-teal, #7BF3FF);
}

.my-8 {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.mb-8 {
  margin-bottom: 2rem;
}

.list-unstyled {
  padding-left: 0;
  list-style: none;
}

.errors {
  background-color: #fee3e3;
  border-bottom: 1px solid #BB0000;
  color: #000000;
  padding: 2rem;
}

.errors p:last-child{
  margin-bottom: 0;
}

.errors a {
  color: var(--cpao-blue, #0065D1);
}

.errors a:hover, .errors a:focus, .errors a:active {
  color: #000000;
}

.cpao-apps {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  margin: 2rem 0;
}

.link-icon {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  flex-direction: column;
  min-width: 6rem;
  color: var(--cpao-yellow, #E0FE69);
  text-decoration: underline;
  font-size: 1rem;
  line-height: 1.5rem;
}

.link-icon:hover, .link-icon:focus, .link-icon:active, .link-icon:visited:hover, .link-icon:visited:focus, .link-icon:visited:active, .link-icon:visited {
  color: var(--cpao-yellow, #E0FE69);
  opacity: 0.8;
}

.link-icon:visited {
  min-width: 6rem;
  color: var(--cpao-yellow, #E0FE69);
}

.icon {
  padding: 1px 5px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

*, ::after, ::before {
  box-sizing: border-box;
}