legend {
    width:100%;
    display:block;
    border:0;
    font-weight:700;
}
input[type=text],
input[type=password],
input[type=date],
input[type=datetime],
input[type=email],
input[type=number],
input[type=search],
input[type=tel],
input[type=time],
input[type=url],
input:not([type]),
textarea {
    width:auto;
    display:inline-block;
    margin-top:.5em;
    margin-right:.5em;
    margin-bottom:.5em;
    padding:.3em .5em;
    border:1px solid #ccc;
    border-radius:3px;
    background:#fff;
    -moz-box-shadow:inset 0 1px 1px #eee;
    -webkit-box-shadow:inset 0 1px 1px #eee;
    box-shadow:inset 0 1px 1px #eee;
    -moz-transition:all .15s linear;
    -webkit-transition:all .15s linear;
    -o-transition:all .15s linear;
    transition:all .15s linear;
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
}
.form_wide input[type='text'],
.form_wide input[type='email'] {
    width:50%;
}
select {
    width:auto;
    display:inline-block;
    padding:.3em .5em;
    border:1px solid #ccc;
    border-radius:3px;
    background:#fff;
    -moz-box-shadow:inset 0 1px 1px #eee;
    -webkit-box-shadow:inset 0 1px 1px #eee;
    box-shadow:inset 0 1px 1px #eee;
    -moz-transition:all .15s linear;
    -webkit-transition:all .15s linear;
    -o-transition:all .15s linear;
    transition:all .15s linear;
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
}
input[type=text]:focus,
input[type=password]:focus,
input[type=date]:focus,
input[type=datetime]:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=time]:focus,
input[type=url]:focus,
input:not([type]):focus,
textarea:focus {
    border-color:#bbb;
    outline:0;
    background:#fcfcfc;
}
input[type=file] {
    cursor:pointer;
}
input[type=file] {
    display:block;
}
form button,
input[type=file],
input[type=image],
input[type=submit],
input[type=reset],
input[type=button],
input[type=radio],
input[type=checkbox] {
    width:auto;
}
textarea,
select[multiple],
select[size] {
    height:auto;
}
input[type=radio],
input[type=checkbox] {
    margin:0 3px 0 0;
}
input[type=radio],
input[type=checkbox],
label {
    vertical-align:middle;
}
input[disabled],
select[disabled],
textarea[disabled],
input[readonly],
select[readonly],
textarea[readonly] {
    cursor:not-allowed;
    background:#eee;
}
input[type=radio][disabled],
input[type=checkbox][disabled],
input[type=radio][readonly],
input[type=checkbox][readonly] {
    background:0 0;
}
fieldset.checkbox_container.blocked > span {
    display:block;
}
form button,
input[type=submit],
.button {
    display:inline-block;
    margin-bottom:0;
    padding:.3em .5em;
    text-align:center;
    background-color:#ececec;
    background-repeat:repeat-x;
    border:1px solid #ccc;
    border-radius:3px;
    color:#000;
    cursor:pointer;
    background-image:-moz-linear-gradient(top,#fff,#ececec);
    background-image:-webkit-linear-gradient(top,#fff,#ececec);
    background-image:-ms-linear-gradient(top,#fff,#ececec);
    background-image:-o-linear-gradient(top,#fff,#ececec);
    background-image:linear-gradient(to bottom,#fff,#ececec);
    -moz-transition:background .15s linear;
    -webkit-transition:background .15s linear;
    -o-transition:background .15s linear;
    transition:background .15s linear;
}
form button:hover,
input[type=submit]:hover,
.button:hover {
    text-decoration:none;
    background-position:0 0;
}
form button:active,
input[type=submit]:active,
.button:active {
    background-color:#e6e6e6;
    background-position:0 -30px!important;
}
form button.blue,
input[type=submit].blue,
.button.blue {
    background-color:#2f96b4;
    border-color:#2f96b4;
    color:#fff;
    background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);
    background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);
    background-image:-ms-linear-gradient(top,#5bc0de,#2f96b4);
    background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);
    background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);
}
form button.blue:active,
input[type=submit].blue:active,
.button.blue:active {
    background-color:#2e95b3;
}
form button.green,
input[type=submit].green,
.button.green {
    background-color:#51a351;
    border-color:#51a351;
    color:#fff;
    background-image:-moz-linear-gradient(top,#62c462,#51a351);
    background-image:-webkit-linear-gradient(top,#62c462,#51a351);
    background-image:-ms-linear-gradient(top,#62c462,#51a351);
    background-image:-o-linear-gradient(top,#62c462,#51a351);
    background-image:linear-gradient(to bottom,#62c462,#51a351);
}
form button.green:active,
input[type=submit].green:active,
.button.green:active {
    background-color:#4f9f4f;
}
form button.orange,
input[type=submit].orange,
.button.orange {
    background-color:#f89406;
    border-color:#f89406;
    color:#fff;
    background-image:-moz-linear-gradient(top,#fbb450,#f89406);
    background-image:-webkit-linear-gradient(top,#fbb450,#f89406);
    background-image:-ms-linear-gradient(top,#fbb450,#f89406);
    background-image:-o-linear-gradient(top,#fbb450,#f89406);
    background-image:linear-gradient(to bottom,#fbb450,#f89406);
}
form button.orange:active,
input[type=submit].orange:active,
.button.orange:active {
    background-color:#f28f04;
}
form button.red,
input[type=submit].red,
.button.red {
    background-color:#bd362f;
    border-color:#bd362f;
    color:#fff;
    background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);
    background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);
    background-image:-ms-linear-gradient(top,#ee5f5b,#bd362f);
    background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);
    background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);
}
form button.red:active,
input[type=submit].red:active,
.button.red:active {
    background-color:#be322b;
}
.widget {
    margin-bottom:12px;
}
.widget>label {
    display:block;
    margin-bottom:6px;
    font-weight:700;
}
.inline-form .widget {
    display:inline-block;
    margin-bottom:0;
    vertical-align:middle;
}
.horizontal-form .widget:after {
    clear:both;
    display:table;
    content:"";
}
.horizontal-form .widget>label {
    width:20%;
    float:left;
    text-align:right;
    padding:3px 2% 0 0;
}
.horizontal-form .widget>input,
.horizontal-form .widget>textarea {
    width:78%;
    float:left;
}
.horizontal-form .widget>fieldset {
    margin-left:20%;
}
.mod_registration .formbody .fields span,
.mod_personalData .formbody .fields span {
    margin-bottom:.5em;
    vertical-align:middle;
}
.mod_registration .formbody .fields label,
.mod_personalData .formbody .fields label {
    line-height:1.2em;
    cursor:pointer;
}
.mod_registration .formbody .fields,
.mod_personalData .formbody .fields {
    display:flex;
    flex-flow:row wrap;
    justify-content: space-between;
}
.mod_registration .formbody .fields .widget-text,
.mod_personalData .formbody .fields .widget-text,
.mod_registration .formbody .fields .widget-password,
.mod_personalData .formbody .fields .widget-password {
    flex :0 0 47.5%;
}
.mod_registration .formbody .fields input.checkbox,
.mod_personalData .formbody .fields input.checkbox {
    display:none;
    padding:.5em;
    border-color:#000;
    color:#000;
}
.mod_registration .formbody .fields input.checkbox + label:before,
.mod_personalData .formbody .fields input.checkbox + label:before {
    width:1.2em;
    height:1.2em;
    display:inline-block;
    margin-right:.5em;
    padding:0 0 .5em .1em;
    vertical-align:middle;
    background-color:#fefefe;
    border:1px solid #333;
    border-radius:.25em;
    font-size:1.2em;
    line-height:1;
    content: " ";
    box-sizing:border-box;
}
.mod_registration .formbody .fields input.radio + label:before,
.mod_personalData .formbody .fields input.radio + label:before {
    width:.7em;
    height:.7em;
    display:inline-block;
    margin-right:.1em;
    padding-right:0;
    padding-left:0;
    vertical-align:middle;
    background-color:#fefefe;
    border:1px solid #333;
    border-radius:50%;
    font-size:2.1em;
    line-height:.70;
    content: " ";
    box-sizing:border-box;
}
.mod_registration .formbody .fields input.radio,
.mod_personalData .formbody .fields input.radio {
    display:none;
}
.mod_registration .formbody .fields input.checkbox:checked + label:before,
.mod_personalData .formbody .fields input.checkbox:checked + label:before {
    background-color:#f6921e;
    font-weight:bold;
    content: "✓";
}
.mod_registration .formbody .fields input.radio:checked + label:before,
.mod_personalData .formbody .fields input.radio:checked + label:before {
    background-color:#175274;
    content: " ";
}
.mod_registration .formbody .fields .widget-radio,
.mod_registration .formbody .fields .widget-checkbox,
.mod_registration .formbody .fields .widget-select,
.mod_registration .formbody .fields .widget_avatar_container,
.mod_registration .formbody .fields .widget-text:last-of-type,
.mod_personalData .formbody .fields .widget-radio,
.mod_personalData .formbody .fields .widget-checkbox,
.mod_personalData .formbody .fields .widget-select,
.mod_personalData .formbody .fields .widget_avatar_container,
.mod_personalData .formbody .fields .widget-text:last-of-type {
    flex-basis:100%;
}
.mod_registration .formbody .fields .widget-text:first-child,
.mod_registration .formbody .fields .widget-text:nth-child(5),
.mod_registration .formbody .fields .widget-text:nth-last-child(5),
.mod_personalData .formbody .fields .widget-text:nth-child(1),
.mod_personalData .formbody .fields .widget-text:nth-child(6),
.mod_personalData .formbody .fields .widget-text:nth-last-child(4) {
    flex-basis:100%;
}
.mod_registration .formbody .fields input[type="text"],
.mod_registration .formbody .fields input.text,
.mod_personalData .formbody .fields input[type="text"],
.mod_personalData .formbody .fields input.text {
    width:90%;
}
.mod_registration .formbody .fields .widget-text:nth-child(5) input[type="text"],
.mod_registration .formbody .fields .widget-text:nth-child(5) input[type="text"] {
    width:95%;
}
.mod_registration .formbody .fields .widget-password {
    align-self:flex-start;
}
.mod_registration .formbody .fields .widget-radio input,
.mod_personalData .formbody .fields .widget-radio input {
    width:auto;
}
.mod_registration .formbody .fields fieldset span,
.mod_personalData .formbody .fields fieldset span {
    display:block;
}
.mod_registration .formbody .fields fieldset span.mandatory,
.mod_personalData .formbody .fields fieldset span.mandatory {
    display:inline;
}
.mod_registration .formbody .fields .widget-text:first-child input,
.mod_personalData .formbody .fields .widget-text:first-child input,
.mod_personalData .formbody .fields .widget-text:nth-last-child(5) input,
.mod_registration .formbody .fields .widget-text:nth-last-child(5) input {
    width:42.5%;
}
.qq-upload-button {
    width:auto;
    margin-bottom:1em;
}
