* { box-sizing: border-box; } body, html { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 12px; height: 100%; padding: 0; margin: 0; } a:link { text-decoration: none; } .content, .content > div { width: 100%; height: 100%; } .content > .message { text-align: center; display: table; font-size: 16px; color: #111; } .content > .message .note { vertical-align: middle; text-align: center; display: table-cell; } .content .error .details { max-width: 500px; font-size: 12px; margin: 20px auto; text-align: left; } .content .error pre { border: solid 1px #CCC; background: #EEE; padding: 10px; } .content:not(.with-error) .error, .content.with-error .intro, .content.with-diagram .intro { display: none; } .content .canvas, .content.with-error .canvas { visibility: hidden; } .content.with-diagram .canvas { visibility: visible; } .buttons { position: fixed; bottom: 20px; left: 20px; padding: 0; margin: 0; list-style: none; } .buttons > li { display: inline-block; margin-right: 10px; } .buttons > li > a { background: #DDD; border: solid 1px #666; display: inline-block; padding: 5px; } .buttons a { opacity: 0.3; } .buttons a.active { opacity: 1.0; }