/* * Language Category Display (LCD) consists of multiple sections: * - one to display when there are no search results (which might display suggested languages) * - one for each region of the world, plus regions for world languages and suggested languages * The regions consist of one or more rows (blocks) which consist of one-to-four columns. Each * column is an ul element, and contains up to 8 li elements, each containing a link. */ .uls-lcd { height: 20em; /* Work around Chrome bug where it places scrollbar on the left in * in RTL mode but actually reserves the place on the right side */ overflow-x: hidden; overflow-y: auto; width: auto; background: #FCFCFC; padding: 0 16px; } .uls-lcd-region-section { margin-top: 10px; } .uls-lcd-region-title { color: #777; font-size: 14px; padding-left: 28px; } /* * We need to have this as a grid row to push rest of the content below it, but resetting * padding and margin so that calculating them for children is easier. */ .grid .uls-language-block.row { padding: 0; margin: 0; } /* * Each block should have 16px padding on both sides. But because we already gave * 16px for the whole menu, we need to remove it for first and last items the blocks. */ .grid .uls-language-block > ul { margin: 0 0 20px 0; padding: 0 16px; } .grid .uls-language-block > ul:first-child { padding-left: 0; } .grid .uls-language-block > ul:last-child { padding-right: 0; } .uls-language-block > ul { /* * We don't want any visible bullets in this list. Not by default anyway. * Using very unspecific selector here to allow other classes to override. * Bug because overflow: hidden is incompatible with bullets, also render * the bullets inside the list in case there should be any. */ list-style-image: none; list-style-type: none; } .uls-language-block > ul > li { cursor: pointer; margin-left: 20px; padding: 8px; /* * The directionality (ltr/rtl) for each list item is set dynamically * as HTML attributes in JavaScript. Setting directionality also applies * alignment, but a list with mixed alignment is hard to read. * All items are therefore explicitly aligned to the left, including names * of right-to-left languages in left-to-right environment and vice versa. * As long as the directionality of the item is set correctly, the text * is readable. */ text-align: left; } .uls-language-block > ul > li:hover { background-color: #eaeff7; } .uls-language-block a { cursor: pointer; text-decoration: none; color: #3366bb; font-size: 14px; display: inline-block; width: 100%; overflow: hidden; /* * Some languages have long names for various reasons and we still want * them to appear on one line. * To make it work correctly, the directionality must be set correctly * on the item level. */ text-overflow: ellipsis; white-space: nowrap; vertical-align: middle; } /* TODO: ugly hack that forces last matching search results to shift down. * They should be hidden properly. */ .uls-no-results-view { height: 100%; } .uls-no-results-found-title { font-size: 16px; padding: 0 16px 0 28px; border-bottom: none; color: #555; } .uls-no-found-more { padding: 0 16px 0 44px; font-size: 0.9em; background: #F8F8F8; width: 100%; margin-top: 1.6em; line-height: 1.6em; position: absolute; bottom: 0; left: 0; }