@import url(basic.css);
@import url(../results/complex.css);
imported { otherconst: hello; myconst: goodbye; pre-mixin: here; }

body { font: Arial; background: blue; }

#page { width: 700px; height: 100; }
#page #header { height: 300px; }
#page #header h1 { font-size: 50px; color: blue; }

#content.user.show #container.top #column.left { width: 100px; }
#content.user.show #container.top #column.right { width: 600px; }
#content.user.show #container.bottom { background: brown; }

midrule { inthe: middle; }

body { font: Arial; background: blue; }

#page { width: 700px; height: 100; }
#page #header { height: 300px; }
#page #header h1 { font-size: 50px; color: blue; }

#content.user.show #container.top #column.left { width: 100px; }
#content.user.show #container.top #column.right { width: 600px; }
#content.user.show #container.bottom { background: brown; }

#foo { background-color: #baf; }

nonimported { myconst: hello; otherconst: goodbye; post-mixin: here; }
