CSS/LESS Coding Convention
Improvements? Suggestions? email dna@hola.org
General CSS
Consistent and Minimal
 Most important rules:
Be consistent.
Be minimal.
Use tools.
 Read these sections carefully. 
React
Scope
Write CSS per component.
let Btn = props=><a className="main_links" href={props.href}>
    {props.children}</a>;
let Contact_link = props=><a className="main_links" href={props.href}>
    {props.children}</a>;
let Btn = props=><a className="btn" href={props.href}>{props.children}</a>;
let Contact_link = props=><Btn {...props}/>;
.btn {
    color: @dark_blue;
}
Keep the same syling wherever the component is used: don't nest component CSS inside a different component.
.main_page {
    .btn {
        color: @white;
    }
}
.main_page {
    color: @white;
}
.btn {
    color: @dark_blue;
    .btn-main {
        color: @white;
    }
}
Flat
Make all component CSS global. A component should look the same in on any page in and inside any other component.
.main_page {
    .btn {
        color: @dark_blue;
    }
}
.btn {
    color: @dark_blue;
}
Nest component sub-classes inside the component less to group the definitions together.
.btn {
    padding: 5px;
}
.btn-text {
    color: @dark_blue;
}
.btn {
    padding: 5px;
    .btn-text {
        color: @dark_blue;
    }
}
Inside a component's class keep it flat - only one level of nesting.
.btn {
    padding: 5px;
    .btn-left {
        float: left;
        .btn-text {
            color: @dark_blue;
        }
    }
}
.btn {
    padding: 5px;
    .btn-left {
        float: left;
    }
    .btn-text {
        color: @dark_blue;
    }
}
Naming
Use Unix notation for naming
.startButton {
    color: @white;
}
.start-button {
    color: @white;
}
.start_button {
    color: @white;
}
Use the same name as the react component
let Btn = props=><a className="button_round" href={props.href}>
    {props.children}</a>;
let Btn = props=><a className="btn" href={props.href}>
    {props.children}</a>;
Use parent class name to prefix inner class names to pervent collisions.
.btn {
    .text {
          color: @white;
    }
}
.btn {
    .btn-text {
          color: @white;
    }
}
Use dash "-" as a delimiter between prefixes.
.btn {
    .btn_text {
          color: @white;
    }
}
.btn {
    .btn-text {
          color: @white;
    }
}
Use "sc_" as a prefix for sections.
let Many_ips = props=><Section className="many_ips">
    <h2>title</h2></Section>;
let Many_ips = props=><Section className="sc_many_ips">
    <h2>title</h2></Section>;
Do not use "ad-" prefix for class names. Such items can be removed by ad blockers. Check that your code works with the ad blockers enabled.
.ad-text {
    color: @white;
}
.item-text {
    color: @white;
}
HTML
TBD