* {
    font-family: Helvetica, sans-serif;
}

html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    color: #383838;
}

a {
    color: #428bca;
}

a:hover, a:focus {
    color: #2a6496;
    text-decoration: none;
}

table {
    table-layout: fixed;
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    max-width: 100%;
}

table tr {
    border: 1px solid #ddd;
}

table > thead > tr > th,
table > tbody > tr > td {
    padding: 8px 4px;
}

table > thead > tr > th {
    text-transform: uppercase;
    background: #f2f2f2;
    color: #727272;
    vertical-align: bottom;
    border-bottom: 1px solid #ddd;
    line-height: 1.428571429;
    font-weight: normal;
}

table > thead:first-child > tr:first-child > th {
    border-top: 0;
}

.text-left,
table tr .text-left {
    text-align: left;
}

.text-right,
table tr .text-right {
    text-align: right;
}

.text-center,
table tr .text-center {
    text-align: center;
}

select {
    display: block;
    width: 100%;
    max-width: 400px;
    height: 33px;
    padding: 8px;
    font-size: 12px;
    line-height: 1.428571429;
    color: #555555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 1px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
    transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

select:focus {
    border-color: #66afe9;
    outline: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
}

img {
    max-width: 100%;
    height: auto;
}

.required {
    color: red;
}

.btn-grey {
    display: inline-block;
    padding: 5px 10px;
    color: #6b6b6b;
    background-color: #eaeaea;
    margin-bottom: 0;
    font-weight: normal;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    border: 1px solid #dedede;
    white-space: nowrap;
    font-size: 14px;
    line-height: 1.428571429;
    border-radius: 1px;
    text-decoration: none;
    outline: 0;
}

.btn-grey:focus {
    color: #6b6b6b;
}

.btn-grey:hover,
.btn-grey:active {
    color: #6b6b6b;
    background-color: #d6d6d6;
    border-color: #bfbfbf;
}

.btn-grey:active {
    outline: 0;
    background-image: none;
    -webkit-box-shadow: inset 0 3px 5px rgba(0,0,0,0.125);
    box-shadow: inset 0 3px 5px rgba(0,0,0,0.125);
}

.message {
    padding: 10px 5px 10px 40px;
}

.message + .message {
    margin-top: 10px;
}

.message-success {
    color: #004500;
    background: #D1F2AE url('/assets/images/icons/success.png') no-repeat 10px 12px;
    border: 2px solid #86f257;
}

.message-warning {
    color: #a57337;
    background: #FFFDE7 url('/assets/images/icons/warning.png') no-repeat 10px 12px;
    border: 2px solid #FFF59D;
}

.message-error {
    color: #a94442;
    background: #ffdbdb url('/assets/images/icons/error.png') no-repeat 10px 12px;
    border: 2px solid #F26666;
}

.message-info {
    color: #31708f;
    background: #d9edf7 url('/assets/images/icons/info.png') no-repeat 10px 12px;
    border: 2px solid #bce8f1;
}

body.sign-in-page {
    background-color: #383838;
}

body.dashboard .top-bar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 41px;
    background-color: #404145;
    color: #fff;
    line-height: 40px;
    border-bottom: 1px solid #343538;
    z-index: 3;
}

body.dashboard .top-bar:after {
    content: '';
    display: table;
    clear: both;
}

body.dashboard .top-bar .to-back-office,
body.dashboard .top-bar .app-name,
body.dashboard .top-bar .sign-out {
    display: block;
}

body.dashboard .top-bar .to-back-office {
    float: left;
    width: 46px;
    height: 41px;
    border-right: 1px solid #2e2e2e;
    background: url('/assets/images/insales.png') no-repeat center;
    background-size: auto 30px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

body.dashboard .top-bar .app-name {
    float: left;
    margin-left: 5px;
    font-size: 15px;
}

body.dashboard .top-bar .sign-out {
    float: right;
    padding: 0 10px;
}

body.dashboard .top-bar .sign-out a {
    display: inline-block;
    margin: 0 0 0 10px;
    font-size: 14px;
    color: #eee;
    text-decoration: none;
}

body.dashboard .top-bar .sign-out .sign-out-btn {
    padding: 0 13px;
    border-radius: 1px;
    line-height: 30px;
    border: 1px solid #6a6667;
    background-color: #635d5f;
}

body.dashboard .top-bar .sign-out .sign-out-btn:hover {
    background-color: #8a8285;
    color: #eee;
}

body.dashboard .menu-wrap {
    position: fixed;
    top: 41px;
    left: 0;
    width: 200px;
    height: calc(100% - 41px);
    background-color: #404145;
    color: #fff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

body.dashboard .menu-wrap .menu {
    display: block;
    margin: 0;
    padding: 0;
    height: 100%;
    overflow: auto;
}

body.dashboard .menu-wrap .menu li {
    display: block;
}

body.dashboard .menu-wrap .menu li a {
    display: block;
    padding: 6px 15px;
    height: 19px;
    color: #fff;
    font-size: 0;
    white-space: nowrap;
    text-decoration: none;
    line-height: 19px;
    border-left: 3px solid transparent;
    -moz-transition: background 0.2s, color 0.2s;
    -o-transition: background 0.2s, color 0.2s;
    -webkit-transition: background 0.2s, color 0.2s;
    transition: background 0.2s, color 0.2s;
}

body.dashboard .menu-wrap .menu > li > a:hover {
    color: #fff;
    background-color: #4f4d4d;
}

body.dashboard .menu-wrap .menu > li.current > a {
    color: #fff;
    background: #323336;
    border-color: #439ee4;
}

body.dashboard .menu-wrap .menu li a i,
body.dashboard .menu-wrap .menu li a span {
    display: inline-block;
    vertical-align: middle;
}

body.dashboard .menu-wrap .menu li a i {
    width: 14px;
    font-size: 14px;
    text-align: center;
}

body.dashboard .menu-wrap .menu li a span {
    margin-left: 12px;
    font-size: 14px;
    line-height: 14px;
}

body.dashboard .menu-wrap .menu li .sub-menu {
    display: none;
    padding: 0;
    border-bottom: 1px solid #323336;
}

body.dashboard .menu-wrap .menu li.current .sub-menu {
    display: block;
}

body.dashboard .menu-wrap .menu li .sub-menu li a {
    position: relative;
    padding-left: 40px;
    color: #ababab;
}

body.dashboard .menu-wrap .menu li .sub-menu li.current a:before {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    bottom: 0;
    left: 24px;
    margin: auto;
    width: 4px;
    height: 4px;
    background-color: #439ee4;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}

body.dashboard .menu-wrap .menu li .sub-menu li a span {
    margin: 0;
}

body.dashboard .menu-wrap .menu li .sub-menu li.current a {
    color: #fff;
}

body.sign-in-page .container {
    display: table;
    width: 100%;
    height: 100%;
}

body.dashboard .container {
    padding: 70px 20px 70px 230px;
    color: #222;
    font-size: 14px;
    line-height: 20px;
}

body.dashboard .container h1 {
    font-size: 30px;
    line-height: 33px;
    font-weight: 500;
}

body.dashboard .container  .form-wrap ul,
body.dashboard .container  .form-wrap ol {
    padding-left: 20px;
}

body.sign-in-page .container .form-wrap {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
}

body.sign-in-page .container .form-wrap form {
    display: inline-block;
    padding: 16px;
    width: 448px;
    background: #fff url("/assets/images/logo.png") no-repeat -80px -7px;
}

body .container .form-wrap .form-title {
    font-size: 21px;
    text-transform: uppercase;
}

body.sign-in-page .container .form-wrap .form-title {
    text-align: right;
}

body.sign-in-page .container .form-wrap .form-messages {
    margin-top: 60px;
    text-align: left;
}

body .container .form-wrap .form-inside .form-messages {
    margin-bottom: 20px;
}

body.sign-in-page .container .form-wrap .form-messages .form-error {
    margin-bottom: 20px;
    padding: 10px 5px 10px 40px;
    color: #a94442;
    background: #ffdbdb url('/assets/images/icons/error.png') no-repeat 10px 9px;
    border: 2px solid #F26666;
}

body.sign-in-page .container .form-wrap .form-messages .form-success {
    margin-bottom: 20px;
    padding: 10px 5px 10px 40px;
    color: #004500;
    background: #D1F2AE url('/assets/images/icons/success.png') no-repeat 10px 9px;
    border: 2px solid #86f257;
}

body.sign-in-page .container .form-wrap .form-group {
    margin-top: 20px;
    padding-left: 40px;
}

body .container .form-wrap .form-group .form-row {
    font-size: 0;
}

body .container .form-wrap .form-group .form-row + .form-row {
    margin-top: 30px;
}

body .container .form-wrap .form-group .form-row .form-left,
body .container .form-wrap .form-group .form-row .form-right {
    display: inline-block;
    vertical-align: top;
    font-size: 16px;
    text-align: left;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

body .container .form-wrap .form-group .form-row .form-wide {
    font-size: 12px;
}

body .container .form-wrap .form-group .form-row .form-left {
    width: 200px;
    line-height: 33px;
}

body .container .form-wrap .form-group .form-row .form-right {
    width: calc(100% - 200px);
}

body .container .form-wrap .form-inside .form-group .form-row .form-left,
body .container .form-wrap .form-inside .form-group .form-row .form-right {
    font-size: 12px;
    line-height: 17px;
}

body .container .form-wrap .form-inside .form-group .form-row .form-left {
    padding-right: 10px;
}

body .container .form-wrap .form-inside .form-group .form-row .form-left label {
    font-weight: bold;
}

body .container .form-wrap .form-inside .form-group .form-row .form-left .help-block {
    display: block;
    margin-top: 5px;
    color: #626262;
    font-size: 11px;
    line-height: 16px;
}

body .container .form-wrap .form-inside .form-group .form-row .form-right {
    padding-left: 10px;
}

body .container .form-wrap .form-group .form-row input {
    padding: 8px;
    width: 100%;
    max-width: 400px;
    height: 33px;
    font-size: 12px;
    color: #555555;
    border: 1px solid lightgrey;
    outline: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

body .container .form-wrap .form-group .form-row input[type="file"] {
    padding: 10px;
    width: auto;
    height: auto;
    border: 1px solid lightgrey;
}

body .container .form-wrap .form-group .form-row label.radio,
body .container .form-wrap .form-group .form-row label.checkbox {
    display: flex;
    max-width: 400px;
}

body .container .form-wrap .form-group .form-row label.radio + label.radio,
body .container .form-wrap .form-group .form-row label.checkbox + label.checkbox {
    margin-top: 10px;
}

body .container .form-wrap .form-group .form-row label.radio input[type="radio"],
body .container .form-wrap .form-group .form-row label.checkbox input[type="checkbox"],
body .container .form-wrap .form-group .form-row label.radio span,
body .container .form-wrap .form-group .form-row label.checkbox span {
    display: inline-block;
    align-self: center;
    margin-left: 5px;
}

body .container .form-wrap .form-group .form-row label.radio input[type="radio"],
body .container .form-wrap .form-group .form-row label.checkbox input[type="checkbox"] {
    padding: 0;
    margin: 0;
    width: auto;
    height: auto;
}

body .container .form-wrap .form-group .form-row input:not([type="radio"]):not([type="checkbox"]):focus {
    border-color: #66afe9;
    outline: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075), 0 0 8px rgba(102,175,233,0.6);
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075), 0 0 8px rgba(102,175,233,0.6);
}

.btn,
body .container .form-wrap .form-group .form-row input[type="submit"],
body .container .form-wrap .form-group .form-row input[type="button"],
body .container .form-wrap .form-group .form-row button {
    display: inline-block;
    width: auto;
    padding: 0 11px;
    color: #fff;
    background-color: #7094C0;
    border-color: #5e87b8;
    line-height: 29px;
    font-size: 14px;
    cursor: pointer;
    outline: 0;
    text-decoration: none;
    -webkit-border-radius: 1px;
    -moz-border-radius: 1px;
    border-radius: 1px;
}

.btn-dismiss {
    color: #6b6b6b;
    background-color: #eaeaea;
    border-color: #dedede;
}

.btn:hover,
.btn:focus,
body .container .form-wrap .form-group .form-row input[type="submit"]:hover,
body .container .form-wrap .form-group .form-row input[type="submit"]:focus,
body .container .form-wrap .form-group .form-row input[type="button"]:hover,
body .container .form-wrap .form-group .form-row input[type="button"]:focus,
body .container .form-wrap .form-group .form-row button:hover,
body .container .form-wrap .form-group .form-row button:focus {
    background-color: #547fb4;
    border-color: #426897;
    color: #fff;
}

.btn,
body .container .form-wrap .form-inside .form-group .form-row input[type="submit"],
body .container .form-wrap .form-inside .form-group .form-row input[type="button"],
body .container .form-wrap .form-inside .form-group .form-row button {
    padding: 5px 10px;
    line-height: 17px;
    height: auto;
}

.btn-dismiss:hover {
    color: #6b6b6b;
    background-color: #d6d6d6;
    border-color: #bfbfbf;
}

.btn-delete {
    background-color: #a50000;
    border-color: #700000;
}

.btn-delete:hover,
.btn-delete:focus {
    background-color: #700000;
    border-color: #460000;
}

.form-group .collection {
    position: relative;
    display: flex;
    flex-wrap: wrap;
}

.form-group .collection > * {
    display: block;
    align-self: center;
}

.form-group .collection .dummy {
    width: 0;
    height: 32px;
}

.form-group .collection .children {
    margin-top: 10px;
    padding-left: 35px;
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.form-group .collection + .collection {
    margin-top: 10px;
}

.form-group .collection .children.hidden,
.form-group .collection .hidden {
    display: none;
}

.form-group .collection .children .collection:before {
    content: '|-------';
    position: absolute;
    display: block;
    top: 7px;
    left: -35px;
    height: 18px;
    z-index: 2;
}

.form-group .collection .children .collection.marked:after {
    content: '';
    position: absolute;
    display: block;
    top: 7px;
    left: -35px;
    width: 31px;
    height: 18px;
    background-color: #86f257;
    z-index: 1;
}

.form-group .collection label {
    display: flex;
    margin-left: 10px;
    cursor: pointer;
}

.form-group .collection label > * {
    display: block;
    margin: 0;
    align-self: center;
}

.form-group .collection label span {
    margin-left: 5px;
}