What is the different between .class.class and .class .class?
.class .class matches any elements of class .class that are descendants of another element with the class .class.
.class.class matches any element with both classes.
.class.class can also be used avoid the use of !important in case that a higher specificity selector prevents your rule from being applied.
In this case there are not two classes in an element. You just repeat the class which specificity you want to increase, like
(HTML) <div class="something">...</div>
(CSS) .something.something {}
.name1.name2
means a div or an element having both classes together, for example:
<div class="name1 name2">...</div>
.name1 .name2
means a div or an element which has a class name1 and any of its child nodes having class name2
<div class="name1">
<div class="name2">
...
</div>
</div>
.class1.class2
Element that has both class1 and class2 set within it's class attribute (like that: class="class1 class2")
.class1 .class2
Element with class2 that is a descendant of an element with class1 class