.vanilla-form input:last-child,
.vanilla-form textarea:last-child,
.vanilla-form select:last-child {
  margin-bottom: 0;
}
.vanilla-form input.error,
.vanilla-form textarea.error,
.vanilla-form select.error {
  border-color: #e2513f;
  border-width: 1px;
}
.vanilla-form input[type="submit"] {
  -webkit-transition: all 500ms;
  -moz-transition: all 500ms;
  -ms-transition: all 500ms;
  -o-transition: all 500ms;
  transition: all 500ms;
}
.vanilla-form input[type="submit"].state-success {
  background-color: #2fa94f;
  border-color: #2fa94f;
}

.vanilla-form input[type="submit"].state-success:hover {
  color: #ffffff;
}

.vanilla-form input[type="submit"].state-error {
  background-color: #e2513f;
  border-color: #e2513f;
  
}

.vanilla-form input[type="submit"].state-error:hover {
  color: #ffffff;
}

.vanilla-form input[type="submit"].state-initial {
  
}

.vanilla-form input[type="radio"],
.vanilla-form input[type="checkbox"] {
  position: absolute;
  pointer-events: none;
  opacity: 0;
  margin: 0;
  padding: 0;
  height: 10px;
}
.vanilla-form input[type="radio"] + span,
.vanilla-form input[type="checkbox"] + span {
  display: inline-block;
  width: 18px;
  height: 18px;
  background-color: #ffffff;
  border: 1px solid #cecece;
  text-align: center;
  vertical-align: top;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}
.vanilla-form input[type="radio"] + span::after,
.vanilla-form input[type="checkbox"] + span::after {
  content: "";
  display: inline-block;
  opacity: 0;
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 200ms;
  -moz-transition: all 200ms;
  -ms-transition: all 200ms;
  -o-transition: all 200ms;
  transition: all 200ms;
}
.vanilla-form input[type="radio"]:focus + span,
.vanilla-form input[type="checkbox"]:focus + span,
.vanilla-form input[type="radio"]:active + span,
.vanilla-form input[type="checkbox"]:active + span {
  border-color: #33a4fd;
}
.vanilla-form input[type="radio"]:checked + span::after,
.vanilla-form input[type="checkbox"]:checked + span::after {
  opacity: 1;
}
.vanilla-form input[type="radio"].error + span,
.vanilla-form input[type="checkbox"].error + span {
  border-color: #e2513f;
  border-width: 2px;
}
.vanilla-form input[type="radio"] + span {
  -webkit-border-radius: 2em;
  -moz-border-radius: 2em;
  border-radius: 2em;
  -moz-box-shadow: 0 0 5px #dddddd;
  -webkit-box-shadow: 0 0 5px #dddddd;
  box-shadow: 0 0 5px #dddddd;
}
.vanilla-form input[type="radio"] + span::after {
  -webkit-border-radius: 1em;
  -moz-border-radius: 1em;
  border-radius: 1em;
  background-color: #33a4fd;
}
.vanilla-form input[type="radio"]:checked + span::after {
  border: 0.2em solid #ffffff;
}
.vanilla-form input[type="checkbox"] + span {
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  -moz-box-shadow: 0 0 5px #dddddd;
  -webkit-box-shadow: 0 0 5px #dddddd;
  box-shadow: 0 0 5px #dddddd;
}
.vanilla-form input[type="checkbox"] + span::after {
  height: 45%;
  width: 75%;
  background-color: transparent;
  border: 0 solid #33a4fd;
  vertical-align: bottom;
  -webkit-transform: rotate(-45deg) translate(50%, -75%);
  -moz-transform: rotate(-45deg) translate(50%, -75%);
  -ms-transform: rotate(-45deg) translate(50%, -75%);
  -o-transform: rotate(-45deg) translate(50%, -75%);
  transform: rotate(-45deg) translate(50%, -75%);
}
.vanilla-form input[type="checkbox"]:checked + span::after {
  border-left-width: 0.2em;
  border-bottom-width: 0.2em;
}
.vanilla-form label.custom-select {
  position: relative;
  display: block;
}
.vanilla-form label.custom-select span {
  position: absolute;
  display: inline-block;
  text-align: center;
  right: 0;
  top: 0;
  height: 100%;
  width: 3.5rem;
  pointer-events: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #e8e8e8;
  border: 1px solid #cecece;
}
.vanilla-form label.custom-select span::after {
  content: "";
  display: inline-block;
  width: 20%;
  height: 20%;
  -webkit-transform: rotate(-45deg) translate(-80%, 80%);
  -moz-transform: rotate(-45deg) translate(-80%, 80%);
  -ms-transform: rotate(-45deg) translate(-80%, 80%);
  -o-transform: rotate(-45deg) translate(-80%, 80%);
  transform: rotate(-45deg) translate(-80%, 80%);
  border: 0 solid #ffffff;
  border-left-width: 0.25em;
  border-bottom-width: 0.25em;
}
.vanilla-form label.custom-select select:active + span,
.vanilla-form label.custom-select select:focus + span {
  background-color: #66bbfd;
  border: 1px solid #33a4fd;
}
.vanilla-form label.custom-select select.error + span,
.vanilla-form label.custom-select select.error:active + span,
.vanilla-form label.custom-select select.error:focus + span {
  background-color: #e9796b;
  border: 1px solid #e2513f;
}
.vanilla-form .notification-box {
  display: block;
/*   padding: 1rem;
  margin: 0 1rem 1rem 1rem;  */
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  color: #ffffff;
  text-align: center;
  -webkit-transition: all 600ms;
  -moz-transition: all 600ms;
  -ms-transition: all 600ms;
  -o-transition: all 600ms;
  transition: all 600ms;
}
.vanilla-form .notification-box.show-error,
.vanilla-form .notification-box.show-success {
  border: 1px solid #e2513f;
  background-color: #e9796b;
  max-height: 50vh;
  overflow: auto;
  opacity: 1;
}
.vanilla-form .notification-box.show-error {
  border-color: #e2513f;
  background-color: #e9796b;
}
.vanilla-form .notification-box.show-success {
  border-color: #2fa94f;
  background-color: #41ca65;
}
/* END Vanilla form styling */






.vanilla-form2 input:last-child,
.vanilla-form2 textarea:last-child,
.vanilla-form2 select:last-child {
  margin-bottom: 0;
}
.vanilla-form2 input.error,
.vanilla-form2 textarea.error,
.vanilla-form2 select.error {
  border-color: #e2513f;
  border-width: 1px;
}
.vanilla-form2 input[type="submit"] {
  -webkit-transition: all 500ms;
  -moz-transition: all 500ms;
  -ms-transition: all 500ms;
  -o-transition: all 500ms;
  transition: all 500ms;
}
.vanilla-form2 input[type="submit"].state-success {
  background-color: #2fa94f;
  border-color: #2fa94f;
}

.vanilla-form2 input[type="submit"].state-success:hover {
  color: #ffffff;
}

.vanilla-form2 input[type="submit"].state-error {
  background-color: #e2513f;
  border-color: #e2513f;
  
}

.vanilla-form2 input[type="submit"].state-error:hover {
  color: #ffffff;
}

.vanilla-form2 input[type="submit"].state-initial {
  
}

.vanilla-form2 input[type="radio"],
.vanilla-form2 input[type="checkbox"] {
  position: absolute;
  pointer-events: none;
  opacity: 0;
  margin: 0;
  padding: 0;
  height: 10px;
}
.vanilla-form2 input[type="radio"] + span,
.vanilla-form2 input[type="checkbox"] + span {
  display: inline-block;
  width: 18px;
  height: 18px;
  background-color: #ffffff;
  border: 1px solid #cecece;
  text-align: center;
  vertical-align: top;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}
.vanilla-form2 input[type="radio"] + span::after,
.vanilla-form2 input[type="checkbox"] + span::after {
  content: "";
  display: inline-block;
  opacity: 0;
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 200ms;
  -moz-transition: all 200ms;
  -ms-transition: all 200ms;
  -o-transition: all 200ms;
  transition: all 200ms;
}
.vanilla-form2 input[type="radio"]:focus + span,
.vanilla-form2 input[type="checkbox"]:focus + span,
.vanilla-form2 input[type="radio"]:active + span,
.vanilla-form2 input[type="checkbox"]:active + span {
  border-color: #33a4fd;
}
.vanilla-form2 input[type="radio"]:checked + span::after,
.vanilla-form2 input[type="checkbox"]:checked + span::after {
  opacity: 1;
}
.vanilla-form2 input[type="radio"].error + span,
.vanilla-form2 input[type="checkbox"].error + span {
  border-color: #e2513f;
  border-width: 2px;
}
.vanilla-form2 input[type="radio"] + span {
  -webkit-border-radius: 2em;
  -moz-border-radius: 2em;
  border-radius: 2em;
  -moz-box-shadow: 0 0 5px #dddddd;
  -webkit-box-shadow: 0 0 5px #dddddd;
  box-shadow: 0 0 5px #dddddd;
}
.vanilla-form2 input[type="radio"] + span::after {
  -webkit-border-radius: 1em;
  -moz-border-radius: 1em;
  border-radius: 1em;
  background-color: #33a4fd;
}
.vanilla-form2 input[type="radio"]:checked + span::after {
  border: 0.2em solid #ffffff;
}
.vanilla-form2 input[type="checkbox"] + span {
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  -moz-box-shadow: 0 0 5px #dddddd;
  -webkit-box-shadow: 0 0 5px #dddddd;
  box-shadow: 0 0 5px #dddddd;
}
.vanilla-form2 input[type="checkbox"] + span::after {
  height: 45%;
  width: 75%;
  background-color: transparent;
  border: 0 solid #33a4fd;
  vertical-align: bottom;
  -webkit-transform: rotate(-45deg) translate(50%, -75%);
  -moz-transform: rotate(-45deg) translate(50%, -75%);
  -ms-transform: rotate(-45deg) translate(50%, -75%);
  -o-transform: rotate(-45deg) translate(50%, -75%);
  transform: rotate(-45deg) translate(50%, -75%);
}
.vanilla-form2 input[type="checkbox"]:checked + span::after {
  border-left-width: 0.2em;
  border-bottom-width: 0.2em;
}
.vanilla-form2 label.custom-select {
  position: relative;
  display: block;
}
.vanilla-form2 label.custom-select span {
  position: absolute;
  display: inline-block;
  text-align: center;
  right: 0;
  top: 0;
  height: 100%;
  width: 3.5rem;
  pointer-events: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #e8e8e8;
  border: 1px solid #cecece;
}
.vanilla-form2 label.custom-select span::after {
  content: "";
  display: inline-block;
  width: 20%;
  height: 20%;
  -webkit-transform: rotate(-45deg) translate(-80%, 80%);
  -moz-transform: rotate(-45deg) translate(-80%, 80%);
  -ms-transform: rotate(-45deg) translate(-80%, 80%);
  -o-transform: rotate(-45deg) translate(-80%, 80%);
  transform: rotate(-45deg) translate(-80%, 80%);
  border: 0 solid #ffffff;
  border-left-width: 0.25em;
  border-bottom-width: 0.25em;
}
.vanilla-form2 label.custom-select select:active + span,
.vanilla-form2 label.custom-select select:focus + span {
  background-color: #66bbfd;
  border: 1px solid #33a4fd;
}
.vanilla-form2 label.custom-select select.error + span,
.vanilla-form2 label.custom-select select.error:active + span,
.vanilla-form2 label.custom-select select.error:focus + span {
  background-color: #e9796b;
  border: 1px solid #e2513f;
}
.vanilla-form2 .notification-box {
  display: block;
/*   padding: 1rem;
  margin: 0 1rem 1rem 1rem;  */
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  color: #ffffff;
  text-align: center;
  -webkit-transition: all 600ms;
  -moz-transition: all 600ms;
  -ms-transition: all 600ms;
  -o-transition: all 600ms;
  transition: all 600ms;
}
.vanilla-form2 .notification-box.show-error,
.vanilla-form2 .notification-box.show-success {
  border: 1px solid #e2513f;
  background-color: #e9796b;
  max-height: 50vh;
  overflow: auto;
  opacity: 1;
}
.vanilla-form2 .notification-box.show-error {
  border-color: #e2513f;
  background-color: #e9796b;
}
.vanilla-form2 .notification-box.show-success {
  border-color: #2fa94f;
  background-color: #41ca65;
}
/* END Vanilla form styling */

