/*
    Created on : Sep 12, 2015, 2:52:03 PM
    Author     : phamtrong204
*/

.ace-custom .main-container .main-content {
    position: relative;
}

.ace-custom .side-bar-absolute {
    bottom: 11px;
    position: fixed;
    right: 0;
}

.ace-custom .message-loading-overlay {
    z-index: 9998;
}

.ace-custom .message-loading-overlay.customer-overlay {
    position: fixed;
}

.ace-custom .ace-nav .nav-user-photo {
    width: 30px;
    position: relative;
    top: 4px;
}

.e_filter .form-group,
.e_filter_form .form-group,
.filter .form-group,
.filter-form .form-group {
    margin-bottom: 7px;
}

/* region input.text-uppercase */

input.text-uppercase::-webkit-input-placeholder {
    text-transform: none;
}

input.text-uppercase::-moz-placeholder {
    text-transform: none;
}

input.text-uppercase:-ms-input-placeholder {
    text-transform: none;
}

input.text-uppercase:-moz-placeholder {
    text-transform: none;
}

input.text-uppercase::placeholder {
    text-transform: none;
}

/* endregion */

/* region input-group */

.input-group-btn .btn,
.input-group-btn .btn:active,
.input-group-btn .btn:focus {
    height: 34px;
    border: 1px solid #aaa;
    border-radius: 0;
    color: #555 !important;
    text-align: center;
    background-color: #eee !important;
}

.input-group-addon,
.form-control, select {
    border-color: #aaa;
}

.input-group-addon.cursor-pointer {
    background-color: rgba(var(--color-primary-rgb), .25);
    border: none;
    color: var(--color-primary);
}

.input-group-addon.cursor-pointer:first-child {
    border-top-left-radius: var(--control-radius, 4px) !important;
    border-bottom-left-radius: var(--control-radius, 4px) !important;
}

.input-group-addon.cursor-pointer:last-child {
    border-top-right-radius: var(--control-radius, 4px) !important;
    border-bottom-right-radius: var(--control-radius, 4px) !important;
}

.input-group-addon.cursor-pointer:focus,
.input-group-addon.cursor-pointer:hover {
    /*background-color: #8b9aa3;*/
    background-color: rgba(var(--color-primary-rgb), .35);
    color: var(--color-primary-shade);
}

.tag-input-style + .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:before {
    line-height: 29px;
}

.input-icon > .ace-icon {
    line-height: 32px;
}

input + .input-group-btn > .btn.btn-sm {
    padding-bottom: 5px;
}

/* endregion */

.chosen-container-single .chosen-single abbr {
    top: 8px;
}

.btn-group + .btn-sm, .btn-group > .btn-sm {
    border-width: 1px;
}

.btn-group-xs > .btn, .btn-xs {
    font-size: 11px;
    padding: 1px 2px 1px 3px;
}

.table > tbody > tr > td,
.table > tbody > tr > th,
.table > tfoot > tr > td,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > thead > tr > th {
    vertical-align: middle;
}

.no-background {
    background: none;
}

.form-actions.mini {
    padding: 8px;
    margin-top: 0;
    margin-bottom: 0;
}

.table > thead > tr > th:last-child {
    border-right-color: #ddd;
}

.message-loading-overlay.customer-overlay {
    background-color: rgba(136, 136, 136, 0.41);
    cursor: progress;
}

.message-loading-overlay.customer-overlay .big-spin {
    font-size: 64px;
    top: 50%;
    left: 50%;
    margin-top: -42px;
    margin-left: -32px;
    height: 64px;
    width: 64px;
}

.modal-header .close {
    margin-top: -5px;
}

/* region margin */

.margin {
    margin: var(--margin);
}

.margin-top,
.margin-vertical {
    margin-top: var(--margin);
}

.margin-bottom,
.margin-vertical {
    margin-bottom: var(--margin);
}

.margin-left,
.margin-horizontal {
    margin-left: var(--margin);
}

.margin-right,
.margin-horizontal {
    margin-right: var(--margin);
}

.margin-center,
.margin-horizontal-auto {
    margin-left: auto;
    margin-right: auto;
}

.margin-top-100 {
    margin-top: 100px;
}

.margin-bottom-50 {
    margin-bottom: 50px;
}

.margin-left-25 {
    margin-left: 25px;
}

.margin-20 {
    margin: 20px;
}

.margin-vertical-20,
.margin-top-20 {
    margin-top: 20px;
}

.margin-vertical-20,
.margin-bottom-20 {
    margin-bottom: 20px;
}

.margin-10 {
    margin: 10px;
}

.margin-vertical-10,
.margin-top-10 {
    margin-top: 10px !important;
}

.margin-vertical-10,
.margin-bottom-10 {
    margin-bottom: 10px !important;
}

.margin-horizontal-10,
.margin-left-10 {
    margin-left: 10px !important;
}

.margin-horizontal-10,
.margin-right-10 {
    margin-right: 10px !important;
}

.margin-5 {
    margin: 5px;
}

.margin-top-5 {
    margin-top: 5px;
}

.margin-right-5 {
    margin-right: 5px;
}

.margin-bottom-5 {
    margin-bottom: 5px;
}

.margin-left-5 {
    margin-left: 5px;
}

.margin-top-0 {
    margin-top: 0;
}

.margin-bottom-0 {
    margin-bottom: 0;
}

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

.margin-right-0 {
    margin-right: 0;
}

/* endregion */

/* region padding */

.padding {
    padding: var(--padding, 16px);
}

.padding-top,
.padding-vertical {
    padding-top: var(--padding, 16px);
}

.padding-bottom,
.padding-vertical {
    padding-bottom: var(--padding, 16px);
}

.padding-left,
.padding-horizontal {
    padding-left: var(--padding, 16px);
}

.padding-right,
.padding-horizontal {
    padding-right: var(--padding, 16px);
}

.padding-24 {
    --padding: 24px;
}

.padding-10 {
    padding: 10px;
}

.padding-5 {
    padding: 5px;
}

.padding-left-5 {
    padding-left: 5px;
}

.padding-right-5 {
    padding-right: 5px;
}

.padding-top-5 {
    padding-top: 5px;
}

.padding-bottom-5 {
    padding-bottom: 5px;
}

/* endregion */

.text-capitalize-first {
    text-transform: lowercase;
}

/* region dataTable */

.dataTables_length .changer_number_record {
    width: 50px;
    padding: 2px 5px;
    height: 24px;
    line-height: 24px;
    text-align: center;
}

.dataTable > thead > tr > th::first-letter,
.control-label::first-letter,
.text-capitalize-first::first-letter {
    text-transform: capitalize;
}

.dataTables_paginate {
    width: 100%;
}

.dataTables_wrapper .row:first-child {
    padding-top: 8px;
    padding-bottom: 3px;
}

.dataTables_wrapper .row:last-child {
    padding-top: 8px;
    padding-bottom: 4px;
    border-bottom: none;
    background-color: transparent;
}

.dataTable {
    border: none;
}

.dataTable > thead > tr > th[class*=sort] {
    position: relative;
}

.dataTable > thead > tr > th[class*=sort]:after {
    position: absolute;
    right: 4px;
    top: 9px;
    float: none;
}

.dataTable > thead > tr > th[class*=sort]:after {
    position: absolute;
    right: 4px;
    top: 50%;
    float: none;
    margin-top: -6px;
    color: var(--color-medium, #92949c);
}

.dataTable > thead > tr > th.sorting:hover,
.dataTable > thead > tr > th[class*=sorting_]:hover {
    color: var(--color-primary);
}

.dataTable > thead > tr > th.disable_sort:hover,
.dataTable > thead > tr > th.sorting.disable_sort:hover {
    color: var(--color-dark);
}

.dataTable > thead > tr > th[class*=sorting_],
.dataTable > thead > tr > th[class*=sorting_]:after,
.dataTable > thead > tr > th[class*=sorting_]:hover:after {
    color: var(--color-primary-shade);
}

.dataTable > thead > tr > th[class*=sorting_] {
    background: rgba(var(--color-primary-rgb), .1);
}

.dataTable > thead > tr > th[class*=sorting_]:hover {
    background: rgba(var(--color-primary-rgb), .075);
}

.dataTable > thead > tr > th.sorting_desc:after {
    margin-top: -9px;
}

.dataTable > thead > tr > th.sorting_asc:after {
    margin-top: -3px;
}

.dataTables_wrapper thead:first-child tr th.min-width {
    width: 1%;
}

.dataTables_wrapper tr td.more-padding {
    padding-left: 10px;
    padding-right: 10px;
}

.dataTables_wrapper thead:first-child tr:first-child th[field_name='custom_check'],
.dataTables_wrapper thead:first-child tr:first-child th[field_name='custom_action'] {
    cursor: default;
}

.dataTables_wrapper thead:first-child tr:first-child th[field_name='custom_check']:after,
.dataTables_wrapper thead:first-child tr:first-child th[field_name='custom_action']:after {
    content: "";
}

.dataTables_wrapper thead:first-child tr:first-child th[field_name='custom_action'] {
    width: 1%;
}

.dataTables_wrapper thead:first-child tr:first-child th[field_name='custom_check'] {
    width: 1%;
    padding: 9px 5px;
}

.dataTables_wrapper .action-buttons {
    white-space: nowrap;
}

.dataTables_wrapper .no_record,
.data_table .empty-state,
.chart-wrapper .empty-state {
    padding: 10px;
    text-align: center;
    font-size: 20px;
    margin: 0;
    line-height: 102px;
}

.dataTable > thead > tr > th.disable_sort {
    cursor: default;
}

.dataTable > thead > tr > th.disable_sort:after {
    content: "";
}

.dataTable > thead > tr > th.disable_sort:hover {
    color: #707070;
}

.dataTable td.fixed_width_number {
    font-family: Monaco;
    /*text-align: right;*/
}

.widget-body .dataTables_wrapper .table thead:first-child tr {
    background: repeat-x #F2F2F2;
    background-image: -webkit-linear-gradient(top, #f8f8f8 0, #ececec 100%);
    background-image: -o-linear-gradient(top, #f8f8f8 0, #ececec 100%);
    background-image: linear-gradient(to bottom, #f8f8f8 0, #ececec 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff8f8f8', endColorstr='#ffececec', GradientType=0);
}

.widget-body .dataTables_wrapper .table tr th:last-child,
.widget-body .dataTables_wrapper .table tr td:last-child {
    border-right: none;
}

.widget-body .dataTables_wrapper .table tr th:first-child,
.widget-body .dataTables_wrapper .table tr td:first-child {
    border-left-color: transparent;
}

/* endregion */

/* region dataTable More... */

.data_table > .empty-state {
    border-top: 1px solid #E5E5E5;
}

.table_header {
    padding-top: 0;
    padding-bottom: 4px;
    color: var(--color-medium, #92949c);
}

.table_header label {
    margin-bottom: 0;
}

.table_header input {
    --color: var(--color-medium, #92949c);
    --border-color: var(--color-medium, #92949c);
}

/* endregion */

.btn.btn-app.ace-settings-btn {
    margin-top: 125px;
}

@media only screen and (max-width: 479px) {
    .navbar .navbar-brand {
        display: none;
    }

    .navbar:not(.navbar-collapse) .navbar-header.pull-right {
        float: right !important;
        display: block;
    }

    .navbar:not(.navbar-collapse) .navbar-header.pull-left {
        float: left !important;
        display: block;
    }

    .dropdown-navbar {
        position: fixed !important;
        top: 61px !important;
        left: 15px !important;
        right: 15px !important;
        width: auto !important;
    }
}

.text-error {
    color: var(--color-danger, #eb445a);
}

.ace-file-input input[type=file]:focus + .ace-file-container {
    -webkit-box-shadow: none;
    box-shadow: none;
    border-color: #f59942;
}

.form-group .file_preview {
    max-width: 100%;
    max-height: 100px;
}

.soft_hide {
    display: none;
}

@media (max-width: 479px) {
    .navbar-fixed-top + .main-container {
        padding-top: 45px;
    }
}

@media (min-width: 768px) {
    .navbar-toggle {
        display: block;
    }
}

@media (min-width: 992px) {
    .navbar-toggle {
        display: none;
    }
}

@media (max-width: 540px) and (min-width: 480px), (max-width: 360px) {
    .navbar:not(.navbar-collapse) .navbar-buttons .user-menu {
        padding-top: 0 !important;
    }
}

@media only screen and (max-width: 991px) {
    .sidebar.responsive {
        left: 320px;
        margin-left: -320px;
        -moz-transform: translateX(-330px);
        -webkit-transform: translateX(-330px);
        -o-transform: translateX(-330px);
        -ms-transform: translateX(-330px);
        transform: translateX(-330px);
    }

    .navbar-fixed-top + .main-container > .menu-toggler + .responsive {
        left: 320px;
        margin-left: -320px;
    }
}

/* region sidebar */

.sidebar {
    width: 320px;
}

.sidebar .sidebar-toggle {
    cursor: pointer;
}

.sidebar.menu-min .nav-list > li > a > .menu-text {
    width: 320px;
    padding-left: 5px;
}

.sidebar + .main-content {
    margin-left: 320px;
}

.sidebar ~ .footer .footer-inner {
    left: 320px;
}

/* endregion */

.footer .copyright-text {
    font-size: 11px;
    color: var(--color-medium, #92949c);
}

@media (max-width: 991px) {
    .sidebar ~ .footer .footer-inner,
    .footer .footer-inner,
    .sidebar ~ .footer .footer-inner,
    .sidebar.compact ~ .footer .footer-inner,
    .sidebar.menu-min ~ .footer .footer-inner {
        left: 0;
    }
}

@media (max-width: 479px) {
    .navbar-fixed-top + .main-container,
    body.mob-safari .navbar-fixed-top + .main-container .sidebar.responsive {
        padding-top: var(--navbar-base-height, 46px);
    }
}

/* region Non-widget manager container */

.manager-container-header {
    padding-left: 10px;
    padding-right: 10px;
    background-color: var(--color-light, #f4f5f8);
}

.manager-container-title {
    float: left;
    font-weight: 600;
    color: var(--color-primary-shade, #3171e0);
    padding-left: 5px;
    line-height: 20px;
}

.manager-container-toolbar {
    float: right;
}

.manager-container-toolbar .actions_content {
    display: inline-block;
    margin: 4px 5px;
}

.dataTables_wrapper .table {
    border-top: 1px solid #E5E5E5;
}

.dataTables_wrapper .table tr th:first-child,
.dataTables_wrapper .table tr td:first-child {
    border-left: none;
}

.dataTables_wrapper .table tr th:last-child,
.dataTables_wrapper .table tr td:last-child {
    border-right: none;
}

.e_manager_table_container .no_record,
.e_manager_table_container .empty-state {
    border-bottom: 1px solid #ddd;
}

.manager-container-filter .control-label {
    white-space: nowrap;
    text-overflow: fade;
    text-overflow: ellipsis; /* fallback */
    overflow: hidden;
}

/* endregion */

/*region brand image*/

.brand-image-element {
    fill: var(--color-primary, #3880ff);
}

.navbar-brand .brand-image-element {
    fill: var(--color-primary-contrast, #fff);
}

.navbar-brand .brand-image + .brand-text,
.navbar-brand .badge {
    margin-left: 5px;
}

.navbar-brand .badge {
    background-color: rgba(var(--color-primary-contrast-rgb), .5);
    color: var(--color-primary, #3880ff);
}

.fill-primary {
    fill: var(--color-primary, #3880ff);
}

.fill-secondary {
    fill: var(--color-secondary, #11a6f5);
}

.navbar-brand .brand-image .fill-primary {
    fill: var(--color-primary-contrast, #fff);
}

/*endregion*/

/* region card */

.card {
    --box-shadow: rgba(2, 8, 20, 0.1) 0 0.175em 0.5em, rgba(2, 8, 20, 0.08) 0 0.085em 0.175em;
    /*--box-shadow: var(--box-shadow-1);*/
    --item-divider-width: 1px;
    --border-width: 0;
    --border-color: #e3e3e3;
    --border-radius: var(--component-radius, 8px);
    --background: #fff;

    --item-padding-vertical: 10px;
    --item-padding-horizontal: 16px;
    --part-padding-vertical: 10px;
    --part-padding-horizontal: 10px;

    -webkit-box-shadow: var(--box-shadow);
    -moz-box-shadow: var(--box-shadow);
    box-shadow: var(--box-shadow);

    border-radius: var(--border-radius);
    border-width: var(--border-width);
    border-style: solid;
    border-color: var(--border-color);
    background: var(--background);
    overflow: hidden;
    position: relative;
}

.card.card-outline {
    --item-divider-width: 1px;
    --border-width: 1px;
    --box-shadow: none;
}

.card.no-shadow {
    --box-shadow: none;
}

.card .card-header,
.card .card-content {
    position: relative;
    padding: var(--part-padding-vertical) var(--part-padding-horizontal);
}

.card .card-content.no-padding {
    --part-padding-vertical: 0;
    --part-padding-horizontal: 0;
}

.card .card-title,
.card .card-title label {
    font-weight: bold;
    font-size: 1.2em;
    overflow-wrap: break-word;
}

.card .card-title label {
    margin-bottom: 0;
}

.card .card-title.card-title-small,
.card .card-title.card-title-small label {
    font-size: 1em;
    text-transform: uppercase;
}

.card .card-subtitle {
    color: var(--color-medium, #bdbdbd);
}

.card .card-item {
    --border-value: solid var(--item-divider-width) var(--border-color, #eee);

    position: relative;
    display: block;
    padding: var(--item-padding-vertical) var(--item-padding-horizontal);
    border-top: var(--border-value);
}

.card .card-header + .card-item,
.card .card-item.no-border {
    --border-value: none;
}

.card a.card-item {
    text-decoration: none !important;
    color: var(--color-primary, #337ab7);
}

.card .card-item:first-child {
    border-top: none;
    border-top-left-radius: var(--border-radius);
    border-top-right-radius: var(--border-radius);
}

.card > .card-content.outer-item-line > .card-item {
    border-top: var(--border-value);
}

.card > .card-content.outer-item-line > .card-item:last-child {
    border-bottom: var(--border-value);
}

.card .card-item:last-child {
    border-bottom-left-radius: var(--border-radius);
    border-bottom-right-radius: var(--border-radius);
}

.card .card-item.card-item-clickable {
    cursor: pointer;
}

.card .card-item.card-item-clickable:hover {
    background-color: #fafafa;
}

.card.ui-sortable .card-item,
.card .card-item.ui-sortable-handle {
    padding-top: 5px;
    padding-bottom: 5px;
}

.card .card-item.ui-sortable-helper {
    width: calc(100% - 16px);
    background-color: #fafafa;
    border-width: 0;
    border-radius: var(--border-radius, var(--component-radius, 8px));
    -webkit-box-shadow: var(--box-shadow);
    -moz-box-shadow: var(--box-shadow);
    box-shadow: var(--box-shadow);
}

.card .card-item .card-item-icon,
.card .card-item .card-item-button {
    font-size: 1em;
    position: absolute;
    right: var(--item-padding-horizontal);
    top: 50%;
    left: auto;
    bottom: auto;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.card .card-item.ui-sortable-helper .card-item-icon,
.card .card-item.ui-sortable-helper .card-item-button {
    display: none;
}

.card .card-item .card-item-icon {
    color: var(--color-medium, #92949c);
}

.card .card-icon {
    font-size: 20px;
    position: absolute;
    top: 7px;
    right: 8px;
}

.card > table {
    border-radius: var(--border-radius, 8px);
    margin: 0;
}

.card > table > thead:first-child > tr:first-child > th {
    line-height: 32px;
}

.card > table > thead:first-child > tr:first-child > th:first-child {
    border-top-left-radius: var(--border-radius, 8px) !important;
}

.card > table > thead:first-child > tr:first-child > th:last-child {
    border-top-right-radius: var(--border-radius, 8px) !important;
}

/* endregion */

/* region width-strict */

.width-strict {
    --max-width: 300px;
    max-width: var(--max-width);
    margin-left: auto;
    margin-right: auto;
}

.width-strict.width-strict-form {
    --max-width: 400px;
}

.width-strict.width-strict-form-xs {
    --max-width: 267px;
}

.width-strict.width-strict-form-xs .width-strict-inner {
    width: 200px !important;
}

.width-strict.width-strict-600 {
    --max-width: 600px;
}

.width-strict.width-strict-sm {
    --max-width: 768px;
}

.width-strict.width-strict-xl {
    --max-width: 1600px;
}

/* endregion */

/* region background color */

.bg-light {
    background-color: var(--color-light, #f4f5f8) !important;
}

.bg-medium {
    background-color: var(--color-medium, #92949c) !important;
}

.bg-dark {
    background-color: var(--color-dark, #222428) !important;
}

/* endregion */

/* region inner-loader */

.inner-loader {
    border-radius: 100%;
    position: relative;
    margin: 0 auto;
    --color: #fff;
    --dot-size: 8px;
    --padding-vertical: 0;
    --half-spacing: 2px;
}

.inner-loader span {
    display: inline-block;
    width: var(--dot-size, 8px);
    height: var(--dot-size, 8px);
    border-radius: 100%;
    background-color: var(--color, #fff);
    margin: var(--padding-vertical) var(--half-spacing);
    opacity: 0;
}

.inner-loader span:nth-child(1) {
    animation: opacityChange 1s ease-in-out infinite;
}

.inner-loader span:nth-child(2) {
    animation: opacityChange 1s ease-in-out 0.33s infinite;
}

.inner-loader span:nth-child(3) {
    animation: opacityChange 1s ease-in-out 0.66s infinite;
}

@keyframes opacityChange {
    0%, 100% {
        opacity: 0;
    }

    60% {
        opacity: 1;
    }
}

/* endregion */

/* region More Utilities */

.big-title {
    font-size: 22px;
    font-weight: 700;
}

.bootbox-input {
    margin-top: var(--margin, 16px);
}

.user-greeting {
    padding: 9px 11px;
}

.user-greeting p {
    line-height: 1.5;
    margin: 0;
}

.user-greeting p.small {
    line-height: 1;
}

.horizontal-scrollable {
    width: 100%;
    overflow-x: auto;
}

.text-wrap {
    overflow-wrap: break-word;
}

.crop-if-long,
.crop-if-long-td,
.crop-if-long-320 {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.crop-if-long-td {
    max-width: 200px;
}

.crop-if-long-320 {
    max-width: 320px;
}

.text-inline {
    display: inline;
}

.no-wrap {
    white-space: nowrap;
}

.cursor-pointer {
    cursor: pointer;
}

.cursor-pointer,
.no-select {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.block-select-annotation {
    color: var(--color-medium, #92949c);
    margin-top: 4px;
}

.navbar .welcome-text {
    font-weight: 700;
    padding: 9px 11px;
    line-height: 1.5;
}

.form-container {
    max-width: 600px;
}

.control-asterisk {
    position: absolute;
    right: -11px;
}

.dropdown-navbar li.welcome-text:hover,
.navbar .welcome-text:hover {
    background-color: initial !important;
}

/* endregion */
