@charset "UTF-8";
:root {
  --color-red: rgb(148, 23, 40);
  --color-blue: rgb(35, 62, 99);
  --color-orange: rgb(236, 103, 38);
  --color-grey-dark: rgb(51, 51, 51);
  --color-grey-light: rgb(226, 226, 226);
  --color-grey-medium: rgb(171, 171, 171);
  --color-white: rgb(255, 255, 255);
  --color-black: rgb(0, 0, 0);
  --box-shadow: 0px 0.4dvw 0.6dvw -0.2dvw rgba(0, 0, 0, 0.3);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

input[type=checkbox],
input[type=radio] {
  opacity: 0;
}

body {
  font-family: Roboto, sans-serif;
  background: var(--color-white);
  color: var(--color-grey-dark);
  font-size: 62.5%;
  min-height: 100vh;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  -webkit-font-smoothing: antialiased;
}

.u-p {
  padding-bottom: 0.5rem;
}

.u-m {
  margin-bottom: 1rem !important;
}

.main {
  background: var(--color-white);
  width: 100%;
  height: 100%;
  margin-top: 10px;
  padding: 2dvw;
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  align-items: center;
}

.container {
  width: 80%;
  height: auto;
  margin-top: 10px;
  padding: 2dvw;
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  align-items: center;
  box-shadow: var(--box-shadow);
  border: 1px solid var(--color-grey-light);
  margin: 0.5dvw;
  border-radius: 2px;
}

.color-bar {
  position: absolute;
  top: -10px;
  left: 0;
  width: 100%;
  height: 10px;
  background: linear-gradient(to right, var(--color-red) 0, var(--color-red) 33%, var(--color-blue) 33%, var(--color-blue) 66%, var(--color-orange) 66%, var(--color-orange) 100%);
}

.logo-box {
  width: 100%;
  height: 5dvw;
  background: url("./assets/logo.svg") no-repeat center/contain;
  margin: 1dvw 0;
}
@media only screen and (min-width: 1200px) {
  .logo-box {
    height: 3dvw;
    margin: 0 0 1dvw 0;
  }
}

.trainings-container {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  width: calc(100% - 2dvw);
}
@media only screen and (min-width: 600px) {
  .trainings-container {
    flex-direction: row;
    justify-content: center;
  }
}

.training-card {
  box-shadow: var(--box-shadow);
  border: 1px solid var(--color-grey-light);
  margin: 0.5dvw;
  border-radius: 2px;
  padding: 1rem;
  flex: 0 1 auto;
  width: 90dvw;
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  justify-content: flex-start;
  transition: all ease-out 0.5s;
}
@media only screen and (min-width: 600px) {
  .training-card {
    width: calc(33% - 1dvw);
  }
}
@media only screen and (min-width: 1000px) {
  .training-card {
    width: calc(25% - 1dvw);
  }
}

.done-alert {
  margin-top: 1rem;
  color: var(--color-red);
}

.log-in {
  height: 10dvh;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  flex-wrap: nowrap;
  margin-bottom: 2dvh;
}

.h-primary {
  font-family: "RobotoSlab Regular", "Roboto Slab", serif;
  font-weight: 600;
  font-size: 1.1rem;
  letter-spacing: 0.05rem;
  margin: 0.5rem 0;
}
@media only screen and (min-width: 1200px) {
  .h-primary {
    font-size: 1.5rem;
  }
}

.h-secondary {
  font-family: "RobotoSlab Regular", "Roboto Slab", serif;
  font-weight: 600;
  font-size: 1.2rem;
  letter-spacing: 0.05rem;
  margin: 0 0.5rem 0.2rem 0;
  display: inline-block;
}

.h-tertiary {
  font-weight: 600;
  font-size: 1.1rem;
  margin-bottom: 0.5rem;
}

.p-st {
  font-size: 0.9rem;
  margin-bottom: 0.8rem;
  white-space: pre-line;
}

.p-in {
  font-size: 0.8rem;
  display: inline-block;
  margin-bottom: 1rem;
}

option {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.select {
  width: 70%;
  font-family: Roboto, sans-serif;
  padding: 0.2rem;
  border: 1px solid var(--color-grey-medium);
  border-radius: 2px;
  font-size: 1rem;
  outline: none;
  margin-bottom: 0.5rem;
  transition: border-color 0.2s;
}
.select:focus {
  border-color: var(--color-red);
}

::picker(select) {
  border: none;
}

.option {
  padding: 0.5rem;
  cursor: pointer;
  border-bottom: 1px solid var(--color-grey-light);
  transition: background-color 0.15s;
}

option:hover,
option.selected,
option:focus {
  background-color: var(--color-grey-light) !important;
  outline: none;
}

.dropdown-label {
  margin-left: 1rem;
  position: relative;
  cursor: pointer;
}
.dropdown-label:before {
  content: "⯈";
  position: Absolute;
  top: -0.1rem;
  left: -1rem;
}

.drop-text {
  display: none;
}

.drop-switch:checked ~ .drop-text {
  display: block;
}

.drop-switch:checked ~ .dropdown-label:before {
  content: "⯆";
}

.autocomplete-container {
  width: 100%;
  height: 1.5rem;
  border: 0;
  padding: 0 0.2dvh;
  font-family: Roboto, sans-serif;
  font-size: 1rem;
  margin: 1dvh 0;
  position: relative;
}

.search-input {
  width: 100%;
  font-family: Roboto, sans-serif;
  padding: 0.4rem;
  border: 1px solid var(--color-grey-medium);
  border-radius: 2px;
  font-size: 1rem;
  outline: none;
  margin-bottom: 1rem;
  transition: border-color 0.2s;
  position: relative;
}

.search-input:focus {
  border-color: var(--color-red);
}

.search-input.unmatched {
  border-color: orange;
  background-color: #fff8e1;
}

.suggestions-list {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--color-white);
  border: 1px solid var(--color-grey-light);
  border-top: none;
  border-radius: 0 0 2px 2px;
  max-height: 30dvh;
  overflow-y: auto;
  z-index: 1000;
  margin: 0;
  padding: 0;
  list-style: none;
  box-shadow: var(--box-shadow);
}

.suggestion-item {
  padding: 0.5rem;
  cursor: pointer;
  border-bottom: 1px solid var(--color-grey-light);
  transition: background-color 0.15s;
}

.suggestion-item:hover,
.suggestion-item.selected,
.suggestion-item:focus {
  background-color: var(--color-grey-light);
  outline: none;
}

.suggestion-item:last-child {
  border-bottom: none;
}

.btn {
  background: var(--color-red);
  color: var(--color-white);
  border: 1px solid transparent;
  border-radius: 2px;
  display: block;
  width: 100%;
  transition: all 0.4s;
  text-align: center;
  margin-top: 1rem;
  padding: 0.4rem 0.8rem;
  cursor: pointer;
  font-family: Roboto, sans-serif;
}
.btn:hover, .btn:active {
  color: var(--color-red);
  background: transparent;
  border: 1px solid var(--color-red);
}
.btn:disabled {
  color: var(--color-white);
  background: var(--color-grey-medium);
  border: 1px solid var(--color-grey-light);
  cursor: not-allowed;
}
.btn:disabled:hover {
  color: var(--color-white);
  background: var(--color-grey-medium);
  border: 1px solid var(--color-grey-light);
  cursor: not-allowed;
}
.btn--log {
  width: 20%;
  margin-top: 7dvh;
  padding: 0.8rem;
  font-weight: 800;
  font-size: 1rem;
}

.loader {
  width: 100vw;
  height: 100vmin;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: transparent;
  transition: all 0.1s;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  align-items: center;
  opacity: 0.7;
}
.loader__spinner {
  color: var(--color-orange);
  font-size: 38vmin;
  overflow: hidden;
  width: 38vmin;
  height: 38vmin;
  border-radius: 50%;
  position: relative;
  animation: load 2s infinite ease, round 2s infinite ease;
  z-index: 50;
}
.loader__image {
  width: 60dvw;
  aspect-ratio: 1/1;
  position: absolute;
  border-radius: 50%;
  box-shadow: 0px 0px 35px 25px #ffffff;
}
.loader__image-content {
  width: 85%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -o-object-fit: contain;
     object-fit: contain;
}

@keyframes load {
  0% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em var(--color-blue);
  }
  5% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em var(--color-blue);
  }
  10% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em var(--color-blue);
  }
  20% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em var(--color-red);
  }
  40% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em var(--color-red);
  }
  60% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em var(--color-red);
  }
  95% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em var(--color-red);
  }
  100% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em var(--color-red);
  }
}
@keyframes round {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.text-label {
  font-size: 1.3rem;
  font-weight: 800;
  color: var(--color-grey-dark);
}

form {
  max-width: 100%;
}

.form__container {
  width: 95%;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  margin: 0 auto;
}

.form__question {
  display: block;
  text-align: start;
  margin: 2dvh 0 1dvh 0;
}
.form__input {
  width: 100%;
  border: 1px solid var(--color-grey-medium);
  padding: 0 0.2dvh;
  font-family: Roboto, sans-serif;
  font-size: 1.2rem;
  margin: 1dvh 0;
}
@media screen and (max-width: 1000px) {
  .form__input {
    width: 90%;
  }
}
.form__input:focus,
.form__input :focus-visible {
  border: 0;
  border-bottom: 2px solid var(--color-grey-dark);
  outline: none;
}
.form__textarea {
  width: 100%;
  height: auto;
  text-wrap: wrap;
  border: 1px solid var(--color-grey-medium);
  padding: 0.4rem;
  border-bottom: 1px solid var(--color-grey-light);
  font-family: Roboto, sans-serif;
  font-size: 1rem;
  margin: 1dvh 0;
  field-sizing: content;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
@media screen and (max-width: 1000px) {
  .form__textarea {
    width: 90%;
  }
}
.form__textarea:focus,
.form__textarea :focus-visible {
  border: 0;
  border-bottom: 2px solid var(--color-grey-dark);
  outline: none;
}
.form__wrap {
  display: flex;
  width: 100%;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 auto 0 0;
}
@media screen and (max-width: 1000px) {
  .form__wrap {
    width: 90%;
  }
}

fieldset {
  border: none;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  align-items: flex-start;
}

legend {
  float: left;
  width: 100%;
}

.check-show {
  margin-top: 0.2rem;
  display: none;
}

.check {
  position: Absolute;
  top: 50%;
  left: 0%;
}
.check:checked ~ .check-show {
  display: block;
  width: 100%;
}

.active-label {
  font-size: 0.8rem;
  width: auto;
  transition: all 0.2s;
  padding: 0.4rem 0.6rem 0.4rem 1.6rem;
  position: relative;
}
@media screen and (max-width: 1000px) {
  .active-label {
    width: 90%;
  }
}
.active-label:has(.check:checked) {
  background: var(--color-red);
  color: var(--color-white);
}
.active-label:hover {
  background: var(--color-red);
  color: var(--color-white);
}
.active-label:hover .radio-custom {
  border: 2px solid var(--color-white);
}
.active-label:focus,
.active-label :focus-visible {
  border: 0;
  border-bottom: 2px solid var(--color-grey-dark);
  outline: none;
}

.active-label .radio-custom {
  left: 0.4rem;
  top: 50%;
  transform: translate(0, -50%);
}

.check:checked + .radio-custom::after {
  opacity: 1;
  background: var(--color-white);
}

.check:checked + .radio-custom {
  border: 2px solid var(--color-red);
  outline: 2px solid var(--color-white);
}

.radio-label {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  position: relative;
  justify-content: flex-end;
  gap: 0.5rem;
  font-size: 1rem;
  height: 4rem;
}
.radio-label:focus,
.radio-label :focus-visible {
  border: 0;
  border-bottom: 2px solid var(--color-grey-dark);
  outline: none;
}

.radio-custom {
  position: absolute;
  height: 2rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 2px solid var(--color-grey-medium);
  background-color: var(--color-white);
  transition: all 0.2s;
  cursor: pointer;
}
.radio-custom::after {
  content: "";
  position: absolute;
  opacity: 0;
  left: 0;
  top: 0;
  z-index: 5;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: var(--color-red);
  transition: all 0.2s;
}

.radio-label .radio-custom {
  top: 10%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.radio-label input:checked ~ .radio-custom::after {
  opacity: 1;
}

.radio-label input:checked ~ .radio-custom {
  border: 2px solid var(--color-white);
  outline: 2px solid var(--color-red);
}

.checkbox-custom {
  position: absolute;
  top: 0.4rem;
  left: 0.2rem;
  height: 1rem;
  aspect-ratio: 1/1;
  border-radius: 2px;
  border: 2px solid var(--color-grey-medium);
  background-color: var(--color-white);
  transition: all 0.2s;
  margin-right: 0.5rem;
  cursor: pointer;
}
.checkbox-custom::after {
  content: "";
  position: absolute;
  opacity: 0;
  left: 0;
  top: 0;
  z-index: 5;
  width: 100%;
  height: 100%;
  border-radius: 2px;
  background: var(--color-red);
}

.check:checked ~ .checkbox-custom::after {
  opacity: 1;
}

.check:checked ~ .checkbox-custom {
  border: 2px solid var(--color-white);
  outline: 2px solid var(--color-red);
}

.spinner {
  display: inline-block;
  width: 1em;
  height: 1em;
  border: 2px solid var(--color-white);
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.btn:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}/*# sourceMappingURL=custom.css.map */