CSS generator from C++ code an alternative for various CSS preprocessors
#include <iostream>
#include <string>
#include <vector>
#include <map>
#include <memory>
#include <iomanip>

#include "include/cssGen.h"
#include "include/mediaSizeDIVI.h"

    int Option::indent = 3;

int main() {    

    string grid = "grid";
    // -------
    string pageWidth = "80%";
    // -------    
    Style marginZero {"margin", "0 auto"};
    Style defaultPadding {"padding", "10px"};

    CssRule page(Element(CLASS, "page") );
    
        page << Style("width", "80%");
        page << marginZero;
        page << defaultPadding;

    CssRule mainGrid({ {CLASS, grid }, {CLASS, "top-navigation"} });
    
        mainGrid << Style("display","flex");
    
    CssRule mainGrid2;
    
    for (int i = 1; i < 7; i++) {
        
        string si    = to_string(i);
        string ical  = to_string(100.0/i);
            
        mainGrid2 + Element(CLASS, grid+"-1-of-"+si);
        mainGrid2 <<  Style("flex", "0 1 calc("+ical+"% + 10px*2)");
    }

    mainGrid2 << Style("flex", "1 0");
    mainGrid2 << Style("box-sizing", "border-box");
    mainGrid2 << Style("flex-wrap", "wrap");
    
    SelectorGroup defaultGroup {
      make_shared<CssRule>(page), 
      make_shared<CssRule>(mainGrid),
      make_shared<CssRule>(mainGrid2)
    };

    StyleGroup groupTest(defaultGroup);  

    groupTest.gen();

    return 0;
}