/*!
* www.KNACSS.com V2.9 (2013-10) @author: Raphael Goetter, Alsacreations
* Licence WTFPL http://www.wtfpl.net/
*/
/* ----------------------------- */
/* ==reset                       */
/* ----------------------------- */
/* base font-size corresponds to 10px and is adapted to rem unit */
html { font-size: 62.5%; }

body { background-color: #fff; color: #000; font-family: helvetica, arial, sans-serif; font-size: 1.4em; /* equiv 14px */ line-height: 1.5; /* adapt to your design */ }

/* font-sizing for content */
/* preserves vertical-rythm, thanks to http://soqr.fr/vertical-rhythm/ */
p, ul, ol, dl, blockquote, pre, td, th, label, textarea, caption, details, figure { margin: .75em 0 0; line-height: 1.5; }

h1, .h1-like { margin: 0.6563em 0 0 0; font-size: 2.2857em; /* equiv 32px */ line-height: 1.3126; }

h2, .h2-like { margin: 0.75em 0 0 0; font-size: 2em; /* equiv 28px */ line-height: 1.5; }

h3, .h3-like { margin: 0.875em 0 0 0; font-size: 1.7143em; /* equiv 24px */ line-height: 1.75; }

h4, .h4-like { margin: 1.05em 0 0 0; font-size: 1.4286em; /* equiv 20px */ line-height: 1.05; }

h5, .h5-like { margin: 1.1667em 0 0 0; font-size: 1.2857em; /* equiv 18px */ line-height: 1.1667; }

h6, .h6-like { margin: 1.3125em 0 0 0; font-size: 1.1429em; /* equiv 16px */ line-height: 1.3125; }

/* alternate font-sizing */
.smaller { font-size: .7143em; /* equiv 10px */ }

.small { font-size: .8571em; /* equiv 12px */ }

.big { font-size: 1.1429em; /* equiv 16px */ }

.bigger { font-size: 1.2857em; /* equiv 18px */ }

.biggest { font-size: 1.4286em; /* equiv 20px */ }

/* soft reset */
html, body { margin: 0; padding: 0; }

ul, ol { padding-left: 2em; }

ul.unstyled { 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, 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 { vertical-align: middle; }

/* Google Gmap3 bug fix on images */
:not(.gm-style) img { heigth: auto !important; }

.ie678 .gm-style img { height: 100%; /* IE678 hack */ }

.gm-style img, .gmnoscreen img, .gmnoprint img { max-width: none !important; }

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, gains superpower "BFC" Block Formating Context */
.mod { 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; }

/* 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.3333%; }

.w40 { width: 40%; }

.w50 { width: 50%; }

.w60 { width: 60%; }

.w66 { width: 66.6666%; }

.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; }

/* spacing helpers
p,m = padding,margin
a,t,r,b,l = all,top,right,bottom,left
s,m,l,n,0 = small(10px),medium(20px),large(30px), zero or none(0)
source https://github.com/stubbornella/oocss/blob/master/core/spacing/space.css
*/
.m-reset, .ma0 { margin: 0; }

.p-reset, .pa0 { padding: 0; }

.ma1, .mas { margin: 10px; }

.ma2, .mam { margin: 20px; }

.ma3, .mal { margin: 30px; }

.pa1, .pas { padding: 10px; }

.pa2, .pam { padding: 20px; }

.pa3, .pal { padding: 30px; }

.mt0, .mtn { margin-top: 0; }

.mt1, .mts { margin-top: 10px; }

.mt2, .mtm { margin-top: 20px; }

.mt3, .mtl { margin-top: 30px; }

.mr0, .mrn { margin-right: 0; }

.mr1, .mrs { margin-right: 10px; }

.mr2, .mrm { margin-right: 20px; }

.mr3, .mrl { margin-right: 30px; }

.mb0, .mbn { margin-bottom: 0; }

.mb1, .mbs { margin-bottom: 10px; }

.mb2, .mbm { margin-bottom: 20px; }

.mb3, .mbl { margin-bottom: 30px; }

.ml0, .mln { margin-left: 0; }

.ml1, .mls { margin-left: 10px; }

.ml2, .mlm { margin-left: 20px; }

.ml3, .mll { margin-left: 30px; }

.pt0, .ptn { padding-top: 0; }

.pt1, .pts { padding-top: 10px; }

.pt2, .ptm { padding-top: 20px; }

.pt3, .ptl { padding-top: 30px; }

.pr0, .prn { padding-right: 0; }

.pr1, .prs { padding-right: 10px; }

.pr2, .prm { padding-right: 20px; }

.pr3, .prl { padding-right: 30px; }

.pb0, .pbn { padding-bottom: 0; }

.pb1, .pbs { padding-bottom: 10px; }

.pb2, .pbm { padding-bottom: 20px; }

.pb3, .pbl { padding-bottom: 30px; }

.pl0, .pln { padding-left: 0; }

.pl1, .pls { padding-left: 10px; }

.pl2, .plm { padding-left: 20px; }

.pl3, .pll { padding-left: 30px; }

/* 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 */
/* ----------------------------- */
/* ==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; } }
/* debug helper */
.knacss-debug { background: pink; outline: 3px solid maroon; }

/* orientation iOS font-size fix */
@media (orientation: landscape) and (max-device-width: 768px) { html, body { -webkit-text-size-adjust: 100%; } }
/* ----------------------------- */
/* ==own stylesheet              */
/* ----------------------------- */
/* Here should go your own CSS styles */
/* You can link them with an @import or, better for webperf, just paste them here */
/* @import url(my-styles.css); */
/* ----------------------------- */
/* ==grids                       */
/* ----------------------------- */
/* grids inspired from SUIT https://github.com/suitcss/suit */
/* font-family hack explained here : https://github.com/raphaelgoetter/KNACSS/issues/37 */
.grid { overflow: hidden; font-family: FreeSans, Arimo, "Droid Sans", Helvetica, Arial, sans-serif; }

.grid > * { display: block; padding: 0; margin-left: -20px; /* gutter value */ text-align: left; letter-spacing: -0.31em; text-rendering: optimizespeed; }

/* Opera hack */
.opera:-o-prefocus, .grid > * { word-spacing: -0.43em; }

.grid > * > * { display: inline-block; width: 100%; padding-left: 20px; /* gutter value */ margin-left: 0; vertical-align: top; text-align: left; letter-spacing: normal; word-spacing: normal; text-rendering: auto; *display: inline; *zoom: 1; /* IE67 hack */ font-family: helvetica, arial, sans-serif; }

.grid2 > * { width: 50%; }

.grid3 > * { width: 33.333%; }

.grid4 > * { width: 25%; }

.grid5 > * { width: 20%; }

.grid6 > * { width: 16.667%; }

.grid8 > * { width: 12.5%; }

.grid10 > * { width: 10%; }

.grid12 > * { width: 8.333%; }

/* unequal grids (1-2, 2-1, 1-3 and 3-1) for 2 blocks */
.grid2-1 > *:first-child, .grid1-2 > * + * { width: 66.666%; }

.grid1-2 > *:first-child, .grid2-1 > * + * { width: 33.333%; }

.grid1-3 > *:first-child, .grid3-1 > * + * { width: 25%; }

.grid3-1 > *:first-child, .grid1-3 > * + * { width: 75%; }

/* Responsiv-o-matic */
@media (max-width: 1024px) { .grid5 > *, .grid6 > *, .grid8 > *, .grid10 > *, .grid12 > * { width: 33.333%; } }
@media (max-width: 768px) { .grid3 > *, .grid4 > *, .grid5 > *, .grid6 > *, .grid8 > *, .grid10 > *, .grid12 > * { width: 50%; } }
@media (max-width: 640px) { .grid > * > * { width: 100% !important; } }
/* ----------------------------- */
/* ==tables                      */
/* ----------------------------- */
table, .table { max-width: 100%; table-layout: fixed; border-collapse: collapse; vertical-align: top; }

table { width: 100%; }

.table { display: table; }

table#recaptcha_table, table.table-auto { table-layout: auto; }

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, 0.05); }

/* striped-vert tables */
.striped-vert tr > :first-child { background: #eee; background: rgba(0, 0, 0, 0.05); }

/* ----------------------------- */
/* ==forms                       */
/* ----------------------------- */
/* thanks to HTML5boilerplate,
* github.com/nathansmith/formalize
* and www.sitepen.com
*/
/* buttons */
.btn { display: inline-block; }

/* forms items */
form, fieldset { border: none; }

input, button, select, label, .btn { vertical-align: middle; font-family: inherit; font-size: inherit; }

label { display: inline-block; vertical-align: middle; cursor: pointer; }

legend { border: 0; white-space: normal; }

textarea { overflow: auto; /* Removes default vertical scrollbar on empty textarea in IE6/7/8/9 */ min-height: 5em; vertical-align: top; font-family: inherit; font-size: inherit; resize: vertical; }

button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; /* clickable input types in iOS */ }

input[type="checkbox"], input[type="radio"] { padding: 0; /* Corrects excess space around these inputs in IE8/9 */ }

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; }

/* ----------------------------- */
/* ==viewport fixing for RWD     */
/* ----------------------------- */
@-webkit-viewport { width: device-width; zoom: 1.0; }

@-moz-viewport { width: device-width; zoom: 1.0; }

@-ms-viewport { width: device-width; zoom: 1.0; }

@-o-viewport { width: device-width; zoom: 1.0; }

@viewport { width: device-width; zoom: 1.0; }

/* ----------------------------- */
/* ==desktop and retina medias   */
/* ----------------------------- */
@media (min-width: 641px) { /* here go rules for big resources and big screens like: background-images, font-faces, etc. */ }
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) { /* Style adjustments for retina devices */ }
/* ---------------------------------- */
/* ==Responsive large / small / tiny  */
/* ---------------------------------- */
@media (min-width: 1280px) { /* layouts for large (l) screens */
  .large-hidden, .tablet-hidden { display: none !important; }
  .large-visible { display: block !important; }
  .large-no-float { float: none; }
  .large-inbl { display: inline-block; float: none; vertical-align: top; }
  .large-row { display: table; table-layout: fixed; width: 100% !important; }
  .large-col { display: table-cell; vertical-align: top; }
  /* widths for large (l) screens */
  .large-w25 { width: 25% !important; }
  .large-w33 { width: 33.3333% !important; }
  .large-w50 { width: 50% !important; }
  .large-w66 { width: 66.6666% !important; }
  .large-w75 { width: 75% !important; }
  .large-w100 { display: block !important; float: none !important; clear: none !important; width: auto !important; margin-left: 0 !important; margin-right: 0 !important; border: 0; }
  /* margins for large (l) screens */
  .large-ma0 { margin: 0 !important; } }
@media (max-width: 768px) { /* quick tablet reset */
  .w600p, .w700p, .w800p, .w960p, .mw960p, .small-wauto { width: auto; float: none; }
  /* you shall not pass */
  div, textarea, table, td, th, code, pre, samp { word-wrap: break-word; -webkit-hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto; -o-hyphens: auto; hyphens: auto; }
  /* layouts for small (s) screens */
  .small-hidden, .tablet-hidden { display: none !important; }
  .small-visible { display: block !important; }
  .small-no-float { float: none; }
  .small-inbl { display: inline-block; float: none; vertical-align: top; }
  .small-row { display: table !important; table-layout: fixed !important; width: 100% !important; }
  .small-col { display: table-cell !important; vertical-align: top !important; }
  /* widths for small (s) screens */
  .small-w25 { width: 25% !important; }
  .small-w33 { width: 33.3333% !important; }
  .small-w50 { width: 50% !important; }
  .small-w66 { width: 66.6666% !important; }
  .small-w75 { width: 75% !important; }
  .small-w100 { display: block !important; float: none !important; clear: none !important; width: auto !important; margin-left: 0 !important; margin-right: 0 !important; border: 0; }
  /* margins for small (s) screens */
  .small-ma0 { margin: 0 !important; } }
@media (max-width: 640px) { /* quick smartphone reset */
  .mod, .col, fieldset { display: block !important; float: none !important; clear: none !important; width: auto !important; margin-left: 0 !important; margin-right: 0 !important; border: 0; }
  .w300p, .w400p, .w500p { width: auto; float: none; }
  .row { display: block !important; width: 100% !important; }
  /* layouts for tiny (t) screens */
  .tiny-hidden, .phone-hidden { display: none !important; }
  .tiny-visible { display: block !important; }
  .tiny-no-float { float: none; }
  .tiny-inbl { display: inline-block; float: none; vertical-align: top; }
  .tiny-row { display: table !important; table-layout: fixed !important; width: 100% !important; }
  .tiny-col { display: table-cell !important; vertical-align: top !important; }
  th, td { display: block; width: auto; text-align: left !important; }
  thead { display: none; }
  /* widths for tiny (t) screens */
  .tiny-w25 { width: 25% !important; }
  .tiny-w33 { width: 33.3333% !important; }
  .tiny-w50 { width: 50% !important; }
  .tiny-w66 { width: 66.6666% !important; }
  .tiny-w75 { width: 75% !important; }
  .tiny-w100 { display: block !important; float: none !important; clear: none !important; width: auto !important; margin-left: 0 !important; margin-right: 0 !important; border: 0; }
  /* margins for tiny (t) screens */
  .tiny-ma0 { margin: 0 !important; } }