/* General Helper Classes
------------------------------------*/
*,
*:before,
*:after {
	box-sizing: border-box;
}

/* For image replacement */
.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; line-height: 0; }
.ir br { display: none; }

/* Hide from both screenreaders and browsers: h5bp.com/u */
.hide { display: none !important;}

/* Hide only visually, but have it available for screenreaders: h5bp.com/v */
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }

/* Extends the .visuallyhidden class to allow the element to be focusable when navigated to via the keyboard: h5bp.com/p */
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }

/* Hide visually and from screenreaders, but maintain layout */
.invisible { visibility: hidden; }

/* Contain floats: h5bp.com/q */
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }
.right {
	float: right;
}
.left {
	float: left;
}
.text_center {
	text-align: center;
}
.text_right {
	text-align: right;
}
.block {
	display: block;
}
.clear {
	display: block;
	clear: both;
}
.clear_left {
	clear: left;
}
.center {
	text-align: center;
	justify-content: center;
}
.bold {
	font-weight: bold;
}
.uppercase {
	text-transform: uppercase;
}
address {
	font-style: normal;
}
/* Default Print Styles
------------------------------------*/
@media print {
	* { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */
	a, a:visited { text-decoration: underline; }
	/*a[href]:after { content: " (" attr(href) ")"; }*/
	abbr[title]:after { content: " (" attr(title) ")"; }
	.ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }  /* Don't show links for images, or javascript/internal links */
	pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
	thead { display: table-header-group; } /* h5bp.com/t */
	tr, img { page-break-inside: avoid; }
	img { max-width: 100% !important; }
	@page { margin: 0.5cm; }
	p, h2, h3 { orphans: 3; widows: 3; }
	h2, h3 { page-break-after: avoid; }

	.no_print {
		display: none !important;
	}
}
@media screen {
	.print_only {
		display: none;
	}
}

.show_mobile,
.show_mobile_v {
	display: none !important;
}

@media only screen and (max-width: 700px) {
	.hide_mobile {
		display: none !important;
	}
	.show_mobile {
		display: block !important;
	}
	tr.show_mobile {
		display: table-row !important;
	}
}

@media only screen and (max-width: 400px) {
	.hide_mobile_v {
		display: none !important;
	}
	.show_mobile_v {
		display: block !important;
	}
}
