input[type="text"], input[type="password"], textarea, select, label, a, .btn, .btn-o, .btn-icon {
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
}
input[type="text"], input[type="password"], textarea, select, a, .btn, .btn-o, .btn-icon {
    -webkit-transition: all 0.15s ease-in-out;
    -moz-transition: all 0.15s ease-in-out;
    transition: all 0.15s ease-in-out;
}
input[type="text"], input[type="password"], textarea, select {
    display: inline-block;
    width: 100%;
    height: 48px;
    outline: none;
    font-weight: 400;
    color: #555555;
    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;
    line-height: 44px;
    border-bottom: 1px solid #d0d0d0;
}

input[type="text"]:hover, input[type="password"]:hover, select:hover, textarea:hover, .custom-file-upload:hover {
    background: #fff;
    border:1px solid #777;

}
input[type="text"]:focus, input[type="password"]:focus, select:focus, textarea:focus, .custom-file-upload:focus {
    background: #fff;
    border:1px solid #777;
}
.required.error {
    background: #fff4f7;
    border: 1px solid #ba3849;
}
textarea {
    font-size: 15px;
    line-height: 16px;
    min-height: 120px;
    line-height: 20px;
    padding: 8px;
    resize: none;
}

/* .checkbox, .radio */
.checkbox, .radio {
    line-height: 48px;
    vertical-align: middle;
}

.checkbox label, .radio label {
    display: inline-block;
    vertical-align: middle;
    max-width: calc(100% - 32px);
    cursor: pointer;
    margin: 0 8px 0 0;
    line-height: 18px;
    -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: inline-block;
    vertical-align: middle;
    cursor: pointer;
}

/* files */
.upload-files-box {
    display: block;
    color: #555555;
    margin: 0 auto;
    padding: 16px;
    text-align: center;
    border: 1px solid #d0d0d0;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}
.upload-files-box label {
    display: inline-block;
    padding: 0 1.5em;
    height: 48px;
    line-height: 48px;
    font-weight: 400;
    white-space: nowrap;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    margin: 0 auto;
    color: #555555;
    border: 1px solid #d0d0d0;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}
.upload-files-box label:hover {
    color: #a50e3c;
    border: 1px solid #a50e3c;
}
.upload-files-box .upload-files-list {
    text-align: center;
}
.upload-files-box .upload-files-list span {
    display: block;
    padding: 8px;
}
.upload-files-box .upload-files-list span:first-child {
    padding-top: 16px;
}
.upload-files-box .upload-files-list span:last-child {
    padding-bottom: 0;
}
.upload-files-box input[type="file"] {
    display: none;
}

/*
input[type="file"] {
    display: none;
} */

.textarea-content {
    min-height: 480px;
}
.textarea-advanced {
    min-height: 240px;
    resize:vertical;
}

.btn, .btn-o {
    display: inline-block;
    padding: 0 1.5em;
    height: 48px;
    line-height: 48px;
    font-weight: 400;
    white-space: nowrap;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    vertical-align: middle;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}
.btn.small, .btn-o.small {
    font-size: 14px;
    height: 36px;
    line-height: 36px;
}
.btn {
    background: #ba3849;
    border: 2px solid #ba3849;
    color: #ffffff;
}
.btn-o.dark {
    border: 2px solid #555555;
    color: #555555;
}
.btn:hover {
    background: #da4556;
    border: 2px solid #da4556;
    color: #ffffff;
}
.btn-o {
    background: none;
    color: #555555;
    border: 1px solid #d0d0d0;
}
.btn-o:hover {
    color: #a50e3c;
    border: 1px solid #a50e3c;
}

/* CSS icons */
.btn-icon {
    display: block;
    position: relative;
    height: 48px;
    line-height: 48px;
    vertical-align: middle;
    white-space: nowrap;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}
/* icon-hamburger */
.btn-hamburger, .btn-hamburger:before, .btn-hamburger:after {
    width:20px;
    height:2px;
    background: #888;
}
.btn-hamburger:hover, .btn-hamburger:hover:before, .btn-hamburger:hover:after {
    background: #fafafa;
}
.btn-hamburger {
    display: inline-block;
    vertical-align: middle;
    position: relative;
}
.btn-hamburger:before, .btn-hamburger:after {
    display: block;
    position: absolute;
    content: '';
    margin: -7px 0 0;
}
.btn-hamburger:after {
    margin: 7px 0 0;
}
/* icon-arrow-left */
.icon-arrow-left, .icon-arrow-left:before, .icon-arrow-left:after {
    display: block;
    position: relative;
    width: 32px;
    height: 2px;
    top: calc(50% - 1px);
    background: #000;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
}
.icon-arrow-left:before, .icon-arrow-left:after {
    display: block;
    position: absolute;
    content: '';
    width: 10px;
    height: 2px;
    left: 0;
}
.icon-arrow-left:before {
    top: -4px;
    transform: rotate(-45deg);
}
.icon-arrow-left:after {
    top: 4px;
    transform: rotate(45deg);
}
/* icon-close */
.icon-close, .icon-close:before, .icon-close:after {
    display: inline-block;
    position: relative;
    width: 24px;
    height: 16px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
}
.icon-close:before, .icon-close:after {
    display: block;
    position: absolute;
    content: '';
    width: 24px;
    height: 3px;
    background: #000;
}
.icon-close:before {
    transform: translate3d(0,8px,0) rotate(-45deg);
}
.icon-close:after {
    transform: translate3d(0,8px,0) rotate(45deg);
}
/* icon-dots */
.icon-dots, .icon-dots:before, .icon-dots:after {
    display: inline-block;
    position: relative;
    width: 4px;
    height: 4px;
    background: #000;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
}
.icon-dots:before, .icon-dots:after {
    display: block;
    position: absolute;
    content: '';
    margin: -8px 0 0;
}
.icon-dots:after {
    margin: 8px 0 0;
}


/* Box */
.box {
    display: block;
    width: 100%;
    margin: 0 auto 16px;
    position: relative;
    border: 1px solid #d0d0d0;
    background: #fff;
    overflow: hidden;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    -webkit-box-shadow: 0 9px 15px -6px rgba(0, 0, 0, 0.15);
    -moz-box-shadow: 0 9px 15px -6px rgba(0, 0, 0, 0.15);
    box-shadow: 0 9px 15px -6px rgba(0, 0, 0, 0.15);
}
.box:after {
    content: '';
    clear: both;
    display: block;
    float:none;
    height: 0;
    position: relative;
    visibility: hidden;
}
.box .heading {
    padding: 8px 0;
    text-align: center;
    line-height: 28px;
    font-size: 16px;
    font-weight: 500;
}
.box-section {
    padding: 8px;
    border-top: 1px solid #d0d0d0;
}
.box .box-section:last-child {
    padding-bottom: 0;
}
.box label {
    font-size:14px;
}

.list {

}
.list ul li {
    padding: 16px;
    background: #fff;
    border-bottom: 1px solid #dedede;
}
.list ul li:nth-child(even) {
    background: #f5f5f5;
}
.list ul li:last-child {
    border-bottom: none;
}

/* Section */
.section {
    width: 100%;
    margin: 0 auto 16px;
    padding: 8px 16px;
    position: relative;
    border: 1px solid #e0e0e0;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}
.section-heading {
    position: absolute;
    padding: 0 8px;
    height: 32px;
    line-height: 32px;
    left: 50%;
    top: -16px;
    transform: translate(-50%, 0);
    text-align: center;
    background: #fafafa;
    color: #444444;
    white-space: nowrap;
}

/* @media */
@media screen and (max-width: 991px)
{
    input[type="text"], input[type="password"], textarea, select, label, a, .btn, .btn-o, .btn-icon {
        font-family: 'Roboto', sans-serif;
        font-size: 14px;
    }
}
