.newsletter {
  position: relative;
  margin-bottom: 10vh;
}

.newsletter-component--body {
  position: inherit;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  padding: var(--custom-newsletter-padding);
}

.newsletter-component--form-control {
  border: none;
  border-radius: 0;
  border-bottom: 1px solid white;
  background: none;
  color: white;

  padding: min(1vh, 16px) 0 !important;
  margin-bottom: max(min(1vh, 24px), 8px) !important;
  height: max(min(4vh, 3.5rem), 3rem) !important;
  min-height: 0 !important;
  font-family: var(--font-rund-display-bold) !important;
}

.newsletter-component--form-control:focus {
  border: none;
  border-bottom: 1px solid white;
  background: none;
  color: white;
  box-shadow: none !important;
}

.newsletter-component--form-control-label {
  color: white !important;
  background: none !important;
  padding-left: 0 !important;
  opacity: 0.7;
  font-family: var(--font-rund-display-bold) !important;
}


.form-floating>label {
  padding: 0.5rem 0.75rem;
}

.newsletter-component--form-control-label::after {
  color: white !important;
  background: none !important;
  transform: scale(0.6) translateY(-1.5rem) translateX(0) !important;
}

.newsletter-component--terms-check {
  margin-top: min(1vh, 16px) !important;
  margin-bottom: min(1vh, 16px) !important;
}

.form-floating>.form-control:focus~label {
  transform: scale(0.6) translateY(-1.5rem) translateX(0) !important;
}

.form-floating>.form-control:not(:placeholder-shown)~label {
  transform: scale(0.6) translateY(-1.5rem) translateX(0) !important;
}

.newsletter-btn {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 0;
  transition: filter 0.4s ease-in-out;
  font-size: var(--custom-button-font-size) !important;
}

.newsletter-btn:hover {
  background-color: white;
  color: var(--primary-trust-blue);
  filter: var(--custom-button-hover);
}

.form-check-input {
  border-radius: 50% !important;
  border: 1.5px white solid !important;
  background-color: transparent;
  margin-right: 10px;
  margin-left: 0 !important;
  height: 1em !important;
  width: 1em !important;
}

.newsletter-component--validation-message p {
  color: var(--primary-connection-white);
  font-size: var(--custom-input-font-size) !important;
}

.newsletter-component--form-control-validation-message p {
  color: var(--primary-connection-white);
  font-size: max(0.5vw, 12px) !important;
  margin-bottom: 0;
}

.g-recaptcha iframe {
  padding-bottom: 0 !important;
}

input:-webkit-autofill {
  font-size: var(--custom-input-font-size) !important;
  /* font-family: 'Rund Text Regular' !important; */
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  transition: background-color 5000s ease-in-out 0s;
  caret-color: white;
}

input {
  font-size: var(--custom-input-font-size) !important;
  font-family: 'Rund Text Regular' !important;
}

.form-end p {
  font-size: var(--custom-text-font-size);
}

#reCaptcha {
  transform: scale(var(--custom-recaptcha-scale));
  transform-origin: 0;
}