label.required::after {
    content : "*";
    color:#d00;
    display:inline-block;
    padding-left: .5rem;
}

.c-pointer{
    cursor:pointer;
}

.has-transition {
    transition: .3s ease;
    -moz-transition: .3s ease;
    -o-transition: .3s ease;
    -webkit-transition: .3s ease;
    -ms-transition: .3s ease;
}


/* Custom Plugin */
.daterangepicker.single .ranges{
    display:none;
}

.daterangepicker.single .calendar-table tbody td.today:not(.active){
    color:#999;
}



/* Image Plugin */
.custom-input[data-plugin="image"] {
    position:relative;
}

.custom-input[data-plugin="image"] .image-metadata-controller {
    display:none;
}

.custom-input[data-plugin="image"] .image-preview {
    cursor:pointer;
    max-width: 100%;
    height:80px;
    position:relative;
    border-radius: 4px;
}

.custom-input[data-plugin="image"] .image-preview img {
    max-width: 100%;
    height: 100%; 
    object-fit: cover;
    border-radius: 4px;
    box-shadow: 0px 0px 15px #ccc;
    border:1px solid transparent;
}

.custom-input[data-plugin="image"] .image-preview img:hover{
    border:1px solid #5f63f2;
}


.custom-input[data-plugin="image"] .remover {
    display:none;
}
.custom-input[data-plugin="image"][has-image] .remover {
    position: absolute;
    top: 0;
    left: 0; 
    width: 100%;
    height: 100%;
    background:rgba(255, 255, 255, .9);
    color:#d00;
    font-weight:bold;
    z-index:2;
    opacity: 0;
    border-radius:4px;
    text-align: left;
    font-size: 12px;
    display:flex;
    align-items:center; 
    justify-content: flex-start;
}

.custom-input[data-plugin="image"][has-image] .image-preview:hover .remover {
    opacity: 1;
}

/* File Plugin */
.custom-input[data-plugin="file"] {
    position:relative;
}

.custom-input[data-plugin="file"] .btn, .custom-input[data-plugin="file"] .remover, .custom-input[data-plugin="file"][has-file] input[type="file"] {
    display:none;
}

.custom-input[data-plugin="file"][has-file] .btn, .custom-input[data-plugin="file"][has-file] .remover, .custom-input[data-plugin="file"] input[type="file"] {
    display:block;
}
.custom-input[data-plugin="file"] .remover {
    display:none;
}

@media (max-width: 767px) {
    .datatable-holder{
        overflow-x: scroll;
    }
    .hide-on-mobile {
        display:none!important;
    }

    table.table-privilege, table.table-privilege thead, table.table-privilege tbody, table.table-privilege tr, table.table-privilege td, table.table-privilege th {
        display:block;
    }

    table.table-privilege tr {
        border-bottom:1px solid #ddd;
    }

    table.table-privilege td {
        border:none!important;
    }
}

/* Custom Switcher */
.switch.switch-component {
    position: relative;
    display: inline-block;
    width: 120px;
    height: 34px;
}
   
.switch.switch-component input {
    display: none;
}

.switch.switch-component .slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #3C3C3C;
-webkit-transition: .4s;
transition: .4s;
border-radius: 34px;
}

.switch.switch-component .slider:before {
position: absolute;
content: "";
height: 26px;
width: 26px;
left: 4px;
bottom: 4px;
background-color: white;
-webkit-transition: .4s;
transition: .4s;
border-radius: 50%;
}

.switch.switch-component input:checked + .slider {
background-color: #20c997;
}

.switch.switch-component input:focus + .slider {
box-shadow: 0 0 1px #2196F3;
}

.switch.switch-component input:checked + .slider:before {
-webkit-transform: translateX(26px);
-ms-transform: translateX(26px);
transform: translateX(85px);
}

/*------ ADDED CSS ---------*/
.switch.switch-component .slider:after {
content: attr(data-no);
color: white;
display: block;
position: absolute;
transform: translate(-50%,-50%);
top: 50%;
left: 50%;
font-size: 10px;
font-family: Verdana, sans-serif;
}

.switch.switch-component input:checked + .slider:after {
content: attr(data-yes);
}


a.paginate_button {
    cursor: pointer;
}
a.paginate_button.disabled {
    cursor:no-drop;
    opacity: .5;
}
a.paginate_button.current {
    background: #333;
    color:#fff; 
    width: 25px;
    border-radius: 20px;
    display:inline-block;
    text-align: center;
    margin: 0;
}

.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}

.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3), .input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.load-more {
    text-align: center;
    cursor: pointer;
    padding: .5em 1em;
    background:#eee;
    transition: .3s ease;
    -moz-transition: .3s ease;
    -o-transition: .3s ease;
    -webkit-transition: .3s ease;
}
.load-more:hover {
    background:#5f63f2;
    color: #fff;
}

.is-void {
    opacity: .5;
}

input[data-money] {
    text-align: right;
}

@media print {
    [no-print] {
        display:none!important;
    }    
    .contents {padding:0;}
    .card, .card-body {border:none!important; padding:0;}
    .pagebreak { page-break-before: always; } /* page-break-after works, as well */
}