:root {
  --form-input-border-color: #e5e7eb;
  --form-input-border-color-focus: #191919;
  --form-input-border-color-invalid: rgba(239, 68, 68);

  --form-input-border-width: 2px;
  --form-input-border-width-small-screens: 0 0 1px 0;

  --form-input-border-radius: 0.25rem;
  --form-input-border-radius-small-screens: 0;

  --form-input-padding-small-screens: 0.5rem 0rem;
  --form-input-padding: 0.75rem;

  --form-input-height: 50px;
  --form-input-width: 100%;

  --form-label-font-size: 1.25rem;
  --form-bold-font-weight: 600;
}

/* Forms */
form:not(.no-style) label:not(.no-style) {
  font-size:    var(--form-label-font-size, 1.25rem);
  font-weight:  var(--form-bold-font-weight, 600);
  cursor:       pointer;
}

form:not(.no-style) [type='text']:not(.no-style),
form:not(.no-style) [type='email']:not(.no-style),
form:not(.no-style) [type='url']:not(.no-style),
form:not(.no-style) [type='password']:not(.no-style),
form:not(.no-style) [type='number']:not(.no-style),
form:not(.no-style) [type='date']:not(.no-style),
form:not(.no-style) [type='datetime-local']:not(.no-style),
form:not(.no-style) [type='month']:not(.no-style),
form:not(.no-style) [type='search']:not(.no-style),
form:not(.no-style) [type='tel']:not(.no-style),
form:not(.no-style) [type='time']:not(.no-style),
form:not(.no-style) [type='week']:not(.no-style),
form:not(.no-style) [multiple]:not(.no-style),
form:not(.no-style) textarea:not(.no-style),
form:not(.no-style) select:not(.no-style) {
  border-width:   var(--form-input-border-width-small-screens, 0 0 1px 0 );
  border-radius:  var(--form-input-border-radius-small-screens, 0);
  padding:        var(--form-input-padding-small-screens, 0.5rem 0rem);
  width:          var(--form-input-width, 100%);
  transition :    border 500ms ease-out;
}

form:not(.no-style) [type='text']:focus:not(.no-style),
form:not(.no-style) [type='email']:focus:not(.no-style),
form:not(.no-style) [type='url']:focus:not(.no-style),
form:not(.no-style) [type='password']:focus:not(.no-style),
form:not(.no-style) [type='number']:focus:not(.no-style),
form:not(.no-style) [type='date']:focus:not(.no-style),
form:not(.no-style) [type='datetime-local']:focus:not(.no-style),
form:not(.no-style) [type='month']:focus:not(.no-style),
form:not(.no-style) [type='search']:focus:not(.no-style),
form:not(.no-style) [type='tel']:focus:not(.no-style),
form:not(.no-style) [type='time']:focus:not(.no-style),
form:not(.no-style) [type='week']:focus:not(.no-style),
form:not(.no-style) [multiple]:focus:not(.no-style),
form:not(.no-style) textarea:focus:not(.no-style),
form:not(.no-style) select:focus:not(.no-style) {
  outline: none;
  border-color:   var(--form-input-border-color-focus, #191919);
}

form:not(.no-style) [type='submit']:not(.no-style) {
  background-color:   rgba(var(--bg-primary,1,90,226),.9); 
  border-radius:      var(--form-input-border-radius, 0.25rem);
  text-transform:     uppercase;
	letter-spacing:     0.04em; 
  border:             0;
  box-sizing:         border-box;
  color:              var(--bg-primary-text, #fff);
  cursor:             pointer;
  display:            inherit;
  font-weight:        var(--form-bold-font-weight, 600);
  margin:             0;
  position:           relative;
  text-align:         center;
  user-select:        none;
  -webkit-user-select:none;
  touch-action:       manipulation;
  vertical-align:     baseline;
  transition:         all .2s cubic-bezier(.22, .61, .36, 1);
  width:              100%;
}

form:not(.no-style) [type='submit']:hover:not(.no-style) {
  transform:          translateY(-2px);
  background-color:   rgba(var(--bg-primary,1,90,226),1); 
}

@media (min-width: 640px) {
  form:not(.no-style) [type='text']:not(.no-style),
  form:not(.no-style) [type='email']:not(.no-style),
  form:not(.no-style) [type='url']:not(.no-style),
  form:not(.no-style) [type='password']:not(.no-style),
  form:not(.no-style) [type='number']:not(.no-style),
  form:not(.no-style) [type='date']:not(.no-style),
  form:not(.no-style) [type='datetime-local']:not(.no-style),
  form:not(.no-style) [type='month']:not(.no-style),
  form:not(.no-style) [type='search']:not(.no-style),
  form:not(.no-style) [type='tel']:not(.no-style),
  form:not(.no-style) [type='time']:not(.no-style),
  form:not(.no-style) [type='week']:not(.no-style),
  form:not(.no-style) [multiple]:not(.no-style),
  form:not(.no-style) textarea:not(.no-style),
  form:not(.no-style) select:not(.no-style) {
    border-color:   var(--form-input-border-color, #e5e7eb);
    border-width:   var(--form-input-border-width, 2px);
    border-radius:  var(--form-input-border-radius, 0.25rem);
    padding:        var(--form-input-padding, 0.75rem);
  }
  form:not(.no-style) [type='text']:not(.no-style).invalid,
  form:not(.no-style) [type='email']:not(.no-style).invalid,
  form:not(.no-style) [type='url']:not(.no-style).invalid,
  form:not(.no-style) [type='password']:not(.no-style).invalid,
  form:not(.no-style) [type='number']:not(.no-style).invalid,
  form:not(.no-style) [type='date']:not(.no-style).invalid,
  form:not(.no-style) [type='datetime-local']:not(.no-style).invalid,
  form:not(.no-style) [type='month']:not(.no-style).invalid,
  form:not(.no-style) [type='search']:not(.no-style).invalid,
  form:not(.no-style) [type='tel']:not(.no-style).invalid,
  form:not(.no-style) [type='time']:not(.no-style).invalid,
  form:not(.no-style) [type='week']:not(.no-style).invalid,
  form:not(.no-style) [multiple]:not(.no-style).invalid,
  form:not(.no-style) textarea:not(.no-style).invalid,
  form:not(.no-style) select:not(.no-style).invalid {
    border-color: var(--form-input-border-color-invalid, rgba(239, 68, 68));
  }
}

form:not(.no-style) select:focus:not(.no-style).invalid {
  border-color: var(--form-input-border-color-invalid, rgba(239, 68, 68));
}

form:not(.no-style) input:not(.no-style), 
form:not(.no-style) select:not(.no-style) {
  height: var(--form-input-height, 50px);
}