/*********************
 * Graph Holder styles *
 *********************/

/** Graph Holder container **/
.graph-container {
    position: relative; /* required Y axis stuff, Graph Holder's left and bottom sides to be positions properly */
    display: inline-block; /* display: table may also work.. */
    padding: 0; /* let the bars position themselves */
    list-style: none; /* we don't want to see any default <ul> markers */
    font-size: 0.8em;
    width: 100%;
    justify-content: space-between;
    display: flex;
}


/* Bars and X-axis labels holder */
.graph-container > li {
    float: left; /* Make sure bars are aligned one next to another */
    position: relative; /* Make sure X-axis labels are positioned relative to this element */
    display: flex;
    width: 6%;
}
/* X-axis labels */
.graph-container > li > span {
    position: absolute;
    left: 0;
    bottom: -2em;
    width: 50%; /* play with this one if you change perspective depth */
    text-align: center;
	font-weight: bold;
	text-shadow: 1px 1px 1px rgba(255,255,255,0.7);
	color: #777;
    font-size: 1.5em;
}


/*********************
 * Graph Bars styles *
 *********************/

/* Bar wrapper - hides the inner bar when it goes below the bar, required */
.bar-wrapper {
    /*overflow: hidden;*/
    padding-bottom: 100px;
}
.bar-wrapper.sub {
    position: absolute;
    bottom: -5px;
    left: 29px;
}

.bar-wrapper:hover .bar-inner {
    margin-top: 0px;
}

/* Bar container - this guy is a real parent of a bar's parts - they all are positioned relative to him */
.bar-container {
    position: relative;
    margin-top: 10px; /* should be at least equal to the top offset of background casing */
    /* because back casing is positioned higher than actual bar */
    width: 44px; /* required, we have to define the width of a bar */
    transition: all 0.2s ease-out;
}
.bar-wrapper.sub .bar-container{
    width: 20px;
    height: 10em;
}

/* right bottom patch - make sure inner bar's right bottom corner is "cut" when it slides down */
.bar-container:before {
    transform: rotateY(45deg);
    content: "";
    position: absolute;
    z-index: 3; /* to be above .bar-inner */

    bottom: 0;
    right: 0;

    /* Use bottom border to shape triangle */
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 2.5em 2.5em;
    border-color: transparent;
}
/* Month Label */
.bar-container span{
    position: absolute;
    bottom: -50px;
    font-family: Roboto;
    line-height: 25px;
    font-size: 17px;
    color: #1E1F25;
    width: 100%;
    text-align: center;
}
.bar-container.no-color span{
    color: #B5BAC7;
    width: 100%;
}

.bar-inner {
    position: absolute;
    width: 22px;
    height: 100%;
    top: 0;
    left: 0;
}
.bar-wrapper.sub .bar-inner {
    width: 10px;
}
.bar-inner:before,
.bar-inner:after {
    content: "";
    position: absolute;
}

/* Right front panel */
.bar-inner:before {
    top: -10px;
    right: -23px;
    width: 23px;
    height: 100%;
    -webkit-transform: skew(0deg, -45deg);
    -moz-transform: skew(0deg, -45deg);
    -o-transform: skew(0deg, -45deg);
    -ms-transform: skew(0deg, -45deg);
    transform: skew(0deg, -45deg);
}
.bar-wrapper.sub .bar-inner:before{
    width: 11px;
    right: -11px;
    top: -3px;
}

/* Top front panel */
.bar-inner:after {
    top: -22px;
    right: -13px;
    width: 122%;
    height: 23px;
    -webkit-transform: skew(-45deg);
    -moz-transform: skew(-45deg);
    -o-transform: skew(-45deg);
    -ms-transform: skew(-45deg);
    transform: skew(-45deg);
}
.bar-wrapper.sub .bar-inner:after{
    width: 142%;
    height: 11px;
    top: -9px;
    right: -6px;
}

/** BAR's inner block **/
.bar-inner {
    z-index: 2; /* to be above .bar-background */
    top: auto; /* reset position top */
    height: 0;
    bottom: -2.5em;
    color: transparent; /* hide text values */

    transition: height 0.4s ease-in-out, bottom 0.4s ease-in-out;
    transform: skew(0, 24deg);
}

/******************************************************************************
 **                                                                          **
 ** UI Elements                                                              **
 **                                                                          **
 ** You don't need this stuff in general, it's just used  for the demo page  **
 **                                                                          **
 ******************************************************************************/


/* Change bars fill when a Product is selected */
/* None */
.graph-container > li .bar-inner { height: 0; bottom:0; }
.graph-container .bar-inner { 
    background-color: #00AEFC; 
}
.product1 .graph-container .bar-inner { 
    border-left: 2px solid #244DB5 !important;
    border-bottom: 2px solid #244DB5 !important;
}
.graph-container .bar-wrapper.sub .bar-inner { 
    background-color: #FFF; 
}
.graph-container .bar-inner:before { 
    background-color: #FFF;
 }
 .product1 .graph-container .bar-inner:before { 
    border: 2px solid #244DB5 !important;    
    border-top: none !important;
 }
.graph-container .bar-inner:after { 
    background-color: #00AEFC; 
    border: 2px solid #244DB5 !important;
}
.graph-container .bar-wrapper.sub .bar-inner:after { 
    background-color: #FFF; 
}

.graph-container > li:nth-child(1) .bar-inner { height: 0%; bottom: 0; transition-delay: 0.00s; }
.graph-container > li:nth-child(2) .bar-inner { height: 0%; bottom: 0; transition-delay: 0.05s; }
.graph-container > li:nth-child(3) .bar-inner { height: 0%; bottom: 0; transition-delay: 0.10s; }
.graph-container > li:nth-child(4) .bar-inner { height: 0%; bottom: 0; transition-delay: 0.15s; }
.graph-container > li:nth-child(5) .bar-inner { height: 0%; bottom: 0; transition-delay: 0.20s; }
.graph-container > li:nth-child(6) .bar-inner { height: 0%; bottom: 0; transition-delay: 0.25s; }
.graph-container > li:nth-child(7) .bar-inner { height: 0%; bottom: 0; transition-delay: 0.30s; }
.graph-container > li:nth-child(8) .bar-inner { height: 0%; bottom: 0; transition-delay: 0.35s; }
.graph-container > li:nth-child(9) .bar-inner { height: 0%; bottom: 0; transition-delay: 0.40s; }
.graph-container > li:nth-child(10) .bar-inner { height: 0%; bottom: 0; transition-delay: 0.45s; }
.graph-container > li:nth-child(11) .bar-inner { height: 0%; bottom: 0; transition-delay: 0.50s; }
.graph-container > li:nth-child(12) .bar-inner { height: 0%; bottom: 0; transition-delay: 0.55s; }

/* Product 1 */
.graph-container .no-color .bar-inner,
.graph-container .no-color .bar-inner:before,
.graph-container .no-color .bar-inner:after,
.graph-container .bar-wrapper.sub .no-color .bar-inner,
.graph-container .bar-wrapper.sub .no-color .bar-inner:before,
.graph-container .bar-wrapper.sub .no-color .bar-inner:after { 
    background: #fff !important;
    border-color: #B5BAC7 !important;
 } 

.product1 .graph-container > li:nth-child(1) .bar-inner { height: 35%; }
.product1 .graph-container > li:nth-child(2) .bar-inner { height: 30%; }
.product1 .graph-container > li:nth-child(3) .bar-inner { height: 35%; }
.product1 .graph-container > li:nth-child(4) .bar-inner { height: 30%; }
.product1 .graph-container > li:nth-child(5) .bar-inner { height: 50%; }
.product1 .graph-container > li:nth-child(6) .bar-inner { height: 60%; }
.product1 .graph-container > li:nth-child(7) .bar-inner { height: 70%; }
.product1 .graph-container > li:nth-child(8) .bar-inner { height: 60%; }
.product1  .graph-container > li:nth-child(9) .bar-inner { height: 80%; }
.product1  .graph-container > li:nth-child(10) .bar-inner { height: 60%; }
.product1  .graph-container > li:nth-child(11) .bar-inner { height: 70%; }
.product1  .graph-container > li:nth-child(12) .bar-inner { height: 80%; }

.graph-container .bar-container,
.graph-container:after { 
    height: 16em;
}
/* .graph-container > li:last-child {
    height: 16em;
} */

/******************************************************************************
 **                                                                          **
 ** VARIABLES                                                                **
 **                                                                          **
 ******************************************************************************/

/****************
 * SPACING      *
 ****************/

/* spacing between bars */
.graph-container > li .bar-container {
    margin-right: 0em;
}
/* spacing before first bar */
/* .graph-container > li:first-child {
    margin-left: 1.5em;
} */

/****************
 *    Colors    *
 ****************/

.button-label{
	font-weight: bold;
	color: #aaa;
	line-height: 40px;
	text-shadow: 1px 1px 1px rgba(255,255,255,0.8);
	display: inline;
	margin: 0 10px 0 20px;
}
.button-label:before { 
	content: " "; 
	white-space: wrap; 
}
/******************************************************************************
 **                                                                          **
 ** RESPONSIVENESS                                                           **
 **                                                                          **
 ** Just as an example to show you the way how to resize the graph 			 **
 **                                                                          **
 ******************************************************************************/
 
@media screen and (max-width: 1125px) {
	.graph-container{ font-size: 0.7em; }
}
@media screen and (max-width: 1050px) {
	.graph-container{ font-size: 0.6em; }
}
@media screen and (max-width: 900px) {
	.button-label{ margin: 0 10px 0 0; }
	.button-label:before { content:"\A"; white-space: pre;  }
}
@media screen and (max-width: 765px) {
	.graph-container { font-size: 0.5em; }
}
@media screen and (max-width: 720px) {
	.graph-container { font-size: 0.45em; }
}
@media screen and (max-width: 630px) {
    .graph-container { font-size: 0.32em; }
    .bar-container{width: 20px;}
    .bar-container span{font-size: 7px;}
    .bar-inner{
        width: 10px;
    }
    .bar-inner::before{
        top: -4px;
        right: -10px;
        width: 10px;
        height: 102%
    }
    .bar-inner::after{
        top: -10px;
        right: -5px;
        width: 10.5px;
        height: 10px;
    }
    .bar-wrapper.sub {
        position: absolute;
        bottom: -3px;
        left: 15px;
    }
    .bar-wrapper.sub .bar-inner{
        width: 6px;
    }
    .bar-wrapper.sub .bar-inner:before {
        width: 7px;
        right: -6px;
        top: -2px;
    }
    .bar-wrapper.sub .bar-inner:after {
        width: 6.5px;
        height: 6.5px;
        top: -6.5px;
        right: -3px;
    } 
}
@media screen and (max-width: 450px) {
	.graph-container { font-size: 0.22em; }
	.button-label{ margin: 0 5px 0 0;}
}