html body[ng-app] *.force-dispaly-none {
    display: none !important;
    height: 0px !important;
    width: 0px !important;
}
.row-flex {
    display: flex !important;
    flex-flow: wrap !important;
}

.row-flex [class^="col-"] ._itemsProduct {
    min-height: auto !important;
}
.row-flex.fit-center {
	justify-content: center;
}
.display-table {
    position: relative;
    display: table;
    table-layout: fixed;
    height: 100%;
}

.display-table .display-table-cell {
    position: relative;
    display: table-cell;
    vertical-align: middle;
}

body[ng-app] div[ng-controller] .material-icons {
    font-size: 24px;
    vertical-align: middle;
    float: left;
}  
body[ng-app] div[ng-controller] *[data-button*="_small"] .material-icons {
    font-size: 20px;
    vertical-align: middle;
    float: left;        
}  

body[ng-app] div[ng-controller] *.fa {
    font-family: 'Fontawesome' !important;
}  

body[ng-app] div[ng-controller] *.material-icons {
    font-family: 'Material Icons' !important;
}
*[data-on="finish-data"]{
    display: none;
    opacity: 0;
    transition: all 1s;
}
.data_loaded[data-on="finish-data"]{
    opacity: 1;
}

/* Flex */
.flex-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    clear: both;    
}
.flex-row.space-between {
    justify-content: space-between;
}
.flex-row.space-around {
    justify-content: space-around;
}
.flex-row.center {
    justify-content: center;
}
.flex-row.flex-start {
    justify-content: flex-start;
}
.flex-row.flex-end {
    justify-content: flex-end;
}
.flex-row.flex-less-than {
    justify-content: flex-start;
}
.flex-row [class^="flex-"] {
    display: flex;
}

/* extra */
@media (max-width: 767px) { 
    .flex-xs-1 { width: calc(8.33% - 30px); }
    .flex-xs-2 { width: calc(16.66% - 30px); }
    .flex-xs-3 { width: calc(25% - 30px); }
    .flex-xs-4 { width: calc(33.33% - 30px); }
    .flex-xs-5 { width: calc(41.66% - 30px); }
    .flex-xs-6 { width: calc(50% - 30px); }
    .flex-xs-7 { width: calc(58.33% - 30px); }
    .flex-xs-8 { width: calc(66.66% - 30px); }
    .flex-xs-9 { width: calc(75% - 30px); }
    .flex-xs-10 { width: calc(83.33% - 30px); }
    .flex-xs-11 { width: calc(91.66% - 30px); }
    .flex-xs-12 { width: calc(100% - 0px); }

}
/* small */
@media (min-width:768px) and (max-width: 991px) {
    .flex-sm-1 { width: calc(8.33% - 30px); }
    .flex-sm-2 { width: calc(16.66% - 30px); }
    .flex-sm-3 { width: calc(25% - 30px); }
    .flex-sm-4 { width: calc(33.33% - 30px); }
    .flex-sm-5 { width: calc(41.66% - 30px); }
    .flex-sm-6 { width: calc(50% - 30px); }
    .flex-sm-7 { width: calc(58.33% - 30px); }
    .flex-sm-8 { width: calc(66.66% - 30px); }
    .flex-sm-9 { width: calc(75% - 30px); }
    .flex-sm-10 { width: calc(83.33% - 30px); }
    .flex-sm-11 { width: calc(91.66% - 30px); }
    .flex-sm-12 { width: calc(100% - 0px); }
}
/* Medium  */
@media (min-width: 992px) and (max-width: 1200px) {
    .flex-md-1 { width: calc(8.33% - 30px); }
    .flex-md-2 { width: calc(16.66% - 30px); }
    .flex-md-3 { width: calc(25% - 30px); }
    .flex-md-4 { width: calc(33.33% - 30px); }
    .flex-md-5 { width: calc(41.66% - 30px); }
    .flex-md-6 { width: calc(50% - 30px); }
    .flex-md-7 { width: calc(58.33% - 30px); }
    .flex-md-8 { width: calc(66.66% - 30px); }
    .flex-md-9 { width: calc(75% - 30px); }
    .flex-md-10 { width: calc(83.33% - 30px); }
    .flex-md-11 { width: calc(91.66% - 30px); }
    .flex-md-12 { width: calc(100% - 0px); }

    .flex-less-than .flex-md-3 {
        margin-left: calc(30px + (30px / 3));
    }    
    .flex-less-than .flex-md-3:first-child {
        margin-left: 0px;
    }
    .flex-less-than .flex-md-4 {
        margin-left: calc(30px + (30px / 2));
    }    
    .flex-less-than .flex-md-4:first-child {
        margin-left: 0px;
    }
}
/* Large */
@media (min-width: 1201px) {
    .flex-lg-1 { width: calc(8.33% - 30px); }
    .flex-lg-2 { width: calc(16.66% - 30px); }
    .flex-lg-3 { width: calc(25% - 30px); }
    .flex-lg-4 { width: calc(33.33% - 30px); }
    .flex-lg-5 { width: calc(41.66% - 30px); }
    .flex-lg-6 { width: calc(50% - 30px); }
    .flex-lg-7 { width: calc(58.33% - 30px); }
    .flex-lg-8 { width: calc(66.66% - 30px); }
    .flex-lg-9 { width: calc(75% - 30px); }
    .flex-lg-10 { width: calc(83.33% - 30px); }
    .flex-lg-11 { width: calc(91.66% - 30px); }
    .flex-lg-12 { width: calc(100% - 0px); }

    .flex-less-than .flex-lg-3{
        margin-left: calc(30px + (30px / 3));
    }    
    .flex-less-than .flex-lg-3:first-child {
        margin-left: 0px;
    }
    .flex-less-than .flex-lg-4{
        margin-left: calc(30px + (30px / 2));
    }    
    .flex-less-than .flex-lg-4:first-child {
        margin-left: 0px;
    }
}