// Screen Reader only, see http://webaim.org/techniques/css/invisiblecontent/
.sr-only {
	position: absolute !important;
	clip: rect(1px, 1px, 1px, 1px);
	width: 1px;
	height: 1px;
	overflow: hidden;
	padding: 0;
	margin: -1;
}

// IE10 Metro, see http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/
@-ms-viewport{
	width: device-width;
}

// Clear floats
.clear {
	content: " ";
	display: block;
	height: 0;
	line-height: 0;
	clear: both;
	visibility: hidden;
}

// Make images responsive
img {
	max-width: 100%;
	height: auto;
	border: none;
	-ms-interpolation-mode: bicubic;
	vertical-align: middle;
}

// Responsive videos
.embed-responsive,
.flex-video {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;

	&.responsive-16by9 { padding-bottom: 56.25%; }
	&.responsive-4by3 { padding-bottom: 75%; }

	iframe,
	object,
	embed {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 10;
	}
}

// Expose colours
.text-color {
	color: @colorText;
}
.primary {
	color: @colorPrimary;
}
.primary-light {
	color: @colorPrimaryLight;
}
.primary-dark {
	color: @colorPrimaryDark;
}
.primary-bg {
	background-color: @colorPrimary;
}
.primary-bg-light {
	background-color: @colorPrimaryLight;
}
.primary-bg-dark {
	background-color: @colorPrimaryDark;
}
.accent {
	color: @colorAccent;
}
.accent-bg {
	background-color: @colorAccent;
}

// Horizontally center a block element
.block-center {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}
