@font-face {
    font-family: 'Recursive';
    src: url('../fonts/golos-ui_vf.woff2') format('woff2');
    font-weight: 400 700;
    font-style: normal;
    font-feature-settings: 'ss10';
}


:root {
    --bulma-family-primary: 'Recursive';
    --bulma-family-secondary: 'Recursive';
    --bulma-weight-light: 400;
    --bulma-weight-normal: 400;
    --bulma-weight-medium: 500;
    --bulma-weight-semibold: 600;
    --bulma-weight-bold: 700;
    --bulma-weight-extrabold: 700;
}

/* Default table styles for this demo */
table {
    border-collapse: collapse;
    text-align: left;
    width: 100%;
    font-variant-numeric: tabular-nums;
}
table tr {
    /*background: white;*/
    border-bottom: 1px solid
}
table th, table td {
    padding: 10px 20px;
}

table td span {
    /*background: #eee;*/
    /*color: dimgrey;*/
    display: none;
    font-size: 10px;
    font-weight: bold;
    padding: 5px;
    position: absolute;
    text-transform: uppercase;
    top: 0;
    left: 0;
}

.td-100 {
    width: 100%;
}

input:read-only, textarea:read-only  {
    background-color: whitesmoke;
}

.tnum {
    font-variant-numeric: tabular-nums;
}

.card:focus-within {
    box-shadow: 0 0.5em 1em -0.125em rgba(10, 10, 10, 0.3), 0 0px 0 1px rgba(10, 10, 10, 0.02);
}

/* Simple CSS for flexbox table on mobile */
@media(max-width: 800px) {
    table thead {
        left: -9999px;
        position: absolute;
        visibility: hidden;
    }
    table tr {
        border-bottom: 0;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        margin-bottom: 40px;
    }
    table td {
        border: 1px solid;
        margin: 0 -1px -1px 0;
        padding-top: 35px;
        position: relative;
        width: 50%;
    }
    table td span {
        display: block;
    }


}

/*
    2-columns layout switcher
    https://every-layout.dev/layouts/switcher/
*/
.switcher {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.switcher > * {
    flex-grow: 1;
    flex-basis: calc(( 30rem - 100%) * 999);
}

.mydropdown {
    position: absolute;
    height: 10rem;
    background-color: var(--color-background-offset);
    z-index: 888;
    width: 100%;
}

.alerts {
    position: fixed;
    left: calc(98vw - min(30rem, 90vw));
    top: 1rem;
    inline-size: min(30rem, 90vw);
    z-index: 100;
}

.sticky-top {
    /*position: sticky;*/
    /*top: 0;*/
}

.panel-block.htmx-swapping {
    opacity: 0;
    transition: opacity 1s ease-out;
}



.fade-me.htmx-swapping {
    opacity: 0;
    transition: opacity 1s ease-out;
}

.fade-me.htmx-added {
    opacity: 0;
    transition: opacity 1s ease-out;
}

.fade-me-in {
    opacity: 1;
    transition: opacity 1s ease-out;
}

.grid-payments {
    display: grid;
    grid-template-columns: 1fr 1fr 3fr 1fr 1fr 1fr;
    column-gap: .5rem;
    row-gap: .5rem;

    /*grid-template-rows: auto;*/
}

.payment-row {
    grid-column-start: 1;
    grid-column-end: end;
}

.grid-transactions {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 3fr 1fr;
    column-gap: .5rem;
    row-gap: .5rem;

    /*grid-template-rows: auto;*/
}

.tx-row {
    grid-column-start: 1;
    grid-column-end: end;
}

.gap-3 {
    gap: .5rem;
}

.icon-small {
    font-size: 1rem;
}

.icon-medium {
    font-size: 1.5rem;
}

.icon-large {
    font-size: 3rem;
}