/* Bootstrap add-on
--------------------------------------------------------------------------------------- */

/* Bootstrap had-on - Extra-large 1600px */
.visible-xl {display: none !important;}
@media (min-width: 1600px) {
	.col-xl-1 {width: 8.33333%; position: relative; min-height: 1px; float: left; padding-left: 15px; padding-right: 15px;}
	.col-xl-2 {width: 16.6667%; position: relative; min-height: 1px; float: left; padding-left: 15px; padding-right: 15px;}
	.col-xl-3 {width: 25%; position: relative; min-height: 1px; float: left; padding-left: 15px; padding-right: 15px;}
	.col-xl-4 {width: 33.3333%; position: relative; min-height: 1px; float: left; padding-left: 15px; padding-right: 15px;}
	.col-xl-5 {width: 41.6667%; position: relative; min-height: 1px; float: left; padding-left: 15px; padding-right: 15px;}
	.col-xl-6 {width: 50%; position: relative; min-height: 1px; float: left; padding-left: 15px; padding-right: 15px;}
	.col-xl-7 {width: 58.3333%; position: relative; min-height: 1px; float: left; padding-left: 15px; padding-right: 15px;}
	.col-xl-8 {width: 66.6667%; position: relative; min-height: 1px; float: left; padding-left: 15px; padding-right: 15px;}
	.col-xl-9 {width: 75%; position: relative; min-height: 1px; float: left; padding-left: 15px; padding-right: 15px;}
	.col-xl-10 {width: 83.3333%; position: relative; min-height: 1px; float: left; padding-left: 15px; padding-right: 15px;}
	.col-xl-11 {width: 91.6667%; position: relative; min-height: 1px; float: left; padding-left: 15px; padding-right: 15px;}
	.col-xl-12 {width: 100%; position: relative; min-height: 1px; float: left; padding-left: 15px; padding-right: 15px;}

	.visible-xs,.visible-sm,.visible-md,.visible-lg {display: none !important;}
	.visible-xl {display: block !important;}

	.hidden-xl {display: none !important;}
}

/* Bootstrap had-on - Columns 20% / 5 columns */
.col-xs-20 {
	position: relative;
	min-height: 1px;
	float: left;
	width: 20%;
	padding-left: 15px;
	padding-right: 15px;
}
@media (min-width: 768px) {
	.col-sm-20 {
		position: relative;
		min-height: 1px;
		float: left;
		width: 20%;
		padding-left: 15px;
		padding-right: 15px;
	}
}
@media (min-width: 922px) {
	.col-md-20 {
		position: relative;
		min-height: 1px;
		float: left;
		width: 20%;
		padding-left: 15px;
		padding-right: 15px;
	}
}
@media (min-width: 1200px) {
	.col-lg-20 {
		position: relative;
		min-height: 1px;
		float: left;
		width: 20%;
		padding-left: 15px;
		padding-right: 15px;
	}
}
@media (min-width: 1600px) {
	.col-xl-20 {
		position: relative;
		min-height: 1px;
		float: left;
		width: 20%;
		padding-left: 15px;
		padding-right: 15px;
	}
}

/* Bootstrap had-on - padding left/right of col */
.col-pad-xs-7 {
	padding-left: 7px;
	padding-right: 7px;
}
.col-pad-xs-30 {
	padding-left: 30px;
	padding-right: 30px;
}
.col-pad-xs-45 {
	padding-left: 45px;
	padding-right: 45px;
}
.col-pad-xs-60 {
	padding-left: 60px;
	padding-right: 60px;
}
.col-pad-xs-75 {
	padding-left: 75px;
	padding-right: 75px;
}
.col-pad-xs-90 {
	padding-left: 90px;
	padding-right: 90px;
}
@media (min-width: 768px) {
	.col-pad-sm-7 {
		padding-left: 7px;
		padding-right: 7px;
	}
	.col-pad-sm-30 {
		padding-left: 30px;
		padding-right: 30px;
	}
	.col-pad-sm-45 {
		padding-left: 45px;
		padding-right: 45px;
	}
	.col-pad-sm-60 {
		padding-left: 60px;
		padding-right: 60px;
	}
	.col-pad-sm-75 {
		padding-left: 75px;
		padding-right: 75px;
	}
	.col-pad-sm-90 {
		padding-left: 90px;
		padding-right: 90px;
	}
}
@media (min-width: 922px) {
	.col-pad-md-7 {
		padding-left: 7px;
		padding-right: 7px;
	}
	.col-pad-md-30 {
		padding-left: 30px;
		padding-right: 30px;
	}
	.col-pad-md-45 {
		padding-left: 45px;
		padding-right: 45px;
	}
	.col-pad-md-60 {
		padding-left: 60px;
		padding-right: 60px;
	}
	.col-pad-md-75 {
		padding-left: 75px;
		padding-right: 75px;
	}
	.col-pad-md-90 {
		padding-left: 90px;
		padding-right: 90px;
	}
}
@media (min-width: 1200px) {
	.col-pad-lg-7 {
		padding-left: 7px;
		padding-right: 7px;
	}
	.col-pad-lg-30 {
		padding-left: 30px;
		padding-right: 30px;
	}
	.col-pad-lg-45 {
		padding-left: 45px;
		padding-right: 45px;
	}
	.col-pad-lg-60 {
		padding-left: 60px;
		padding-right: 60px;
	}
	.col-pad-lg-75 {
		padding-left: 75px;
		padding-right: 75px;
	}
	.col-pad-lg-90 {
		padding-left: 90px;
		padding-right: 90px;
	}
}

/* Bootstrap had-on - Columns of same height styles */
.row-same-height {
    display: table;
    width: 100%;
}
.col-xs-height {
    display: table-cell;
    float: none !important;
}
@media (min-width: 768px) {
    .col-sm-height {
        display: table-cell;
        float: none !important;
    }
}
@media (min-width: 992px) {
    .col-md-height {
        display: table-cell;
        float: none !important;
    }
}
@media (min-width: 1200px) {
    .col-lg-height {
        display: table-cell;
        float: none !important;
    }
}

/* Bootstrap had-on - Width 100% */
.w100-visible-xs {
	width: 100%;
}
.w100-visible-sm {
	width: auto;
}
.w100-visible-md {
	width: auto;
}
.w100-visible-lg {
	width: auto;
}

@media (min-width: 768px) {
	.w100-visible-xs {
		width: auto;
	}
	.w100-visible-sm {
		width: 100%;
	}
	.w100-visible-md {
		width: auto;
	}
	.w100-visible-lg {
		width: auto;
	}
}
@media (min-width: 992px) {
	.w100-visible-xs {
		width: auto;
	}
	.w100-visible-sm {
		width: auto;
	}
	.w100-visible-md {
		width: 100%;
	}
	.w100-visible-lg {
		width: auto;
	}
}
@media (min-width: 1200px) {
	.w100-visible-xs {
		width: auto;
	}
	.w100-visible-sm {
		width: auto;
	}
	.w100-visible-md {
		width: auto;
	}
	.w100-visible-lg {
		width: 100%;
	}
}


/* Reset
--------------------------------------------------------------------------------------- */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box; /* http://www.paulirish.com/2012/box-sizing-border-box-ftw/ */
}

td, th { vertical-align:top; }

hr{ display: block; height: 1px; margin: 1em 0; padding: 0; border: 0; border-top: 1px solid #ccc; }

input, select { vertical-align:middle; }

img{ display:block; vertical-align: middle;}

input[type=radio], input[type=checkbox]{ vertical-align:-1px; margin-right:5px; }
input[readonly]{ background-color:#eee; }
textarea{ resize: vertical; }

:focus {outline: 0;}

a{color:inherit;outline:0;text-decoration:none;}
a:hover {color:inherit;text-decoration:none;}
a:active {color:inherit;outline:0;text-decoration:none;}
a:focus {color:inherit;outline:0;text-decoration:none;}
a:visited {color:inherit;outline:0;text-decoration:none;}

img {
	max-width:100%;
        height:auto;
}

h1,h2,h3,h4,h5,h6,p {
	margin:0;
}
.alignright { float: right; }
.aligncenter { margin:0 auto; display: block; }
.alignleft { float: left; }
.flat-left {
	padding-left: 0;
}
.flat-right {
	padding-right: 0;
}
.flat-both {
	padding-left: 0;
	padding-right: 0;
}
.flat-top {
	padding-top:0;
}
.flat-bottom {
	padding-bottom:0;
}
.flat-vertical {
	padding-top:0;
	padding-bottom:0;
}
.flat-all {
	padding:0;
}
.fleft {
	float: left;
}
.fright {
	float: right;
}
.float-none {
	float: none !important;
}
.bold, strong, b {
	font-weight: bold;
}
.text-center {
	text-align: center;
}
.text-center img {
	margin-left: auto;
	margin-right: auto;
}
.text-left {
	text-align: left;
}
.text-right {
	text-align: right;
}

/* Vertical align */
.v-align {
	display: table;
	height: 100%;
	width: 100%;
}
.v-align > span,
.v-align > .middle {
	display: table-cell;
	vertical-align: middle;
}
.v-align-t {
	position: relative;
    top: 50%;
    transform: translateY(-50%);
    	-webkit-transform: translateY(-50%);
    	-ms-transform: translateY(-50%);
}
.clearme:after, .clearfix:after,
.clearme:before, .clearfix:bofore {
	content: "";
	visibility: hidden;
	display: block;
	height: 0;
	clear: both;
}

/* Visible and hidden */
.visible, .visibleBefore:before, .visibleAfter:after {
	display: block;
}
.hidden, .hiddenBefore:before, .hiddenAfter:after {
	display: none;
}

/* Remve flexslider style */
.flexslider {
	border: none;
	border-radius: 0;
	box-shadow: none;
	background: none;
	padding: 0;
	margin: 0;
	overflow: hidden;
}
.flexslider ul {
	min-height: inherit;
}
.flexslider ul li {
	min-height: inherit;
}
.flexslider .flex-direction-nav a {
	color: rgba(0,0,0,0.5);
	font: 100 75px/0.4em "Open Sans", serif;
	text-shadow: none;
	height: 50px;
}

/* Grayscale image */
.grayscale {
	-webkit-filter: grayscale(1);
	filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'gs\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#gs");
	filter: gray;
}
.anti-grayscale {
	-webkit-filter: none;
	filter: none;
}

/* Small font */
.small-text {
	font-size: 12px;
}
.italic {
	font-style: italic;
}
.bold {
	font-weight: bold;
}

/* padding / margin top/bottom */
.pad-7 {
	padding-top: 15px;
	padding-bottom: 15px;
}
.pad-7-t {
	padding-top: 15px;
}
.pad-7-b {
	padding-bottom: 15px;
}

.pad-15 {
	padding-top: 15px;
	padding-bottom: 15px;
}
.pad-15-t {
	padding-top: 15px;
}
.pad-15-b {
	padding-bottom: 15px;
}

.pad-30 {
	padding-top: 30px;
	padding-bottom: 30px;
}
.pad-30-t {
	padding-top: 30px;
}
.pad-30-b {
	padding-bottom: 30px;
}

.pad-45 {
	padding-top: 60px;
	padding-bottom: 60px;
}
.pad-45-t {
	padding-top: 60px;
}
.pad-45-b {
	padding-bottom: 60px;
}

.pad-60 {
	padding-top: 60px;
	padding-bottom: 60px;
}
.pad-60-t {
	padding-top: 60px;
}
.pad-60-b {
	padding-bottom: 60px;
}

.pad-75 {
	padding-top: 75px;
	padding-bottom: 75px;
}
.pad-75-t {
	padding-top: 75px;
}
.pad-75-b {
	padding-bottom: 75px;
}

.pad-90 {
	padding-top: 90px;
	padding-bottom: 90px;
}
.pad-90-t {
	padding-top: 90px;
}
.pad-90-b {
	padding-bottom: 90px;
}

.mar-7 {
	margin-top: 15px;
	margin-bottom: 15px;
}
.mar-7-t {
	margin-top: 15px;
}
.mar-7-b {
	margin-bottom: 15px;
}

.mar-15 {
	margin-top: 15px;
	margin-bottom: 15px;
}
.mar-15-t {
	margin-top: 15px;
}
.mar-15-b {
	margin-bottom: 15px;
}

.mar-30 {
	margin-top: 30px;
	margin-bottom: 30px;
}
.mar-30-t {
	margin-top: 30px;
}
.mar-30-b {
	margin-bottom: 30px;
}

.mar-45 {
	margin-top: 60px;
	margin-bottom: 60px;
}
.mar-45-t {
	margin-top: 60px;
}
.mar-45-b {
	margin-bottom: 60px;
}

.mar-60 {
	margin-top: 60px;
	margin-bottom: 60px;
}
.mar-60-t {
	margin-top: 60px;
}
.mar-60-b {
	margin-bottom: 60px;
}

.mar-75 {
	margin-top: 75px;
	margin-bottom: 75px;
}
.mar-75-t {
	margin-top: 75px;
}
.mar-75-b {
	margin-bottom: 75px;
}

.mar-90 {
	margin-top: 90px;
	margin-bottom: 90px;
}
.mar-90-t {
	margin-top: 90px;
}
.mar-90-b {
	margin-bottom: 90px;
}

/* Firefox fix */
.img-responsive {
    width: 100%;
}

/* Vertical alignment styles */
.col-top {
    vertical-align:top;
}
.col-middle {
    vertical-align:middle;
}
.col-bottom {
    vertical-align:bottom;
}

/* Some display stuff */
.dis-inl {
	display: inline-block;
}

.pos-rel {
	position: relative;
}

/* Width 100% */
.w100 { 
	width: 100%;
}

/* Flexbox never work 4 me */
.flex-valign {
	display: flex;
	align-items: center;
}