@import url('https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&display=swap');

.btn-sm {
    padding: 0.5rem 1rem;
}

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

.form-label, label {
    margin-left: 0;
    margin-bottom: 2px;
}

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

/*=================================================================================================================
* DATATABLES
=================================================================================================================*/
.datatable td {
    color: #344767!important;
}

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

.dt-paging-button.current {
    cursor: pointer;
    font-size: .75rem;
    font-weight: 700;
    padding: .75rem 1.5rem;
    text-align: center;
    transition: all .15s ease-in;
    border-radius: 0.5rem !important;
    box-shadow: 0 4px 7px -1px rgba(0, 0, 0, .11), 0 2px 4px -1px rgba(0, 0, 0, .07);
}

div.dt-processing>div:last-child>div {
    background: var(--blue);    
}

.dt-column-title {
    font-size: 14px;
}

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

.dt-length label {
    font-size: 13px !important;
}

div.dt-container .dt-paging .dt-paging-button {
    padding: 5px 10px;
}

div.dt-container .dt-search input {
    font-size: 0.875rem;
    color: #495057;
    border: 1px solid #e9ecef;
    border-radius: 0.5rem;
    padding: 6px 12px;
}

/*=================================================================================================================
* FORMS
=================================================================================================================*/
.form-group.is-required > label:after, .label-required:after {
    color: #ff0000;
    vertical-align: super;
    font-size: 70%;
    margin-top: -1px;
    content: " *";
    text-shadow: 0 0 2px #a70000;
    position: absolute;
}

/*=================================================================================================================
* SELECT2
=================================================================================================================*/
.select2 {
    appearance: none;
    background-clip: padding-box;
    color: #495057;
    display: block;
    font-weight: 400;
    height: 22px;
    width: 100%;
}

.select2 .select2-container {
    height: 40px;
}

.select2 .selection {
    width: 100%;
    padding: 5px 0;
}

.select2 .select2-selection {
    height: 40px;
    padding: 5px 5px;
    border-radius: 0.5rem;
    border: 1px solid #d2d6da;
}

/*=================================================================================================================
* Datepicker
=================================================================================================================*/
.-selected- {
    background-color: var(--blue) !important;
}

.air-datepicker-body--day-name {
    color: var(--purple) !important;
}

.air-datepicker-global-container {
    z-index: 10000;
}

/*=================================================================================================================
* Full Calendar
=================================================================================================================*/
.fc .fc-button-primary {
    background-color: var(--blue);
    border-color: var(--blue);
}

.fc .fc-button-primary:not(:disabled).fc-button-active, .fc .fc-button-primary:not(:disabled):active {
    background-color: var(--purple);
    border-color: var(--purple);
}

.fc .fc-timegrid-axis-cushion {
    max-width: 100px;
}

.fc-timegrid-slot-label-frame.fc-scrollgrid-shrink-frame {
    text-align: center;
}

.fc-timegrid-slot-label-cushion.fc-scrollgrid-shrink-cushion {
    font-size: 14px;
}