/* very generic, fluid grid definitions */
.cols-33x3 {
    *zoom: 1;
    *zoom: 1;
}

.cols-33x3:before, .cols-33x3:after {
    display: table;
    content: "";
}

.cols-33x3:after {
    clear: both;
}

.cols-33x3:before, .cols-33x3:after {
    display: table;
    content: "";
}

.cols-33x3:after {
    clear: both;
}

.cols-33x3 .col {
    float: left;
    width: 33.3%;
}

.cols-25x4 {
    *zoom: 1;
    *zoom: 1;
}

.cols-25x4:before, .cols-25x4:after {
    display: table;
    content: "";
}

.cols-25x4:after {
    clear: both;
}

.cols-25x4:before, .cols-25x4:after {
    display: table;
    content: "";
}

.cols-25x4:after {
    clear: both;
}

.cols-25x4 .col {
    float: left;
    width: 25%;
}

.cols-50x2 {
    *zoom: 1;
    *zoom: 1;
}

.cols-50x2:before, .cols-50x2:after {
    display: table;
    content: "";
}

.cols-50x2:after {
    clear: both;
}

.cols-50x2:before, .cols-50x2:after {
    display: table;
    content: "";
}

.cols-50x2:after {
    clear: both;
}

.cols-50x2 .right,
.cols-50x2 .col {
    float: right;
    width: 45%;
}

.cols-50x2 .left,
.cols-50x2 .col:first-child {
    float: left;
}
.cols-50x2.reverse-box .col {
    width: 48%;
}
.cols-75-25 {
    *zoom: 1;
    *zoom: 1;
}

.cols-75-25:before, .cols-75-25:after {
    display: table;
    content: "";
}

.cols-75-25:after {
    clear: both;
}

.cols-75-25:before, .cols-75-25:after {
    display: table;
    content: "";
}

.cols-75-25:after {
    clear: both;
}

.cols-75-25 .left,
.cols-75-25 .col:first-child {
    float: left;
    width: 72%;
}

.cols-75-25 .right,
.cols-75-25 .col {
    float: right;
    width: 23%;
}

.cols-25-75 {
    *zoom: 1;
    *zoom: 1;
}

.cols-25-75:before, .cols-25-75:after {
    display: table;
    content: "";
}

.cols-25-75:after {
    clear: both;
}

.cols-25-75:before, .cols-25-75:after {
    display: table;
    content: "";
}

.cols-25-75:after {
    clear: both;
}

.cols-25-75 .left {
    float: left;
    width: 23%;
}

.cols-25-75 .right {
    float: right;
    width: 72%;
}

.cols-25-75 .col {
    float: right;
    width: 72%;
}

.cols-25-75 .col:first-child {
    float: left;
    width: 23%;
}

.cols-33-66 {
    *zoom: 1;
    *zoom: 1;
}

.cols-33-66:before, .cols-33-66:after {
    display: table;
    content: "";
}

.cols-33-66:after {
    clear: both;
}

.cols-33-66:before, .cols-33-66:after {
    display: table;
    content: "";
}

.cols-33-66:after {
    clear: both;
}

.cols-33-66 .col {
    float: right;
    width: 65%;
}

.cols-33-66 .col:first-child {
    float: left;
    width: 33%;
}

.cols-66-33 {
    *zoom: 1;
    *zoom: 1;
}

.cols-66-33:before, .cols-66-33:after {
    display: table;
    content: "";
}

.cols-66-33:after {
    clear: both;
}

.cols-66-33:before, .cols-66-33:after {
    display: table;
    content: "";
}

.cols-66-33:after {
    clear: both;
}

.cols-66-33 .col {
    float: right;
    width: 220px;
}

.cols-66-33 .col:first-child {
    float: left;
    width: 470px;
}

.cols-15-85 {
    *zoom: 1;
    *zoom: 1;
}

.cols-15-85:before, .cols-15-85:after {
    display: table;
    content: "";
}

.cols-15-85:after {
    clear: both;
}

.cols-15-85:before, .cols-15-85:after {
    display: table;
    content: "";
}

.cols-15-85:after {
    clear: both;
}

.cols-15-85 .left {
    float: left;
    width: 15%;
}

.cols-15-85 .right {
    float: right;
    width: 85%;
}

.cols-15-85 .col {
    float: right;
    width: 85%;
}

.cols-15-85 .col:first-child {
    float: left;
    width: 15%;
}

/* remove bottom margin of last element in each column, use bottom margin of the container instead */
.content .cols-50x2, .content .cols-25-75, .content .cols-75-25, .content .cols-85-15{
    margin-bottom: 20px;
}

/*.content .cols-50x2 .left :last-child, .content .cols-25-75 .left :last-child, .content .cols-75-25 .left :last-child, .content .cols-50x2 .right :last-child, .content .cols-25-75 .right :last-child, .content .cols-75-25 .right :last-child {
	margin-bottom: 0;
}
*/
.content .cols-25x4, .content .cols-33x3 {
    margin-bottom: 20px;
}
