/*
* www.KNACSS.com V2.6i @author: Raphael Goetter, Alsacreations
* Licence CC-BY http://creativecommons.org/licenses/by/3.0/fr/ 
*/

/* ----------------------------- */
/* ==reset */
/* ----------------------------- */

/* font-sizing dans rsbo_layout.css */

/* soft reset */
html,
body,
textarea,
form,
figure,
label,
fieldset {
	margin: 0;
	padding: 0;
}
ul,
ol {
	padding-left: 0;
}
ul {
	list-style: none;
}
code, 
pre,
samp,
kbd {
	white-space: pre-wrap;
	font-family: consolas, 'DejaVu Sans Mono', courier, monospace;
	line-height: 1em;
}
code, kbd, mark {
	border-radius: 2px;
}
em {
	font-style: italic;
}
strong {
	font-weight: bold;
}
kbd {
	padding: 0 2px;
	border: 1px solid #999;
}
code {
	padding: 2px 4px;
	background: rgba(0,0,0,.04);
	color: #b11; 
}
mark {
	padding:2px 4px;
	background: #ff0;
}
sup,
sub {
	vertical-align: 0;
	position: relative;
}
sup {
	bottom: 1ex;
}
sub {
	top: .5ex;
}

table { margin-bottom: 1.5em; }

/* avoid top margins on first content element */
p:first-child,
ul:first-child,
ol:first-child,
dl:first-child,
blockquote:first-child,
pre:first-child,
h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
	margin-top: 0;
}

/* avoid margins on nested elements */
li p,
li ul,
li ol {
	margin-top: 0;
	margin-bottom: 0;
}

/* max values */
img, table, td, blockquote, code, pre, textarea, input, video {
	max-width: 100%;
}
/* pictures */
img {
	height: auto;
	vertical-align: middle;
}
/* Gmap3 max-width bug fix on images */
#map_canvas img,
.gmnoprint img {max-width: none;}

a img { border: 0; }

/* scripts */
body > script {display: none !important;}

/* skip-links */
.skip-links {
	position: absolute;
}
.skip-links a {
	position: absolute;
	left: -7000px;
	padding: 0.5em;
	background: #000;
	color:#fff;
	text-decoration: none;
}
.skip-links a:focus {
	position: static;
}

/* ----------------------------- */
/* ==layout and modules */
/* ----------------------------- */

/* switching box model for all elements */
* {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

/* float layout */
/* module, contains floats (.item is the same) */
.mod, .item { 
	overflow: hidden;
}

/* blocks that needs to be placed under floats */
.clear,
.line,
.row {
	clear: both;
}

/* blocks that must contain floats */
.clearfix:after,
.line:after,
.mod:after {
	content: "";
	display: table;
	clear: both;
}

/* table layout */
.row {
	display: table;
	table-layout: fixed;
	width: 100%;
}
.row > *,
.col {
	display: table-cell;
	vertical-align: top;
}

/* inline-block */
.inbl {
	display: inline-block;
	vertical-align: top;
	margin-right: -.25em;
}

/* flexbox layout */
.flex {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
}
.flex-h {
	-webkit-box-orient: horizontal;
	   -moz-box-orient: horizontal;
	-webkit-flex-direction: row;
	    -ms-flex-direction: row;
	        flex-direction: row;
}
.flex-v {
	-webkit-box-orient: vertical;
	   -moz-box-orient: vertical;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
}
.flex-fluid {
	-moz-box-flex: 1;
	-webkit-flex: 1;
	   -moz-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}
.flex-start {
	-webkit-box-ordinal-group: -1;
	-moz-box-ordinal-group: 0;
	-ms-flex-order: -1;
	-webkit-order: -1;
	   -moz-order: -1;
	        order: -1;
}
.flex-mid {
	-webkit-box-ordinal-group: 1;
	-moz-box-ordinal-group: 1;
	-ms-flex-order: 1;
	-webkit-order: 1;
	   -moz-order: 1;
	        order: 1;
}
.flex-end {
	-webkit-box-ordinal-group: 42;
	-moz-box-ordinal-group: 42;
	-ms-flex-order: 42;
	-webkit-order: 42;
	   -moz-order: 42;
	        order: 42;
}

/* alignments (blocks and inline) */
/* ------------------------------ */

/* left elements */
.left {
	float: left;
}
img.left {
	margin-right: 1em;
}

/* right elements */
.right {
	float: right;
}
img.right {
	margin-left: 1em;
}

img.left, img.right {
	margin-bottom: 5px;
}

.center    { margin-left: auto; margin-right: auto; }
.txtleft   { text-align: left; }
.txtright  { text-align: right; }
.txtcenter { text-align: center; }

/* blocks widths (percentages and pixels) */
.w10    { width: 10%; }
.w20    { width: 20%; }
.w25    { width: 25%; }
.w30    { width: 30%; }
.w33    { width: 33.333%; }
.w40    { width: 40%; }
.w50    { width: 50%; }
.w60    { width: 60%; }
.w66    { width: 66.666%; }
.w70    { width: 70%; }
.w75    { width: 75%; }
.w80    { width: 80%; }
.w90    { width: 90%; }
.w100   { width: 100%; }

.w50p   { width: 50px; }
.w100p  { width: 100px; }
.w150p  { width: 150px; }
.w200p  { width: 200px; }
.w300p  { width: 300px; }
.w400p  { width: 400px; }
.w500p  { width: 500px; }
.w600p  { width: 600px; }
.w700p  { width: 700px; }
.w800p  { width: 800px; }
.w960p  { width: 960px; }
.mw960p { max-width: 960px; }
.w1140p  { width: 1140px; }
.mw1140p { max-width: 1140px; }

/* custom size */
/* 2 columns grid */
.w-1-2 { width: 50%;}

/* 3 columns grid */
.w-1-3 { width: 33.3333%;}
.w-2-3 {width: 66.6666%;}

/* 4 columns grid */
.w-1-4 { width: 25%;}
.w-3-4 { width: 75%;}

/* 5 columns grid */
.w-1-5 { width: 20%;}
.w-2-5 { width: 40%;}
.w-3-5 { width: 60%;}
.w-4-5 { width: 80%;}

/* 6 columns grid */
.w-1-6 { width: 16.667%;}
.w-5-6 { width: 83.333%}

/* 8 columns grid */
.w-1-8 { width: 12.5%;}
.w-3-8 { width: 37.5%;}
.w-5-8 { width: 62.5%;}
.w-7-8 { width: 87.5%;}

/* 10 columns grid */
.w-1-10 { width: 10%;}
.w-3-10 { width: 30%;}
.w-7-10 { width: 70%;}
.w-9-10 { width: 90%;}

/* 12 columns grid */
.w-1-12 { width: 8.3333%;}
.w-5-12 { width: 41.667%;}
.w-7-12 { width: 58.333%;}

/* 18 columns grid */
.w-1-18 { width: 5.5556%;}
.w-2-18 { width: 11.111%;}
.w-4-18 { width: 22.222%;}
.w-8-18 { width: 44.445%;}

/* attributs de blocs */
.avecBord { border: 1px solid;}
.sansBord { border: none !important;}

/* spacing helpers
p,m = padding,margin
a,t,r,b,l = all,top,right,bottom,left
s,m,l,n,0 = small(10px),medium(15px),large(20px), zero or none(0)
source https://github.com/stubbornella/oocss/blob/master/core/spacing/space.css
*/
.ma-auto { margin-left: auto; margin-right: auto;}
.m-reset, .ma0 { margin: 0; }
.p-reset, .pa0 { padding: 0; }
.mas { margin: 10px; }
.mam { margin: 15px; }
.mal { margin: 20px; }
.pas { padding: 10px; }
.pam { padding: 15px; }
.pal { padding: 20px; }

.mt0, .mtn { margin-top: 0; }
.mts { margin-top: 10px; }
.mtm { margin-top: 15px; }
.mtl { margin-top: 20px; }
.mr0, .mrn { margin-right: 0; }
.mrs { margin-right: 10px; }
.mrm { margin-right: 15px; }
.mrl { margin-right: 20px; }
.mb0, .mbn { margin-bottom: 0; }
.mbs { margin-bottom: 10px; }
.mbm { margin-bottom: 15px; }
.mbl { margin-bottom: 20px; }
.ml0, .mln { margin-left: 0; }
.mls { margin-left: 10px; }
.mlm { margin-left: 15px; }
.mll { margin-left: 20px; }

.pt0, .ptn { padding-top: 0; }
.pts { padding-top: 10px; }
.ptm { padding-top: 15px; }
.ptl { padding-top: 20px; }
.pr0, .prn { padding-right: 0; }
.prs { padding-right: 10px; }
.prm { padding-right: 15px; }
.prl { padding-right: 20px; }
.pb0, .pbn { padding-bottom: 0; }
.pbs { padding-bottom: 10px; }
.pbm { padding-bottom: 15px; }
.pbl { padding-bottom: 20px; }
.pl0, .pln { padding-left: 0; }
.pls { padding-left: 10px; }
.plm { padding-left: 15px; }
.pll { padding-left: 20px; }

/* custom spacing */
.mxs { margin: 5px; }
.mtxs { margin-top: 5px; }
.mrxs { margin-right: 5px; }
.mbxs { margin-bottom: 5px; }
.mlxs { margin-left: 5px; }

.paxs { padding: 5px; }
.ptxs { padding-top: 5px; }
.prxs { padding-right: 5px; }
.pbxs { padding-bottom: 5px; }
.plxs { padding-left: 5px; }

/* hiding content */
.visually-hidden {
	position: absolute;
	left: -7000px;
	overflow: hidden;
}
[dir=rtl] .visually-hidden {
	left: auto;
	right: -7000px;
}

.desktop-hidden { display: none; } /* hidden on desktop */

/* ----------------------------- */
/* ==header */
/* ----------------------------- */

/* ----------------------------- */
/* ==sidebar */
/* ----------------------------- */

/* ----------------------------- */
/* ==footer */
/* ----------------------------- */

/* ----------------------------- */
/* ==forms */
/* ----------------------------- */
form,
fieldset {
	border: none;
}
input,
button,
select,
label,
.btn {
	vertical-align: middle; /* @bugfix alignment */
	font-family: inherit;
}
textarea {
	resize: vertical;
	font-family: inherit;
}

/* ----------------------------- */
/* ==main */
/* ----------------------------- */

/* ----------------------------- */
/* ==iefix */
/* ----------------------------- */

/* hasLayout for IE6/IE7 */
.ie67 .clearfix,
.ie67 .line,
.ie67 .mod,
.ie67 .row,
.ie67 .col {
	zoom: 1;
}

/* inline-block and table-cell for IE6/IE7 */
/* warning: .col needs a width on IE6/IE7 */
.ie67 .btn,
.ie67 .col,
.ie67 .inbl {
	display: inline;
	zoom: 1;
}
.ie8 img {
	width: auto; /* @bugfix for IE8 */
}

/* Active box-sizing for IE6/IE7 */
/* @source https://github.com/Schepp/box-sizing-polyfill */
/*
.ie67 * {
	behavior: url(/js/boxsizing.htc);
}
*/

/* ----------------------------- */
/* ==print */
/* ----------------------------- */

/* quick print reset */
@media print {
	p,
	blockquote {
		orphans: 2;
		widows: 2;
	}
	blockquote,
	ul,
	ol {
		page-break-inside: avoid;
	}
	h1,
	h2,
	h3,
	caption {
		page-break-after: avoid;
	}
}

/* orientation iOS font-size fix */
@media (orientation: landscape) and (max-device-width: 768px) {
	html,
	body {
		-webkit-text-size-adjust: 100%;
	}
}

/* ----------------------------- */
/* ==tables                      */
/* ----------------------------- */

table,
.table {
	max-width : 100%;
	/*table-layout: fixed;*/
	border-collapse: collapse;
	vertical-align: top;
}
table {
	width: 100%;
}
.table {
	display: table;
}
caption {
	padding: 10px;
	color: #555;
	font-style: italic;	
}
table { 
	border: 1px solid #ccc;
}
tr > * + * {
	border-left: 1px solid #ccc;
}
th,
td {
	padding: .3em .8em;
	text-align: left;
	border-bottom: 1px solid #ccc;
}
td {
	color: #333;
}

/* alternate tables */
.alternate { border: 0; }
.alternate tbody { 
	border: 1px solid #ccc; 
}
.alternate thead tr > * + * {
	border-left: 0;
}
.alternate tbody tr > * + * {
	border-left: 1px solid #ccc;
}

/* alternate-vert tables */
.alternate-vert { 
	border: 0;
	border-right: 1px solid #ccc;
}
.alternate-vert tr > :first-child {
	border-bottom: 0;
}
.alternate-vert tr > * + * {
	border-top: 1px solid #ccc;
}

/* striped tables */
.striped tbody tr:nth-child(odd) {
	background: #eee;
	background: rgba(0, 0, 0, .05);
}

/* striped-vert tables */
.striped-vert tr > :first-child {
	background: #eee;
	background: rgba(0, 0, 0, .05);
}
/* ----------------------------- */
/* ==forms                       */
/* ----------------------------- */

/* thanks to HTML5boilerplate, github.com/nathansmith/formalize and www.sitepen.com */


/* buttons */
.btn { display: inline-block; }

.btn.alternate {}
.btn.highlight {}
.login {}
.logout {}
.primary {}
.warning {}
.error {}
.success {}

/* forms items */
label { 
	display: inline-block;
	vertical-align: middle;
	cursor: pointer;
}
legend {
	border: 0;
	white-space: normal;
}
button,
input,
select {
	font-family: "Century Gothic", helvetica, arial, sans-serif;
	font-size: 100%;
	margin: 0;
	vertical-align: middle;
}
textarea {
	overflow: auto; /* Removes default vertical scrollbar on empty textarea in IE6/7/8/9 */
	min-height: 5em;
	vertical-align: top;
	resize: vertical;
}
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	cursor: pointer;
	-webkit-appearance: button; /* clickable input types in iOS */
	*overflow: visible; /* Corrects inner spacing displayed oddly in IE7 */
}
input[type="checkbox"],
input[type="radio"] {
	padding: 0; /* Corrects excess space around these inputs in IE8/9 */
	*width: 13px; *height: 13px; /* Corrects excess space around these inputs in IE7 */
}
input[type="search"] { -webkit-appearance: textfield; }

/* if select styling bugs on WebKit */
/* select { -webkit-appearance: none; } */

/* 'x' appears on right of search input when text is entered. This removes it */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
	display: none;
}
::-webkit-input-placeholder { color: #777; }
input:-moz-placeholder,
textarea:-moz-placeholder   { color: #777; }

/* Removes inner padding and border in FF3+ */
button::-moz-focus-inner,
input[type='button']::-moz-focus-inner,
input[type='reset']::-moz-focus-inner,
input[type='submit']::-moz-focus-inner {
	border: 0;
	padding: 0;
}

/* custom input */
input[type=text],
input[type=password],
textarea {
	border: 1px solid;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	padding: 5px;
	width: 100%;
}

input[type=checkbox] { margin-right: 4px;}

input[type=text].smallInput,
input[type=password].smallInput {float: left; width: 70px;}
.infoChamp {
	display: inline-block;
	float: left;
	line-height: 27px; /* for IE8 */
	line-height: 2.7rem;
	text-indent: 4px;
}