@import url("https://use.typekit.net/egh4uoj.css");
@import url("https://fonts.googleapis.com/css?family=Roboto:400");
@font-face {
  font-family: "DIN2014-Demi-Handover";
  src: url("../assets/fonts/DIN2014-DemiBold-Handover.ttf") format("truetype");
}
* {
  font-family: din-2014, sans-serif;
  font-weight: 400;
  font-style: normal;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  resize: none;
  letter-spacing: 0.02em;
}

html {
  height: -webkit-fill-available;
}
@media (hover: hover) {
  html {
    overflow: -moz-scrollbars-vertical;
    overflow-y: scroll;
  }
}

html,
input,
button,
textarea {
  font-size: 21px;
}

.brand {
  fill: #00a0ff;
}

@media only screen and (max-width: 600px) {
  html {
    font-size: 16px;
  }
  input,
button,
textarea {
    font-size: 18px;
  }
}
body {
  position: relative;
  min-height: 100vh;
  /* mobile viewport bug fix */
  min-height: -webkit-fill-available;
  margin: 0;
  font-weight: 400;
  line-height: 1.4;
}

footer {
  position: absolute;
  bottom: 0;
  padding: calc(2*10px);
  line-height: 1.1;
}
footer a {
  color: black;
  text-decoration: none;
}
footer small {
  font-size: 0.8rem;
}
footer small strong {
  font-weight: normal;
  font-family: "DIN2014-Demi-Handover";
  font-size: 1.2em;
}
footer small strong i {
  font-family: "DIN2014-Demi-Handover";
  color: #00a0ff;
}
footer div {
  display: flex;
  flex-direction: row;
  gap: calc(2*10px);
}

p {
  margin-top: 0;
  margin-bottom: 0;
  padding: 0 5px;
  letter-spacing: 0.02em;
}
p.center {
  text-align: center;
}

h1,
h2,
h3,
h4,
h5 {
  line-height: 1.3;
  margin: 0;
}

h1,
h2,
h3,
h4 {
  font-weight: 600;
}

h1 {
  margin-top: 0;
  font-size: 1.802rem;
}

h2 {
  font-size: 1.602rem;
}

h3 {
  font-size: 1.424rem;
}

h4 {
  font-size: 1.266rem;
}

h5 {
  font-size: 1.125rem;
}

small,
.text_small,
label {
  font-size: 0.889rem;
}
small > input,
.text_small > input,
label > input {
  font-size: 1rem;
}

strong {
  font-weight: 600;
}
strong * {
  font-weight: 600;
}

.mainContainer {
  display: flex;
  flex-direction: column;
  gap: calc(4*10px);
  align-items: center;
  border-radius: 10px;
}

section {
  position: relative;
  padding: 40px calc(2*10px);
  padding-bottom: calc(16*10px);
  max-width: 600px;
  margin-inline: auto;
}
section form {
  display: flex;
  flex-direction: column;
  gap: calc(4*10px);
  align-items: center;
  border-radius: 10px;
}
section form .tab,
section form .formgroup {
  display: none;
  visibility: visible;
  flex-direction: column;
  gap: calc(4*10px);
  align-items: center;
  width: 100%;
}
section form .tab .formgroup,
section form .formgroup .formgroup {
  display: flex;
  gap: 10px;
}
section form h4 {
  align-self: flex-start;
}
section.text-only {
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}
section.text-only h1,
section.text-only h2,
section.text-only h3,
section.text-only h4 {
  margin: 1em 0;
}
section.text-only p {
  margin: 1em 0;
  padding: 0;
}

input[type=text],
button,
textarea,
label {
  width: 100%;
  display: block;
  border-radius: 4px;
  -webkit-appearance: none;
}

input[type=text],
button,
textarea {
  padding: 10px;
}

input[type=text],
textarea {
  border: none;
  border-bottom: 1px solid #D1D1D1;
  color: #00a0ff;
  background-color: #f8f8f8;
}
input[type=text].invalid,
textarea.invalid {
  background-color: #ffdddd;
}
input[type=text]:focus,
textarea:focus {
  outline: none;
  border-bottom-color: #00a0ff;
  background-color: #e5f5ff;
}

.custom-file-upload {
  cursor: pointer;
  display: flex;
  position: relative;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background-color: #f8f8f8;
  border-radius: 14px;
  padding: 10px;
  min-height: 14rem;
  transition: 0.3s;
}
.custom-file-upload.invalid {
  background-color: #ffdddd !important;
}
.custom-file-upload input[type=file] {
  display: none;
}
.custom-file-upload span {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.custom-file-upload .preview {
  z-index: 1;
  border-radius: 8px;
}
.custom-file-upload:active {
  background-color: #e5f5ff;
  -webkit-animation: img-blur 3s;
}
@media (hover: hover) {
  .custom-file-upload:hover {
    background-color: #e5f5ff;
    -webkit-animation: img-blur 3s;
  }
}

@-webkit-keyframes img-blur {
  0% {
    -webkit-filter: blur(0px);
  }
  25% {
    -webkit-filter: blur(4px);
  }
  50% {
    -webkit-filter: blur(1px);
  }
  75% {
    -webkit-filter: blur(2px);
  }
  100% {
    -webkit-filter: blur(0px);
  }
}
.fieldContainer,
.tab > div:not(.content) {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}

.labelgroup {
  display: flex;
  flex-direction: row;
  gap: calc(10px/2);
  width: 100%;
}

.radiogroup,
.checkgroup {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.radiogroup.twoColumns,
.checkgroup.twoColumns {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
}
.radiogroup label,
.checkgroup label {
  font-size: 1rem;
  display: flex;
  flex-direction: row;
  gap: calc(10px/2);
}
.radiogroup label span,
.checkgroup label span {
  display: block;
}
.buttonGroup {
  display: flex;
  flex-direction: row;
  gap: 10px;
  margin-top: 20px;
}

button {
  cursor: pointer;
  background-color: #00a0ff;
  border: #00a0ff;
  border-radius: 10px;
  margin-bottom: 10px;
  color: white;
}
button:active {
  background-color: #008ddf;
}
@media (hover: hover) {
  button:hover {
    background-color: #008ddf;
  }
}
button.warning {
  color: #e20000;
  background-color: #e5f5ff;
}
button.warning:active {
  background-color: #cfedff;
}
button.light {
  background-color: #e5f5ff;
  color: #00a0ff;
}
button.light:active {
  background-color: #cfedff;
}

#prevBtn {
  position: absolute;
  inset: 20px;
  cursor: pointer;
}
#prevBtn:active g {
  stroke: #00a0ff !important;
}

a {
  color: #00a0ff;
  text-decoration: none;
  cursor: pointer;
}
a:active {
  color: #008ddf;
}
@media (hover: hover) {
  a:hover {
    color: #008ddf;
  }
}

/* Style the button that is used to open and close the collapsible content */
.collapsible:after {
  content: " einblenden";
}
.collapsible.active:after {
  content: " ausblenden";
}

.content {
  width: 100%;
  display: none;
  overflow: hidden;
}

/* Hide all steps by default: */
.tab {
  display: none;
  visibility: hidden;
  -webkit-animation: fade-in 0.35s cubic-bezier(0.62, 0.31, 0.3, 1.15);
          animation: fade-in 0.35s cubic-bezier(0.62, 0.31, 0.3, 1.15);
}

@-webkit-keyframes fade-in {
  from {
    margin-top: -10px;
    opacity: 0;
  }
  to {
    margin-top: 0;
    opacity: 1;
  }
}

@keyframes fade-in {
  from {
    margin-top: -10px;
    opacity: 0;
  }
  to {
    margin-top: 0;
    opacity: 1;
  }
}
.steps {
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
}
.steps::after {
  content: "";
  position: absolute;
  top: 7px;
  border-bottom: 1px solid #00a0ff;
  width: 100%;
}
.steps .hidden {
  display: none;
}

/* Make circles that indicate the steps of the form: */
.step {
  z-index: 1;
  height: 15px;
  width: 15px;
  background-color: white;
  border: 1px solid #00a0ff;
  border-radius: 50%;
  display: inline-block;
  transition: 0.5s;
}

/* Mark the active step: */
.step.active {
  border-width: 3px;
  background-color: #e5f5ff !important;
}

/* Mark the steps that are finished and valid: */
.step.finish {
  background-color: #00a0ff;
}

.objectBox {
  display: flex;
  flex-direction: column;
  gap: calc(2*10px);
  border: 1px dashed #00a0ff;
  border-radius: 14px;
  padding: 10px;
  margin-left: -10px;
  margin-right: -10px;
}
.objectBox small#objectDonationTypeSum {
  color: #adadad;
}
.objectBox img {
  width: 100%;
  border-radius: 4px;
}
.objectBox hr {
  border: none;
  border-bottom: 1px dashed #00a0ff;
  margin: 0;
  margin-left: -10px;
  margin-right: -10px;
}
.objectBox .changesLink {
  align-self: flex-end;
  color: #e20000;
}

/* The container */
.container {
  display: flex;
  align-items: center;
  position: relative;
  padding-left: 35px;
  margin-bottom: 8px;
  height: 25px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Hide the browser's default radio button */
.container input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}

.radiogroup {
  /* Create a custom radio button */
  /* On mouse-over, add a grey background color */
  /* When the radio button is checked, add a blue background */
  /* Create the indicator (the dot/circle - hidden when not checked) */
  /* Show the indicator (dot/circle) when checked */
  /* Style the indicator (dot/circle) */
}
.radiogroup .checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  border: 1px solid #D1D1D1;
  border-radius: 50%;
}
.radiogroup .container:active input ~ .checkmark {
  background-color: #e5f5ff;
}
@media (hover: hover) {
  .radiogroup .container:hover input ~ .checkmark {
    background-color: #e5f5ff;
  }
}
.radiogroup .container input:checked ~ .checkmark {
  background-color: white;
}
.radiogroup .checkmark:after {
  content: "";
  position: absolute;
  display: none;
}
.radiogroup .container input:checked ~ .checkmark:after {
  display: block;
}
.radiogroup .container .checkmark:after {
  top: 4px;
  left: 4px;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #00a0ff;
}

.checkgroup {
  /* Create a custom radio button */
  /* On mouse-over, add a grey background color */
  /* When the radio button is checked, add a blue background */
  /* Create the indicator (the dot/circle - hidden when not checked) */
  /* Show the indicator (dot/circle) when checked */
  /* Style the indicator (dot/circle) */
}
.checkgroup .checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  border: 1px solid #D1D1D1;
  border-radius: 4px;
}
.checkgroup .container:active input ~ .checkmark {
  background-color: #e5f5ff;
}
@media (hover: hover) {
  .checkgroup .container:hover input ~ .checkmark {
    background-color: #e5f5ff;
  }
}
.checkgroup .container input:checked ~ .checkmark {
  background-color: white;
}
.checkgroup .checkmark:after {
  content: "";
  position: absolute;
  display: none;
}
.checkgroup .container input:checked ~ .checkmark:after {
  display: block;
}
.checkgroup .container .checkmark:after {
  left: 7px;
  top: 1px;
  width: 6px;
  height: 14px;
  border: solid #00a0ff;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
}

.resultContainer > div {
  cursor: pointer;
  border-bottom: 1px solid #D1D1D1;
  padding-bottom: 10px;
}
.resultContainer > div:active {
  color: #00a0ff;
  border-bottom: 1px solid #00a0ff;
}
.resultContainer > div > div {
  padding: 0;
  display: flex;
  align-items: stretch;
  flex-direction: row;
}
.resultContainer > div small {
  color: #adadad;
  display: block;
}

button,
.custom-file-upload,
.resultContainer {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.loading-screen {
  position: fixed;
  display: none;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  justify-content: center;
  inset: 0;
  background-color: white;
  z-index: 3;
}
.loading-screen .loader {
  border: 2px solid #e5f5ff;
  border-top: 2px solid #00a0ff;
  border-radius: 50%;
  width: 100px;
  height: 100px;
  -webkit-animation: spin 2s ease infinite;
          animation: spin 2s ease infinite;
}

@-webkit-keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
span.certifiedCollection {
  margin-left: auto;
  margin-right: 10px;
  margin-top: 5px;
  display: inline-block;
  background: #00a0ff;
  width: 16px;
  height: 16px;
  border-radius: 3px;
  position: relative;
  text-align: center;
  transform: rotate(20deg);
}
span.certifiedCollection:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 16px;
  width: 16px;
  border-radius: 3px;
  background: #00a0ff;
  transform: rotate(135deg);
}
span.certifiedCollection:active::after {
  content: "certified";
  position: absolute;
  left: 50%;
  top: 100%;
  font-size: 0.5rem;
  transform: rotate(-20deg) translateX(-35%);
}
span.certifiedCollection:active::after {
  content: "certified";
  position: absolute;
  left: 50%;
  top: 100%;
  font-size: 0.5rem;
  transform: rotate(-20deg) translateX(-35%);
}
@media (hover: hover) {
  span.certifiedCollection:hover::after {
    content: "certified";
    position: absolute;
    left: 50%;
    top: 100%;
    font-size: 0.5rem;
    transform: rotate(-20deg) translateX(-35%);
  }
}/*# sourceMappingURL=style.css.map */