* {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-text-size-adjust:none;
    /* -webkit-user-select: none; */
    /* -webkit-touch-callout: none; */
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.15) rgba(0,0,0,0);
    outline:none;
    box-sizing: border-box;
    font-family: 'Open Sans', tahoma, helvetica;
}

::-webkit-input-placeholder { color:rgba(0,0,0,0.15);}
:-moz-placeholder { color:rgba(0,0,0,0.15);}
::-moz-placeholder { color:rgba(0,0,0,0.15);}
:-ms-input-placeholder { color:rgba(0,0,0,0.15);}

::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { }
::-webkit-scrollbar-thumb { background-color: rgba(0,0,0,.15); }

html { height:100%; -ms-overflow-style: -ms-autohiding-scrollbar; }
body {
    background:#eeeeee;
    height:100%;
    padding:0;
    margin:0;
    overflow:auto;
    font-size: 14px;
}

/* Clickable */
.clickable { cursor:pointer; }

/* Fonts */
h1,h2,h3 { margin:0; text-transform: uppercase; }
h1 { font-size:20px; position: relative; margin-bottom:20px; }
h1:after { content:''; position: absolute; bottom:-10px; left:0; width:50px; height:4px; background:#096cb8; }

hr { border:0; height:0; position: relative; overflow:visible; margin-bottom:32px; }
hr:after { content:''; position: absolute; bottom:-5px; left:0; width:32px; height:4px; background:#096cb8; }

a { color:#096cb8; }

/* Blocks */
.block10 { width:10%; display:inline-block; vertical-align: top; }
.block40 { width:40%; display:inline-block; vertical-align: top; }
.block50 { width:50%; display:inline-block; vertical-align: top; }
.block66 { width:66%; display:inline-block; vertical-align: top; }
.block34 { width:34%; display:inline-block; vertical-align: top; }
.block33 { width:33%; display:inline-block; vertical-align: top; padding-left:10px; padding-right:10px;}

.block50:nth-child(odd), .block66:nth-child(odd), .block34:nth-child(odd) { padding-right:10px; }
.block50:nth-child(even),.block66:nth-child(even), .block34:nth-child(even) { padding-left:10px; }

@media screen and (max-width: 1000px) {
    .block50, .block50:nth-child(odd), .block50:nth-child(even) { width:100%; padding-left:0; padding-right:0; }
}

.block33:nth-child(3n+1) { padding-left:0; }
.block33:nth-child(3n+3) { padding-right:0; }

.inlineblock { display: inline-block; }
.spacer { height:20px; }

/* Editor */
.mce-tinymce, .mce-top-part::before { box-shadow: none !important; }
.mce-top-part { padding:5px 8px !important; }
.mce-branding { display: none !important; }
.mce-container, .mce-container *, .mce-widget, .mce-widget *, .mce-reset { box-sizing: border-box !important; }
form .mce-panel, form .mce-btn { background:#f2f2f2 !important; border:1px solid #f2f2f2 !important; border-radius: 5px; }
.mce-btn.mce-active button, .mce-btn.mce-active:hover button, .mce-btn.mce-active i, .mce-btn.mce-active:hover i { color:#096cb8 !important; }
.mce-btn.mce-active .mce-caret, .mce-btn.mce-active:hover .mce-caret { border-top-color:#333 !important; }
.mce-btn .mce-txt {
    font-weight: 700;
    font-family: 'Open Sans';
    text-transform: uppercase;
    font-size: 12px !important;
    padding-right: 6px;
}
span.mce-charactercount {
  margin: 2px 0 2px 2px;
  padding: 8px;
  font-size:12px;
}
.mce-path {
  display: none !important;
}

/* Sidebar */
.sidebar {
    float: left;
    width: 300px;
    height:100%;
    padding:32px 24px 32px 0;
}

.sidebar .logo { width:128px; height:60px; background: url('/_img/logo.png') no-repeat center center; background-size:contain; margin:0 auto 10px auto; }
.sidebar ul { list-style: none; margin:0; padding:10px 0; }
.sidebar ul li { padding:0; margin:0; }
.sidebar a { font-weight: 700; color:#555; font-size:12px; line-height:20px; text-transform: uppercase; text-decoration: none; padding:16px 20px; display:block; border-radius: 5px; }
.sidebar a i { position: relative; left:-20px; top:2px; font-size:20px; }
.sidebar ul li ul li a { padding:5px 16px 5px 32px; margin-left:0; }
.sidebar ul li ul li a i { top:1px; font-size:14px; }

.sidebar>.box { padding-bottom:0; border-top-left-radius: 0; border-bottom-left-radius: 0; height:100%; position: relative;}
.sidebar>.box:before {
    content:'';
    position: absolute;
    left:0;
    top:-25px;
    width:25%;
    height:calc(100% + 50px);
    z-index:0;
    background:linear-gradient(to right, #efefef 0%, rgba(0,0,0,0) 100%);
}
.sidebar>.box>ul>li.active { background:linear-gradient(to right, #EFEFEE, #eeeeee); position: relative; margin:0 -32px; padding:0 32px; }
.sidebar>.box>ul>li.active:before, .sidebar>.box>ul>li.active:after { content:''; position:absolute; right:0; width: 10px; height: 10px; }
.sidebar>.box>ul>li.active:before { bottom:-10px; background: radial-gradient(circle at bottom left,transparent 10px, #eeeeee 10px); }
.sidebar>.box>ul>li.active:after { top:-10px; background: radial-gradient(circle at top left,transparent 10px, #eeeeee 10px); }
.sidebar>.box>ul>li.active a { color:#000; position: relative; }

.sidebar>.box>ul>li.active a:before, .sidebar>.box>ul>li.active a:after { content:''; position:absolute; left:-32px; width: 10px; height: 10px; }
.sidebar>.box>ul>li.active a:before { bottom:-10px; background: radial-gradient(circle at bottom right,transparent 10px, #efefef 10px); }
.sidebar>.box>ul>li.active a:after { top:-10px; background: radial-gradient(circle at top right,transparent 10px, #efefef 10px); }

.sidebar li.active li.active a { background:#096cb8; color:#fff; }
.sidebar>.box>ul>li.active>ul>li a:before {
    bottom:-20px;
}

.sidebar>.box>ul>li>ul { display:none; }
.sidebar>.box>ul>li.active>ul { display:block; }


.content {
    overflow-x: hidden;
    overflow-y: auto;
    padding: 32px 32px 56px 24px;
    height: 100%;
}

.clear { clear:both; }

/* Box */
.box { background:rgba(255,255,255,.5); border-radius: 10px; padding:32px; }
.box .icon {
    overflow: hidden;
    position: relative;
    width: 100px;
    height: 100px;
    display: inline-block;
    color: #fff;
    cursor: pointer;
    user-select: none;
    border-radius: 10px;
    border: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,.03) 0%, rgba(0,0,0,.05) 100%);
    background-size: cover;
    box-shadow: 0 1px 0 0 rgba(0,0,0,.15);
    vertical-align: top;
    margin-right:20px;
}

.box .icon:before {
  content: '';
  display: block;
  padding-top: 100%;
  float: left;
}

.box .icon:after {
    content:'';
    width:100%;
    height:100%;
    background:radial-gradient(circle at top left, rgba(255,255,255,.25) 0%, rgba(255,255,255,0) 50%, rgba(0,0,0,0) 66%, rgba(0,0,0,.1) 100% );
    position: absolute;
    top:0;
    left:0;
}

/* Images */
.images { list-style: none; padding:0; margin:0; background: rgba(0,0,0,.05); padding:0 0 10px 0; border-radius: 5px; }
.images:after {
    content:'';
    clear: both;
}
.images li {
    display:inline-block;
    vertical-align: top;
    width:23%;
    height:100px;
    line-height:100px;
    margin:2% 0 0 10px;
    border-radius: 5px;
}
.images .uploadbtn {
    display:inline-block;
    vertical-align: top;
    width:100%;
    height:100px;
    border-radius: 5px;
    font-size:12px;
    font-weight: 700;
    text-align: center;
    background:#096cb8;
    color:#fff;
    cursor:pointer;
}

.images .uploadbtn i { font-size: 32px; line-height:100px; }

.images .item {
    background-size:cover;
    background-position: center center;
    cursor:move;
}

.sortable_placeholder {
    border: 2px dashed #ccc;
    background:#ddd;
}


/* Datatables */
.datatable-search { float:right; width:50%; max-width:240px; }
.datatable-search label { width:100%; margin:0; }
.datatable-length { float:right; width:25%; max-width:120px; margin-right:10px; }
.datatable-length label { width:100%; margin:0; }

/* Tables */
table.dataTable, table.dataTable.no-footer { border:0; border-radius: 5px; margin-left: -8px; width:calc(100% + 16px); }
table.dataTable thead { border-top-left-radius: 5px; border-top-right-radius: 5px; }
table.dataTable thead th { padding:16px 10px; text-align: left; text-transform: uppercase; font-size:11px; color:#bdbdca; background: rgba(0,0,0,0); }
table.dataTable thead th.sorting_asc, table.dataTable thead th.sorting_desc { color:#8989a2; }
table.dataTable thead th:first-child { border-top-left-radius: 5px; }
table.dataTable tbody tr:last-child td:first-child { border-bottom-left-radius: 5px; }
table.dataTable thead th:last-child, table.dataTable tbody tr:last-child td:last-child { border-top-right-radius: 5px; }
table.dataTable tbody tr:last-child td:last-child { border-bottom-right-radius: 5px; }
table.dataTable tbody tr td:first-child { padding-left:24px; }
table.dataTable tbody tr td:last-child { padding-right:24px; }
table.dataTable tbody { box-shadow: 0 0 1px 0 rgba(0,0,0,.25); border-radius: 5px; }
table.dataTable tbody td { padding:16px 10px; font-weight: 700; }
table.dataTable tbody tr:nth-child(even) td { background:rgba(0,0,0,.01); }
table.dataTable tbody tr:hover td { background:rgba(0,0,0,.02); }

table.dataTable thead.levelup { background:#fff; box-shadow: 0 0 1px 0 rgba(0,0,0,.25); }
table.dataTable thead.levelup th { padding: 16px 16px 16px 12px; font-weight: 700; font-size: 11px; text-transform: none;}
table.dataTable thead.levelup th a { text-decoration: none; color:#bdbdca; text-transform: uppercase; }
table.dataTable thead.levelup th:first-child { padding: 16px 16px 16px 24px; }
.levelup + tbody { border-top-left-radius: 0 !important; border-top-right-radius: 0 !important; }

table.dataTable tbody td.icon {  }
table.dataTable tbody td.icon i { width:32px; height:32px; line-height: 32px; text-align: center; color:#096cb8; border:1px solid #096cb8; border-radius: 50%; }
table.dataTable tbody td.buttons { text-align: right; }
table.dataTable tbody td.buttons button { width:32px; height:32px; border-radius: 5px; display:inline-block; text-align: center; padding:0; font-size:11px; margin-left:5px;}

.dataTables_wrapper .dataTables_info { padding:16px 0px; text-align: left; text-transform: uppercase; font-size:11px; font-weight: 700; color:#bdbdca; background: rgba(0,0,0,0); }
.dataTables_wrapper .dataTables_info span { color:#8989a2; }
.dataTables_wrapper .dataTables_paginate .paginate_button { font-size:10px; color:#8989a2 !important; border-radius: 5px; width:32px; height:32px; line-height: 32px; padding:0; text-align: center; }
.dataTables_wrapper .dataTables_paginate .paginate_button:hover { color:#000 !important; background:#efefef; border:0; }
.dataTables_wrapper .dataTables_paginate .paginate_button:active { color:#000 !important; background:#e1e1e8; border:0; box-shadow: none; }
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {
    color:#8989a2 !important;
    opacity: .33;
}

.datatable-search ~ h1 { max-width:50%; }
button.right ~ h1 { max-width:50%; }

table.listTable { padding:0; margin:0; border-collapse: collapse; }
table.keyValue tr td { font-size:13px; }
table.keyValue tr td:first-child { font-weight: 700; text-transform: uppercase; padding-right:10px; }

/* Badges */
.badge {
    margin: 0 5px 5px 0;
    background: #096cb8;
    font-weight: 600;
    font-size: 12px;
    text-transform: capitalize;
    color: #fff;
    padding: 5px 12px;
    height: 28px;
    border-radius: 14px;
    display:inline-block;
    user-select: none;
}

.badge.grey {
    background-color:#ddd;
}

/* Buttons */
button {
    cursor:pointer;
    transition: opacity .3s ease-in-out;
    background:#096cb8;
    color:#fff;
    border:0;
    width:100%;
    font-size:14px;
    text-transform: uppercase;
    font-weight: 700;
    padding:0 16px;
    height:42px;
    border-radius:6px;
    display:block;
    font-family: 'Open Sans';
}
button:disabled { opacity: .25; }
button.left { float:left; width:auto; }
button.right { float:right; width:auto; margin-left:10px; }
button.center { margin:0 auto; width:auto; }

/* Lists */
.checkboxlist ul { list-style: none; padding-left:32px; }
.checkboxlist>ul { padding-left:0; }

/* Labels */
label { display:inline-block; margin:10px 0 5px 0; text-transform: uppercase; font-size:11px; font-weight: 700; color:#767c88; }

/* Inputs */
input, select { display:block; width:100%; height:42px; padding:0 15px; border:0; background:rgba(0,0,0,.05); border-radius:5px; font-weight: 700; transition: all .3s ease-in-out; }
select { -webkit-appearance: none; }
input.error, select.error { background:#eecccc; }
.selectwrapper { position: relative; box-sizing: border-box; margin:0; }
.selectwrapper:after { position: absolute; right:14px; top:50%; margin-top:-6px; font-size:12px; content:'\f078'; font-family: 'FontAwesome'; color:#333; }

/* Restyle checkboxes */
input[type=checkbox] + label { display: block; margin: 0.2em; cursor: pointer; padding: 0.2em; line-height: 1.9em; user-select: none; }
input[type=checkbox] { display: none; }
input[type=checkbox] + label:before { content: "\f00c"; font-family: 'FontAwesome'; border: 0.1em solid rgba(0,0,0,0); text-align: center; background: #eee; border-radius: 0.2em; display: inline-block; width: 1.3em; height: 1.3em; line-height: 1.5em; padding:2px; margin-right: 0.2em; vertical-align: bottom; color: transparent; transition: .2s; }
input[type=checkbox] + label:active:before { transform: scale(0); }
input[type=checkbox]:checked + label:before { background-color: #096cb8; border-color: #096cb8; color: #fff; }
input[type=checkbox]:disabled + label:before { transform: scale(1); border-color: #aaa; }
input[type=checkbox]:checked:disabled + label:before { transform: scale(1); background-color: #ddd; border-color: #ddd; }

/* Autocomplete */
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,textarea:-webkit-autofill:active,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus,select:-webkit-autofill:active { -webkit-animation: autofill 0s forwards; animation: autofill 0s forwards; }
@keyframes autofill { 100% { background: rgba(0,0,0,.05); color: inherit; } }
@-webkit-keyframes autofill { 100% { background: rgba(0,0,0,.05); color: inherit; } }

/* View */
view { width:100%; height:100%; display:block; position: relative; margin:0 auto; transition: all .2s ease-in-out; filter:none; }

/* Login */
view.login { display:table; max-width:480px; }
view.login form { display:table-cell; vertical-align: middle; width:100%; }
view.login form .logo { width:200px; height:64px; background: url('/_img/logo.png') no-repeat center center; background-size:contain; margin:0 auto 50px auto; }
view.login form input { margin-bottom:10px;}

/* Lost password */
view.lostpassword { display:table; max-width:480px; }
view.lostpassword form { display:table-cell; vertical-align: middle; width:100%; }
view.lostpassword form .logo { width:200px; height:64px; background: url('/_img/logo.png') no-repeat center center; background-size:contain; margin:0 auto 50px auto; }
view.lostpassword form input { margin-bottom:10px;}

/* Change password */
view.changepassword { display:table; max-width:480px; }
view.changepassword form { display:table-cell; vertical-align: middle; width:100%; }
view.changepassword form .logo { width:200px; height:64px; background: url('/_img/logo.png') no-repeat center center; background-size:contain; margin:0 auto 50px auto; }
view.changepassword form input { margin-bottom:10px;}

/* Tips */
.fa.tip { float:left; font-size:48px; color:rgba(0,0,0,.15); margin:0 16px 16px 0; position: relative;}
.fa.tip:after { content:'TIP'; font-family: 'Open Sans', tahoma, helvetica; font-size:12px; font-weight: 700; position: absolute; top:19px; left:15px; color:#fff; }
p.tip { margin: 5px 0; font-size: 13px; color: #c1c1c1; font-weight: 600; }

/* Photo */
.photowrapper { display:grid; grid-template-columns: auto 1fr; place-items:first; user-select: none; }
.photowrapper button { width:auto; }
.photo { position: relative; width: 100px; height: 100px; background-color:#eee; border-radius: 5px; margin-right: 10px;}
.photo:before {
    content:'\f03e';
    font-family: 'FontAwesome';
    font-size:64px;
    position: absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    color:#ddd;
    z-index: -1;
}
.photo .img { width:100%; height:100%; border-radius: 5px; background-size: cover; background-position: center center; }

/* Toast */
.toast_window {
	position:absolute;
    width:100%;
	background: #096cb8;
    border-bottom: 2px solid rgba(0,0,0,.15);
	color:#fff;
	font-size:14px;
	font-weight:700;
	padding:20px 12px 16px 12px;
	text-align:center;
	z-index:99999;
	top:0;
    box-shadow: 0px 0px 100px 0px rgba(0,0,0,.25);
}

/* Loader */
.loader {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top:-24px;
    margin-left:-24px;
    border-radius: 50%;
    width: 48px;
    height: 48px;
    padding:0;
    box-sizing: border-box;
    border: 5px solid rgba(255, 255, 255, 0.15);
    border-top: 4px solid rgba(255,255,255,1);
    animation: loader 1.2s infinite cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

/* Modal */
.modal_window .gutter {
    padding:24px 24px 24px 24px;
    margin:24px -24px -24px -24px;
    background:#efefef;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

.modal_window .gutter button.left { float:left; width:49%; max-width: 240px; }
.modal_window .gutter button.right { float:right; width:49%; max-width: 240px; }
.modal_buttons { margin:0 -10px; }
.modal_buttons button { margin:0; }
.modal_button_wrapper { width: 50%; display: inline-block; padding: 0 10px; }

.modal_wide { width:100%; min-width:800px; max-width:1280px; }

/* Tabs */
.tabs { margin:32px 0 20px 0; position: relative; }
.tabs:after { content:''; position: absolute; left:0; bottom:-20px; background:#fff; width:100%; height:20px; }
.tabs a { display:inline-block; font-size:12px; font-weight: 700; text-transform: uppercase; text-decoration: none; color:#767c88; padding:10px 16px; border-top-left-radius: 5px; border-top-right-radius: 5px; }
.tabs a.active { color:#096cb8; box-shadow: 0 0 20px 0 rgba(0,0,0,.1); }
.tab { display:none; }

.mce-ico.mce-i-fa {
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
