/* =OOCSS (https://github.com/stubbornella/oocss)
----------------------------------------------------------------------------- */
/* grids : https://github.com/stubbornella/oocss/blob/master/core/grid/grids.css */
.line:before, .line:after {
    content: "";
    display: table;
}

/*'line' is the container*/
.line:after {
    clear: both;
}

.line {
    *zoom: 1;
}

.unit {
    float: left;
}

/*a 'unit' is a floating block in the 'line'*/
.reverse-unit {
    float: right;
}

/*a 'unit' is a floating block in the 'line'*/
.size1of1 {
    float: none;
    width: 100%;
}

.size1of2 {
    width: 50%;
}

.size1of3 {
    width: 33.33333%;
}

.size2of3 {
    width: 66.66666%;
}

.size1of4 {
    width: 25%;
}

.size3of4 {
    width: 75%;
}

.size1of5 {
    width: 20%;
}

.size2of5 {
    width: 40%;
}

.size3of5 {
    width: 60%;
}

.size4of5 {
    width: 80%;
}

.last-unit {
    float: none;
    display: block;
    display: table-cell;
    width: 9999em;
    *width: auto;
    *zoom: 1;
    _position: relative;
    _left: -3px;
    _margin-right: -3px;
}

.ofh {
    overflow: hidden;
    zoom: 1;
}

/*in case you don't want to use 'line' method*/

/* space : https://github.com/stubbornella/oocss/blob/master/core/spacing/space.css*/
/**
 * Spacing classes
 * Should be used to modify the default spacing between objects (not between nodes of the same object)
 * Please use judiciously. You want to be using defaults most of the time, these are exceptions!
 * <type><location><size>
 */

/* spacing helpers
p,m = padding,margin
a,t,r,b,l,h,v = all,top,right,bottom,left,horizontal,vertical
s,m,l,n = small(5px),medium(10px),large(20px),none(0px)
*/

.ptn, .pvn, .pan {
    padding-top: 0px
}

.ptxs, .pvxs, .paxs {
    padding-top: 3px
}

.pts, .pvs, .pas {
    padding-top: 5px
}

.ptm, .pvm, .pam {
    padding-top: 10px
}

.ptl, .pvl, .pal {
    padding-top: 15px
}

.ptxl, .pvxl, .paxl {
    padding-top: 20px
}

.ptxxl, .pvxxl, .paxxl {
    padding-top: 25px
}

.prn, .phn, .pan {
    padding-right: 0px
}

.prxs, .phxs, .paxs {
    padding-right: 3px
}

.prs, .phs, .pas {
    padding-right: 5px
}

.prm, .phm, .pam {
    padding-right: 10px
}

.prl, .phl, .pal {
    padding-right: 15px
}

.prxl, .phxl, .paxl {
    padding-right: 20px
}

.prxxl, .phxxl, .paxxl {
    padding-right: 25px
}

.pbn, .pvn, .pan {
    padding-bottom: 0px
}

.pbs, .pvs, .pas {
    padding-bottom: 5px
}

.pbxs, .pvxs, .paxs {
    padding-bottom: 3px
}

.pbm, .pvm, .pam {
    padding-bottom: 10px
}

.pbl, .pvl, .pal {
    padding-bottom: 15px
}

.pbxl, .pvxl, .paxl {
    padding-bottom: 20px
}

.pbxxl, .pvxxl, .paxxl {
    padding-bottom: 25px
}

.pln, .phn, .pan {
    padding-left: 0px
}

.plxs, .phxs, .paxs {
    padding-left: 3px
}

.pls, .phs, .pas {
    padding-left: 5px
}

.plm, .phm, .pam {
    padding-left: 10px
}

.pll, .phl, .pal {
    padding-left: 15px
}

.plxl, .phxl, .paxl {
    padding-left: 20px
}

.plxxl, .phxxl, .paxxl {
    padding-left: 25px
}

.mtn, .mvn, .man {
    margin-top: 0px
}

.mtxs, .mvxs, .maxs {
    margin-top: 3px
}

.mts, .mvs, .mas {
    margin-top: 5px
}

.mtm, .mvm, .mam {
    margin-top: 10px
}

.mtl, .mvl, .mal {
    margin-top: 15px
}

.mtxl, .mvxl, .maxl {
    margin-top: 20px
}

.mtxxl, .mvxxl, .maxxl {
    margin-top: 25px
}

.mrn, .mhn, .man {
    margin-right: 0px
}

.mrxs, .mhxs, .maxs {
    margin-right: 3px
}

.mrs, .mhs, .mas {
    margin-right: 5px
}

.mrm, .mhm, .mam {
    margin-right: 10px
}

.mrl, .mhl, .mal {
    margin-right: 15px
}

.mrxl, .mhxl, .maxl {
    margin-right: 20px
}

.mrxxl, .mhxxl, .maxxl {
    margin-right: 25px
}

.mbn, .mvn, .man {
    margin-bottom: 0px
}

.mbxs, .mvxs, .maxs {
    margin-bottom: 3px
}

.mbs, .mvs, .mas {
    margin-bottom: 5px
}

.mbm, .mvm, .mam {
    margin-bottom: 10px
}

.mbl, .mvl, .mal {
    margin-bottom: 15px
}

.mbxl, .mvxl, .maxl {
    margin-bottom: 20px
}

.mbxxl, .mvxxl, .maxxl {
    margin-bottom: 25px
}

.mln, .mhn, .man {
    margin-left: 0px
}

.mlxs, .mhxs, .maxs {
    margin-left: 3px
}

.mls, .mhs, .mas {
    margin-left: 5px
}

.mlm, .mhm, .mam {
    margin-left: 10px
}

.mll, .mhl, .mal {
    margin-left: 15px
}

.mlxl, .mhxl, .maxl {
    margin-left: 20px
}

.mlxxl, .mhxxl, .maxxl {
    margin-left: 25px
}

/* inline module : an inline-block container with an optional block content (in-imod) */
.imod, .in-imod {
}

.imod {
    display: -moz-inline-stack;
    display: inline-block;
    _display: inline;
    _zoom: 1;
}

/* old FF ; recent browser ; IE6/7 inline-block=inline+zoom */
.imod-tab-large {
    display: block;
    float: left;
}

.imod .in-imod {
    display: block;
    _display: inline;
    _zoom: 1;
}

.imod span.in-imod, .imod a.in-imod, .imod label.in-imod {
    _display: block;
}

.imod input, .imod button, .imod textarea {
    background: none;
    border: none;
    font: inherit;
    padding: 0;
    color: inherit;
    -moz-box-sizing: content-box;
    overflow: visible;
}

/* other helpers */
.tal {
    text-align: left;
}

.tar {
    text-align: right;
}

.tac {
    text-align: center;
}

.posa {
    position: absolute;
}

.posr {
    position: relative;
}

.vab {
    vertical-align: bottom;
}

.vam {
    vertical-align: middle;
}

.vat {
    vertical-align: top;
}

.di {
    display: inline;
}

.dib {
    display: inline-block;
}

.db {
    display: block;
}

.dn {
    display: none;
}

.dt {
    display: table;
}

.dtc {
    display: table-cell;
}

.ttu {
    text-transform: uppercase;
}

.tdu {
    text-decoration: underline;
}

.left {
    float: left;
}

.right {
    float: right;
}

.full-w {
    width: 100%;
}

.full-h {
    height: 100%;
}

.center {
    margin-left: auto;
    margin-right: auto;
}

.bg-x-center {
    background-position: center 0;
}

.bg-y-center {
    background-position: 0 center;
}

.clear {
    clear: both;
}

.pointer {
    cursor: pointer;
}