body {
    font-family: 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif, system-ui, -apple-system, BlinkMacSystemFont;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
.es-page-title,
.es-section-title,
.es-row-title,
.es-column-title,
.es-card-title {
    margin-top: 0.75em;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0.5em;
}

.es-page-title {
    font-size: 3.5em;
    font-weight: 300;
    margin-left: -0.1em;
}

h1 {
    font-size: 2em;
}

h2,
.es-section-title {
    font-size: 1.5em;
}

h3,
.es-row-title,
.es-column-title,
.es-card-title {
    font-size: 1.2em;
}

h4 {
    font-size: 1em;
}

h5 {
    font-size: 1em;
}

h6 {
    font-size: 0.9em;
}

p {
    margin-top: 0.25em;
    margin-bottom: 0.25em;
}

a:link {
    text-decoration: none;
}

a:visited {
    text-decoration: none;
}

a:hover {
    text-decoration: none;
}

a:active {
    text-decoration: none;
}

.es-figure {
    text-align: center;
    margin: 0;
    padding: 0.5rem;
    padding-bottom: 1rem;
}

.es-matplotlib-figure,
.es-bokeh-figure,
.es-plotly-figure {
    display: flex;
    justify-content: center;
    width: 100%;
    height: auto;
    margin: auto;
    margin-bottom: 1rem;
}

.es-page-body {
    margin: auto;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.es-section-body {
    margin-bottom: 1rem;
    padding-left: 1px;
    padding-right: 1px;
    align-items: flex-start;
}

.es-row-body {
    align-items: flex-start;
}

.es-column-body {
    margin-right: 1rem;
    margin-bottom: 1rem;
}

.es-card {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
}

.es-card-title {
    margin: 0;
}

.es-card-body {
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
    margin: 0;
    padding: 1.25rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    min-height: 100%;
}

.es-page-break {
    page-break-after: always;
}

.es-table {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.es-table td,
.es-table th {
    padding: 0 !important;
    padding-left: 0.3rem !important;
    padding-right: 0.3rem !important;
    text-align: right;
}

.svg-content-mpl {
    width: 100%;
    height: 100%;
    top: 0px;
    bottom: 0px;
    margin: auto;
}

.es-icon {
    margin: 0.5em;
    margin-left: 1em;
    margin-right: 1em;
    font-size: 1.8em;
    color: var(--bs-gray-700) !important;
    fill: var(--bs-gray-700) !important;
    height: 0.9em;
    width: 0.9em;
}

.es-icon:hover,
.es-icon:focus {
    cursor: pointer;
    color: var(--bs-primary) !important;
    fill: var(--bs-primary) !important;
}

@media print {

    .es-page-title,
    .es-section-title,
    .es-row-title,
    .es-column-title {
        page-break-after: avoid;
    }

    .es-row-body,
    .es-column-body,
    .es-card {
        page-break-inside: avoid;
    }

    .es-section-body {
        page-break-after: always;
    }

    .es-column-body,
    .es-card,
    .es-card-body {
        flex: 1 !important;
    }
}
