* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'DM Sans', sans-serif;
}

body {
    background-color: hsl(27, 66%, 92%);
    width: 100vw;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* ------------- MAIN CONTAINER ------------- */
.main_container {
    width: 93%;
}

/* ------------- BALANCE CONTAINER ------------- */
.balance_container {
    background-color: hsl(10, 79%, 65%);
    color: white;
    border-radius: 10px;
    padding: 15px;
    margin-bottom: 20px;
}

.balance_content > h3 {
    font-weight: 400;
}

.balance_content > h2 {
    font-weight: 700;
}


/* ------------- THE CHART ------------- */
.chart_container {
    background-color: hsl(33, 100%, 98%);
    color: hsl(25, 47%, 15%);
    border-radius: 15px;
    padding: 30px;
}

.chart_container > h3 {
    font-weight: 700;
}

.chart {
    height: 250px; 
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    margin: 20px;
}

.bar {
    flex: 1;
    background-color: hsl(10, 79%, 65%); 
    text-align: center;
    border-radius: 3px;
}

.topBar {
    flex: 1;
    background-color: hsl(186, 34%, 60%); 
    text-align: center;
    border-radius: 3px;
}

.topBar:hover {
    background-color: rgba(118, 181, 188, 0.6); 
}

.bar:hover {
    background-color: rgba(236, 119, 95, 0.6); 
}

.labels {
    border-bottom: 2px solid hsl(27, 66%, 92%);
}

.labels > span {
    color: hsl(28, 10%, 53%);
    font-size: 0.8rem;
    margin-top: -10px;
    margin-right: 27px;
}

.chart_col {
    background-color: hsl(10, 79%, 65%);
    height: 100px;
    width: 45px;
    border-radius: 5px;
}  

.popup {
    display: none;
    position: absolute;
    background-color: hsl(25, 47%, 15%);
    color: white;
    padding: 5px;
    border-radius: 5px;
}


/* ------------- LAST INFORMATIONS ------------- */
.this_month > h6 {
    color: hsl(28, 10%, 53%);
}

.this_month > h1 {
    font-weight: 700;
}

.last_month > span {
    font-weight: 700;
}

.last_month > p {
    color: hsl(28, 10%, 53%);
}

/* ------------- FOOTER ------------- */
.attribution { 
    font-size: 11px; text-align: center; 
}

.attribution a { 
    color: hsl(228, 45%, 44%); 
}


/* MEDIA QUERIES */
/* Tablet size */
@media (min-width: 768px) {
    .main_container {
        width: 50%;
    }
}

/* Laptop size */
@media (min-width: 1024px) {
    .main_container {
        width: 40%;
    }
}

/* Desktop size */
@media (min-width: 1440px) {
    .main_container {
        width: 30%;
    }
}

/* 4K */
@media (min-width: 2560px) {
    .main_container {
        width: 20%;
    }
}