/**
    ========== Form ==========
**/

.form-container {
    margin: 0 auto 5%;
    width: 100%;
    max-width: 450px;
}
.form__form .inputbox, .form__form .textbox {
    width: 100%
}
.form__form {
    position: relative;
}
.form__form::before {
    background: rgba(255, 255, 255, 0.5) url(../images/preloader.gif) 50% 50% no-repeat;
    content: "";
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 5
}
.form__form.sending::before {
    display: block;
}
.form__sys-message {
    text-align: center;
}
.form__success-title {
    color: green;
    font-size: 16px;
    font-weight: bold;
}
.form__success-text {
    color: #555;
}
.form__error {
    color: red;
    text-align: center;
    margin-top: 5px;
    font-size: 12px;
}

/**
    ========== Form elements ==========
**/

legend {
    display: block;
    margin: 0 0 30px;
    font-size: 24px;
}
fieldset {
    border: none;
    display: block;
}
input, button, textarea {
    outline: none;
}
.control-group:not(:last-child) {
    margin-bottom: 15px;
}
textarea, input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"] {
    background-color: #fff;
    border: 1px solid #ccc;
    color: #333;
    padding: 5px 15px;
    font-size: 13px;
    transition: border-color .3s ease;
    height: 40px;
}
textarea {
    padding-top: 10px;
    padding-bottom: 10px;
    height: 100px;
}
textarea:focus, input[type="text"]:focus, input[type="password"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, input[type="number"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="color"]:focus, textarea:focus {
    border-color: #666;
    transition: border-color .3s ease;
}
input::-webkit-input-placeholder {
    color: #888
}
input::-moz-placeholder {
    color: #888
}
textarea::-webkit-input-placeholder {
    color: #888
}
textarea::-moz-placeholder {
    color: #888
}

/**
    ========== Buttons ==========
**/
/*
.btn-block {
    text-align: center;
}
.btn {
    background-color: #f5f5f5;
    border: 3px solid #ddd;
    cursor: pointer;
    color: #333;
    display: inline-block;
    padding: 0 15px;
    font-size: 12px;
    font-weight: 600;
    line-height: 24px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: all .2s ease;
    vertical-align: top;
    height: 30px;
}
.btn.btn-s40 {
    line-height: 34px;
    padding-left: 40px;
    padding-right: 40px;
    height: 40px;
}
.btn.btn-round {
    border-radius: calc(20px + 10px);
}
*/
.btn.btn-w100 {
    width: 100%
}

/* Btn Colors */

.btn.btn-grey {
    background-color: #ccc;
    border-color: #ccc;
    color: #666
}

/* Btn Empty */

.btn.btn-empty {
    background: transparent;
    border-color: #29b6f6;
    color: #29b6f6;
}
.btn.btn-empty.btn-grey {
    border-color: #666;
    color: #666;
}
.btn.btn-empty.btn-grey:hover {
    background-color: #666;
    border-color: #666;
    color: #fff;
}
