@import "style-tokens.css";

*,
:after,
:before {
  box-sizing: border-box;
}

body,
html {
  font-family: var(--sar-typography-font-family);
  font-size: var(--sar-typography-body-text-font-size);
  line-height: var(--sar-typography-body-text-line-height);
  font-weight: var(--sar-typography-body-text-font-weight);
  height: 100%;
  width: 100%;
  color: #4a4a4a;
  direction: ltr;
  margin: 0;
}

a {
  color: var(--sar-color-blue-wcag);
  text-decoration: none;
  cursor: pointer;
  outline: 0;
  transition: color 0.25s;
}

a:hover {
  color: var(--sar-color-blue-dark-wcag);
}

a:active,
a:hover {
  outline-width: 0;
}


h1, h2, h3, h4, h5, h6 {
  font-weight: var(--sar-typography-heading-font-weight);
}

h1, .h1 {
  font-size: var(--sar-typography-heading-1-font-size);
  line-height: var(--sar-typography-heading-1-line-height);
  margin: 2.1rem 0 1.68rem;
}

h2, .h2 {
  font-size: var(--sar-typography-heading-2-font-size);
  line-height: var(--sar-typography-heading-2-line-height);
  margin: 1.78rem 0 1.424rem;
}

h3, .h3 {
  font-size: var(--sar-typography-heading-3-font-size);
  line-height: var(--sar-typography-heading-3-line-height);
  margin: 1.46rem 0 1.168rem;
}

h4, .h4 {
  font-size: var(--sar-typography-heading-4-font-size);
  line-height: var(--sar-typography-heading-4-line-height);
  margin: 1.14rem 0 0.912rem;
}

h5, .h5 {
  font-size: var(--sar-typography-heading-5-font-size);
  line-height: var(--sar-typography-heading-5-line-height);
  margin: 0.82rem 0 0.656rem;
  color: var(--sar-color-green-dark-wcag);
}

h6, .h6 {
  font-size: var(--sar-typography-heading-6-font-size);
  line-height: var(--sar-typography-heading-6-line-height);
  margin: 0.5rem 0 0.4rem;
  color: var(--sar-color-green-dark-wcag);
}


button {
  font-family: var(--sar-typography-font-family);
  font-size: var(--sar-typography-body-text-font-size);
  font-weight: var(--sar-typography-body-text-font-weight);
  cursor: pointer;
}

input:not([type=checkbox]):not([type=radio]),
textarea {
  font-family: var(--sar-typography-font-family);
  font-size: var(--sar-typography-body-text-font-size);
  font-weight: var(--sar-typography-body-text-font-weight);
  padding: 0.5rem 1rem;
  border: 1px solid #e0e0e0;
  width: 100%;
  outline: 0;
}

input:not([type=checkbox]):not([type=radio]):hover,
textarea:hover {
  border-color: var(--sar-color-green);
}

input:not([type=checkbox]):not([type=radio]):focus,
textarea:focus {
  border-color: var(--sar-color-green-dark);
}

textarea {
  min-height: 150px;
}

input:not([type=checkbox]):not([type=radio]) + .error,
textarea + .error {
  display: none;
}

input:not([type=checkbox]):not([type=radio]):user-invalid + .error,
textarea:user-invalid + .error {
  display: block;
}


hr {
  margin: 1.5rem -0.75rem;
  border-style: ridge;
  border-color: #dddddd;
}


.alert {
  display: flex;
  border: 2px solid transparent;
  padding: 1rem;
  margin-bottom: 1.5rem;
}

.alert.alert-success {
  border-color: var(--sar-color-green-dark);
  background-color: var(--sar-color-green-very-light);
}

.alert p {
  margin: 0;
}


p {
  margin: 0 0 1rem;
}


[disabled],
[disabled] * {
    cursor: not-allowed !important;
}
[disabled] {
    opacity: 0.6 !important;
}