/*
	(c)2017 - visuallizard.com
	
	Inspired by:
	Normalize				http://necolas.github.io/normalize.css/
	Bootstrap				twitter.github.com/bootstrap/
	HTML5 ✰ Boilerplate		h5bp.com
*/

/* Table of Content

	#Basic Styles
	#Site Styles
	#Typography
	#Links
	#Lists
	#Images
	#Buttons & Messages
	#Tabs
	#Forms
	#Misc
*/

/*
	Site Specific:
	
	COLOURS:
		#ee2e24		red [link]

	FONTS:
	
	[Proxima Nova: "proxima-nova"]
		Thin 		100
		Light 		300		kit
		Regular 	400 	kit
		Medium 		500
		Semibold 	600 			*use bold instead*
		Bold 		700 	kit
		Extrabold 	800		kit		used [nav, radio-play-button ]
		Black 		900
*/


/* !Basic Styles ============================== */
	/* apply a natural box layout model to all elements, but allowing components to change */
	html,
	body {
		min-height: 100%;
		height: 100%;
		margin: 0;
	}
	html {
		background: #fff;
		box-sizing: border-box;
		font-size: 100%;
		overflow-y: scroll;
		-webkit-text-size-adjust: 100%;
		    -ms-text-size-adjust: 100%; 
	}
	body {
		position: relative;
		background: transparent;
		font: 400 16px/1.375 "proxima-nova", sans-serif;
		color: #7f7f7f;
		-webkit-font-smoothing: subpixel-antialiased;
		-webkit-text-size-adjust: 100%;
		
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
 	}
 	*, *:before, *:after {
	  box-sizing: inherit;
	}
	
	/* Sticky footer by  Layout Flex */
	body > header {
		flex: 0 0 auto;
	}
	body > nav {
		flex: 0 0 auto;
	}
	body > .feature-slider {
		flex: 0 0 auto;
	}
	body > main {
		flex: 1 0 auto;
	}
	body > footer {
		flex: 0 0 auto;
	}


/* !Typography ============================== */
	h1, h2, h3, h4, h5, h6 {
		color: inherit;
		font-family: inherit;
		font-weight: 900;
		margin-top: 0;
	}
	h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { font-weight: inherit; color: inherit; }
	h1:hover a, h2:hover a, h3:hover a, h4:hover a, h5:hover a, h6:hover a { color: #ee2e24; }
	
	h1, .h1 { margin-bottom: .25em; font: 800 50px/1.1 "proxima-nova", sans-serif; }
	h2, .h2 { margin-bottom: .75em; font: 800 28px/1.1 "proxima-nova", sans-serif; letter-spacing: 0.07em; text-transform: uppercase; color: #ee2e24; }
	h3, .h3 { margin-bottom: .50em; font: 700 17px/1.3 "proxima-nova", sans-serif; letter-spacing: 0.03em; text-transform: uppercase; color: #7f7f7f; margin-top: 2em; }
	h4, .h4 { font-size: 16px; line-height: 1.25; margin-bottom: .5em; }
	h5, .h5 { font-size: 15px; line-height: 1.25; margin-bottom: .5em; }
	h6, .h6 { font-size: 14px; line-height: 1.25; }
		
	p  + h1,
	ul + h1,
	ol + h1 { margin-top: 1em; clear: both; }
	
	p  + h2,
	ul + h2,
	ol + h2 { margin-top: 2em; clear: both; }
	

	p { margin: 0 0 1em 0; }
	p img { margin: 0; }
	p.lead { font-size: 21px; line-height: 27px; color: #777;  }

	i, em { font-style: italic; }
	b, strong { font-weight: bold; }
	small { font-size: 80%; }

/*	Blockquotes  */
	blockquote, blockquote p { color: #000; font-weight: normal; }
	blockquote { margin: 0 2em 2em 3em; padding: 5px 20px 0 15px; border-left: 5px solid #0089cf; }
	blockquote cite { display: block; font-size: 12px; color: #000; }
	blockquote cite:before { content: "\2014 \0020"; }
	blockquote cite a, blockquote cite a:visited, blockquote cite a:visited { color: #000; }

/* !Links */
	a		{ color: #ee2e24; outline: 0; text-decoration: none; transition: color .2s; }
	a:hover	{ color: #000; outline: 0;}
	a:focus	{ color: #000; outline: thin dotted; }
	a:active { outline: 0; }

	p a { line-height: inherit; }


/* !Lists */
	ul, ol { margin: 0 0 1em 0; padding-left: 1em; }
/* 	ul ul, ul ol, ol ol, ol ul { margin-bottom: 0; } */
	ul { list-style: disc; }
	ul ul { list-style: circle; }
	ol { list-style: decimal; }
	ul.unstyled { list-style: none; margin-left: 0; }
	dl { margin-bottom: 1em; }
	dl dt, dl dd {  }
	dl dt { font-size: .75em; font-weight: 300; line-height: 1.5; text-transform: uppercase; letter-spacing: 0.08em; }
	dl dd { margin-left: 1em; }
	
	/*
	dd:after {
		 http://lea.verou.me/2012/02/flexible-multiline-definition-lists-with-2-lines-of-css/
		content: '\D\A';
		white-space: pre;
	}
	*/
	


/* !Images */
	figure {
		margin: 0;
	}
	img {
	  border: 0;
	  -ms-interpolation-mode: bicubic;
	  max-width: 100%;
	}
	img.scale-with-grid {
		max-width: 100%;
		height: auto;
	}
	.img_left {
		float: left;
		margin: 0 1em 0.5em 0;
	}
	.img_right {
		float: right;
		margin: 0 0 0.5em 1em;
	}
	
	svg.icon {
		width: 100%;
		height: 100%;
	}

/* !Other */
	code, pre {
	  padding: 0 3px 2px;
	  font-family: Monaco, Andale Mono, Courier New, monospace;
	  font-size: 12px;
	  -webkit-border-radius: 3px;
	  -moz-border-radius: 3px;
	  border-radius: 3px;
	}
	code {
	  background-color: #eee;
	  color: rgba(0, 0, 0, 0.75);
	  padding: 1px 3px;
	}
	pre {
	  background-color: #f5f5f5;
	  display: block;
	  padding: 8.5px;
	  margin: 0 0 18px;
	  line-height: 18px;
	  font-size: 12px;
	  border: 1px solid #ddd;
	  border: 1px solid rgba(0, 0, 0, 0.15);
	  -webkit-border-radius: 3px;
	  -moz-border-radius: 3px;
	  border-radius: 3px;
	  white-space: pre;
	  white-space: pre-wrap;
	  word-wrap: break-word;
	}
	
	hr {
		clear: both;
		height: 0;
		margin: 20px 0 19px;
		border: 0;
		border-bottom: 1px solid #ddd;
	}
	
	address {
		display: block;
		line-height: 18px;
		margin-bottom: 18px;
	}
	
	mark {
		background-color: rgba(255, 255, 0, .3);
		color: #333;
	}
	.search-results-term {
		font-weight: normal;
	}
	.search-results-link {
		display: block;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		font-size: smaller;
	}
	


/* ! Messages ============================== */

	#flashMessage {
		padding: 1em;
		margin-bottom: 2em;
	}

	.message {
		position: relative;
		padding: .5em 1em;
		margin-bottom: 1em;
		font-size: 16px;
		letter-spacing: 0.01em;
		color: #856404;
		background-color: #fff3cd;
		border-left: 6px solid currentColor;
	}

	.message.success { background-color: rgba(85, 168, 85, 0.1);  color: rgba(85, 168, 85, 1); }
	.message.error {   background-color: rgba(197, 61, 53, 0.1);  color: rgba(197, 61, 53, 1); }
	.message.info {    background-color: rgba(52, 157, 186, 0.1); color: rgba(52, 157, 186, 1);}
	
	.message a {
		font-weight: bold;
		color: inherit;
	}
	.message p:last-child {
	  margin-bottom: 0;
	}
	
	
	
	
/* ! Buttons ============================== */

	.button {
		text-align: center;
		white-space: normal;
		cursor: pointer;
		display: inline-block;
		background-color: #ee2e24;
		padding: .9em 1em .85em;
		text-decoration: none;
		color: #fff;
		font: bold 12px/1.6 "proxima-nova", sans-serif;
		text-transform: uppercase;
		letter-spacing: 0.1em;
		border: none;
		border-radius: 0;
		min-width: 6em;
		
		-webkit-appearance: none;
		   -moz-appearance: none;
		
		transition: 0.2s linear all;
	}
	.button:hover {
		color: #fff;
		background: #4e4e4e;
		text-decoration: none;
	}
	.button:focus {
	  outline: 1px dotted #eee;
	  color: #eee;
	}
	.button.primary {
		font-size: 30px;
	}
	.button.large {
	  font-size: 22px;
	}
	.button.active, .btn:active {
		box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
	}
	.button.disabled {
		cursor: default;
		background-image: none;
		opacity: 0.65;
		box-shadow: none;
	}
	.button[disabled] {
		cursor: default;
		background-image: none;
		opacity: 0.65;
		box-shadow: none;
	}
	.button.inverse {
		background-color: #666;
	}
	.button.inverse:hover {
		background-color: #4e4e4e;
	}
	.button.outline {
		border: 2px solid #ee2e24;
		background-color: transparent;
		color: #ee2e24;
	}
	.button.outline:hover {
		border-color: transparent;
		background-color: #4e4e4e;
		color: #fff;
	}



/* !Forms ============================== */

	form {
		margin-bottom: 2em;
	}
	fieldset {
		margin-bottom: 2em;
	}
	input[type="text"],
	input[type="password"],
	input[type="email"],
	textarea,
	select {
		border: 1px solid #ccc;
		padding: .55em .5em .6em;
		outline: none;
		border-radius: 0;
		font: 300 16px/1.25 "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
		color: #666;
		margin: 0;
		max-width: 100%;
		min-width: 80px; /* ensure the input fields (such as with class .w5) are not too small when on narrow breakpoints  */
		background: #fff;
	}
	select {
		display: block;
		padding: initial;
		padding: .45em .5em .55em;
		padding-right: 1.5em; /* for bg arrow down */
		border: 1px solid #ccc;
		min-width: 4em;

		-webkit-appearance: none;
		   -moz-appearance: none;
		        appearance: none;

		background: #fff;
		background: #fff no-repeat 95% center url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><polygon fill='%23cccccc' points='0,0 50,100 100,0'/></svg>");
		background-size: auto 35%;
		background-position: right .5em top 55%;
		cursor: pointer;
	}
	input[type="text"]:focus,
	input[type="password"]:focus,
	input[type="email"]:focus,
	textarea:focus,
	select:focus {
		border: 1px solid #aaa;
 		color: #000;
		box-shadow:  0 0 3px rgba(0,0,0,.2);
	}
	textarea {
		min-height: 60px;
		min-width: 210px;
	}
	label,
	legend {
		display: block;
		font-weight: 600;
		margin-bottom: .25em;
		color: #444;
	}
	.label {
		margin-bottom: 0.25em;
		color: #444;
	}
	label b {
		font-weight: bolder;
		letter-spacing: 0.05em;
	}
	.input.checkboxes {
		margin-bottom: 1em;
	}
	.input.checkboxes .checkbox {
		margin-bottom: 0;
	}
	.input.checkbox label,
	.input.radio    label {
		margin-left: 5px;
		display: inline-block;
		vertical-align: top;
		max-width: 90%; /*  to avoid dropping into new lines on narrow breakpoints. */
	}
	

	
	/* 	cat4 required field indicator */
/* 	.required > label:after, */
	.required-field > label:after {
		content: " *";
	}
	
	/* 	for jquery.overlabel  */
	label.overlabel-apply {
		position: absolute;
		top: 3px;
		left: 5px;
		z-index: 1;
		font-weight: normal;
		color: #777;
	}
	div.overlabel-wrapper {
		position: relative;
	}
	
	
	input[type=checkbox],
	input[type=radio] {
	  width: auto;
	  height: auto;
	  padding: 0;
	  margin: 3px 0;
	  *margin-top: 0;
	  /* IE6-7 */
	
	  line-height: normal;
	  border: none;
	  display: inline-block;
	  vertical-align: top;
	}
	input[type=file] {
	  background-color: #ffffff;
	  padding: initial;
	  border: initial;
	  line-height: initial;
	  -webkit-box-shadow: none;
	  -moz-box-shadow: none;
	  box-shadow: none;
	}
	input[type=button],
	input[type=reset],
	input[type=submit] {
	  width: auto;
	  height: auto;
	}
	input[type=file] {
	  height: 30px;
	  *height: auto;
	  line-height: 30px;
	  *margin-top: 4px;
	  /* For IE7, add top margin to align select with labels */
	
	}
	select[multiple] {
	  height: inherit;
	  background-color: #ffffff;
	}
	textarea {
	  height: auto;
	}

	.poll label .description {
		font-weight: normal;
	}

	div.input {
		margin-bottom: 1em;
	}
	.input.file p {
		margin: 0;
	}
	
	/* 	Form Error Messages */
	input.form-error,
	select.form-error {
		border-color: #c30;
		box-shadow:  0 0 3px #c30;
	}
	.error-message {
		color: #ee5f5b;
		color: #c30;
		letter-spacing: 0.03em;
		font-style: italic;
		margin-top: 5px;
	}
	
	/* 	Recaptcha */
	#recaptcha_image {
		margin: 1em 0;
	}
	#recaptcha_widget_div {
		margin-bottom: 20px;
	}
	
	.controls-group {
		border: 0;
		padding: 0;
		margin: 0;
	}
		.controls-next {
			float: right;
		}
		
		.inline + .inline,
		.button + .button,
		.inline + .button {
			margin-left: .25em;
			vertical-align: top;
		}
	
	/* ! Inline-Block styles for horizontally stacked inputs */
	.input.group {
		margin-bottom: 0;
	}
	.inblock {
		display: inline-block;
	}
	.inblock input,
	.inblock select {
		width: 99%;
		width: calc(100% - .25em);
	}
	.inblock.expiry-fileds select { width: 50%; }
	.inblock.expiry-fileds select + select { width: calc(50% - .25em); }
	
	.group > .inblock:last-child input,
	.group > .inblock:last-child select {
		width: 100%;
	}
	
	
	/* Form with larger input and select fileds. */
	.large-form {
		margin: 2em 0 4em;
	}
		.large-form div.input {
			vertical-align: bottom;
			margin: 0 auto 2em;
			text-align: center;
		}
		.large-form input.text,
		.large-form input.password,
		.large-form select {
			font-size: 2em;
			letter-spacing: 0.1em;
			text-align: center;
		}
		.large-form input.text,
		.large-form input.password {
			width: 100%;
		}
	
	
	.sublabel {
		text-transform: none;
		font-weight: normal;
		font-size: small;
		font-style:italic;
	}

/* !Media grid ============================== */
	.media-grid {
		margin-left: -20px;
		margin-bottom: 0;
		zoom: 1;
	}
	.media-grid:before, .media-grid:after {
		display: table;
		content: "";
		zoom: 1;
	}
	.media-grid:after {
		clear: both;
	}
	.media-grid li {
		display: inline;
	}
	.media-grid a, .media-grid div.group {
		float: left;
		padding: 4px;
		margin: 0 0 20px 20px;
		border: 1px solid #ddd;
		-webkit-border-radius: 2px;
		-moz-border-radius: 2px;
		border-radius: 2px;
		-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);
		-moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);
		box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);
	}
	.media-grid a img {
		display: block;
	}
	.media-grid a:hover {
		border-color: #7a2;
		-webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
		-moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
		box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
	}
	
	.media-grid .caption {
		display: block;
	}



/* !Tabs (activate in tabs.js) ============================== */
/* New Tabs */
.tabs-nav {
	display: block;
	margin: 0 0 0 0;
	padding: 0;
	/* border-bottom: solid 1px #ddd; */
}
.tabs-nav li {
	display: block;
	width: auto;
	height: 30px;
	padding: 0;
	float: left;
	margin-bottom: 0;
}
.tabs-nav li a {
	display: block;
	text-decoration: none;
	width: auto;
	height: 29px;
	padding: 0px 20px;
	line-height: 30px;
	border: solid 1px #ddd;
	border-width: 1px 1px 0 0;
	margin: 0;
	background: #f6f6f6;
	font-size: 13px;
}
	.tabs-nav li a:hover {
		background: #f0f0f0;
	}
.tabs-nav li a.active {
	background: #fff;
	height: 30px;
	position: relative;
	top: -4px;
	padding-top: 4px;
	border-left-width: 1px;
	margin: 0 0 0 -1px;
	color: #111;
	-moz-border-radius-topleft: 3px;
	-webkit-border-top-left-radius: 3px;
	border-top-left-radius: 3px;
	-moz-border-radius-topright: 3px;
	-webkit-border-top-right-radius: 32px;
	border-top-right-radius: 3px;
}
.tabs-nav li:first-child a.active {
	margin-left: 0;
}
.tabs-nav li:first-child a {
	border-width: 1px 1px 0 1px;
	-moz-border-radius-topleft: 3px;
	-webkit-border-top-left-radius: 3px;
	border-top-left-radius: 3px;
}
.tabs-nav li:last-child a {
	-moz-border-radius-topright: 3px;
	-webkit-border-top-right-radius: 3px;
	border-top-right-radius: 3px;
}

.tabs-content { margin: 0; padding: 2em; border: 1px solid #ddd; display: block; list-style: none; clear: both;}
.tabs-content > .tab { display:none; }
.tabs-content > .tab.active { display: block; }



/* !Tables  ============================== */
table {
  width: 100%;
  margin-bottom: 1em;
  padding: 0;
/*   font-size: 13px; */
  border-collapse: collapse;
  border-spacing: 0;
}
table th, table td {
  padding: 10px 10px 9px;
  line-height: 18px;
  text-align: left;
}
table th {
  padding-top: 9px;
  font-weight: bold;
  vertical-align: middle;
}
table td {
  vertical-align: top;
  border-top: 1px solid #ddd;
}
table tbody th {
  border-top: 1px solid #ddd;
  vertical-align: top;
}

/* 	table types: .condensed-table  and .bordered-table */
.condensed th, .condensed td {
  padding: 5px 5px 4px;
}
.bordered {
  border: 1px solid #ddd;
  border-collapse: separate;
  *border-collapse: collapse; /* IE7, collapse table to remove spacing */

  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.bordered th + th, .bordered-table td + td, .bordered th + td {
  border-left: 1px solid #ddd;
}
.bordered thead tr:first-child th:first-child, .bordered tbody tr:first-child td:first-child {
  -webkit-border-radius: 4px 0 0 0;
  -moz-border-radius: 4px 0 0 0;
  border-radius: 4px 0 0 0;
}
.bordered thead tr:first-child th:last-child, .bordered tbody tr:first-child td:last-child {
  -webkit-border-radius: 0 4px 0 0;
  -moz-border-radius: 0 4px 0 0;
  border-radius: 0 4px 0 0;
}
.bordered tbody tr:last-child td:first-child {
  -webkit-border-radius: 0 0 0 4px;
  -moz-border-radius: 0 0 0 4px;
  border-radius: 0 0 0 4px;
}
.bordered tbody tr:last-child td:last-child {
  -webkit-border-radius: 0 0 4px 0;
  -moz-border-radius: 0 0 4px 0;
  border-radius: 0 0 4px 0;
}

/* 	sortable and zebra-striped tables */
.striped tbody tr:nth-child(odd) td, .striped tbody tr:nth-child(odd) th {
  background-color: #f9f9f9;
}
.striped tbody tr:hover td, .striped tbody tr:hover th {
  background-color: #f5f5f5;
}
table .header {
  cursor: pointer;
}
table .header:after {
  content: "";
  float: right;
  margin-top: 7px;
  border-width: 0 4px 4px;
  border-style: solid;
  border-color: #000 transparent;
  visibility: hidden;
}
table .headerSortUp, table .headerSortDown {
	background-color: #85c446;
	background-color: rgba(133,196,70,.3);
	text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
}
table .header:hover:after {
  visibility: visible;
}
table .headerSortDown:after, table .headerSortDown:hover:after {
  visibility: visible;
  filter: alpha(opacity=60);
  -khtml-opacity: 0.6;
  -moz-opacity: 0.6;
  opacity: 0.6;
}
table .headerSortUp:after {
  border-bottom: none;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid #000;
  visibility: visible;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  filter: alpha(opacity=60);
  -khtml-opacity: 0.6;
  -moz-opacity: 0.6;
  opacity: 0.6;
}


/* !Pagination  ============================== */
	.pagination {
	  height: 38px;
	  margin: 20px 0;
	  -moz-user-select: none;
	  user-select: none;
	  clear:both;
	}
	.pagination ul {
	  float: left;
	  margin: 0;
	  padding: 0;
	  border: 1px solid #ddd;
	  border: 1px solid rgba(0, 0, 0, 0.15);
	  border-radius: 3px;
	  border-right: 0;
	 
	  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
	}
	.pagination li {
		display: inline;
	}
	.pagination a,		.pagination .current {
	  float: left;
	  padding: 0 15px;
	  line-height: 38px;
	  border-right: 1px solid;
	  border-right-color: #ddd;
	  border-right-color: rgba(0, 0, 0, 0.15);

	  text-decoration: none;
	}
	.pagination a:hover,
	.pagination .active a,
	.pagination .current {
	  background-color: #eee;
	  background-color: rgba(0,0,0,.1);
	}
	.pagination .disabled a, .pagination .disabled a:hover {
	  background-color: transparent;
	  color: #bfbfbf;
	}
	.pagination .last a {
	  border: 0;
	}

/* !Non-semantic helper classes ============================== */

	/* 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; }
	.ir br { display: none; }
	
	/* Hide from both screenreaders and browsers: h5bp.com/u */
	.hidden { display: none !important; visibility: hidden; }
	
	/* 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; }


	.clear { clear: both; }


	/* Modifier classes (should always be the last) */
	.w5   { width: 5%;  }
	.w10  { width: 10%; }
	.w15  { width: 15%; }
	.w20  { width: 20%; }
	.w25  { width: 25%; }
	.w30  { width: 30%; }
	.w35  { width: 35%; }
	.w40  { width: 40%; }
	.w45  { width: 45%; }
	.w50  { width: 50%; }
	.w55  { width: 55%; }
	.w60  { width: 60%; }
	.w65  { width: 65%; }
	.w70  { width: 70%; }
	.w75  { width: 75%; }
	.w80  { width: 80%; }
	.w85  { width: 85%; }
	.w90  { width: 90%; }
	.w95  { width: 95%; }
	.w100 { width: 100%; }
	
	.h1 { height: 1em; }
	.h2 { height: 2em; }
	.h3 { height: 3em; }
	.h4 { height: 4em; }
	.h5 { height: 5em; }
	.h6 { height: 6em; }
	.h7 { height: 7em; }
	.h8 { height: 8em; }
	.h9 { height: 9em; }
	.h10 { height: 10em; }
	.h11 { height: 11em; }
	.h12 { height: 12em; }
	.h13 { height: 13em; }
	.h14 { height: 14em; }
	.h15 { height: 15em; }
	.h16 { height: 16em; }
	.h17 { height: 17em; }
	.h18 { height: 18em; }
	.h19 { height: 19em; }
	.h20 { height: 20em; }
	
	.o0  { opacity: 0;   filter: alpha(opacity=0);  }
	.o10 { opacity: 0.1; filter: alpha(opacity=10); }
	.o20 { opacity: 0.2; filter: alpha(opacity=20); }
	.o30 { opacity: 0.3; filter: alpha(opacity=30); }
	.o40 { opacity: 0.4; filter: alpha(opacity=40); }
	.o50 { opacity: 0.5; filter: alpha(opacity=50); }
	.o60 { opacity: 0.6; filter: alpha(opacity=60); }
	.o70 { opacity: 0.7; filter: alpha(opacity=70); }
	.o80 { opacity: 0.8; filter: alpha(opacity=80); }
	.o90 { opacity: 0.9; filter: alpha(opacity=90); }
	.o100 { opacity: 1.0; filter: alpha(opacity=100); }
	
	.inline-block { display: inline-block; }
	.block { display: block; }
	.inline { display: inline; }
	.hidden { display: none; }
	
	.left { text-align: left; }
	.right { text-align: right; }
	.center { text-align: center; }
	
	.cke div.c1,
	.cke div.c2,
	.cke div.c3,
	.cke div.c4,
	.cke div.c5,
	.cke div.c6 {
		margin-left: 2%;
		float: left;
	}
	
	.cke div.c2 { width: 49%; }
	.cke div.c3 { width: 32%; }
	.cke div.c4 { width: 23.5%; }
	.cke div.c5 { width: 18.4%; }
	.cke div.c5 { width: 15%; }
	
	.cke div.c1,
	.cke div.first {
		clear: both;
		margin-left: 0;
	}
	
	.cke:before, .cke:after { content: "\0020"; display: block; height: 0; visibility: hidden; } 
	.cke:after { clear: both; }
	.cke:after { zoom: 1; }


/* !Debug & CakePHP Debug SQL table ============================== */
/*
	body.debug:before {
		content: attr(class);
		position: fixed;
		top: 0px;
		right: 10px;
		color: #ddd;
		z-index: 1000;
		font-size: 10px;
	}
*/

	table.cake-sql-log {
		display: none;
		clear: both;
		width: 100%;
		max-width: 1200px;
		margin: 0 auto;
		text-align: left;
		border-top: 1px solid #000;
		border-left: 1px solid #000;
		color: #333;
		background-color: #eee;
	}
	
	table.cake-sql-log td,
	table.cake-sql-log th {
		border-bottom: 1px solid #999;
		border-right: 1px solid #999;
		padding: 0.5em;
	}
	
	table.cake-sql-log caption {
		text-align: center;
		background-color: #900;
		color: #fff;
		font-weight: bold;
		font-size: 1.5em;
		padding: 0.5em;
	}




/* 	! Shared baetween "Members Only" and "Pay Online" */

/* ! Infotable */
.infotable {
	list-style: none;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	margin: 2em auto;
	padding: 0;
	border-bottom: 1px solid #ccc;
}
	.infotable-cell {
		padding: .5em;
		border-top: 1px solid #ccc;
	}
	.infotable-label,
	.infotable-value {
		display: block;
		text-align: center;
		text-transform: uppercase;
	}
		.infotable-label {
			font-size: .75em;
			line-height: 1.5;
			letter-spacing: 0.05em;
		}
		.infotable-value {
			font-size: 26px;
			font-weight: 800;
			line-height: 1;
			letter-spacing: 0.05em;
		}