@font-face {
    font-family: 'NS Sans';
    src: url('./fonts/NS_Sans.ttf') format('truetype');
}

body {
    font-family: 'Roboto';
    /* Use NS Sans as the default font */
    background-color: #F0F1F3
}

.text-emphasis {
    color: #0a3680;
}

#visualization H3 {
    color: #0a3680;
}

#visualization H4 {
    padding-top: 16px;
    color: #0a3680;
}

/* HOMEPAGE */

.tile-block {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 24px;
}

tractie-tile {
    text-align: center;
    width: 120px;
}

tractie-tile img {
    margin-left: -16px;
    /* to let the train icons 'enter' the tile */
}

/* LANDING PAGE */

.visualization-box {
    margin-right: 16px;
}

/* FILTERS */

#datepicker-range {
    display: flex;
    width: 100%;              /* fill the grid column */
}

#datepicker-range input {
    width: 100% !important;  /* fill the wrapper width */
    padding: 4px 10px;
    font-size: 14px;
    box-sizing: border-box;
}

.DateRangePicker .DateRangePicker_1 {
    width: 100%
}

.DayPicker_transitionContainer,
.CalendarMonth {
    width: 300px !important;
}

.CalendarDay {
    width: 35px !important;
    height: 35px !important;
    line-height: 35px !important;
    font-size: 15px !important;
    padding: 0 !important;
    text-align: center;
}


.filter-bar {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.filter-options {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    width: 100%;
}

.filter-controls {
    padding: 0;
    margin-top: 24px;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
}

.filter-component {
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* OTHER STUFF */

input[type=email],
input[type=number],
input[type=search],
input[type=text],
input[type=tel],
input[type=url],
input[type=password],
textarea,
select {
    font-family: inherit;
    font-size: inherit;
}


div.ag-theme-alpine {
    --ag-header-background-color: white;
    --ag-font-family: NS Sans;
}

.form-check {
    padding-left: 0;
    padding-bottom: 0;
    padding-top: 0;
}

.btn-group .form-check .btn {
    border-radius: 0 !important;
}

.btn-group .form-check:first-child .btn {
    border-top-left-radius: 0.375rem !important;
    border-bottom-left-radius: 0.375rem !important;
}

.btn-group .form-check:last-child .btn {
    border-top-right-radius: 0.375rem !important;
    border-bottom-right-radius: 0.375rem !important;
}

#navigation-sidepanel-container {
    min-width: 256px;
    height: 100%;
    position: relative;
}

.figure-container {
    position: relative;
}

.sidepanel {
    min-height: 100vh;
}

.sidepanel H4 {
    margin: 0;
}

.tractie-button {
    width: 100%;
    height: 34px;
    max-width: 200px;
}

.top-n-buttons {
    display: flex;
    align-items: center;
    gap: 8px;
    position: absolute;
    top: 10px;
    right: 10px;
}

.viz-table {
    height: 80vh;
}

.side-panel-id {
    position: relative;
    display: flex;
    align-items: center;
    padding-bottom: 14px;
}

.side-panel-id .sidepanel-icon {
    position: relative;
    width: 25%;
    margin-left: -18px;
}

.side-panel-id h3 {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
