* {
    box-sizing: border-box;
    font-family: Arial, Helvetica, sans-serif;
}

body {
    background-color: #eee;
}



.container {
    width: 600px;
    height: 250px;
    background-color: white;
    padding: 20px;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
}

/* Media Queries */
@media (max-width:767px) {
    .container {
        width: 350px;
    }
}


.container div {
    margin-bottom: 30px;
    position: relative;
}

/* Animations  */

@keyframes fill-bar {

    0% {
        width: 0%;
        opacity: 1;
    }

    20% {
        width: 20%;
    }

    50% {
        width: 50%;
    }

    100% {
        opacity: 1;
    }

}

@keyframes opacity {
    0% {
        opacity: 0;
        left: 0;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }


}
/* End Of Animation */

/* Start Of Progress Bar */

.container div::before,
.container div::after {
    content: '';
    height: 5px;
    position: absolute;
    bottom: -10px;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    left: 0;
}

.container div::before {
    width: 100%;
    background-color: #eee;
}

.container div::after {
    opacity: 0;
    animation: fill-bar 3s linear forwards;
    -webkit-animation: fill-bar 3s linear forwards;
}

.container div:first-child:after {
    width: 80%;
    background-color: dodgerblue;
}

.container div:nth-child(2)::after {
    width: 55%;
    background-color: orange;
}

.container div:last-child::after {
    width: 75%;
    background-color: green;
}

/* End Of Progress Bar */



.container div p {
    margin: 0 0 5px;
    padding: 0;
}

.container div p:first-of-type {
    color: #777;
}

.container div p:last-of-type {
    font-weight: bold;
}

/* Start Of Progress Percentage */

.container div span {
    width: 35px;
    text-align: center;
    padding: 3px;
    color: white;
    font-size: 13px;
    bottom: 7px;
    transform: translate(50%, 0);
    -webkit-transform: translate(50%, 0);
    -moz-transform: translate(50%, 0);
    -ms-transform: translate(50%, 0);
    -o-transform: translate(50%, 0);
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    position: absolute;
    opacity: 0;
    animation: opacity 3.1s linear forwards;
    -webkit-animation: opacity 3.1s linear forwards;
}



.container div:first-child span {
    background-color: dodgerblue;
    left: calc(80% - 35px);
}

.container div:nth-child(2) span {
    background-color: orange;
    left: calc(55% - 35px);
}

.container div:last-child span {
    background-color: green;
    left: calc(75% - 35px);
}




/* Arrow Of Percentage */

.container div span::before {
    content: '';
    border: 7px solid transparent;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
}

.container div:first-child span::before {
    border-top-color: dodgerblue;
}

.container div:nth-child(2) span::before {
    border-top-color: orange;
}

.container div:last-child span::before {
    border-top-color: green;
}

/* End of Progress Percentage */