input[type="text"], input[type="password"], textarea, select, .btn, .btn-o, .custom-file-upload, a {
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
input[type="text"], input[type="password"], textarea, select, .custom-file-upload {
    display: inline-block;
    width: 100%;
    height: 48px;
    outline: none;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    color: #555555;
    font-size: 16px;
    line-height: 48px;
    padding: 0 12px;
    border: 1px solid #d0d0d0;
    background: #fff;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}
label {
    color: #555555;
}
label:hover {
    color: #a50e3c;
}
.label {
    display: block;
    width: 100%;
    color: #555555;
    font-size: 16px;
    line-height: 44px;
    border-bottom: 1px solid #d0d0d0;
}
input[type="text"]:hover, input[type="password"]:hover, select:hover, textarea:hover, .custom-file-upload:hover {
    /* border:1px solid #a50e3c; */
    border:1px solid #777;

}
input[type="text"]:focus, input[type="password"]:focus, select:focus, textarea:focus, .custom-file-upload:focus {
    /* border:1px solid #a50e3c; */
    border:1px solid #777;
}
textarea {
    font-size: 15px;
    line-height: 16px;
    min-height: 120px;
    line-height: 20px;
    padding: 8px;
    resize: none;
}

.checkbox label, .radio label {
    display: block;
    cursor: pointer;
    float:left;
    margin:0 8px 0 0;
    -moz-user-select: none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.checkbox input[type="checkbox"], .radio input[type="radio"] {
    display: block;
    cursor: pointer;
    float: left;
}


.custom-file-upload {
    vertical-align: top;
    display: inline-block;
    width: auto;
    cursor: pointer;
}
input[type="file"] {
    display: none;
}

.textarea-content {
    min-height: 480px;
}
.textarea-advanced {
    min-height: 240px;
    resize:vertical;
}

.btn, .btn-o {
    display: inline-block;
    max-width: 192px;
    padding: 0 16px;
    height: 48px;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 48px;
    white-space: nowrap;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}
.btn.small, .btn-o.small {
    font-size: 14px;
    height: 32px;
    line-height: 32px;
}
.btn {
    background: #a50e3c;
    border: 2px solid #a50e3c;
    color: #ffffff;
}
.btn-o.dark {
    border: 2px solid #555555;
    color: #555555;
}
.btn:hover {
    background: #950d36;
    border: 2px solid #950d36;
    color: #ffffff;
}
.btn-o {
    background: none;
    color: #555555;
    border: 1px solid #d0d0d0;
}
.btn-o:hover {
    color: #a50e3c;
    border: 1px solid #a50e3c;
}

/* hamburger */
.btn-hamburger, .btn-hamburger:before, .btn-hamburger:after {
    width:28px;
    height:3px;
    background: #a50e3c;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
}
.btn-hamburger {
    display: inline-block;
    position: relative;
}
.btn-hamburger:before, .btn-hamburger:after {
    display: block;
    position: absolute;
    content: '';
    margin:-8px 0 0;
}
.btn-hamburger:after {
    margin:8px 0 0;
}
