/* AP Header */

div.ap-header {
    margin-bottom: 1em;
}

div.ap-header-title h1 {
    font-size: 1.8rem;
    margin: 0;
}

.ap-header-title {
    align-self: center;
}

.ap-header-buttonsbar {
    text-align: right !important;
}

    .ap-header-buttonsbar button {
         margin-left: 10px;
    }

/* AP Filterbox */

.ap-filterbox {
    margin: 1em 0;
}

.ap-filterbox .card-header {
    font-size: 1em
}

.ap-filterbox .ap-filter-buttons {
    padding-top: 30px;
}

.ap-filterbox .ap-filter-buttons button.k-button {
    margin-left: 1.2em;
}

.ap-filterbox .card-body {
    padding: 1.5rem 2.5rem;
}

.ap-filterbox .card-body .ap-filter-field span.k-dropdown {
    padding-bottom: 3px;
}

.ap-filterbox .card-body .ap-filter-field label {
    margin-bottom: .3rem;
    margin-top: .8em;
}

.ap-filterbox .card-body .ap-filter-field .validation-message {
    margin-left: 0.8em;
}

.ap-readonly .k-textbox.k-input input {
    padding: 0;
}

/* AP Loader indicator */

.ap-loader-indicator {
    margin-right: 20px;
}

/* AP Grid */

.ap-gridbox {
    margin: 1em 0 2em 0;
}

.ap-gridbox .k-grid {
    font-size: 0.9rem;
}

.ap-gridbox .k-grid .k-grid-filter {
    padding-right: 0;
}

.ap-gridbox .k-grid td {
    padding: .45rem .45rem;
    font-variant-numeric: tabular-nums;
    letter-spacing: -.025em;
}

    .ap-gridbox tr.k-grid-norecords td {
        padding: 0;
    }

    .ap-gridbox tr.k-grid-norecords div.ap-grid-norecords {
        padding: 20px;
        background-color: lightyellow;
    }

    .ap-gridbox tr.k-grid-norecords div.ap-grid-norecords label {
        font-size: 1.2em;
        padding-top: 10px;
        font-weight: bold;
    }

.ap-grid-col-number {
    text-align: right;
}

.ap-col-number {
    text-align: right;
}

.k-grid a.link {
    cursor: pointer;
}

.k-grid a.link:hover {
    text-decoration: underline;
}

/* AP Card */

.card {
    margin: 0.5rem 0;
}

/* AP Charts */

.k-chart svg {
    border-radius: 7px;
}

.k-chart-tooltip-wrapper {
    box-shadow: 1px 1px 5px 0px rgba(0,0,0,0.75)
}

.column-graph svg > g > g:nth-child(3) > g:nth-child(4) > g > g:hover {
    cursor: pointer;
}

/* AP Kpi (TODO: Move to component) */

div.ap-kpi-container {
    padding-bottom: 60px;
}

    div.ap-kpi-container .ap-header-title {
    padding-bottom: 10px;
    }

    div.ap-kpi-container .ap-kpi-body {
        padding-top: 20px;
    }

div.ap-kpi-container .card-header button.k-button {
    font-size: 0.85rem;
    padding-top: 3px;
    padding-bottom: 4px;
}

div.ap-kpi-container .card-body .ap-charts,
div.ap-favs-container .card-body .ap-charts {
    height: 405px;
    align-items: center;
    justify-content: center;
}

.ap-kpi-filters-bar {
    display: flex;
    align-items: flex-end;
    font-size: 0.9rem;
}

    .ap-kpi-filters-bar > div {
        padding-left: 0px;
        padding-right: 0px;
    }

    .ap-kpi-filters-bar button.k-button,
    .ap-kpi-filters-bar .k-dropdown,
    .ap-kpi-filters-bar .k-dropdownlist {
        margin-left: 10px;
        font-size: 1em;
    }

.kpi-detail.k-grid {
    font-size: 0.8em;
}
    .kpi-detail.k-grid .k-column-title {
        font-size: 0.9em;
    }
    .kpi-detail.k-grid .k-grid-table td {
        padding: 0;
        height: 36px;
        font-size: 0.9em;
    }
        .kpi-detail.k-grid .k-grid-table td > * {
            padding: 8px 5px 7px 5px;
        }

    div.kpi-detail.k-grid span.k-i-link-horizontal {
        padding-left: 10px;
    }

.ap-grid-kpi-multiselect {
    margin-left: 150px;
}

.ap-kpi-container .k-filterable > .k-cell-inner .k-link {
    padding-right: 0;
    padding-left: 5px;
}

.ap-grid-kpi-column {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
    .ap-grid-kpi-column.pointer {
        cursor: pointer;
    }

.ap-grid-kpi-column-prices {
    text-align: right;
}

.ap-grid-kpi-column-badge {
    text-align: center;
}

    .ap-grid-kpi-column-badge .k-badge-md,
    .ap-grid-kpi-column-prices .k-badge-md
    {
        font-size: 1em;
    }

    .ap-kpifilters {
        margin: 0.9rem 0;
    }.ap-gridbox .k-grid .k-icon-button

.ap-kpifilters .card-body {
    padding: 0.7rem 1.5rem;
}

.ap-filter-field * {
    font-size: 0.9rem;
}

.ap-kpifilters .ap-filter-field div.k-numerictextbox {
    margin-left: 0;
}

.ap-kpifilters .ap-filter-field button.k-button {
    margin-left: 0;
}

.ap-kpifilters .ap-filter-field span.k-floating-label-container {
    padding: 0;
}

.ap-kpifilters .ap-filter-field span.k-floating-label-container label.k-label {
    display: none;
}

.ap-kpifilters-daterange .k-calendar.k-calendar-range .k-range-mid:not(.k-other-month) {
    background-image: linear-gradient(transparent 1px, rgb(115 169 201 / 25%) 1px, rgb(115 169 201 / 25%) calc(100% - 1px), transparent calc(100% - 1px));
}

.ap-kpifilters-daterange .k-calendar .k-state-selected.k-state-focused .k-link {
    box-shadow: inset 0 0 0 2px rgb(115 169 201 / 50%);
}

.flex-container-request-journey {
    display: flex;
    justify-content: space-between;
    padding-left: inherit;
    padding-right: inherit;
}

/* AP Forms */

.ap-form-container {
    padding: 10px;
}

    .ap-form-label {
        align-items: center;
        display: flex;
    }

        .ap-form-label * {
            padding: 0;
            margin: 0;
        }

.ap-form-container .ap-form-label.end {
    justify-content: end;
    padding: 0 0 0 1.5em;
    margin: 0;
}

.ap-readonly .k-input.k-disabled,
.ap-readonly input.k-textbox[disabled],
.ap-readonly .k-dateinput.k-disabled,
.ap-readonly input.k-input[disabled] {
    pointer-events: initial;
    cursor: text;
}

.k-actions, .k-action-buttons,
.k-columnmenu-actions {
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.ap-align-content-right {
    display: flex;
    justify-content: flex-end;
}

/* AP Reports */
.ap-report-data-load-error .ap-charts span {
    color: red;
}

.ap-report-data-load-error .load-button {
    justify-content: center;
}

/* AP Airport fees */

.ap-multiselect {
    height: unset;
    max-height: unset;
    border: 1px solid var(--secondary-color) !important;
}

.ap-details-icon-fix {
    min-width: 1rem;
    min-height: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
