﻿body {
    --block-color: #FF9500;
}

.graph-block {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

    .graph-block .graph-heading h3 {
        font-size: 1.625em;
        color: #101322 !important;
    }

    .graph-block .graph-title {
        font-family: museo,sans-serif;
        font-weight: bold;
        color: #232850;
        font-size: 1.25em;
        margin: 0 0 40px;
        text-align: center;
    }

    .graph-block .graph-type {
        font-family: museo,sans-serif;
        font-weight: bold;
        font-size: 1.625em;
        margin: 0 0 25px;
        text-align: center;
        color: #101322;
    }

    .graph-block .highlight-value {
        font-family: museo,sans-serif;
        font-size: 2.8125em;
        font-weight: bold;
        text-align: center;
        line-height: 1;
        margin: 0;
    }

    .graph-block .graph-heading {
        display: flex;
        align-items: center;
    }

        .graph-block .graph-heading h3 {
            margin: 0;
        }

    .graph-block .heading-icon {
        padding: 0 10px 0 0;
        margin: 0 0 15px;
    }

        .graph-block .heading-icon i {
            display: block;
            background-color: #012169;
            border-radius: 50%;
            width: 75px;
            height: 75px;
            line-height: 75px;
            font-size: 30px;
            color: var(--block-color);
            text-align: center;
        }

    .graph-block .graph-container .graph-row .graph-column {
        margin: 0 0 40px;
    }

        .graph-block .graph-container .graph-row .graph-column h3 {
            text-align: center;
        }

        .graph-block .graph-container .graph-row .graph-column .graph-heading-mobile {
            font-family: museo,sans-serif;
            font-size: 1em;
            font-weight: bold;
            text-align: center;
            line-height: 1;
            margin: 0 0 5px;
        }

    .graph-block .graph-wrap {
        position: relative;
        width: 300px;
        height: 300px;
        margin: 0 auto 30px;
    }

        .graph-block .graph-wrap .graph-change {
            position: absolute;
            top: 55%;
            left: 50%;
            transform: translate(-50%, -50%);
        }

    .graph-block .graph-column .value-wrap {
        width: 300px;
        padding: 30px 0;
        margin: 0 auto 30px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

        .graph-block .graph-column .value-wrap .highlight-value {
            width: 100%;
            padding: 12px 0 10px;
        }

            .graph-block .graph-column .value-wrap .highlight-value .key-block {
                display: inline-block;
                width: 40px;
                height: 40px;
                margin-right: 10px;
            }

    .graph-block .graph-column .graph-key {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-top: 10px;
    }

        .graph-block .graph-column .graph-key .key-value {
            margin-right: 20px;
            font-size: 1.25em;
            font-family: museo,sans-serif;
            font-weight: bold;
            line-height: 1;
            display: flex;
            justify-content: center;
            align-items: center;
        }

            .graph-block .graph-column .graph-key .key-value .key-block {
                width: 30px;
                height: 30px;
                margin-right: 5px;
                display: inline-block;
            }

.chart-accordion {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

    .chart-accordion .accordion-header {
        padding: 1.2rem 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        cursor: pointer;
        transition: all 0.2s ease-out;
    }

    .chart-accordion .accordion-header h3 {
        margin: 0;
    }

        .chart-accordion .accordion-header i {
            font-size: 30px;
            transition: 400ms all ease-in-out;
        }

    .chart-accordion.accordion-expand .accordion-header i {
        transform: rotate(180deg);
    }

    .chart-accordion .accordion-body {
        overflow: hidden;
        max-height: 0px;
        padding: 0;
        opacity: 0;
        transition: 400ms all ease-in-out;
    }

    .chart-accordion.accordion-expand .accordion-body {
        opacity: 1;
        max-height: 3000px;
        padding: 0;
    }

.chart-item {
    background-color: #F9F8F3;
    margin: 0 0 10px;
}

    .chart-item .chart-title {
        padding: 5px 10px;
        color: #101322;
        font-weight: 400;
        font-size: 0.9375em;
        line-height: 1.35;
    }

.chart-item .chart-wrap {
    height: 54px;
    position: relative;
}

.chart-item .chart-wrap .chart-wrap-inner {
    height: 100%;
}

    .chart-item .chart-wrap .no-value {
        position: absolute;
        left: 5px;
        bottom: 7px;
        font-size: 0.75em;
        line-height: 1;
        color: #101322;
        font-weight: 400;
    }

    .chart-item.chart-simple .chart-value {
        width: 60%;
        align-self: center;
        text-align: center;
        font-family: museo,sans-serif;
        font-size: 0.875em;
        font-weight: bold;
        color: #101322;
        line-height: 1.2;
    }

.chart-wrapper .chart-key {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin: 0 0 40px;
}

    .chart-wrapper .chart-key .key-value {
        margin-right: 20px;
        font-size: 0.8125em;
        font-family: museo,sans-serif;
        font-weight: bold;
        line-height: 1;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #232850;
    }

        .chart-wrapper .chart-key .key-value .key-block {
            width: 20px;
            height: 20px;
            margin-right: 5px;
            display: inline-block;
        }

            .chart-wrapper .chart-key .key-value .key-block.rented {
                background-color: #E62884;
            }

            .chart-wrapper .chart-key .key-value .key-block.shared {
                background-color: #21B8C3;
            }

.donut-categories-wrap {
    position: relative;
    margin: 0 0 40px;
}

    .donut-categories-wrap .donut-wrap {
        position: relative;
        aspect-ratio: 1;
        margin: 0 0 30px;
    }

        .donut-categories-wrap .donut-wrap .donut-interior {
            position: absolute;
            top: 48%;
            left: 50%;
            transform: translate(-50%,-50%);
            width: 65%;
            text-align: center;
            font-family: museo,sans-serif;
            font-size: 1.625em;
            font-weight: 500;
            line-height: 1.25;
            color: #232850;
        }

        .donut-categories-wrap .donut-wrap .donut-interior strong {
            display: block;
        }

    .donut-categories-wrap .donut-legend {
        padding: 0 2rem;
    }

.donut-categories-wrap .donut-legend ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
    .donut-categories-wrap .donut-legend ul li {
        display: flex;
        align-items: center;
        margin-bottom: 15px;
    }

        .donut-categories-wrap .donut-legend ul li span {
            width: 20px;
            height: 20px;
            border-radius: 50%;
            flex: 0 0 auto;
        }

        .donut-categories-wrap .donut-legend ul li p {
            margin: 0;
            padding: 0 0 0 15px;
            font-weight: 500;
            line-height: 1;
            color: #232850;
        }


@media all and (min-width: 768px) {
    .graph-block .heading-icon {
        margin: 0;
    }

    .graph-block .graph-container {
        padding: 15px 0 0;
    }

        .graph-block .graph-container .graph-row {
            margin: 0 0 30px;
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
        }

            .graph-block .graph-container .graph-row .graph-column {
                width: 50%;
            }

            .graph-block .graph-container .graph-row.bordered {
                border: 1px solid var(--block-color);
                border-width: 1px 0 1px 0;
                padding: 12px 0 10px;
            }

                .graph-block .graph-container .graph-row.bordered .graph-column {
                    margin: 0;
                }

            .graph-block .graph-container .graph-row .graph-column .graph-heading-mobile {
                display: none;
            }

    .graph-block .graph-column .value-wrap {
        width: 300px;
        height: 300px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
        .graph-block .graph-column .value-wrap .highlight-value {
            border: 1px solid var(--block-color);
            border-width: 1px 0 1px 0;
        }

            .graph-block .graph-column .value-wrap .highlight-value + .highlight-value {
                border-top-width: 0px;
            }

    .chart-item {
        display: flex;
        height: 54px;
    }

        .chart-item .chart-title {
            width: 40%;
            padding: 5px 25px 5px 10px;
        }

        .chart-item .chart-wrap {
            width: 60%;
            height: 100%;
        }

    .donut-categories-wrap {
        display: flex;
        align-items: center;
        height: 490px;
    }

        .donut-categories-wrap .donut-wrap {
            width: 50%;
        }

        .donut-categories-wrap .donut-legend {
            width: 50%;
        }
}

@media all and (min-width: 1200px) {
    .graph-block .graph-container {
        margin-left: 85px;
        width: calc(100% - 85px);
        padding: 0;
    }
}