/* Clear fixing ------- */
.clearfix { *zoom: 1; }
	.clearfix:before, .clearfix:after { display: table; line-height: 0; content: ""; }
	.clearfix:after { clear: both; }
	
/* margin and padding classes ------ */
.space { margin: 10px; padding: 10px; }
.space-v { margin-top: 10px; margin-bottom: 10px; padding-top: 10px; padding-bottom: 10px; }
.space-h { margin-left: 10px; margin-right: 10px; padding-left: 10px; padding-right: 10px; }
.space-l { margin-left: 10px; padding-left: 10px; }
.space-t { margin-top: 10px; padding-top: 10px; }
.space-r { margin-right: 10px; padding-right: 10px; }
.space-b { margin-bottom: 10px;  padding-bottom: 10px;}

.space.space-less { margin: 5px; padding: 5px; }
.space-v.space-less { margin-top: 5px; margin-bottom: 5px; padding-top: 5px; padding-bottom: 5px; }
.space-h.space-less { margin-left: 5px; margin-right: 5px; padding-left: 5px; padding-right: 5px; }
.space-l.space-less { margin-left: 5px; padding-left: 5px; }
.space-t.space-less { margin-top: 5px; padding-top: 5px; }
.space-r.space-less { margin-right: 5px; padding-right: 5px; }
.space-b.space-less { margin-bottom: 5px;  padding-bottom: 5px;}

.space.space-more { margin: 15px; padding: 15px; }
.space-v.space-more { margin-top: 15px; margin-bottom: 15px; padding-top: 15px; padding-bottom: 15px; }
.space-h.space-more { margin-left: 15px; margin-right: 15px; padding-left: 15px; padding-right: 15px; }
.space-l.space-more { margin-left: 15px; padding-left: 15px; }
.space-t.space-more { margin-top: 15px; padding-top: 15px; }
.space-r.space-more { margin-right: 15px; padding-right: 15px; }
.space-b.space-more { margin-bottom: 15px;  padding-bottom: 15px;}

.space.space-abit { margin: 3px; padding: 3px; }
.space-v.space-abit { margin-top: 3px; margin-bottom: 3px; padding-top: 3px; padding-bottom: 3px; }
.space-h.space-abit { margin-left: 3px; margin-right: 3px; padding-left: 3px; padding-right: 3px; }
.space-l.space-abit { margin-left: 3px; padding-left: 3px; }
.space-t.space-abit { margin-top: 3px; padding-top: 3px; }
.space-r.space-abit { margin-right: 3px; padding-right: 3px; }
.space-b.space-abit { margin-bottom: 3px;  padding-bottom: 3px;}

.space.space-minimum { margin: 1px; padding: 1px; }
.space-v.space-minimum { margin-top: 1px; margin-bottom: 1px; padding-top: 1px; padding-bottom: 1px; }
.space-h.space-minimum { margin-left: 1px; margin-right: 1px; padding-left: 1px; padding-right: 1px; }
.space-l.space-minimum { margin-left: 1px; padding-left: 1px; }
.space-t.space-minimum { margin-top: 1px; padding-top: 1px; }
.space-r.space-minimum { margin-right: 1px; padding-right: 1px; }
.space-b.space-minimum { margin-bottom: 1px;  padding-bottom: 1px;}

.space.space-none { margin: 0px; padding: 0px; }
.space-v.space-none { margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; }
.space-h.space-none { margin-left: 0px; margin-right: 0px; padding-left: 0px; padding-right: 0px; }
.space-l.space-none { margin-left: 0px; padding-left: 0px; }
.space-t.space-none { margin-top: 0px; padding-top: 0px; }
.space-r.space-none { margin-right: 0px; padding-right: 0px; }
.space-b.space-none { margin-bottom: 0px;  padding-bottom: 0px;}

/* margin classes ----------- */
.push { margin: 10px; }
.push-v { margin-top: 10px; margin-bottom: 10px; }
.push-h { margin-left: 10px; margin-right: 10px; }
.push-l { margin-left: 10px; }
.push-t { margin-top: 10px; }
.push-b { margin-bottom: 10px; }
.push-r { margin-right: 10px; }

.push.push-minimum { margin: 1px; }
.push-v.push-minimum { margin-top: 1px; margin-bottom: 1px; }
.push-h.push-minimum { margin-left: 1px; margin-right: 1px; }
.push-l.push-minimum { margin-left: 1px; }
.push-t.push-minimum { margin-top: 1px; }
.push-b.push-minimum { margin-bottom: 1px; }
.push-r.push-minimum { margin-right: 1px; }

.push.push-slight { margin: 2px; }
.push-v.push-slight { margin-top: 2px; margin-bottom: 2px; }
.push-h.push-slight { margin-left: 2px; margin-right: 2px; }
.push-l.push-slight { margin-left: 2px; }
.push-t.push-slight { margin-top: 2px; }
.push-b.push-slight { margin-bottom: 2px; }
.push-r.push-slight { margin-right: 2px; }

.push.push-abit { margin: 3px; }
.push-v.push-abit { margin-top: 3px; margin-bottom: 3px; }
.push-h.push-abit { margin-left: 3px; margin-right: 3px; }
.push-l.push-abit { margin-left: 3px; }
.push-t.push-abit { margin-top: 3px; }
.push-b.push-abit { margin-bottom: 3px; }
.push-r.push-abit { margin-right: 3px; }

.push.push-less { margin: 5px; }
.push-v.push-less { margin-top: 5px; margin-bottom: 5px; }
.push-h.push-less { margin-left: 5px; margin-right: 5px; }
.push-l.push-less { margin-left: 5px; }
.push-t.push-less { margin-top: 5px; }
.push-b.push-less { margin-bottom: 5px; }
.push-r.push-less { margin-right: 5px; }

.push.push-more { margin: 15px; }
.push-v.push-more { margin-top: 15px; margin-bottom: 15px; }
.push-h.push-more { margin-left: 15px; margin-right: 15px; }
.push-l.push-more { margin-left: 15px; }
.push-t.push-more { margin-top: 15px; }
.push-b.push-more { margin-bottom: 15px; }
.push-r.push-more { margin-right: 15px; }

.push.push-none { margin: 0px; }
.push-v.push-none { margin-top: 0px; margin-bottom: 0px; }
.push-h.push-none { margin-left: 0px; margin-right: 0px; }
.push-l.push-none { margin-left: 0px; }
.push-t.push-none { margin-top: 0px; }
.push-b.push-none { margin-bottom: 0px; }
.push-r.push-none { margin-right: 0px; }

.push-v.push-only { margin-left: 0px; margin-right: 0px; }
.push-h.push-only { margin-top: 0px; margin-bottom: 0px; }
.push-l.push-only { margin-top: 0px; margin-right: 0px; margin-bottom: 0px; }
.push-t.push-only { margin-left: 0px; margin-right: 0px; margin-bottom: 0px; }
.push-b.push-only { margin-top: 0px; margin-right: 0px; margin-left: 0px; }
.push-r.push-only { margin-top: 0px; margin-left: 0px; margin-bottom: 0px; }

/* padding classes ----------- */
.pad { padding: 10px; }
.pad-v { padding-top: 10px; padding-bottom: 10px; }
.pad-h { padding-left: 10px; padding-right: 10px; } 
.pad-l { padding-left: 10px; }
.pad-t { padding-top: 10px; }
.pad-b { padding-bottom: 10px; }
.pad-r { padding-right: 10px; }

.pad.pad-minimum { padding: 1px; }
.pad-v.pad-minimum { padding-top: 1px; padding-bottom: 1px; }
.pad-h.pad-minimum { padding-left: 1px; padding-right: 1px; } 
.pad-l.pad-minimum { padding-left: 1px; }
.pad-t.pad-minimum { padding-top: 1px; }
.pad-b.pad-minimum { padding-bottom: 1px; }
.pad-r.pad-minimum { padding-right: 1px; }

.pad.pad-slight { padding: 3px; }
.pad-v.pad-slight { padding-top: 3px; padding-bottom: 3px; }
.pad-h.pad-slight { padding-left: 3px; padding-right: 3px; } 
.pad-l.pad-slight { padding-left: 3px; }
.pad-t.pad-slight { padding-top: 3px; }
.pad-b.pad-slight { padding-bottom: 3px; }
.pad-r.pad-slight { padding-right: 3px; }

.pad.pad-less { padding: 5px; }
.pad-v.pad-less { padding-top: 5px; padding-bottom: 5px; }
.pad-h.pad-less { padding-left: 5px; padding-right: 5px; } 
.pad-l.pad-less { padding-left: 5px; }
.pad-t.pad-less { padding-top: 5px; }
.pad-b.pad-less { padding-bottom: 5px; }
.pad-r.pad-less { padding-right: 5px; }

.pad.pad-more { padding: 15px; }
.pad-v.pad-more { padding-top: 15px; padding-bottom: 15px; }
.pad-h.pad-more { padding-left: 15px; padding-right: 15px; } 
.pad-l.pad-more { padding-left: 15px; }
.pad-t.pad-more { padding-top: 15px; }
.pad-b.pad-more { padding-bottom: 15px; }
.pad-r.pad-more { padding-right: 15px; }

.pad.pad-none { padding: 0px; }
.pad-v.pad-none { padding-top: 0px; padding-bottom: 0px; }
.pad-h.pad-none { padding-left: 0px; padding-right: 0px; } 
.pad-l.pad-none { padding-left: 0px; }
.pad-t.pad-none { padding-top: 0px; }
.pad-b.pad-none { padding-bottom: 0px; }
.pad-r.pad-none { padding-right: 0px; }

.pad-v.pad-only { padding-left: 0px; padding-right: 0px; }
.pad-h.pad-only { padding-top: 0px; padding-bottom: 0px; }
.pad-l.pad-only { padding-top: 0px; padding-right: 0px; padding-bottom: 0px; }
.pad-t.pad-only { padding-left: 0px; padding-right: 0px; padding-bottom: 0px; }
.pad-b.pad-only { padding-top: 0px; padding-right: 0px; padding-left: 0px; }
.pad-r.pad-only { padding-top: 0px; padding-left: 0px; padding-bottom: 0px; }

/* nudge -----------------------*/
.nudge { margin: 1px; }
.nudge-v { margin-top: 1px; margin-bottom: 1px; }
.nudge-h { margin-left: 1px; margin-right: 1px; }
.nudge-t { margin-top: 1px; }
.nudge-r { margin-right: 1px; }
.nudge-b { margin-bottom: 1px; }
.nudge-l { margin-left: 1px; }

/* text classes --------------- */
.align-r { text-align: right; }
.align-l { text-align: left; }
.align-c { text-align: center; }
.vertical-m { vertical-align: middle; }
.vertical-t { vertical-align: top; }
.vertical-b { vertical-align: bottom; }
.pointer { cursor: pointer; }
.subtle-less, .subtle-less a { color: #999; }
.subtle, .subtle a { color: #777 !important; }
.subtle-more, .subtle-more a { color: #ccc; }
.bright { color: #fff; }
.wrap-none { white-space: nowrap; }
.wrap-allow { white-space: normal; }
.text-xxs { font-size: 0.5em; }
.text-xs { font-size: 0.75em; }
.text-sm { font-size: 0.85em; }
.text-lg { font-size: 1.15em; }
.text-xl { font-size: 1.5em; }
.text-xxl { font-size: 2em; }
.text-xxxl { font-size: 2.5em; }
.text-normal { font-weight: normal; line-height: 1em; }
.text-bold { font-weight: bold; }
.text-noline, .text-noline:hover { text-decoration: none; }
.text-lined { text-decoration: underline; }

/* element classes ------- */
.thin { width: 1%; }
.max-width { max-width: 100%; }
.float-r { float: right; }
.float-l { float: left; }

.block { display: block; }
.block-inline { display: inline-block !important; }

.element-relative { position: relative; }
    
.visible-inline-xs { display: none !important; }
.visible-inline-sm { display: none !important; }
.visible-inline-md { display: none !important; }
.visible-inline-lg { display: none !important; }

.borderless { border: 0px !important; }
.bordered { border: 1px solid #aaa; }
.bordered-b { border-bottom: 1px solid #aaa; }
.bordered-t { border-top: 1px solid #aaa; }
.bordered-r { border-right: 1px solid #aaa; }
.bordered-l { border-left: 1px solid #aaa; }

.bordered.bordered-light { border-color: #ccc; }
.bordered-b.bordered-light { border-color: #ccc; }
.bordered-t.bordered-light { border-color: #ccc; }
.bordered-r.bordered-light { border-color: #ccc; }
.bordered-l.bordered-light { border-color: #ccc; }

.bordered.bordered-double { border: 3px double #aaa; }
.bordered-b.bordered-double { border-bottom: 3px double #aaa; }
.bordered-t.bordered-double { border-top: 3px double #aaa; }
.bordered-r.bordered-double { border-right: 3px double #aaa; }
.bordered-l.bordered-double { border-left: 3px double #aaa; }

.bordered.bordered-double.bordered-dark { border: 3px double #333; }
.bordered-b.bordered-double.bordered-dark { border-bottom: 3px double #333; }
.bordered-t.bordered-double.bordered-dark { border-top: 3px double #333; }
.bordered-r.bordered-double.bordered-dark { border-right: 3px double #333; }
.bordered-l.bordered-double.bordered-dark { border-left: 3px double #333; }

.subtle-bg { background: #eee; }
.subtle-bg.subtle-more { background: #f5f5f5; }
.subtle-bg.subtle-bg-dark { background: #333; }
.bg-white { background: #fff; }

.see-through-50 { opacity: 0.5; filter: alpha(opacity=50); /* For IE8 and earlier */ }
.see-through-25 { opacity: 0.25; filter: alpha(opacity=25); /* For IE8 and earlier */ }

.overflow-hide { overflow: hidden; }

.rounded { -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
.rounded-topleft { -webkit-border-top-left-radius: 3px; -moz-border-radius-topleft: 3px; border-top-left-radius: 3px; }
.rounded-topright { -webkit-border-top-right-radius: 3px; -moz-border-radius-topright: 3px; border-top-right-radius: 3px; }
.rounded-bottomleft { -webkit-border-bottom-left-radius: 3px; -moz-border-radius-bottomleft: 3px; border-bottom-left-radius: 3px; }
.rounded-bottomright { -webkit-border-bottom-right-radius: 3px; -moz-border-radius-bottomright: 3px; border-bottom-right-radius: 3px; }
.rounded-top { -webkit-border-top-left-radius: 3px; -webkit-border-top-right-radius: 3px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; }
.rounded-left { -webkit-border-top-left-radius: 3px; -webkit-border-bottom-left-radius: 3px; -moz-border-radius-topleft: 3px; -moz-border-radius-bottomleft: 3px; border-top-left-radius: 3px; border-bottom-left-radius: 3px; }
.rounded-bottom { -webkit-border-bottom-right-radius: 3px; -webkit-border-bottom-left-radius: 3px; -moz-border-radius-bottomright: 3px; -moz-border-radius-bottomleft: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; }
.rounded-right { -webkit-border-top-right-radius: 3px; -webkit-border-bottom-right-radius: 3px; -moz-border-radius-topright: 3px; -moz-border-radius-bottomright: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; }

.squared { -webkit-border-radius: 0px; -moz-border-radius: 0px; border-radius: 0px; }
.squared-bottomleft { -webkit-border-bottom-left-radius: 0px; -moz-border-bottom-left-radius: 0px; border-bottom-left-radius: 0px; }
.squared-bottomright { -webkit-border-bottom-right-radius: 0px; -moz-border-bottom-right-radius: 0px; border-bottom-right-radius: 0px; }
.squared-topleft { -webkit-border-top-left-radius: 0px; -moz-border-top-left-radius: 0px; border-top-left-radius: 0px; }
.squared-topright { -webkit-border-top-right-radius: 0px; -moz-border-top-right-radius: 0px; border-top-right-radius: 0px; }

.shadow { -webkit-box-shadow: 0px 0px 10px 5px rgba(0,0,0,0.5); -moz-box-shadow: 0px 0px 10px 5px rgba(0,0,0,0.5); box-shadow: 0px 0px 10px 5px rgba(0,0,0,0.5); }

/* responsive classes ------- */
@media (max-width: 767px) { 
    .block-xs { display: block; width: 100%; }
    
    .push-xs { margin: 10px; }
    .push-xs-v { margin-top: 10px; margin-bottom: 10px; }
    .push-xs-h { margin-left: 10px; margin-right: 10px; }
    .push-xs-l { margin-left: 10px; }
    .push-xs-t { margin-top: 10px; }
    .push-xs-b { margin-bottom: 10px; }
    .push-xs-r { margin-right: 10px; }

    .push-xs.push-none { margin: 0px; }
    .push-xs-v.push-none { margin-top: 0px; margin-bottom: 0px; }
    .push-xs-h.push-none { margin-left: 0px; margin-right: 0px; }
    .push-xs-l.push-none { margin-left: 0px; }
    .push-xs-t.push-none { margin-top: 0px; }
    .push-xs-b.push-none { margin-bottom: 0px; }
    .push-xs-r.push-none { margin-right: 0px; }

    .pad-xs { padding: 10px; }
    .pad-xs-v { padding-top: 10px; padding-bottom: 10px; }
    .pad-xs-h { padding-left: 10px; padding-right: 10px; } 
    .pad-xs-l { padding-left: 10px; }
    .pad-xs-t { padding-top: 10px; }
    .pad-xs-b { padding-bottom: 10px; }
    .pad-xs-r { padding-right: 10px; }

    .pad-xs.pad-more { padding: 15px; }
    .pad-xs-v.pad-more { padding-top: 15px; padding-bottom: 15px; }
    .pad-xs-h.pad-more { padding-left: 15px; padding-right: 15px; } 
    .pad-xs-l.pad-more { padding-left: 15px; }
    .pad-xs-t.pad-more { padding-top: 15px; }
    .pad-xs-b.pad-more { padding-bottom: 15px; }
    .pad-xs-r.pad-more { padding-right: 15px; }

    .align-xs-r { text-align: right !important; }
    .align-xs-l { text-align: left !important; }
    .align-xs-c { text-align: center !important; }

    .float-xs-r { float: right !important; }
    .float-xs-l { float: left !important; }
    
    .visible-inline-xs { display: inline-block !important; }
}
@media (min-width: 768px) and (max-width: 991px) { 
    .block-sm { display: block; width: 100%; }

    .push-sm { margin: 10px; }
    .push-sm-v { margin-top: 10px; margin-bottom: 10px; }
    .push-sm-h { margin-left: 10px; margin-right: 10px; }
    .push-sm-l { margin-left: 10px; }
    .push-sm-t { margin-top: 10px; }
    .push-sm-b { margin-bottom: 10px; }
    .push-sm-r { margin-right: 10px; }

    .push-sm.push-none { margin: 10px; }
    .push-sm-v.push-none { margin-top: 0px; margin-bottom: 0px; }
    .push-sm-h.push-none { margin-left: 0px; margin-right: 0px; }
    .push-sm-l.push-none { margin-left: 0px; }
    .push-sm-t.push-none { margin-top: 0px; }
    .push-sm-b.push-none { margin-bottom: 0px; }
    .push-sm-r.push-none { margin-right: 0px; }

    .pad-sm { padding: 10px; }
    .pad-sm-v { padding-top: 10px; padding-bottom: 10px; }
    .pad-sm-h { padding-left: 10px; padding-right: 10px; } 
    .pad-sm-l { padding-left: 10px; }
    .pad-sm-t { padding-top: 10px; }
    .pad-sm-b { padding-bottom: 10px; }
    .pad-sm-r { padding-right: 10px; }

    .align-sm-r { text-align: right !important; }
    .align-sm-l { text-align: left !important; }
    .align-sm-c { text-align: center !important; }
    
    .float-sm-r { float: right !important; }
    .float-sm-l { float: left !important; }
    
    .visible-inline-sm { display: inline-block !important; }
}
@media (min-width: 992px) and (max-width: 1199px) { 
    .block-md { display: block; width: 100%; }
    
    .push-md { margin: 10px; }
    .push-md-v { margin-top: 10px; margin-bottom: 10px; }
    .push-md-h { margin-left: 10px; margin-right: 10px; }
    .push-md-l { margin-left: 10px; }
    .push-md-t { margin-top: 10px; }
    .push-md-b { margin-bottom: 10px; }
    .push-md-r { margin-right: 10px; }

    .pad-md { padding: 10px; }
    .pad-md-v { padding-top: 10px; padding-bottom: 10px; }
    .pad-md-h { padding-left: 10px; padding-right: 10px; } 
    .pad-md-l { padding-left: 10px; }
    .pad-md-t { padding-top: 10px; }
    .pad-md-b { padding-bottom: 10px; }
    .pad-md-r { padding-right: 10px; }

    .align-md-r { text-align: right !important; }
    .align-md-l { text-align: left !important; }
    .align-md-c { text-align: center !important; }
    
    .float-md-r { float: right !important; }
    .float-md-l { float: left !important; }

    .visible-inline-md { display: inline-block !important; }
}
@media (min-width: 1200px) {
    .block-lg { display: block; width: 100%; }
    
    .push-lg { margin: 10px; }
    .push-lg-v { margin-top: 10px; margin-bottom: 10px; }
    .push-lg-h { margin-left: 10px; margin-right: 10px; }
    .push-lg-l { margin-left: 10px; }
    .push-lg-t { margin-top: 10px; }
    .push-lg-b { margin-bottom: 10px; }
    .push-lg-r { margin-right: 10px; }

    .pad-lg { padding: 10px; }
    .pad-lg-v { padding-top: 10px; padding-bottom: 10px; }
    .pad-lg-h { padding-left: 10px; padding-right: 10px; } 
    .pad-lg-l { padding-left: 10px; }
    .pad-lg-t { padding-top: 10px; }
    .pad-lg-b { padding-bottom: 10px; }
    .pad-lg-r { padding-right: 10px; }

    .align-lg-r { text-align: right !important; }
    .align-lg-l { text-align: left !important; }
    .align-lg-c { text-align: center !important; }
    
    .float-lg-r { float: right !important; }
    .float-lg-l { float: left !important; }

    .visible-inline-lg { display: inline-block !important; }
}