Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Delta Between Two Patch Sets: skin/firstRun.css

Issue 29565721: No Issue - Implemented first run page Base URL: https://hg.adblockplus.org/adblockplusui/
Left Patch Set: Addressed newest round of feedback Created Oct. 20, 2017, 2:43 p.m.
Right Patch Set: Addressed latest round of feedback Created Jan. 30, 2018, 2:06 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
LEFTRIGHT
1 /* 1 /*
Thomas Greiner 2018/02/16 16:19:15 It is difficult to distinguish styles that are com
2 * This file is part of Adblock Plus <https://adblockplus.org/>, 2 * This file is part of Adblock Plus <https://adblockplus.org/>,
juliandoucette 2017/10/21 16:18:46 Please keep the spaces before "*" in these comment
martin 2017/10/26 10:33:17 At first I wasn't sure what you meant exactly, but
3 * Copyright (C) 2006-present eyeo GmbH 3 * Copyright (C) 2006-present eyeo GmbH
4 * 4 *
5 * Adblock Plus is free software: you can redistribute it and/or modify 5 * Adblock Plus is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 3 as 6 * it under the terms of the GNU General Public License version 3 as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
8 * 8 *
9 * Adblock Plus is distributed in the hope that it will be useful, 9 * Adblock Plus is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details. 12 * GNU General Public License for more details.
13 * 13 *
14 * You should have received a copy of the GNU General Public License 14 * You should have received a copy of the GNU General Public License
15 * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. 15 * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>.
16 */ 16 */
Thomas Greiner 2018/02/16 16:19:15 Detail: What happened to the whitespaces here?
17
18 @font-face
juliandoucette 2017/10/21 16:18:43 This doesn't seem to be used anywhere?
martin 2017/10/26 10:33:17 Done.
19 {
20 font-family: "Source Sans Pro";
21 font-style: normal;
22 font-weight: 300;
23 font-stretch: normal;
24 src: local ("Ø"),
25 url(fonts/SourceSansPro-Light.woff) format("otf");
26 }
27 17
28 @font-face 18 @font-face
29 { 19 {
30 font-family: "Source Sans Pro"; 20 font-family: "Source Sans Pro";
31 font-style: normal; 21 font-style: normal;
32 font-weight: 400; 22 font-weight: 400;
33 font-stretch: normal; 23 font-stretch: normal;
34 src: local ("Ø"), 24 src: local ("Ø"),
35 url(fonts/SourceSansPro-Regular.woff) format("woff"); 25 url(fonts/SourceSansPro-Regular.woff) format("woff");
36 } 26 }
37 27
38 @font-face 28 @font-face
39 { 29 {
40 font-family: "Source Sans Pro"; 30 font-family: "Source Sans Pro";
41 font-style: normal; 31 font-style: bold;
juliandoucette 2017/10/21 16:18:43 NIT: You could name this "bold"
martin 2017/10/26 10:33:17 Done.
42 font-weight: 700; 32 font-weight: 700;
43 font-stretch: normal; 33 font-stretch: normal;
44 src: local ("Ø"), 34 src: local ("Ø"),
45 url(fonts/SourceSansPro-bold.woff) format("woff"); 35 url(fonts/SourceSansPro-bold.woff) format("woff");
46 } 36 }
47 37
48
49 html 38 html
50 { 39 {
51 font-family: "Source Sans Pro", Helvetica, Arial, sans-serif; 40 font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
52 } 41 }
53 42
54 body 43 body
55 { 44 {
56 margin: 0; 45 margin: 0;
57 padding: 0; 46 padding: 0;
58 } 47 }
59 48
60 .container
61 {
62 width: 80%;
juliandoucette 2017/10/21 16:18:43 new abp.org uses website-defaults .container width
martin 2017/10/26 10:33:19 Honestly I chose to override the default for the s
63 max-width: 100%;
64 margin: 0 auto 8em;
juliandoucette 2017/10/21 16:18:44 NIT: `.container` is a very general class. It's me
martin 2017/10/26 10:33:18 Done.
65 padding: 0px 1em;
66 }
67
68 .ta-centre 49 .ta-centre
69 { 50 {
70 text-align: center; 51 text-align: center;
71 } 52 }
72 53
54 #content {
55 margin-bottom: 3em;
56 }
57
73 @media (max-width: 992px) 58 @media (max-width: 992px)
74 { 59 {
75 #content-columns-container > .one-third 60 #content .one-third
juliandoucette 2017/10/21 16:18:44 NIT: `#content-columns-container` is quite long. W
martin 2017/10/26 10:33:18 Done.
76 { 61 {
77 padding: 3em 0; 62 padding: 3em 2em;
78 border-bottom: 1px solid #d3d3d3; 63 border-bottom: 1px solid #d3d3d3;
79 } 64 }
65 #content .one-third:last-child {
66 border-bottom: none;
67 }
80 } 68 }
81 69
82 /****************************************************************************** 70 /******************************************************************************
83 * .content 71 * .content
84 *****************************************************************************/ 72 *****************************************************************************/
Thomas Greiner 2018/02/16 16:19:17 Detail: Missing whitespace at beginning of line ca
85 73
86 .content h1, 74 .content h1,
87 .content h2, 75 .content h2,
88 .content h3, 76 .content h3,
89 .content h4, 77 .content h4,
90 .content h5 78 .content h5
91 { 79 {
92 font-weight: bold; 80 font-weight: bold;
Thomas Greiner 2018/02/16 16:19:19 We consistently use number values for the font wei
93 margin: 32px 0px; 81 margin: 32px 0px;
Thomas Greiner 2018/02/16 16:19:19 Coding style: "Omit unit specification after “0” v
94 margin: 2rem 0rem; 82 margin: 2rem 0rem;
95 } 83 }
96 84
97 .content h1 { font-size: 1.8em; } 85 .content h1 { font-size: 1.8em; }
98 .content h2 { font-size: 1.4em; } 86 .content h2 { font-size: 1.4em; }
99 .content h3 { font-size: 1.3em; } 87 .content h3 { font-size: 1.3em; }
100 .content h4 { font-size: 1.2em; } 88 .content h4 { font-size: 1.2em; }
101 .content h5 { font-size: 1.1em; } 89 .content h5 { font-size: 1.1em; }
102 90
103 @media(min-width: 768px) 91 @media(min-width: 768px)
104 { 92 {
105 .content h1 { font-size: 2.4em; } 93 .content h1 { font-size: 2.4em; }
106 .content h2 { font-size: 1.6em; } 94 .content h2 { font-size: 1.6em; }
107 } 95 }
108 96
109 .content a, 97 .content a,
110 .content a:visited 98 .content a:visited
111 { 99 {
112 color: #C70D2C; 100 color: #C70D2C;
113 } 101 }
114 102
115
116 /******************************************************************************* 103 /*******************************************************************************
117 * #navbar 104 * #navbar
118 ******************************************************************************/ 105 ******************************************************************************/
119 106
120 #navbar 107 #navbar
121 { 108 {
122 height: 4em; 109 min-height: 4em;
123 background-color: #c70d2c; 110 background-color: #c70d2c;
124 } 111 }
125 112
113 @media(max-width: 991px)
114 {
115 #navbar
116 {
117 overflow: auto;
118 }
119 }
120
126 #navbar li 121 #navbar li
127 { 122 {
128 list-style-type: none; 123 list-style-type: none;
129 } 124 }
130 125
131 /* padding provided by navbar contents */ 126 #navbar .container
132 .navbar-container 127 {
133 { 128 padding-left: 0;
134 width: 80%; 129 padding-right: 0;
135 margin: 0 auto;
136 }
137
138 /* full-width under .container max-width */
139 @media(max-width: 1199px)
140 {
141 .navbar-container
142 {
143 width: 100%;
144 }
145 } 130 }
146 131
147 /* #navbar #navbar-logo 132 /* #navbar #navbar-logo
148 ******************************************************************************/ 133 ******************************************************************************/
149 134
150 #navbar-logo 135 #navbar-logo
151 { 136 {
152 /* padding is visible in hover background-color change */ 137 /* padding is visible in hover background-color change */
153 padding: 0em 1em; 138 padding: 0em 1em;
154 color: #fff; 139 color: #fff;
155 } 140 }
156 141
157 #navbar-logo:hover, 142 #navbar-logo:hover,
158 #navbar-logo:active, 143 #navbar-logo:active,
(...skipping 28 matching lines...) Expand all
187 } 172 }
188 173
189 #navbar-logo > span 174 #navbar-logo > span
190 { 175 {
191 /* full-height: 2.91 * 1.375 = ~4em */ 176 /* full-height: 2.91 * 1.375 = ~4em */
192 line-height: 2.91em; 177 line-height: 2.91em;
193 font-size: 1.375em; 178 font-size: 1.375em;
194 } 179 }
195 180
196 /* #navbar #navbar-menu-toggle 181 /* #navbar #navbar-menu-toggle
197 ******************************************************************************/ 182 ******************************************************************************/
198 183
199 #navbar-menu-toggle 184 #navbar-menu-toggle
200 { 185 {
201 float: right; 186 float: right;
202 padding: 1em; 187 padding: 1em;
203 } 188 }
204 189
205 [dir="rtl"] #navbar-menu-toggle 190 [dir="rtl"] #navbar-menu-toggle
206 { 191 {
207 float: left; 192 float: left;
(...skipping 22 matching lines...) Expand all
230 } 215 }
231 216
232 #navbar-menu-toggle:hover, 217 #navbar-menu-toggle:hover,
233 #navbar-menu-toggle:active, 218 #navbar-menu-toggle:active,
234 #navbar-menu-toggle:focus 219 #navbar-menu-toggle:focus
235 { 220 {
236 background-color: #AE0013; 221 background-color: #AE0013;
237 } 222 }
238 223
239 /* #navbar #navbar-menu 224 /* #navbar #navbar-menu
240 ******************************************************************************/ 225 ******************************************************************************/
241 226
242 #navbar-menu a 227 #navbar-menu a
243 { 228 {
244 display: block; 229 display: block;
245 color: #fff; 230 color: #fff;
246 text-decoration: none; 231 text-decoration: none;
247 } 232 }
248 233
249 /* #navbar #navbar-menu #navbar-locale-menu 234 /* #navbar #navbar-menu #navbar-locale-menu
250 ******************************************************************************/ 235 ******************************************************************************/
251 236
252 /* caret */ 237 /* caret */
253 #navbar-locale-selected:after 238 #navbar-locale-selected:after
254 { 239 {
255 display: inline-block; 240 display: inline-block;
256 width: 0; 241 width: 0;
257 height: 0; 242 height: 0;
258 margin: 0em 0em 0em 0.255em; 243 margin: 0em 0em 0em 0.255em;
259 vertical-align: .255em; 244 vertical-align: .255em;
Thomas Greiner 2018/02/16 16:19:16 Coding style: "Don't omit the optional leading 0 f
260 content: ""; 245 content: "";
261 border-top: .3em solid; 246 border-top: .3em solid;
262 border-right: .3em solid transparent; 247 border-right: .3em solid transparent;
263 border-left: .3em solid transparent; 248 border-left: .3em solid transparent;
264 } 249 }
265 250
266 [dir="rtl"] #navbar-locale-selected:after 251 [dir="rtl"] #navbar-locale-selected:after
267 { 252 {
268 margin: 0em 0.255em 0em 0em; 253 margin: 0em 0.255em 0em 0em;
269 } 254 }
(...skipping 14 matching lines...) Expand all
284 } 269 }
285 270
286 #navbar-locale-menu > li > a:hover, 271 #navbar-locale-menu > li > a:hover,
287 #navbar-locale-menu > li > a:active, 272 #navbar-locale-menu > li > a:active,
288 #navbar-locale-menu > li > a:focus 273 #navbar-locale-menu > li > a:focus
289 { 274 {
290 background-color: #434343; 275 background-color: #434343;
291 } 276 }
292 277
293 /* #navbar #navbar-menu (desktop) 278 /* #navbar #navbar-menu (desktop)
294 ******************************************************************************/ 279 ******************************************************************************/
295 280
296 @media(min-width: 992px) 281 @media(min-width: 992px)
297 { 282 {
298 #navbar-menu 283 #navbar-menu
299 { 284 {
300 float: right; 285 float: right;
301 } 286 }
302 287
303 [dir="rtl"] #navbar-menu 288 [dir="rtl"] #navbar-menu
304 { 289 {
305 float: left; 290 float: left;
306 } 291 }
307 292
308 #navbar-menu > li, 293 #navbar-menu > li,
309 #navbar-menu > li > a 294 #navbar-menu > li > a
310 { 295 {
311 display: inline-block; 296 display: inline-block;
312 } 297 }
313 298
314 #navbar-menu > li > a 299 #navbar-menu > li > a
315 { 300 {
316 padding: 0em 1em; 301 padding: 0em 1em;
317 line-height: 4em; 302 line-height: 4em;
318 } 303 }
319 304
320 #navbar-menu > li > a:hover, 305 #navbar-menu > li > a:hover,
321 #navbar-menu > li > a:active, 306 #navbar-menu > li > a:active,
322 #navbar-menu > li > a:focus 307 #navbar-menu > li > a:focus
323 { 308 {
324 background-color: #AE0013; 309 background-color: #AE0013;
325 } 310 }
326 311
327 /* #navbar #navbar-menu #navbar-locale-menu 312 /* #navbar #navbar-menu #navbar-locale-menu
Thomas Greiner 2018/02/16 16:19:20 You don't include this section of the navbar so le
328 ****************************************************************************/ 313 ****************************************************************************/
329 314
330 #navbar-locale-menubar 315 #navbar-locale-menubar
331 { 316 {
332 position: relative; 317 position: relative;
333 } 318 }
334 319
335 #navbar-locale-menu 320 #navbar-locale-menu
336 { 321 {
337 position: absolute; 322 position: absolute;
338 min-width: 16em; 323 min-width: 16em;
339 max-height: 20em; 324 max-height: 20em;
340 max-height: 50vh; 325 max-height: 50vh;
341 top: 100%; 326 top: 100%;
342 right: 0px; 327 right: 0px;
343 overflow: auto; 328 overflow: auto;
344 z-index: 9001; 329 z-index: 9001;
345 background-color: #292929; 330 background-color: #292929;
346 } 331 }
347 332
348 [dir="rtl"] #navbar-locale-menu 333 [dir="rtl"] #navbar-locale-menu
349 { 334 {
350 right: auto; 335 right: auto;
351 left: 0px; 336 left: 0px;
352 } 337 }
353 } 338 }
354 339
355 /* #navbar #navbar-menu (mobile) 340 /* #navbar #navbar-menu (mobile)
356 ******************************************************************************/ 341 ******************************************************************************/
357 342
358 @media(max-width: 991px) 343 @media(max-width: 991px)
359 { 344 {
360 #navbar-menu 345 #navbar-menu
361 { 346 {
362 display: none; 347 display: none;
363 float: left; 348 float: left;
Thomas Greiner 2018/02/16 16:19:18 I don't see a rule for reversing this for right-to
364 clear: both; 349 clear: both;
365 width: 100%; 350 width: 100%;
366 background-color: #292929; 351 background-color: #292929;
367 } 352 }
368 353
369 #navbar-menu.visible 354 #navbar-menu.visible
370 { 355 {
371 display: block; 356 display: block;
372 } 357 }
373 358
374 #navbar-menu li a 359 #navbar-menu li a
375 { 360 {
376 padding: 0.75em 1em; 361 padding: 0.75em 1em;
377 } 362 }
378 363
379 #navbar-menu li a:hover, 364 #navbar-menu li a:hover,
380 #navbar-menu li a:active, 365 #navbar-menu li a:active,
381 #navbar-menu li a:focus 366 #navbar-menu li a:focus
382 { 367 {
383 background-color: #434343; 368 background-color: #434343;
384 } 369 }
385 } 370 }
386 371
387 /****************************************************************************** 372 /******************************************************************************
388 * Main Page Content 373 * Main Page Content
389 *****************************************************************************/ 374 *****************************************************************************/
390 375
391 #installation-status-header 376 #installation-status-header
392 { 377 {
393 text-align: center; 378 text-align: center;
394 background: #f9f9f9; 379 background: #f9f9f9;
Thomas Greiner 2018/02/16 16:19:20 Detail: Do you actually want to override other bac
395 padding: 4em 0; 380 padding: 4em 0;
396 margin-bottom: 4em; 381 margin-bottom: 4em;
382 }
383
384 #installation-status-header > h1 {
385 text-transform: uppercase;
397 } 386 }
398 387
399 .section-header > h2 388 .section-header > h2
400 { 389 {
401 margin: 1em 0 0; 390 margin: 1em 0 0;
402 } 391 }
403 392
404 .button-primary 393 .button-primary
405 { 394 {
406 display: inline-block; 395 display: inline-block;
407 text-decoration: none; 396 text-decoration: none;
408 text-transform: uppercase; 397 text-transform: uppercase;
409 color: #fff !important; 398 color: #fff !important;
Thomas Greiner 2018/02/16 16:19:17 What's the reason for using `!important` here?
410 text-align: center; 399 text-align: center;
411 width: 100%; 400 width: 100%;
412 border-radius: 6px; 401 border-radius: 6px;
413 padding: 1em 0; 402 padding: 1em 0;
414 background: #C70D2C; 403 background: #C70D2C;
415 } 404 }
416 405
417 .store-buttons 406 .store-buttons
418 { 407 {
419 width: 100%; 408 width: 100%;
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
451 { 440 {
452 .store-buttons 441 .store-buttons
453 { 442 {
454 flex-direction: column; 443 flex-direction: column;
455 } 444 }
456 445
457 .store-button 446 .store-button
458 { 447 {
459 width: 100%; 448 width: 100%;
460 } 449 }
461 .applestore-button 450 .applestore-button
Thomas Greiner 2018/02/16 16:19:16 Coding style: "Separate rules by new lines." See
462 { 451 {
463 margin: 0 0 1em; 452 margin: 0 0 1em;
464 } 453 }
465 } 454 }
466 455
467 #installation-status-header > h1 456 #installation-status-header > h1
468 { 457 {
469 font-size: 3em; 458 font-size: 3em;
470 margin: 0; 459 margin: 0;
471 } 460 }
472 461
462
473 /******************************************************************************* 463 /*******************************************************************************
474 * #footer 464 * #footer
475 ******************************************************************************/ 465 ******************************************************************************/
476 466
477 #footer 467 #footer
478 { 468 {
479 overflow: auto; 469 overflow: auto;
480 margin-top: 2em; 470 margin-top: 2em;
481 padding: 2em 0em; 471 padding: 2em 0em;
482 color: #ececec; 472 color: #ececec;
483 background-color: #292929; 473 background-color: #292929;
484 font-size: 0.9em; 474 font-size: 0.9em;
485 } 475 }
486 476
487 /* #footer body 477 /* #footer body
488 ******************************************************************************/ 478 ******************************************************************************/
489 479
490 #footer h5 480 #footer h5
491 { 481 {
492 margin-top: 1em; 482 margin-top: 1em;
493 margin-bottom: 1.5em; 483 margin-bottom: 1.5em;
494 } 484 }
495 485
496 #footer h5:after 486 #footer h5:after
Thomas Greiner 2018/02/16 16:19:16 Detail: The standard way to write this is `#footer
497 { 487 {
498 content: ""; 488 content: "";
499 display: block; 489 display: block;
500 width: 1.25em; 490 width: 1.25em;
501 height: 0.125em; 491 height: 0.125em;
502 margin-top: 0.5em; 492 margin-top: 0.5em;
503 background-color: #ececec; 493 background-color: #ececec;
504 } 494 }
505 495
506 #footer ul 496 #footer ul
507 { 497 {
508 padding: 0em; 498 padding: 0em;
509 list-style-type: none; 499 list-style-type: none;
510 } 500 }
511 501
512 #footer a 502 #footer a
513 { 503 {
514 color: #ececec; 504 color: #ececec;
515 } 505 }
516 506
517 #footer a:hover, 507 #footer a:hover,
518 #footer a:active, 508 #footer a:active,
519 #footer a:focus 509 #footer a:focus
520 { 510 {
521 color: #fff; 511 color: #fff;
522 text-decoration: underline; 512 text-decoration: underline;
523 } 513 }
524 514
525 /* #footer #social-list 515 /* #footer #social-list
526 ******************************************************************************/ 516 ******************************************************************************/
527 517
528 #social-list ul 518 #social-list ul
529 { 519 {
530 /* negative margin canceled out by li margin below */ 520 /* negative margin canceled out by li margin below */
531 margin: 0em -0.375em; 521 margin: 0em -0.375em;
532 } 522 }
533 523
534 #social-list li 524 #social-list li
535 { 525 {
536 float: left; 526 float: left;
(...skipping 12 matching lines...) Expand all
549 539
550 @media(min-width: 1200px) 540 @media(min-width: 1200px)
551 { 541 {
552 #social-list img 542 #social-list img
553 { 543 {
554 height: 3em; 544 height: 3em;
555 } 545 }
556 } 546 }
557 547
558 /* #footer #footer-legal 548 /* #footer #footer-legal
559 ******************************************************************************/ 549 ******************************************************************************/
560 550
561 #footer-legal 551 #footer-legal
562 { 552 {
563 margin-top: 1em; 553 margin-top: 1em;
564 } 554 }
565 555
566 @media(min-width: 1200px) 556 @media(min-width: 1200px)
567 { 557 {
568 #footer-legal 558 #footer-legal
569 { 559 {
570 margin-top: 2em; 560 margin-top: 2em;
571 } 561 }
572 } 562 }
573 563
574 /* #footer #footer-legal #legal-list 564 /* #footer #footer-legal #legal-list
575 ******************************************************************************/ 565 ******************************************************************************/
576 566
577 #legal-list li 567 #legal-list li
578 { 568 {
579 float: left; 569 float: left;
580 } 570 }
581 571
582 [dir="rtl"] #legal-list li 572 [dir="rtl"] #legal-list li
583 { 573 {
584 float: right; 574 float: right;
585 } 575 }
586 576
587 #legal-list li:after 577 #legal-list li:after
588 { 578 {
589 margin: 0em 0.375em; 579 margin: 0em 0.375em;
590 } 580 }
591 581
592 /* IE9+ only */ 582 /* IE9+ only */
Thomas Greiner 2018/02/16 16:19:19 This is not relevant for us since we don't support
593 #legal-list li::after 583 #legal-list li::after
594 { 584 {
595 content: "|" 585 content: "|"
596 } 586 }
597 587
598 #legal-list li:last-of-type::after 588 #legal-list li:last-of-type::after
599 { 589 {
600 content: none; 590 content: none;
601 } 591 }
602 592
603 /* float copyright and legal links left and right on ~desktop */ 593 /* float copyright and legal links left and right on ~desktop */
604 @media(min-width: 1200px) 594 @media(min-width: 1200px)
605 { 595 {
606 #copyright-notice 596 #copyright-notice
607 { 597 {
608 float: left; 598 float: left;
609 } 599 }
610 600
611 [dir="rtl"] #copyright-notice 601 [dir="rtl"] #copyright-notice
612 { 602 {
613 float: right; 603 float: right;
614 } 604 }
615 605
616 #legal-list 606 #legal-list
617 { 607 {
618 float: right; 608 float: right;
619 } 609 }
620 610
621 [dir="rtl"] #legal-list 611 [dir="rtl"] #legal-list
622 { 612 {
623 float: left; 613 float: left;
624 } 614 }
625 } 615 }
626 616
627 /* hide all footer links except #social-list on ~mobile */ 617 /* hide all footer links except #social-list on ~mobile */
628 @media(max-width: 767px) 618 @media(max-width: 767px)
629 { 619 {
630 #footer .column 620 #footer .column
631 { 621 {
632 display: none; 622 display: none;
633 } 623 }
634 624
635 /* overriding display:none above */ 625 /* overriding display:none above */
636 #footer #social-list 626 #footer #social-list
637 { 627 {
638 display: block; 628 display: block;
639 } 629 }
640 } 630 }
LEFTRIGHT

Powered by Google App Engine
This is Rietveld