:root{
    --color_text: var(--col07);
    --color_border: var(--col14);
    --color_background: var(--gry80);
    --color_error: #f00;
}


form {
    font-family: var(--font_light);
}
.formbody {
    padding:1.25rem;
    background-color: var(--col15);
}
.widget {
    margin-top:0;
    margin-bottom:1.25rem;
    color: var(--color_text);
}
.widget p,
.widget h1,
.widget h2,
.widget h3,
.widget h4,
.widget h5,
.widget h6,
.widget ul,
.widget ol {
    font-weight:bold;
    color: var(--color_text);
}
.widget a {
    font-weight: bold;
}

input.text {
    width:100%;
    height:50px;
    margin:0;
    -webkit-box-shadow:0 0 1px 0  var(--col15);
    box-shadow:0 0 1px 0 var(--col15);
    border-top:0px solid var(--color_border);
    border-right:0px solid var(--color_border);
    border-bottom:1px solid var(--color_border);
    border-left:0px solid var(--color_border);
    font-size:1rem;
    color:var(--color_text);
}
form .textarea {
    width:100%;
    height:8rem;
    max-width:100%;
    margin:0;
    padding:1rem 0;
    -webkit-box-shadow:0 0 1px 0 var(--col15);
    box-shadow:0 0 1px 0 var(--col15);
    border-top:0px solid var(--color_border);
    border-right:0px solid var(---color_border);
    border-bottom:1px solid var(--color_border);
    border-left:0px solid var(---color_border);
    font:1rem var(--font_light);
    color:var(--color_text);
}
.widget-submit {
    text-align: right;
}
button.submit {
    margin:0;
    padding:1rem;
    border:1px solid var(--ci001);
    border-radius:0;
    background: var(--ci001);
    font: var(--font_size2)/2.625rem var(--font_bold);
    color: var(--col15);
    text-transform:uppercase;
    cursor:pointer;
    -moz-transition: all 0.3s, ease-in-out 0.2s; -webkit-transition: all 0.3s, ease-in-out 0.2s; -o-transition: all 0.3s, ease-in-out 0.2s; transition: all 0.3s, ease-in-out 0.2s;
}
button.submit:hover {
    padding-right:2rem;
    padding-left:2rem;
    background-color:var(--ci002);
    border:1px solid var(--ci002);
}
.widget-upload label {
    display:block;
    font-size:1rem;
}
input[type="file"] {
    padding:.5rem;
    background-color:var(--color_background);
    font-size: var(--font_size2);
    color:var(--col15);
}
select {
    width:100%;
    height:50px;
    padding:6px 0;
    border-top:0px solid var(--color_border);
    border-right:0px solid var(--color_border);
    border-bottom:1px solid var(--color_border);
    border-left:0px solid var(--color_border);
    font:1rem var(--font_regular);
    color:rgba(var(--color_text),.9);
    -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;
    cursor:pointer;
}
option {
    width:100%;
    min-height:2em;
    position:relative;
    display:block;
    padding:12px;
    white-space:normal;
    background-color:var(--color_background);
    border-width:5px 10px;
    border-style:solid;
    border-color:var(--color_background);
    font-size:var(--font_size2);
    line-height:2em;
    color:var(--col15);
}
option:focus,
option:hover {
    background-color:var(--col15);
    color:var(--color_text);
}
.widget-explanation p {
    font: var(--font_size02) var(--font_light);
}
.widget-select {
    position:relative;
}
.widget-select:after {
    right:8px;
    top:4px;
    position:absolute;
    padding:0 0 8px;
    border-bottom:1px solid var(--color_border);
    font-size:1.5rem;
    color: var(--color_background);
    content:'<>';
    -webkit-transform:rotate(90deg);
    -moz-transform:rotate(90deg);
    -ms-transform:rotate(90deg);
    transform:rotate(90deg);
    pointer-events:none;
}
.checkbox_container span,
.radio_container span {
    display:block;
}
.checkbox_container + br,
.radio_container + br {
    display:none;
}
.checkbox_container label,
.checkbox_container input {
    vertical-align:middle;
}
.formbody input[type="checkbox"],
x:-moz-any-link {
    top:-2px;
    position:relative;
}
#ctrl_notify {
    padding:0;
}
.widget-radio {
    padding-bottom:1.5rem;
    border-bottom:1px solid var(--color_border);
}
.radio_container label {
    position:relative;
    display:inline-block;
    padding-top:.375rem;
    padding-left:.375rem;
    font-size:var(--font_size3);
    line-height:2em;
    color: var(--color_text);
}
input[type="radio"]:empty {
    width:1rem;
    height:1rem;
    top:.75rem;
    position:relative;
    float:left;
    border:1px solid var(--color_text);
    font-size:1.25rem;
    color:var(--color_text);
}
p.error {
    width:0;
    height:0;
    display:none;
}
.error {
    margin-right:0;
    margin-left:0;
}
select.error,
input.error,
textarea.error,
.widget-radio label {
    border-color:var(--color_error);
}
.widget-radio.error label,
input.error[placeholder],
textarea.error[placeholder],
select.error[placeholder],
select.error {
    color:var(--color_error);
}
