.fwLight{
    font-weight:300;
}

.fwBold{
    font-weight:700;
}

.fullWidth {
    width: 100%;
}

.fullHeight {
    height: 100%;
}

.fullCenter {
    text-align: center;
    margin: 0 auto;
}

.txtCenter {
    text-align: center;
}

.left {
    float: left;
}

.right {
    float:right;
}

.clearBoth {
    clear: both;
}

.verticalCenter {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}

.horizontalCenter {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}

.middleCenter {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    -o-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
}

.clickable {
    cursor: pointer;
}

.relative {
    position: relative;
}

.absolute {
    position:absolute;
}

.fixed{
    position:fixed;
}

.block {
    display: block;
}

.inlineBlock {
    display: inline-block;
}

.fit {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.fitFixed {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}


/* default/basic flex layout rules*/

.flex {
    display: inline-block;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

.inlineFlex {
    display: inline-block;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
}

.flex.expand,
.inlineFlex.expand {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.flex.noExpand,
.inlineFlex.noExpand {
    -webkit-box-flex: 0;
    -webkit-flex: 0;
    -ms-flex: 0;
    flex: 0;
}

.flex.horizontal,
.inlineFlex.horizontal {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
}
.flex.horizontal.reverse,
.inlineFlex.horizontal.reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.flex.vertical,
.inlineFlex.vertical {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}

.flex.wrap,
.inlineFlex.wrap {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}


/* justify-content rules */

.flex.spaceAround,
.inlineFlex.spaceAround {
    margin: 0 auto;
    text-align: center;
    max-width: 100%;
    -ms-justify-content: space-around;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

.flex.center,
.inlineFlex.center {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.flex.start,
.inlineFlex.start {

}

.flex.spaceBetween,
.inlineFlex.spaceBetween {
    -webkit-box-pack: justify;
    webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}


/* align-items rules */

.flex.itemsCenter,
.inlineFlex.itemsCenter {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

.flex.itemsStart,
.inlineFlex.itemsStart {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.flex.itemsEnd,
.inlineFlex.itemsEnd {
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-start;
}

.flex.itemsStretch,
.inlineFlex.itemsStretch {
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}


/* align-self rules */

.flex.selfCenter,
.inlineFlex.selfCenter,
.flex > .selfCenter,
.inlineFlex > .selfCenter {
    /* use align-self on a flex item (inside flex container)*/
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    align-self: center;
}

.flex.selfStart,
.inlineFlex.selfStart,
.flex > .selfStart,
.inlineFlex > .selfStart {
    /* use align-self on a flex item (inside flex container)*/
    -webkit-align-self: flex-start;
    -ms-flex-item-align: start;
    align-self: flex-start;
}

.flex.selfEnd,
.inlineFlex.selfEnd,
.flex > .selfEnd,
.inlineFlex > .selfEnd {
    /* use align-self on a flex item (inside flex container)*/
    -webkit-align-self: flex-end;
    -ms-flex-item-align: end;
    align-self: flex-end;
}

.flex.selfStretch,
.inlineFlex.selfStretch,
.flex > .selfStretch,
.inlineFlex > .selfStretch {
    /* use align-self on a flex item (inside flex container)*/
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    align-self: stretch;
}


/* align-content rules */

.flex.contentCenter,
.inlineFlex.contentCenter {
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
}

.flex.contentStart,
.inlineFlex.contentStart {
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
}

.flex.contentEnd,
.inlineFlex.contentEnd {
    -webkit-align-content: flex-end;
    -ms-flex-line-pack: end;
    align-content: flex-end;
}

.flex.contentStretch,
.inlineFlex.contentStretch {
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
}

.animated {
    -webkit-transition: all 350ms ease-in-out;
    -moz-transition: all 350ms ease-in-out;
    -o-transition: all 350ms ease-in-out;
    transition: all 350ms ease-in-out;
}


/*  show/hide - animation  */

.shown {
    display: block!important;
}

.shownInline {
    height: auto;
    display: inline-block!important;
}

.shownFlex {
    display: -webkit-box!important;
    display: -webkit-flex!important;
    display: -ms-flexbox!important;
    display: flex!important;
}

.hidden {
    display: none!important;
}

.shownHeight {
    height: auto!important;
}

.hiddenHeight {
    height: 0!important;
    padding: 0!important;
    margin: 0!important;
    min-height: 0!important;
}



/* misc */
.flexSpace{
    margin:auto;
}