* {
  box-sizing: border-box;
}

/* Introduction */
.introduction {
  display: block;
  position: relative;
  clear: both;
}
/* Form */
form#rubix-form {
  display: block;
  position: relative;
  width: 100%;
  padding: 2rem;
}
form#rubix-form:after {
  display: block;
  clear: both;
  content: '';
}
form#rubix-form .field {
  display: block;
  position: relative;
  float: left;
  width: 100%;
  margin: 0 0 1rem 0;
}
form#rubix-form .field:after {
  display: block;
  clear: both;
  content: '';
}
form#rubix-form .field label {
  display: inline-block;
  position: relative;
  font-size: 1rem;
  line-height: 1.5;
  color: #212529;
}
form#rubix-form .field label.required:after {
  display: block;
  position: absolute;
  content: '*';
  top: 0;
  left: 102%;
  color: red;
}
form#rubix-form .field input,
form#rubix-form .field select {
  display: block;
  position: relative;
  width: 100%;
  padding: .5rem 1rem;
  font-size: 1rem;
  line-height: 1.5;
  border: 1px solid #ced4da;
  border-radius: .3rem;
  color: #495057;
  max-width: 300px;
}
form#rubix-form .field.checkboxes .option,
form#rubix-form .field.radio-button .option {
  display: block;
  position: relative;
  width: 100%;
}
form#rubix-form .field.checkboxes .option:after,
form#rubix-form .field.radio-button .option:after {
  display: block;
  clear: both;
  content: '';
}
form#rubix-form .field.checkboxes .option input,
form#rubix-form .field.radio-button .option input {
  display: block;
  position: absolute;
  float: none;
  width: auto;
  top: 5.5px;
  width: 13px;
  height: 13px;
}
form#rubix-form .field.checkboxes .option label,
form#rubix-form .field.radio-button .option label {
  margin-left: 18.5px;
}
form#rubix-form button {
  display: inline-block;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  border: 1px solid transparent;
  padding: .375rem .75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: .25rem;
  transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}
form#rubix-form button:hover {
  color: #fff;
  background-color: #0069d9;
  border-color: #0062cc;
  cursor: pointer;
}
/* Terms & Conditions */
.terms-and-conditions {
  display: block;
  position: relative;
  clear: both;
}

/* Success Message */
.success {
  display: block;
  position: relative;
  width: 100%;
  text-align: center;
  font-size: 15px;
  line-height: 1.2em;
  padding: 1em;
  margin: 0 0 2em 0;
  color: #fff;
  background-color: #4BB543;
}
.success:not(:first-child) {
  display: none;
}
