@import url(https://fonts.googleapis.com/css2?family=Fira+Sans:wght@300;400;700&display=swap);

@charset "UTF-8";
.mat-display-4 {
  font-size: 2.875rem;
  line-height: 3.375rem;
  font-weight: 700;
  font-family: "Fira Sans";
}
.mat-display-3 {
  font-size: 1.945rem;
  line-height: 1.975rem;
  font-weight: 400;
  font-family: "Fira Sans";
}
.mat-display-2 {
  font-size: 1.45rem;
  line-height: 1.475rem;
  font-weight: 400;
  font-family: "Fira Sans";
}
.mat-display-1 {
  font-size: 1.224rem;
  line-height: 1.362rem;
  font-weight: 400;
  font-family: "Fira Sans";
}
.mat-display-0 {
  font-size: 1.124rem;
  line-height: 1.24rem;
  font-weight: 400;
  font-family: "Fira Sans";
}
.mat-headline {
  font-size: 1.32rem;
  line-height: 1.5rem;
  font-weight: 300;
  font-family: "Fira Sans";
}
.mat-headline-2 {
  font-size: 1.18rem;
  line-height: 1.5rem;
  font-weight: 300;
  font-family: "Fira Sans";
}
.mat-headline-3 {
  font-size: 1rem;
  line-height: 1.4rem;
  font-weight: 300;
  font-family: "Fira Sans";
}
.mat-title {
  font-size: 1rem;
  line-height: 2rem;
  font-weight: 400;
  font-family: "Fira Sans";
}
.mat-subheading {
  font-size: 0.94rem;
  line-height: 1rem;
  font-weight: 300;
  font-family: "Fira Sans";
}
.mat-body-2 {
  font-size: 0.891rem;
  line-height: 1.5rem;
  font-weight: 300;
  font-family: "Fira Sans";
}
.mat-body-1 {
  font-size: 0.891rem;
  line-height: 1.25rem;
  font-weight: 300;
  font-family: "Fira Sans";
}
.mat-button {
  font-size: 1.04rem;
  line-height: 1rem;
  font-weight: 400;
  font-family: "Fira Sans";
}
.mat-caption {
  font-size: 0.75rem;
  line-height: 1.25rem;
  font-weight: 300;
  font-family: "Fira Sans";
}
body {
  --text-primary-color: #2b1f20cc;
  --background-color: #ffffff;
  --border-color: #cfcdcd;
  --input-background-color: #f2f5f7;
  --transparent-color: #c6c6c6;
}
.primary {
  color: var(--primary-color);
}
body {
  --primary-color: #bf3242;
  --primary-lighter-color: #bf32427a;
  --primary-200-color: #bf324228;
  --primary-darker-color: #992a37;
}
.accent {
  color: var(--accent-color);
}
body {
  --accent-color: #92db5d;
  --accent-lighter-color: #92db5d7a;
  --accent-200-color: #92db5d28;
  --accent-darker-color: #70a125;
}
.warn {
  color: var(--warn-color);
}
body {
  --warn-color: #ff0000;
  --warn-lighter-color: #ff00007a;
  --warn-200-color: #ff000028;
  --warn-darker-color: #bb0202;
}
.contained-button,
.outlined-button {
  cursor: pointer;
  display: grid;
  place-items: center;
  border-radius: 50px;
  padding: 0.5rem 1rem;
  font-size: 1.04rem;
  line-height: 1rem;
  font-weight: 400;
  font-family: "Fira Sans";
}
.contained-button {
  color: white;
  background-color: var(--primary-color);
  border: none;
  outline: none;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
}
.contained-button::after {
  content: " ";
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.14) 0%, rgba(0, 0, 0, 0.06) 10%, rgba(0, 0, 0, 0.01) 50%, rgba(0, 0, 0, 0.06) 90%, rgba(0, 0, 0, 0.14) 100%);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-width: 0px;
  width: 100%;
  height: 100%;
  z-index: 1;
  will-change: max-width;
  transition: max-width 0.34s ease-in;
}
.contained-button:hover::after {
  max-width: 300px;
}
.contained-button:hover {
  box-shadow: 1px 2px 8px rgba(0, 0, 0, 0.24);
}
.contained-button:hover:disabled {
  box-shadow: unset;
}
.contained-button:disabled {
  background-color: var(--primary-lighter-color);
}
.contained-button:disabled::after {
  content: unset;
}
.contained-button:disabled[data-color=accent] {
  background-color: var(--accent-lighter-color);
}
.contained-button:disabled[data-color=warn] {
  background-color: var(--warn-lighter-color);
}
.contained-button[data-color=accent] {
  background-color: var(--accent-color);
}
.contained-button[data-color=warn] {
  background-color: var(--warn-color);
}
.contained-button[data-color=basic] {
  color: var(--text-primary-color);
  background-color: inherit;
}
.contained-button[data-color=basic]:hover {
  box-shadow: unset;
}
.contained-button[data-color=none] {
  background-color: var(--text-primary-color);
}
.contained-button > * {
  z-index: 2;
}
.outlined-button {
  color: var(--primary-color);
  background-color: transparent;
  border: 2px solid var(--primary-color);
  outline: none;
  white-space: nowrap;
  border: 2px solid currentColor;
}
.outlined-button:hover {
  box-shadow: 1px 2px 8px rgba(0, 0, 0, 0.24);
  background-color: var(--primary-200-color);
}
.outlined-button:hover:disabled {
  box-shadow: unset;
}
.outlined-button:disabled {
  background-color: var(--primary-lighter-color);
}
.outlined-button:disabled[data-color=accent] {
  background-color: var(--accent-lighter-color);
}
.outlined-button:disabled[data-color=warn] {
  background-color: var(--warn-lighter-color);
}
.outlined-button:disabled[data-color=none] {
  background-color: var(--border-color);
}
.outlined-button[data-color=accent] {
  color: var(--accent-color);
}
.outlined-button[data-color=accent]:hover {
  background-color: var(--accent-200-color);
}
.outlined-button[data-color=warn] {
  background-color: var(--warn-color);
}
.outlined-button[data-color=warn]:hover {
  background-color: var(--warn-200-color);
}
.outlined-button[data-color=none] {
  color: currentColor;
}
.outlined-button[data-color=none]:hover {
  background-color: #3c404328;
}
.flat-button {
  --icon-size: 3rem;
  border-radius: 50%;
  width: var(--icon-size);
  height: var(--icon-size);
  font-size: 2.15em;
  box-shadow: 1px 2px 8px rgba(0, 0, 0, 0.24);
  background-color: var(--primary-color);
  color: #fff;
  border: none;
  outline: none;
  display: grid;
  place-items: center;
  cursor: pointer;
}
.flat-button[data-color=accent] {
  background-color: var(--accent-color);
}
input.outlined,
select.outline,
textarea.outline {
  display: block;
  width: 100%;
  outline: none;
  border: 2px solid var(--border-color);
  border-radius: 8px;
  padding: 0.62rem 0.85rem;
  font-weight: 300;
  background: var(--input-background-color);
  color: currentColor;
}
input.outlined:hover, input.outlined:focus, input.outlined:focus-within,
select.outline:hover,
select.outline:focus,
select.outline:focus-within,
textarea.outline:hover,
textarea.outline:focus,
textarea.outline:focus-within {
  border: 2px solid var(--primary-color);
}
input.outlined + span.error_message,
select.outline + span.error_message,
textarea.outline + span.error_message {
  visibility: hidden;
}
input.outlined.ng-valid.ng-touched.ng-dirty[data-validate],
select.outline.ng-valid.ng-touched.ng-dirty[data-validate],
textarea.outline.ng-valid.ng-touched.ng-dirty[data-validate] {
  border: 2px solid var(--accent-color);
}
input.outlined.ng-invalid.ng-touched.ng-dirty[data-validate],
select.outline.ng-invalid.ng-touched.ng-dirty[data-validate],
textarea.outline.ng-invalid.ng-touched.ng-dirty[data-validate] {
  color: var(--warn-color);
  border: 2px solid var(--warn-color);
}
input.outlined.ng-invalid.ng-touched.ng-dirty[data-validate] + span.error_message,
select.outline.ng-invalid.ng-touched.ng-dirty[data-validate] + span.error_message,
textarea.outline.ng-invalid.ng-touched.ng-dirty[data-validate] + span.error_message {
  visibility: visible;
  color: var(--warn-color);
}
input.outlined.ng-invalid.ng-touched.ng-dirty[data-error],
select.outline.ng-invalid.ng-touched.ng-dirty[data-error],
textarea.outline.ng-invalid.ng-touched.ng-dirty[data-error] {
  color: var(--warn-color);
  border: 2px solid var(--warn-color);
}
input.outlined.ng-invalid.ng-touched.ng-dirty[data-error] + span.error_message,
select.outline.ng-invalid.ng-touched.ng-dirty[data-error] + span.error_message,
textarea.outline.ng-invalid.ng-touched.ng-dirty[data-error] + span.error_message {
  visibility: visible;
  color: var(--warn-color);
}
label.checkbox {
  --size: 1.48em;
  --border-radius: 4px;
  display: grid;
  grid-template-columns: -webkit-min-content -webkit-max-content;
  grid-template-columns: min-content max-content;
  align-items: center;
  gap: var(--check-gap, 1.2ch);
}
label.checkbox > * {
  grid-row: 1;
}
label.checkbox input.outline[type=checkbox] {
  grid-column: 1;
  place-self: center;
  width: calc(var(--size) * 0.8);
  height: calc(var(--size) * 0.8);
}
label.checkbox input.outline[type=checkbox]:checked ~ .check-mark {
  border: 2px solid var(--primary-color);
}
label.checkbox input.outline[type=checkbox]:checked ~ .check-mark::after {
  content: "✓";
  font-size: 0.9em;
  line-height: 0.9em;
  font-weight: bold;
  color: var(--primary-color);
}
label.checkbox input.outline[type=checkbox]:hover:not(:checked) ~ .check-mark {
  border: 2px solid var(--primary-color);
}
label.checkbox .check-mark {
  grid-column: 1;
  place-self: center;
  border: none;
  margin: 0;
  width: var(--size);
  height: var(--size);
  border-radius: var(--border-radius);
  border: 2px solid var(--border-color);
  display: grid;
  place-content: center;
  background-color: var(--input-background-color);
}
label.radio {
  --size: 1.48em;
  --border-radius: 4px;
  display: grid;
  grid-template-columns: -webkit-min-content -webkit-max-content -webkit-max-content;
  grid-template-columns: min-content max-content max-content;
  gap: var(--check-gap, 1.12ch);
}
label.radio > * {
  grid-row: 1;
}
label.radio input[type=radio] {
  grid-column: 1;
  place-self: center;
  width: calc(var(--size) * 0.8);
  height: calc(var(--size) * 0.8);
}
label.radio input[type=radio]:checked ~ .check-mark {
  border: 2px solid var(--primary-color);
}
label.radio input[type=radio]:checked ~ .check-mark::after {
  content: "✓";
  font-size: 0.9em;
  line-height: 0.9em;
  font-weight: bold;
  color: var(--primary-color);
}
label.radio input[type=radio]:hover:not(:checked) ~ .check-mark {
  border: 2px solid var(--primary-color);
}
label.radio .check-mark {
  grid-column: 1;
  place-self: center;
  border: none;
  margin: 0;
  width: var(--size);
  height: var(--size);
  border: 2px solid var(--border-color);
  border-radius: 50%;
  display: grid;
  place-items: center;
  background-color: var(--input-background-color);
}
label.radio span.error_message {
  visibility: hidden;
}
label.radio .ng-invalid.ng-touched.ng-dirty[data-validate] ~ .check-mark {
  color: var(--warn-color);
  border: 2px solid var(--warn-color);
}
label.radio .ng-invalid.ng-touched.ng-dirty[data-validate] ~ span.error_message {
  visibility: visible;
  color: var(--warn-color);
}
.scrollHorizontal-control,
.scrollable {
  overflow-x: auto;
  overflow-y: hidden;
  -ms-overflow-style: none;
  scrollbar-width: none;
  z-index: 2;
}
.scrollHorizontal-control::-webkit-scrollbar,
.scrollable::-webkit-scrollbar {
  display: none;
}
.scrollHorizontal {
  position: relative;
  z-index: 1;
}
.scrollHorizontal .scrollHorizontal-position-left,
.scrollHorizontal .scrollHorizontal-position-right {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 99;
}
.scrollHorizontal .scrollHorizontal-position-left {
  left: 0.25rem;
}
.scrollHorizontal .scrollHorizontal-position-right {
  right: 0.25rem;
}
.scrollHorizontal [data-scroll-right=block] ~ .scrollHorizontal-position-right {
  visibility: visible;
}
.scrollHorizontal [data-scroll-right=none] ~ .scrollHorizontal-position-right {
  visibility: hidden;
}
.scrollHorizontal [data-scroll-left=block] ~ .scrollHorizontal-position-left {
  visibility: visible;
}
.scrollHorizontal [data-scroll-left=none] ~ .scrollHorizontal-position-left {
  visibility: hidden;
}
.underlined-text {
  position: relative;
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.underlined-text::after {
  position: absolute;
  bottom: -0.154em;
  left: 0;
  width: calc(100% + 1ch);
  height: 2px;
  background-color: var(--primary-color);
  content: " ";
}
.capitalize {
  text-transform: capitalize;
}
.uppercase {
  text-transform: uppercase;
}
.pointer {
  cursor: pointer;
}
html {
  font-size: 20px;
  box-sizing: border-box;
  scroll-behavior: smooth;
}
html *,
html *::before,
html *::after {
  margin: 0px;
  padding: 0px;
  box-sizing: inherit;
}
@media (max-width: 1919px) {
  html {
    font-size: 16px;
  }
}
@media (max-width: 599px) {
  html {
    font-size: 15px;
  }
}
@media (max-width: 350px) {
  html {
    font-size: 14px;
  }
}
@media (max-width: 340px) {
  html {
    font-size: 12px;
  }
}
body {
  --gutter: 2.8rem;
  font-family: "Fira Sans", "sans-serif";
  margin: 0;
  padding: 0;
  max-width: 100%;
  min-height: 100vh;
  background-color: var(--background-color);
}
@media (max-width: 1279px) {
  body {
    --gutter: 1.8rem;
  }
}
@media (max-width: 599px) {
  body {
    --gutter: 1.5rem;
  }
}
body a {
  text-decoration: none;
  color: var(--primary-color);
}
body h1,
body h2,
body h3,
body h4,
body p {
  margin-bottom: 0.9em;
  margin-block-end: 0.9em;
}
body svg {
  width: 1em !important;
  height: 1em !important;
}
body main {
  min-height: 100vh;
  width: 100%;
  text-align: center;
  margin: 0 auto;
  max-width: 1920px;
}

/*# sourceMappingURL=styles.css.map*/