Question: How would I achieve a grid layout similar to the one below through the use of CSS and HTML? I've attempted the use of floating and margins, but that's only allowed me to replicate the first row.
![Div grid](https://i.stack.imgur.com/Q3fk5.jpg)

Current HTML

```
<div id="lens_logo"><img src="images/about-lens.png"></div>
<div id="lightfield_logo"></div>
<div id="body_logo"></div>
<div id="spec_logo"></div>

```

Current CSS

```
#lens_logo {
    height: 200px;
    width: 350px;
    margin-left: 50px;
    margin-bottom: 50px;
    float: left;
    background-color: #000;
}

#lightfield_logo {
    height: 200px;
    width: 350px;
    margin-left: 200px;
    margin-bottom: 50px;
    float: left;
    background-color: #000;
}

#body_logo {
    height: 200px;
    width: 350px;
    background-color: #000;
    margin-left: 200px;
    float: left;
}

#spec_logo {
    height: 200px;
    width: 350px;
    background-color: #000;
    margin-left: 200px;
    float: left;
}

```

Which produces this result:
![Current](https://i.stack.imgur.com/D0HAp.png)

Answer: 
`__mro__` is only defined for [new-style classes](https://stackoverflow.com/questions/54867/what-is-the-difference-between-old-style-and-new-style-classes-in-python). In Python 2, a class is only new-style if it inherits from `object` (or from a built in type, which in turn inherits from `object`), while all classes in Python 3 are new-style no matter what.
The `__mro__` is only defined for *new style classes*, those that inherit from Python `object`.

In Python 3, *all* classes are new-style classes. They inherit from `object` implicitly. In other words, old-style Python 2 classes have been removed from the language.