# File lib/less/engine/nodes/element.rb, line 143
      def to_css path = [], env = nil
        path << @selector.to_css << name unless root?

#       puts "to_css env: #{env ? env.variables : "nil"}"
        content = @rules.select do |r|
          r.is_a?(Mixin::Call) || r.instance_of?(Property)
        end.map do |i|
          ' ' * 2 + i.to_css(env)
        end.compact.reject(&:empty?) * "\n"

        content = content.include?("\n") ? "\n#{content}\n" : " #{content.strip} "

        ruleset = if is_a?(Mixin::Def)
          content.strip
        else
          !content.strip.empty??
            "#{[path.reject(&:empty?).join.strip,
            *@set.map(&:name)].uniq * ', '} {#{content}}\n" : ""
        end

        ruleset + elements.reject {|e| e.is_a?(Mixin::Def) }.map do |i|
          i.to_css(path, env)
        end.reject(&:empty?).join

      ensure
        2.times { path.pop }
      end