/*\  \  \  \  \  \  \  \  \  \/  /  /  /  /  /  /  /  /  / 
   \  \  \  \  \  \  \  \  \    /  /  /  /  /  /  /  /  /
    \  \  \  \  \  \  \  \  \  /  /  /  /  /  /  /  /  /
     \  \  \  \  \  \  \  \  \/  /  /  /  /  /  /  /  /    
   UTILISER "/SearchService" au debut de tous les URLs 
     /  /  /  /  /  /  /  /  /\  \  \  \  \  \  \  \  \    
    /  /  /  /  /  /  /  /  /  \  \  \  \  \  \  \  \  \  
   /  /  /  /  /  /  /  /  /    \  \  \  \  \  \  \  \  \ 
  /  /  /  /  /  /  /  /  /  /\  \  \  \  \  \  \  \  \  \
*/






/* changement seb */

/**
 * HTML5 ✰ Boilerplate
 *
 * style.css contains a reset, font normalization and some base styles.
 *
 * Credit is left where credit is due.
 * Much inspiration was taken from these projects:
 * - yui.yahooapis.com/2.8.1/build/base/base.css
 * - camendesign.com/design/
 * - praegnanz.de/weblog/htmlcssjs-kickstart
 */

/* @font-face { */
/* 	font-family: 'JeanLucWeb-Bold'; */
/* 		src: url('http://widget.bidgo.ca/SearchService/css/jeanlucweb-bold.eot'); */
/* 		src: local('☺'), url("http://widget.bidgo.ca/SearchService/css/jeanlucweb-bold.woff") format("woff"), url("http://widget.bidgo.ca/SearchService/css/jeanlucweb-bold.otf") format("opentype"), url("http://widget.bidgo.ca/SearchService/css/jeanlucweb-bold#webfontup15foyj") format("svg"); */
/* } */

/* @font-face { */
/* 	font-family: 'JeanLucWeb-Thin'; */
/* 		src: url('http://widget.bidgo.ca/SearchService/css/jeanlucweb-bold.eot'); */
/* 		src: local('☺'), url("http://widget.bidgo.ca/SearchService/css/jeanlucweb-thin.woff") format("woff"), url("http://widget.bidgo.ca/SearchService/css/jeanlucweb-thin.otf") format("opentype"), url("http://widget.bidgo.ca/SearchService/css/jeanlucweb-thin#webfontdsa4toug") format("svg"); */
/* } */

/**
 * html5doctor.com Reset Stylesheet (Eric Meyer's Reset Reloaded + HTML5 baseline)
 * v1.6.1 2010-09-17 | Authors: Eric Meyer & Richard Clark
 * html5doctor.com/html-5-reset-stylesheet/
 */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
caption, article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

blockquote, q { quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after { content: ""; content: none; }

ins { background-color: #ff9; color: #000; text-decoration: none; }

mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }

del { text-decoration: line-through; }

abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }

/* table { border-collapse: collapse; border-spacing: 0; } */

hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }

input, select { vertical-align: middle; }
	








#accordion div.content_box {
	width: 288px;
	margin: 0 0 20px 0;
	border: 1px solid #d3d3d3;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	background: white;
	padding: 5px;
	float: left;
	clear: both;
}
div.content_box h2 {
	background: url(../../../SearchService/img/sprite.png) no-repeat -502px 0;
	line-height: 12px;
	font-weight: bold;
	font-size: 16px;
	padding: 17px 0 12px 0;
	height: 14px;
	color: white;
	text-shadow: 1px 1px #808080;
	text-align: center;
	width: 288px;
	text-transform: uppercase;
}
#accordion div.content_box {
	margin: 0;
	border-bottom: none;
}
#accordion div.content_box h2 {
	color: #0d2234;
	text-transform: none;
	height: 16px;
}
#accordion div.content_box a.logo {
	display: block;
	background: url(../../../SearchService/img/logo.png) no-repeat left top;
	width: 100px;
	height: 25px;
	text-indent: -999em;
	overflow: hidden;
	margin: 0 0 5px 0;		
}
#accordion div.last{
	border-bottom: 1px solid #d3d3d3;
}
#accordion {
	float: left;
	clear: both;	
}
#accordion div.content_box div.section {
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	width: 286px;
	padding: 0 0 12px 0;
	border: 1px solid #EC975F;
	background: #ff922e;
	background: -webkit-gradient(linear, left top, left bottom, from(#ffc342), to(#ff922e));
	background: -moz-linear-gradient(top,  #ffc342,  #ff922e);
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffc342', endColorstr='#ff922e')";
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffc342', endColorstr='#ff922e');
	float: left;
	clear: both;
}
#accordion div.content_box div.section div.main_content {
	float: left;
	clear: both;
	width: 286px;	
}
#accordion div.content_box div.section div.ui-accordion-content {
	display: none;	
}
#accordion div.content_box div.section div.ui-accordion-content-active {
	display: block;	
}
#accordion div.content_box div.section h2 {
	/* background: url(../../../SearchService/img/puce_aside_nav.png) no-repeat 265px 15px; */
	position: relative;
	background: none;
	text-shadow: 1px 1px #FFC948;
	color: #0d2234;
	padding: 14px 26px 0 12px;
	line-height: 16px;
	text-align: left;
	width: 248px;
	cursor: pointer;
	outline: none;
}
#accordion div.content_box div.section h2 span.ui-icon {
	display: block; 
	text-indent: -99999px; 
	overflow: hidden; 
	background: url(../../../SearchService/img/puce_aside_nav.png) no-repeat;
	_background: url(../../../SearchService/img/puce_aside_nav.gif) no-repeat;
    position: absolute;
    right: 14px;
    top: 15px;
	width: 7px;
	height: 13px;
}
#accordion div.content_box div.section h2.ui-state-active .ui-icon {
	background: url(../../../SearchService/img/puce_aside_nav_active.png) no-repeat;
	_background: url(../../../SearchService/img/puce_aside_nav_active.gif) no-repeat;
	width: 14px;
	height: 7px;
	top: 19px;
}
/* #wrapper #container #main aside #aside_nav #accordion div.content_box div.section h2.ui-state-active  {
	padding: 14px 26px 0 12px;
	 background: url(../../../SearchService/img/puce_aside_nav_active.png) no-repeat 256px 19px;
} */
#accordion div.content_box div.section div.main_content #aside_scrollable_1,
#accordion div.content_box div.section div.main_content #aside_scrollable_2,
#accordion div.content_box div.section div.main_content #aside_scrollable_3,
#accordion div.content_box div.section div.main_content #aside_scrollable_4 {
	float: left;
    height: 380px;
    overflow: hidden;
    position: relative;
    width: 264px;
	clear: both;
}
#accordion div.content_box div.section div.main_content div.expand div.items {
	height: 20000em;
	position: absolute;
}
#accordion div.content_box div.section div.main_content a.top_ctrl_1,
#accordion div.content_box div.section div.main_content a.top_ctrl_2,
#accordion div.content_box div.section div.main_content a.top_ctrl_3,
#accordion div.content_box div.section div.main_content a.top_ctrl_4 {
	background: url(../../../SearchService/img/sprite.png) no-repeat -400px -56px;
	width: 29px;
	height: 20px;
	text-indent: -999em;
	display: block;
	overflow: hidden;
	margin: 12px 0 0 129px;
	cursor: pointer;
}
#accordion div.content_box div.section div.main_content a.bottom_ctrl_1,
#accordion div.content_box div.section div.main_content a.bottom_ctrl_2,
#accordion div.content_box div.section div.main_content a.bottom_ctrl_3,
#accordion div.content_box div.section div.main_content a.bottom_ctrl_4 {
	background: url(../../../SearchService/img/sprite.png) no-repeat -447px -56px;
	width: 29px;
	height: 20px;
	text-indent: -999em;
	display: block;
	overflow: hidden;
	margin: 0 0 0 129px;
	cursor: pointer;
}
#accordion div.content_box div.section div.main_content div.expand {
	border: 1px solid #9f9f9f;
	width: 264px;
	margin: 0 10px 0 10px;
	height: 380px;
	background: white;
	-webkit-box-shadow: inset 0 0 6px 1px #9f9f9f;
	-moz-box-shadow: inset 0 0 6px 1px #9f9f9f;
	box-shadow: inset 0 0 6px 1px #9f9f9f;
	overflow: hidden;
}
#accordion div.content_box div.section div.main_content div.expand ul {
	padding: 0;
	margin: 0;
	float: left;
	clear: both;
	width: 264px;
}
#accordion div.content_box div.section div.main_content div.expand ul li {
	list-style: none;
	padding: 0 0 5px 0;
	*padding: 0;
	margin: 0;
	border-bottom: 1px solid #cdcdcd;
	float: left;
	clear: both;
	width: 264px;
	_width: 266px;
}
#accordion div.content_box div.section div.main_content div.expand ul li.last {
	border: none;
}
#accordion div.content_box div.section div.main_content div.expand ul li h3 {
    color: #555555;
    font-size: 12px;
    font-weight: bold;
    padding: 8px 0 8px 0;
	_padding: 7px 0 7px 0;
	margin: 0 0 5px 7px; /* changement overflow */
	height: 22px; /* changement overflow */
	overflow: hidden; /* changement overflow */
}
#accordion div.content_box div.section div.main_content div.expand ul li div.sep {  /* changement overflow */
	background: url("../../../SearchService/img/dotted_lines.gif") repeat-x left top;
	height: 1px;
	width: 250px;
	margin: 0 0 5px 7px;
}
#accordion div.content_box div.section div.main_content div.expand ul li h3 strong {
	font-weight: bold;
	color: black;
}
#accordion div.content_box div.section div.main_content div.expand ul li div.figure {
	margin: 0 9px 0 7px;
	width: 70px;
	height: 70px;
	float: left;
	_display: inline;
}
#accordion div.content_box div.section div.main_content div.expand ul li div.figure a,
#accordion div.content_box div.section div.main_content div.expand ul li div.figure a img {
	width: 70px;
	height: 70px;
}
#accordion div.content_box div.section div.main_content div.expand ul li div.content {
	float: left;
	width: 178px;
}
#accordion div.content_box div.section div.main_content div.expand ul li div.content div.price {
	padding: 0 13px 0 0;
	width: 80px;
	float: left;
}
#accordion div.content_box div.section div.main_content div.expand ul li div.content div.savings {
	float: left;
	padding: 0 4px 0 0;
	width: 77px;
	margin: 2px 0 0 0;
}
#accordion div.content_box div.section div.main_content div.expand ul li div.content div.price span,
#accordion div.content_box div.section div.main_content div.expand ul li div.content div.savings p {
	color: #555;
	font-size: 12px;
}
#accordion div.content_box div.section div.main_content div.expand ul li div.content div.price h4 {
	color: #39b54a;
	font-size: 28px;
	font-weight: bold;
	letter-spacing: -2px;
	margin: -2px 0 0 -2px;
}
#accordion div.content_box div.section div.main_content div.expand ul li div.content div.price h4.small {
	font-size: 23px;
}
#accordion div.content_box div.section div.main_content div.expand ul li div.content div.price h4 sup {
    font-size: 16px;
    position: relative;
    top: 12px;
	_top: 3px;
	*top: 5px;
    vertical-align: top;
	margin-left: 2px;
}
#accordion div.content_box div.section div.main_content div.expand ul li div.content div.price h4.small sup {
    font-size: 13px;
    top: 10px;
	_top: 3px;
	*top: 5px;
}
#accordion div.content_box div.section div.main_content div.expand ul li div.content a.submit {
	border: 1px solid #ec975f;
	border-right: none;
	-moz-border-radius: 5px 0 0 5px;
	-webkit-border-radius: 5px 0 0 5px;
	border-radius: 5px 0 0 5px;
	background: #ff922e;
	background: -webkit-gradient(linear, left top, left bottom, from(#ffc342), to(#ff922e));
	background: -moz-linear-gradient(top,  #ffc342,  #ff922e);
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffc342', endColorstr='#ff922e')";
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffc342', endColorstr='#ff922e');
	height: 11px;
	line-height: 10px;
	width: 73px;
	display: block;
	float: right;
	clear: both;
	text-shadow: 1px 1px #ffc948;
	margin: -10px 0 0 0;
	*float: left;
	_float: left;
	*margin: -10px 0 0 95px;
	_margin: -10px 0 0 48px;
	color: #0d2234;
	font-size: 11px;
	font-weight: bold;
	text-decoration: none;
	padding: 6px 4px 4px 5px;
}

/* Unis widget */
div.external_widget div.content_box {
	width: 288px;
	margin: 0;
	border: 1px solid #d3d3d3;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	background: white;
	padding: 5px;
	*padding: 5px 5px 0 5px;
	float: left;
	clear: both;
}
div.external_widget div.content_box h2 {
	color: #0d2234;
	text-transform: none;
	height: 16px;
}
div.external_widget div.content_box a.logo {
	display: block;
	background: url(../../../SearchService/img/logo_widget.png) no-repeat left top;
	width: 100px;
	height: 25px;
	text-indent: -999em;
	overflow: hidden;
	margin: 0 0 5px 0;	
}
div.external_widget div.last{
	border-bottom: 1px solid #d3d3d3;
}
div.external_widget div.content_box div.section {
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	width: 286px;
	padding: 0 0 5px 0;
	border: 1px solid #EC975F;
	background: #ff922e;
	background: -webkit-gradient(linear, left top, left bottom, from(#ffc342), to(#ff922e));
	background: -moz-linear-gradient(top,  #ffc342,  #ff922e);
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffc342', endColorstr='#ff922e')";
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffc342', endColorstr='#ff922e');
	float: left;
	clear: both;
}
div.external_widget div.content_box div.section div.main_content {
	float: left;
	clear: both;
	width: 286px;	
}
div.external_widget div.content_box div.section h2 {
	/* background: url(../../../SearchService/img/puce_aside_nav.png) no-repeat 265px 15px; */
	position: relative;
	background: none;
	text-shadow: 1px 1px #FFC948;
	color: #0d2234;
	padding: 5px 26px 3px 6px;
	line-height: 16px;
	text-align: left;
	width: 248px;
	cursor: pointer;
	outline: none;
}
div.external_widget div.content_box div.section div.main_content div.expand {
	border: 1px solid #9f9f9f;
	width: 274px;
	margin: 0 5px 0 5px;
	height: 245px;
	background: white;
	-webkit-box-shadow: inset 0 0 5px 1px #9f9f9f;
	-moz-box-shadow: inset 0 0 5px 1px #9f9f9f;
	box-shadow: inset 0 0 5px 1px #9f9f9f;
	overflow: hidden;
}
div.external_widget div.content_box div.section div.main_content div.expand ul {
	padding: 0;
	margin: 0;
	float: left;
	clear: both;
	width: 274px;
}
div.external_widget div.content_box div.section div.main_content div.expand ul li {
	list-style: none;
	padding: 0 0 5px 0;
	*padding: 0;
	margin: 0;
	border-bottom: 1px solid #cdcdcd;
	float: left;
	clear: both;
	width: 274px;
}
div.external_widget div.content_box div.section div.main_content div.expand ul li.last {
	border: none;
}
div.external_widget div.content_box div.section div.main_content div.expand ul li h3 {
    color: #555555;
    font-size: 12px;
    font-weight: bold;
    padding: 5px 0 5px 0;
	_padding: 5px 0 5px 0;
	margin: 0 0 5px 7px; /* changement overflow */
	height: 24px; /* changement overflow */
	overflow: hidden; /* changement overflow */
}
div.external_widget div.content_box div.section div.main_content div.expand ul li div.sep {
	background: url("../../../SearchService/img/dotted_lines.gif") repeat-x left top;
	height: 1px;
	width: 260px;
	margin: 0 0 5px 7px;
}
div.external_widget div.content_box div.section div.main_content div.expand ul li h3 strong {
	font-weight: bold;
	color: black;
}
div.external_widget div.content_box div.section div.main_content div.expand ul li div.figure {
	margin: 0 9px 0 7px;
	width: 70px;
	height: 70px;
	float: left;
	_display: inline;
}
div.external_widget div.content_box div.section div.main_content div.expand ul li div.figure a,
div.external_widget div.content_box div.section div.main_content div.expand ul li div.figure a img {
	width: 70px;
	height: 70px;
}
div.external_widget div.content_box div.section div.main_content div.expand ul li div.content {
	float: left;
	width: 188px;
}
div.external_widget div.content_box div.section div.main_content div.expand ul li div.content div.price {
	padding: 0 13px 0 0;
	width: 93px;
	float: left;
}
div.external_widget div.content_box div.section div.main_content div.expand ul li div.content div.savings {
	float: left;
	padding: 0 4px 0 0;
	width: 77px;
	margin: 2px 0 0 0;
}
div.external_widget div.content_box div.section div.main_content div.expand ul li div.content div.price span,
div.external_widget div.content_box div.section div.main_content div.expand ul li div.content div.savings p {
	color: #555;
	font-size: 12px;
}
div.external_widget div.content_box div.section div.main_content div.expand ul li div.content div.price h4 {
	color: #39b54a;
	font-size: 28px;
	font-weight: bold;
	letter-spacing: -2px;
	margin: -2px 0 0 -2px;
}
div.external_widget div.content_box div.section div.main_content div.expand ul li div.content div.price h4.small {
	font-size: 23px;
}
div.external_widget div.content_box div.section div.main_content div.expand ul li div.content div.price h4 sup {
    font-size: 16px;
    position: relative;
    top: 12px;
	*top: 5px;
    vertical-align: top;
	margin-left: 2px;
}
div.external_widget div.content_box div.section div.main_content div.expand ul li div.content div.price h4.small sup {
    font-size: 13px;
    top: 10px;
	_top: 3px;
	*top: 5px;
}
div.external_widget div.content_box div.section div.main_content div.expand ul li div.content a.submit {
	border: 1px solid #ec975f;
	border-right: none;
	-moz-border-radius: 5px 0 0 5px;
	-webkit-border-radius: 5px 0 0 5px;
	border-radius: 5px 0 0 5px;
	background: #ff922e;
	background: -webkit-gradient(linear, left top, left bottom, from(#ffc342), to(#ff922e));
	background: -moz-linear-gradient(top,  #ffc342,  #ff922e);
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffc342', endColorstr='#ff922e')";
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffc342', endColorstr='#ff922e');
	height: 11px;
	line-height: 10px;
	width: 73px;
	display: block;
	float: right;
	clear: both;
	text-shadow: 1px 1px #ffc948;
	margin: -10px 0 0 0;
	*float: left;
	*margin: -10px 0 0 105px;
	color: #0d2234;
	font-size: 11px;
	font-weight: bold;
	text-decoration: none;
	padding: 6px 4px 4px 5px;
}









/**
 * Font normalization inspired by YUI Library's fonts.css: developer.yahoo.com/yui/
 */

body { font:13px/1.231 sans-serif; *font-size:small; } /* Hack retained to preserve specificity */
select, input, textarea, button { font:99% sans-serif; }

/* Normalize monospace sizing:
   en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome */
pre, code, kbd, samp { font-family: monospace, sans-serif; }


/**
 * Minimal base styles.
 */

/* Always force a scrollbar in non-IE */
html { overflow-y: scroll; }

/* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */
a:hover, a:active { outline: none; }

ul, ol { margin-left: 2em; }
ol { list-style-type: decimal; }

/* Remove margins for navigation lists */
nav ul, nav li { margin: 0; list-style:none; list-style-image: none; }

small { font-size: 85%; }
strong, th { font-weight: bold; }

td { vertical-align: top; }

/* Set sub, sup without affecting line-height: gist.github.com/413930 */
sub, sup { font-size: 75%; line-height: 0; position: relative; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }

pre {
  /* www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */
  white-space: pre; white-space: pre-wrap; word-wrap: break-word;
  padding: 15px;
}

textarea { overflow: auto; } /* www.sitepoint.com/blogs/2010/08/20/ie-remove-textarea-scrollbars/ */

legend { *margin-left: -7px;_margin-left: -7px; } 

/* Align checkboxes, radios, text inputs with their label by: Thierry Koblentz tjkdesign.com/ez-css/css/base.css  */
input[type="radio"] { vertical-align: text-bottom; }
input[type="checkbox"] { vertical-align: bottom; }
.ie7 input[type="checkbox"] { vertical-align: baseline; }
.ie6 input { vertical-align: text-bottom; }

/* Hand cursor on clickable input elements */
label, input[type="button"], input[type="submit"], input[type="image"], button { cursor: pointer; }

/* Webkit browsers add a 2px margin outside the chrome of form elements */
button, input, select, textarea { margin: 0; }

/* Colors for form validity */
input:valid, textarea:valid   {  }
input:invalid, textarea:invalid {
   border-radius: 1px; -moz-box-shadow: 0px 0px 5px red; -webkit-box-shadow: 0px 0px 5px red; box-shadow: 0px 0px 5px red;
}
.no-boxshadow input:invalid, .no-boxshadow textarea:invalid { background-color: #f0dddd; }


/* These selection declarations have to be separate
   No text-shadow: twitter.com/miketaylr/status/12228805301
   Also: hot pink! */
::-moz-selection{ background: #6ab2ea; color:#fff; text-shadow: none; }
::selection { background:#6ab2ea; color:#fff; text-shadow: none; }

/* j.mp/webkit-tap-highlight-color */
a:link { -webkit-tap-highlight-color: #6ab2ea; }

/* Make buttons play nice in IE:
   www.viget.com/inspire/styling-the-button-element-in-internet-explorer/ */
button {  width: auto; overflow: visible; }

/* Bicubic resizing for non-native sized IMG:
   code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */
.ie7 img { -ms-interpolation-mode: bicubic; }

/**
 * You might tweak these..
 */

body, select, input, textarea {
  /* #444 looks better than black: twitter.com/H_FJ/statuses/11800719859 */
  background: #f4f3f3;
  color: #444;
  /* Set your base font here, to apply evenly */
  /* font-family: Georgia, serif;  */
}

/* Headers (h1, h2, etc) have no default font-size or margin; define those yourself */
h1, h2, h3, h4, h5, h6 { font-weight: bold; }

a, a:active, a:visited { color: #607890; }
a:hover { color: #036; }


/**
 * Primary styles
 *
 * Author: 
 */
















/**
 * Non-semantic helper classes: please define your styles before this section.
 */

/* For image replacement */
.ir { display: block; text-indent: -999em; overflow: hidden; background-repeat: no-repeat; text-align: left; direction: ltr; }

/* Hide for both screenreaders and browsers:
   css-discuss.incutio.com/wiki/Screenreader_Visibility */
.hidden { display: none; visibility: hidden; }

/* Hide only visually, but have it available for screenreaders: by Jon Neal.
  www.webaim.org/techniques/css/invisiblecontent/  &  j.mp/visuallyhidden */
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
/* Extends the .visuallyhidden class to allow the element to be focusable when navigated to via the keyboard: drupal.org/node/897638 */
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }

/* Hide visually and from screenreaders, but maintain layout */
.invisible { visibility: hidden; }

/* The Magnificent Clearfix: Updated to prevent margin-collapsing on child elements.
   j.mp/bestclearfix */
.clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; }
.clearfix:after { clear: both; }
/* Fix clearfix: blueprintcss.lighthouseapp.com/projects/15318/tickets/5-extra-margin-padding-bottom-of-page */
.clearfix { zoom: 1; }