* {
    box-sizing: border-box;
}

*:focus {
    outline: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-focus-ring-color:  rgba(0, 0, 0, 0);
}
body {
    font-family: Arial;
    background-color: white;
    padding: 0px;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    margin:0;
}
.login {
    margin: 0 auto;
    width: 300px;
    display: table;
    position: relative;
    height: 100%;
}
.login-screen {
    vertical-align: middle;
    display: table-cell;
    width: 100%;
    position: relative;
}

.app-title {
    text-align: center;
    color: #777;
}

.login-form {
    text-align: center;
}
.control-group {
    margin-bottom: 10px;
}

input[type=text],input[type=password],input[type=email],input[type=date],input[type=datetime], select, textarea {
    text-align: left;
    background-color: #ECF0F1;
    border: 2px solid transparent;
    border-radius: 3px;
    font-size: 16px;
    font-weight: 200;
    padding: 10px 10px;
    width: 200px;
    transition: border .5s;
    font-family: Arial;
    webkit-appearance: none;
}

input[type=radio], input[type=checkbox] {
    padding: 5px;
    display: inline-block;
    vertical-align: middle;
}

.control-group .input.error, .control-group select.error, .control-group textarea.error {
    border: 2px solid #d45300 !important;
}

select {
    padding: 5px 0;
}

input:focus, select:focus, textarea:focus {
    border: 2px solid #3498DB;
    box-shadow: none;
}

form label {
    display:inline-block;
    min-width: 136px;
    vertical-align: top;
    padding-top: 8px;
}

.btn {
    border: 2px solid transparent;
    background: #3498DB;
    color: #ffffff;
    font-size: 16px;
    line-height: 25px;
    padding: 0px 10px;
    text-decoration: none;
    text-shadow: none;
    border-radius: 3px;
    box-shadow: none;
    transition: 0.25s;
    display: inline-block;
    width: auto;
    -webkit-appearance: none;
}

.btn:hover {
    background-color: #2980B9;
    cursor:pointer;
}

.modal-footer .btn {
    min-width:100px;
    text-align: center;
    padding:5px 10px;
}

.login-link {
    font-size: 12px;
    color: #444;
    display: block;
    margin-top: 12px;
}

.help-inline {
    color: #d45300;
    font-size: 12px;
    text-align:left;
    display:block;
    margin-left:136px;
}

.app-title h1 {
    font-size:22px;
}

.page {
    background-color: #FFF;
    padding: 0px;
}

body > div.container {
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
}

.hide {
    display:block;
}

.center {
    text-align: center;
}

.sidebar {
    width:250px;
    bottom: 0;
    top: 0;
    background: #333333;
    position:absolute;
    overflow-y: auto;
    border-right: solid 4px #3498DB;
}

.sidebar ul.menu {
    padding:0;
    margin:0;
    list-style: none;
}

.sidebar li {
    display:block;
    border-bottom: solid 0px #55555b;
    position:relative;
    transition: 0.25s;
}

.sidebar li a {
    text-decoration: none;
    color:#ffffff;
    font-weight: normal;
    padding:10px 10px 10px 20px;
    display:inline-block;
    vertical-align: middle;
}

.sidebar li.group > a{
    color:#6b6c6e;
    text-transform: uppercase;
}

.sidebar li .arrow {
    font-size: 14px;
    top: 50%;
    position: absolute;
    right: 10px;
    margin-top: -7px;
    display: block;
}

.sidebar li a i {
    font-size:24px;
    vertical-align: middle;
}

.sidebar li.menu.active {
    background:#2980B9;
}

.sidebar li.menu:hover {
    background:#3498DB;
    cursor: pointer;
}

.sidebar li.menu:hover a, .sidebar li.menu.active a {
    color:#ffffff;
}

img {
    width: 100%;
    max-width: 100%;
    height: auto;
}

.sidebar > .header {
    padding-top:5px;
    padding-bottom:0px;
    text-align: center;
    background: #32323a;
}

.sidebar .header .title {
    color:white;
    margin:0;
    margin-top:5px;
    margin-bottom:5px;
}

.page > .header {
    box-shadow: 1px 1px 10px rgba(0,0,0,.2);
    position: absolute;
    left: 250px;
    right: 0;
    top: 0;
    border-bottom: solid 2px #ccc;
    display: block;
    padding-left: 20px;
    padding-right: 20px;
    color: #fff;
    background: #333;
}

.page .header > div, .page .header .module, .page .header form, .page .header .control-group, .page .header .field-column {
    display:table-cell;
    vertical-align: middle;
    padding-right:10px;
}

.page .header .logo {
    height: 46px;
    width: 102px;
    padding: 5px;
}

.page .header .right {
    text-align: right;
    display:table-cell;
    vertical-align: middle;
    width:100%;
}

.grid-container, .external {
    padding:20px;
    display:none;
}

.control-group .grid {
    max-width:352px;
}

.page .content {
    position: absolute;
    left:0px;
    right:0px;
    bottom:0px;
    top:50px;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 10px;
    padding-bottom: 10px;
    /*overflow-y: auto;*/
}

.page {
    left:0px;
    bottom: 0;
    top: 0;
    right:0;
    position:absolute;
}

.module-container {
    margin-left: 250px;
    position: absolute;
    left: 0;
    top: 62px;
    right: 0;
    bottom: 0;
    overflow-y: auto;
}

.modal {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background:rgba(0,0,0,0.3);
    overflow:auto;
}

.modal:hover {
    cursor:wait;
    /*z-index:999;*/
}

.modal-box {
    display: table;
    min-width: 200px;
    height: 100%;
    margin: 0 auto;
    cursor:default;
}

.modal-container {
    width: 100%;
    height: auto;
    display:table-cell;
    vertical-align:middle;
}

.modal-border {
    box-shadow: 6px 6px 53px rgba(0,0,0,0.55);
    background: white;
    display: table-cell;
    vertical-align: middle;
    padding: 0px 0px;
    border-radius: 5px;
    transition: height .5s;
}

.modal-header .title {
    text-align: center;
    background: #2980B9;
    color: white;
    margin: 0;
    padding: 10px 0px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    padding-left:10px;
    padding-right:10px;
}

.modal-content {
    padding:20px 20px 0px 20px;
}

.grid-container .toolbar {
    padding-top: 5px;
    padding-bottom: 5px;
}

.grid-container .toolbar h2, .grid-container .toolbar h5 {
    display: inline-block;
    padding-right:10px;
    margin-top:0;
}

.grid {
    width:100%;
    min-width:300px;
    box-shadow: 1px 1px 5px rgba(0,0,0,0.3);
}

.grid thead tr {
    background:#2980B9;
}

.grid thead tr th {
    padding:10px;
    text-align: left;
    color:white;
    text-shadow: 0px 1px 1px rgba(255,255,255,0.5);
}

.grid .actions {
    text-align: right;
}

.grid tbody tr td {
    padding:10px;
    text-align: left;
    font-size: 13px;
}

.grid tbody tr {
    background: #f6f7f9;
}

.grid tbody tr.deleted td {
    text-decoration: line-through;
}

.grid tbody tr:nth-child(odd) {
    background: #ffffff;
}

.grid tbody tr:hover {
    background:#ddeeea;
}

.grid input[type=text], .grid select {
    width:100%;
}

.field-column {
    display:inline-block;
    text-align: left;
    vertical-align: top;
    margin-left:10px;
    margin-right:10px;
}

.field-group .title {
    padding:0;
    margin:0;
}

.full-width {
    display:block;
    width:100%;
}

label {
    display:inline-block;
}

input {
    padding: 5px;
}

.span6 {
    display:inline-block;
    margin:20px;
}

.chart {
    min-width:300px;
}

.poll-search .header {

}

.pie-legend {
    list-style: none;
}

.pie-legend li span {
    min-width:10px;
    min-height:10px;
    display:inline-block;
}


@media all and (max-width: 800px) {

    .page > .header {
        padding-left:5px;
        padding-right:5px;
    }

    .module-container {
        position:relative !important;
        margin-top:0 !important;
        overflow:inherit !important;
    }

    .sidebar {
        position:relative;
        overflow: inherit;
    }

    .sidebar > .header {
        display:none;
        height:62px;
    }

    .sidebar {
        width: 100%;
        top: 0;
        background: #333333;
        position: relative;
        border-right: none;
        border-bottom: solid 4px #3498DB;
    }

    #page {
        margin-left:0;
    }

    #page-container {
        position:relative;
        /*overflow: auto;*/
        margin-top:0px;
    }

    .page {
        position:relative;
        left:0;
        overflow: inherit;
        padding:0;
    }

    .grid-container, .external {
        padding:0;
    }

    .page .header {
        position:relative;
        top:0;
        left:0;
        right:0;
        z-index:100;
    }

    table.grid td {
        line-break: loose;
        word-break: normal;
        word-wrap: break-word;
    }

    .modal {
        position:absolute;
        overflow: inherit !important;
    }

    .modal-content {
        padding:5px;
    }

    .modal input[type=text], .modal input[type=password], .modal textarea, .modal select, .modal .modal-footer .btn {
        width:100% !important;
    }

    .control-group {
        display:block !important;
    }

    .field-column {
        display:block;
    }

    .user table.grid td:nth-child(1), .user table.grid th:nth-child(1),
    .user table.grid td:nth-child(2), .user table.grid th:nth-child(2),
    .user table.grid td:nth-child(3), .user table.grid th:nth-child(3),
    .user table.grid td:nth-child(6), .user table.grid th:nth-child(6),
    .user table.grid td:nth-child(7), .user table.grid th:nth-child(7),
    .user table.grid td:nth-child(8), .user table.grid th:nth-child(8){
        display:none;
    }

    .branch table.grid td:nth-child(1), .branch table.grid th:nth-child(1),
    .branch table.grid td:nth-child(2), .branch table.grid th:nth-child(2),
    .branch table.grid td:nth-child(3), .branch table.grid th:nth-child(3){
        display:none;
    }

    .category table.grid td:nth-child(1), .category table.grid th:nth-child(1){
        display:none;
    }

    .item table.grid td:nth-child(1), .item table.grid th:nth-child(1){
        display:none;
    }

    .expense table.grid td:nth-child(1), .expense table.grid th:nth-child(1),
    .expense table.grid td:nth-child(2), .expense table.grid th:nth-child(2){
        display:none;
    }

    /*
    table.grid td:nth-child(0),table.grid th:nth-child(0),
    table.grid td:nth-child(1),table.grid th:nth-child(1),
    table.grid td:nth-child(2),table.grid th:nth-child(2),
    table.grid td:nth-child(4),table.grid th:nth-child(4),
    table.grid td:nth-child(5),table.grid th:nth-child(5),
    table.grid td:nth-child(7),table.grid th:nth-child(7),
    table.grid td:nth-child(8),table.grid th:nth-child(8){
        display: none;
    }
    */

    .help-inline {
        margin-left:0;
    }

    table.grid {
        min-width:200px;
    }

    body, body > div.container, .page, .page .conten, .sidebar {
        position:relative;
    }

    .modal-border, .modal-box, .modal-container {
        width:100%;
        display:block;
    }

    .chart {
        width:200px;
        min-width:200px;
        max-width:200px;
    }
}

.inline-block {
    display: inline-block;
    max-width:300px;
    vertical-align: top;
}

.map {
    width:100%;
    min-width:300px;
    min-height:200px;
}

.full-width {
    width:100% !important;
}