:root {
  --ss-border-color: #8e8e8e;
  --ss-primary-color: #00a99f;
}

body,
html {
  height: 100%;
  margin: 0;
  width: 100%;
}

body {
  background-color: #f8f8f8;
  margin: 0;
  padding: 0;
}

button,
input,
optgroup,
select,
textarea {
  box-sizing: border-box;
  font-size: 16px;
  line-height: 1.15;
  margin: 0;
  width: 100%;
}

footer {
  align-items: center;
  background-color: #494949;
  box-sizing: border-box;
  color: white;
  display: flex;
  gap: 1em;
  flex-direction: column;
  font-size: 0.7em;
  justify-content: space-between;
  padding: 1rem;
  width: 100%;

  @media screen and (min-width: 700px) {
    & {
      flex-direction: row;
    }
  }
}

.btn {
  background-color: rgba(234, 234, 234, 0.8);
  border: 1px solid rgba(144, 149, 152, 0.8);
  border-radius: 3px;
  color: #444;
  font-size: smaller;
  font-weight: normal;
  line-height: 1.2;
  padding: 7px;
  text-decoration: none;
}

.d-flex {
  display: flex;
}

.flex-column {
  flex-direction: column;
}

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

.color-inherit {
  color: inherit;
}

.w-100 {
  width: 100%;
}

pre {
  overflow: scroll;
}

.gap-1 {
  gap: 0.5em;
}

.gap-2 {
  gap: 1em;
}

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

.sr-only {
  height: 1px;
  left: -10000px;
  overflow: hidden;
  position: absolute;
  top: auto;
  width: 1px;
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

main {
  overflow-x: scroll;
  padding: 0 1rem 2rem 1rem;
}

.home-subheading {
  margin: 1rem 2rem;
  text-align: center;

  @media screen and (min-width: 600px) {
    & {
      margin: 2em 5em;
    }
  }
}

.flex-grow {
  flex-grow: 1 !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.justify-space-between {
  justify-content: space-between;
}

.copy-btn {
  align-self: flex-start;
  align-items: center;
  display: flex;
  font-weight: normal;
  gap: 8px;
}

.mb-2 {
  margin-bottom: 2rem !important;
}

.mt-1 {
  margin-top: 1rem !important;
}

.px-1 {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

h2 {
  color: #605757;
  font-size: 1em;
  font-weight: normal;
  line-height: 1.5em;

  @media screen and (min-width: 600px) {
    & {
      font-size: 1.2em;
      line-height: 1.7em;
    }
  }
}

.offering-circular-link {
  width: 20px;
}

.offering-circular-image {
  fill: #00a99f;
  height: 20px;
  width: auto;
}

.sec-form-page iframe {
  height: 100vh;
  margin-top: 10px;
  overflow: scroll;
  width: 100%;
}

.m-0 {
  margin: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

footer .social-icon {
  width: 18px;

  @media screen and (min-width: 600px) {
    width: 30px;
  }
}

details > summary {
  cursor: pointer;
}

.subheader {
  background-color: #eaeaea;
  color: #695b5b;
  padding: 1rem;
}

.pagy {
  align-items: center;
  display: flex;
  gap: 0.5rem;
  justify-content: center;
  margin: 1rem;
}

.pagy > a {
  color: #909598;
  padding: 0.5rem;
  text-decoration: none;
}

.pagy > a:hover:not([aria-current="page"]) {
  text-decoration: underline;
}

.pagy > [aria-current="page"] {
  border: 1px solid #00a99f;
  border-radius: 3px;
  color: #00a99f;
  text-decoration: none;
}

.pagy > a:first-child,
.pagy > a:last-child {
  background-color: #909598;
  border-radius: 3px;
  color: #f9f9f9;
  text-decoration: none;
}

.pagy > a:first-child:hover,
.pagy > a:last-child:hover {
  opacity: 0.5;
}

.message {
  padding: 0.5rem 1rem;
  border-radius: 5px;
  font-weight: bold;
  margin: 0 0 0.5rem 0;
}

.message.failure {
  background-color: #c15858;
  color: white;
}

.message.success {
  background-color: #00a99f;
}

[type="submit"] {
  background-color: #00a99f;
  border: none;
  border-radius: 3px;
  box-sizing: border-box;
  color: #fff;
  cursor: pointer;
  font-size: inherit;
  margin: 0;
  padding: 0.5rem 1rem;
}

.errors {
  align-self: start;
  text-align: left;
}

.field_with_errors {
  input,
  select,
  textarea {
    border: 2px solid #c15858;
  }
}
