Formateado para legibilidad

He formateado el código con indentación para que se vean mejor la pertenencia de los bloques. También he bajado algunos "}" que impedían ver rápidamente dónde terminaba el bloque. 
Creo que queda más legible y se ve mejor la herencia de elementos a simple vista sin tener que ir buscando algunos "}" perdidos.