/* Contents
==================================================
	1. Hacks
	2. Floats
	3. Padding
	4. Margin
	5. Print
*/

/* 1. Hacks
================================================== */

.clearfix:before, .clearfix:after {
	content: "";
	display: table;
}

.clearfix:after {
	clear: both;
}

.clearfix {
	zoom: 1;
}

/* 2. Floats
================================================== */

.flt-r {
	float: right;
}

.flt-l {
	float: left;
}

.centred {
	margin-left: auto;
	margin-right: auto;
}

.clear {
	clear: both;
}

.centre {
	text-align: center;
}

/* 3. Padding
================================================== */

.p10t {
	padding-top: 10px;
}

.p10b {
	padding-bottom: 10px;
}

.p10l {
	padding-left: 10px;
}

.p10r {
	padding-right: 10px;
}

.p10y {
	padding-top: 10px;
	padding-bottom: 10px;
}

.p10x {
	padding-left: 10px;
	padding-right: 10px;
}

.p20t {
	padding-top: 20px;
}

.p20b {
	padding-bottom: 20px;
}

.p20l {
	padding-left: 20px;
}

.p20r {
	padding-right: 20px;
}

.p20y {
	padding-top: 20px;
	padding-bottom: 20px;
}

.p20x {
	padding-left: 20px;
	padding-right: 20px;
}

.p40t {
	padding-top: 40px;
}

/* 4. Margin
================================================== */

.m10t {
	margin-top: 10px;
}

.m10b {
	margin-bottom: 10px;
}

.m10l {
	margin-left: 10px;
}

.m10r {
	margin-right: 10px;
}

.m10y {
	margin-top: 10px;
	margin-bottom: 10px;
}

.m10x {
	margin-left: 10px;
	margin-right: 10px;
}

.m20t {
	margin-top: 20px;
}

.m20b {
	margin-bottom: 20px;
}

.m20l {
	margin-left: 20px;
}

.m20r {
	margin-right: 20px;
}

.m20y {
	margin-top: 20px;
	margin-bottom: 20px;
}

.m20x {
	margin-left: 20px;
	margin-right: 20px;
}

.m30b {
	margin-bottom: 30px !important;
}

.m40t {
	margin-top: 40px;
}

.m70t {
	margin-top: 70px;
}

/* 5. Print
================================================== */

@media print {
	* {
		background: transparent !important;
		color: black !important;
		text-shadow: none !important;
		filter: none !important;
		-ms-filter: none !important;
	}

	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: "";
	}

	pre, blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}

	thead {
		display: table-header-group;
	}

	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;
	}
}

/* 6. Miscellaneous
================================================== */

.fluid {
	max-width: 100%;
}

.relative {
	position: relative;
}