body {
    background-color: #fbfbfb;
}

@media (min-width: 991.98px) {
    main {
        padding-left: 240px;
    }
}
.select2-container .select2-selection--single {
        height: 100%;
}
.blue {
    color: #1266f1;
}

.error {
    outline: 1px solid red;
}

/* Sidebar */
.sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    padding: 58px 0 0;
    /* Height of navbar */
    box-shadow: 0 2px 5px 0 rgb(0 0 0 / 5%), 0 2px 10px 0 rgb(0 0 0 / 5%);
    width: 240px;
    z-index: 600;
}

@media (max-width: 991.98px) {
    .sidebar {
        width: 100%;
    }
}

.sidebar .active {
    border-radius: 5px;
    box-shadow: 0 2px 5px 0 rgb(0 0 0 / 16%), 0 2px 10px 0 rgb(0 0 0 / 12%);
}

.sidebar-sticky {
    position: relative;
    top: 0;
    height: calc(100vh - 48px);
    padding-top: 0.5rem;
    overflow-x: hidden;
    overflow-y: auto;
    /* Scrollable contents if viewport is shorter than content. */
}
.form-floating>.form-control:focus~label, 
.form-floating>.form-control:not(:placeholder-shown)~label, 
.form-floating>.form-select~label {
    transform: translateY(-1rem) translateY(.1rem) scale(.8) !important;
    opacity: 1 !important;
}
.form-floating>label {
    left: 0.75rem !important;
    top: 0.5rem;
    height: auto !important;
    padding: 0 !important;
    border: 1px solid transparent;
    max-width: 90%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none;
    transition: all .2s ease-out;
    color: rgba(0,0,0,.6);
    margin-bottom: 0;
    background-color: #FFFFFF;
    line-height: 1;
}
.form-floating>.form-control, 
.form-floating>.form-select {
    height: auto;
    line-height: 1.6 !important;
}
.form-floating>.form-select {
    padding: 0.33em 2.25em 0.33em 0.75em !important;
    /*margin-top: 0.5rem;*/
}
.form-floating>.form-select:focus~label {
    color: #1266f1;
}
.form-floating .form-select.is-invalid~label, 
.was-validated .form-floating .form-select:invalid~label {
    color: #f93154;
}

.invalid-feedback {
    margin-top: -1.25rem !important;
}
.form-control.is-invalid, 
.was-validated .form-control:invalid {
    margin-bottom: 1.5rem !important;
}
.form-floating .select2-selection {
    padding-top: 0.33em;
}
.select2-selection__arrow {
    height: 100% !important;
}
.form-floating select.is-invalid ~ .select2-container--default .select2-selection--single,
.form-floating select.is-invalid ~ .select2-container--default .select2-selection--multiple {
    border-color: #f93154;
}

.pageWithContent .dataTables_wrapper .dataTables_length {
    float: left !important;
}
@media screen and (min-width: 992px) {
    .pageWithContent .dataTables_wrapper .dataTables_length {
        float: right !important;
    }
}
.collapse .select2-container, .collapsing .select2-container {
    width: 100% !important;
}

.visibility_true, .visibility_not_false {
    display: inline;
}
.visibility_false, .visibility_not_true {
    display: none;
}
    
select[required] ~ label:after,
input:not([type="radio"]):not([type="checkbox"])[required] ~ label:after{
    content: " *";
    color: #f93154;
}
  .required::after {
      content: " *";
      color: red;
  }
                /* :required::after {
            content: " *";
            color: red;
        } */

.input-group>.select2-container--default {
    width: auto;
    flex: 1 1 auto;
}

.input-group>.select2-container--default .select2-selection--single {
    height: 100%;
    line-height: inherit;
    padding: 0.5rem 1rem;
}
.form-control{
    height: auto!important;
}
.input-group-text{
    height: auto !important;
}
.box {
    position: relative;
    display: inline-block;
    padding: 20px;
    background: white;
    margin: 20px;
    text-align: left;
    box-shadow: 0 2px 25px -5px rgba(0, 0, 0, .07), 0 25px 21px -5px rgba(0, 0, 0, .04) !important;
    width: auto;
}
.right:after {
    position: absolute;
    display: block;
    content: "";
    width: 0;
    height: 0;
    top: 50%;
    margin-top: -10px;
    right: -20px;
    border: 10px solid transparent;
    border-left: 10px solid white;
    box-shadow: 0 2px 25px -5px rgba(0, 0, 0, .07), 0 25px 21px -5px rgba(0, 0, 0, .04) !important;
}

.left:after {
    position: absolute;
    display: block;
    content: "";
    width: 0;
    height: 0;
    top: 50%;
    margin-top: -10px;
    left: -20px;
    border: 10px solid transparent;
    border-right: 10px solid white;
    box-shadow: 0 2px 25px -5px rgba(0, 0, 0, .07), 0 25px 21px -5px rgba(0, 0, 0, .04) !important;
}
.top:after {
    position: absolute;
    display: block;
    content: "";
    width: 0;
    height: 0;
    left: 18%;
    margin-left: -10px;
    top: -20px;
    border: 10px solid transparent;
    border-bottom: 10px solid white;
    box-shadow: 0 2px 25px -5px rgba(0, 0, 0, .07), 0 25px 21px -5px rgba(0, 0, 0, .04) !important;
}

.bottom:after {
    position: absolute;
    display: block;
    content: "";
    width: 0;
    height: 0;
    left: 3%;
    margin-left: -10px;
    bottom: -20px;
    border: 10px solid transparent;
    border-top: 10px solid white;
    box-shadow: 0 2px 25px -5px rgba(0, 0, 0, .07), 0 25px 21px -5px rgba(0, 0, 0, .04) !important;
}
.switch-group .switch-label {
    display: inline-block;
    padding-left: 5em;
    vertical-align: right;
    min-width: 200px;
}

.switch {

    visibility: hidden;
}

.switch+label {
    display: inline-block;
    position: absolute;
    cursor: pointer;
    outline: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    /* padding: 2px; */
    width: 40px;
    height: 20px;
    background-color: #dddddd;
    border-radius: 20px;
}

.switch+label:before,
.switch+label:after {
    display: block;
    position: absolute;
    top: 1px;
    left: 1px;
    bottom: 1px;
    content: "";
}
.callout {
    padding: 20px;
    margin: 20px 0;
    border: 1px solid #eee;
    border-left-width: 5px;
    border-radius: 3px;
}

.callout h4 {
    margin-top: 0;
    margin-bottom: 5px;
}

.callout p:last-child {
    margin-bottom: 0;
}

.callout code {
    border-radius: 3px;
}

.callout+.bs-callout {
    margin-top: -5px;
}

.callout-default {
    border-left-color: #777;
}

.callout-default h4 {
    color: #777;
}

.callout-primary {
    border-left-color: #428bca;
}

.callout-primary h4 {
    color: #428bca;
}

.callout-success {
    border-left-color: #5cb85c;
}

.callout-success h4 {
    color: #5cb85c;
}

.callout-danger {
    border-left-color: #d9534f;
}

.callout-danger h4 {
    color: #d9534f;
}

.callout-warning {
    border-left-color: #f0ad4e;
}

.callout-warning h4 {
    color: #f0ad4e;
}

.callout-info {
    border-left-color: #5bc0de;
}

.callout-info h4 {
    color: #5bc0de;
}
.callout-info span {
    color: #5bc0de;
}

.callout-bdc {
    border-left-color: #29527a;
}

.callout-bdc h4 {
    color: #29527a;
}
.switch+label:before {
    right: 1px;
    background-color: #ffb8b8;
    border-radius: 20px;
    transition: background 0.4s;
}

.switch+label:after {
    width: 20px;
    background-color: #fff;
    border-radius: 100%;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
    transition: margin 0.4s;
}

.switch:checked+label:before {
    background-color: #8ce196;
}

.switch:checked+label:after {
    margin-left: 22px;
}