.form
{
   max-width: 600px;
   margin: 0 auto;
}

.form input[type=text]:not([role=combobox]),
.form input[type=number],
.form input[type=password],
.form input[type=email],
.form select,
.form textarea
{
   background: #fff;
   border: 1px solid #ccc;
   padding: 10px;
   font-size: 14px;
   color: #000;
   width: 100%;
   max-width: 100%;
   box-sizing: border-box;
   font-family: "Open Sans", sans-serif;
   border-radius: 4px;
}

.form select
{
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
   background-image: url("../images/svg/arrow-down-select-a65f8e72b9bf96d38186e5c5e8a14d8e.svg");
   background-position: right 15px center;
   background-size: 15px;
   background-repeat: no-repeat;
}

.form-row
{
   padding: 10px 0px;
}

.form-row-center
{
   text-align: center;
}

.form-row-checkbox
{
   display: flex;
   flex-direction: row-reverse;
   align-items: flex-start;
   padding: 5px 0;
}

.form-row-checkbox input
{
   width: auto;
}

.form-row-checkbox label
{
   flex-grow: 1;
   width: calc(100% - 20px);
   line-height: 1.4;
   padding-left: 10px;
}

.form-row-checkbox a
{
   color: #f9f0c9;
}

.form-row a:not(.button)
{
   color: #528ac8;
   text-decoration: none;
}

.form-row-recaptcha
{
   text-align: center;
}

.form-row-recaptcha .g-recaptcha
{
   display: inline-block;
}

.form form > div > div ul
{
   display: block;
   font-size: 14px;
   margin-bottom: 10px;
   background: #d8354d;
   color: #fff;
   padding: 10px;
   border-radius: 8px;
}

.form label
{
   display: block;
   font-size: 14px;
   padding-bottom: 10px;
   font-family: "Open Sans", sans-serif;
}

.form-row label.required::after
{
   content: " *";
}

.form-row-checkbox label.required::before
{
   content: "* ";
}

.button
{
   color: #fff;
   background-color: #528ac8;
   border: 0;
   font-size: 15px;
   padding: 0 20px;
   box-shadow: 0px 11px 37px rgba(43, 122, 83, 0.12);
   position: relative;
   border-radius: 4px;
   line-height: 40px;
   font-weight: 400;
   outline: none;
   white-space: nowrap;
   letter-spacing: -.03em;
   text-decoration: none;
   z-index: 2;
   display: inline-block;
   text-transform: uppercase;
   cursor: pointer;
   transition: 0.25s;
   overflow: hidden;
   vertical-align: top;
}

.button > span {
   position: relative;
   z-index: 2;
   display: flex;
   align-items: center;
}

.button > span > span {
   margin-right: 10px;
}

.button:after {
   position: absolute;
   content: "";
   top: 0;
   left: 0;
   width: 0;
   height: 100%;
   background: #7cc7b9;
   transition: all .35s;
   border-radius: 4px;
}

.button:hover {
   text-decoration: none;
   color: #fff;
}

.button:hover:after {
   width: 100%;
}