/*
	(c)2012 - visuallizard.com

	Inspired by:
	Skeleton				www.getskeleton.com
	Bootstrap				twitter.github.com/bootstrap/
	HTML5 ✰ Boilerplate		h5bp.com
*/

/* Table of Content

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


/* !Reset & Basics ============================== */
	* { box-sizing: border-box; }
	html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
		margin: 0;
		padding: 0;
		border: 0;
		font-size: 100%;
		font: inherit;
		vertical-align: baseline; }
	article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
		display: block; }
	body { line-height: 1; scroll-behavior: smooth; }
	ol, ul { list-style: none; }
	blockquote, q { quotes: none; }
	blockquote:before, blockquote:after,
	q:before, q:after {
		content: '';
		content: none;
	}
	table {
		border-collapse: collapse;
		border-spacing: 0;
	}
	sup {
		padding: 0 0.25rem;
		font-size: 0.7rem;
		vertical-align: super;
	}

	::-moz-selection { background: rgba(17,87,140,1); color: #fff; text-shadow: none; }
	::selection { background: rgba(17,87,140,1); color: #fff; text-shadow: none; }

/* !Basic Styles ============================== */
	html {
		font-size: 100%;
		overflow-y: scroll;
		scroll-behavior: smooth;
		-webkit-text-size-adjust: 100%;
		-ms-text-size-adjust: 100%;
	}
	body {
		font-family: "Montserrat", Helvetica, Arial, sans-serif;
		font-size: 16px;
		line-height: 1.5;
		background: #fff;
		color: #222;
		/*-webkit-font-smoothing: antialiased;  Fix for webkit rendering */
		-webkit-text-size-adjust: 100%;
 }


/* !Typography ============================== */
	h1, h2, h3, h4, h5, h6 {
		margin: 1.5rem 0;
		font-weight: 400;
		color: #222;
	}
	h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { font-weight: inherit; }
	h1 { font-size: 3.000rem; font-weight: 700; line-height: 1.1; margin-bottom: 0.5rem;}
	h2 { font-size: 2.250rem; font-weight: 700; line-height: 1.1; margin-bottom: 0.5rem; color: #c01327;}
	h3 { font-size: 1.750rem; font-weight: 700; line-height: 1.1; margin-bottom: 0.5rem;}
	h4 { font-size: 1.250rem; font-weight: 700; line-height: 1.1; margin-bottom: 0.5rem; color: #c01327;}
	h5 { font-size: 1.250rem; line-height: 1.1; margin-bottom: 0.5rem;}
	h6 { font-size: 1.125rem; font-weight: 700; line-height: 1.1; margin-bottom: 0.5rem;}

	h2 { text-transform: uppercase; }

	p { margin: 0 0 1.5rem 0; }
	p + ul,
	p + ol { margin-bottom: 1.5rem; }
	p img { margin: 0; }
	p.lead { font-size: 1.125rem; line-height: 1.25; color: 444;  }

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

/*	Blockquotes  */
	blockquote, blockquote p { font-size: 1.5rem; line-height: 1.25; color: 444; font-style: italic; }
	blockquote { margin: 0 0 1.25rem 0; padding: 0.5rem 1.25rem 0 1rem; border-left: 5px solid #ddd; }
	blockquote cite { display: block; font-size: 0.75rem; color: #444; }
	blockquote cite:before { content: "\2014 \0020"; }
	blockquote cite a, blockquote cite a:visited, blockquote cite a:visited { color: #444; }



/* !Links */
	a		{ color: #c01327; font-weight: 600; text-decoration: none; outline: none; }
	a:hover	{ outline: none;}
	a:focus	{ outline: 1px dashed; }
	a:active { outline: none; }

	p a { line-height: inherit; }


/* !Lists */
	ul, ol { margin: 0 0 1.5rem 1.5rem; padding: 0; }
	ul ul, ul ol, ol ol, ol ul { margin-bottom: 0; }
	ul { list-style: disc; }
	ol { list-style: decimal; }
	li { line-height: 1.25; }
	ul.unstyled { list-style: none; margin-left: 0; }
	dl { margin-bottom: 1.25rem; }
	dl dt, dl dd { line-height: 1.25; }
	dl dt { font-weight: bold; }
	dl dd { margin-left: 1.25rem; }

	dd:after {
		/* http://lea.verou.me/2012/02/flexible-multiline-definition-lists-with-2-lines-of-css/ */
		content: '\D\A';
		white-space: pre;
	}


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

/* !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;
	}

	.lower { text-transform: lowercase; }
	.upper { text-transform: uppercase; }


/* !Buttons & Messages ============================== */
	.button.danger,
	.message.danger,
	.button.danger:hover,
	.message.danger:hover,
	.button.error,
	.message.error,
	.button.error:hover,
	.message.error:hover,
	.button.success,
	.message.success,
	.button.success:hover,
	.message.success:hover,
	.button.info,
	.message.info,
	.button.info:hover,
	.message.info:hover {
		color: #ffffff;
	}
	.button .close, .message .close, .remove {
	  font-family: Arial, sans-serif;
	  line-height: 18px;
	}
	.button.danger,
	.message.danger,
	.button.error,
	.message.error {
	  background-color: #c43c35;
	}
	.button.success, .message.success {
	  background-color: #57a957;
	  background: rgba(18,171,77,1)
	}
	.message.success > h2 {
		text-transform: none;
		color: #fff;
	}
	.button.info, .message.info {
	  background-color: #339bb9;
	}
	.button {
	  cursor: pointer;
	  display: inline-block;
	  background-color: #e6e6e6;
	  padding: 4px 14px 5px;
	  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
	  text-decoration: none;
	  color: #333;
	  font-size: 13px;
	  line-height: normal;
	  border: 1px solid #ccc;
	  border-bottom-color: #bbb;
	  -webkit-border-radius: 4px;
	  -moz-border-radius: 4px;
	  border-radius: 4px;
	  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
	  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
	  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
	  -webkit-transition: 0.1s linear all;
	  -moz-transition: 0.1s linear all;
	  -ms-transition: 0.1s linear all;
	  -o-transition: 0.1s linear all;
	  transition: 0.1s linear all;
	}
	.button:hover {
	  background-position: 0 -15px;
	  color: #333;
	  text-decoration: none;
	}
	.button:focus {
	  outline: 1px dotted #666;
	}
	.button.primary {
	  color: #ffffff;
	  background-color: #0064cd;
	  background-repeat: repeat-x;
	  background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));
	  background-image: -moz-linear-gradient(top, #049cdb, #0064cd);
	  background-image: -ms-linear-gradient(top, #049cdb, #0064cd);
	  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));
	  background-image: -webkit-linear-gradient(top, #049cdb, #0064cd);
	  background-image: -o-linear-gradient(top, #049cdb, #0064cd);
	  background-image: linear-gradient(top, #049cdb, #0064cd);
	  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);
	  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	  border-color: #0064cd #0064cd #003f81;
	  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
	}
	.button.active, .btn:active {
	  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
	  -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
	  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;
	  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
	  filter: alpha(opacity=65);
	  -khtml-opacity: 0.65;
	  -moz-opacity: 0.65;
	  opacity: 0.65;
	  -webkit-box-shadow: none;
	  -moz-box-shadow: none;
	  box-shadow: none;
	}
	.button[disabled] {
	  cursor: default;
	  background-image: none;
	  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
	  filter: alpha(opacity=65);
	  -khtml-opacity: 0.65;
	  -moz-opacity: 0.65;
	  opacity: 0.65;
	  -webkit-box-shadow: none;
	  -moz-box-shadow: none;
	  box-shadow: none;
	}


	.close  {
	  float: right;
	  color: #000000;
	  font-size: 20px;
	  font-weight: bold;
	  line-height: 13.5px;
	  text-shadow: 0 1px 0 #ffffff;
	  filter: alpha(opacity=25);
	  -khtml-opacity: 0.25;
	  -moz-opacity: 0.25;
	  opacity: 0.25;
	}
	.close:hover{
	  color: #000000;
	  text-decoration: none;
	  filter: alpha(opacity=40);
	  -khtml-opacity: 0.4;
	  -moz-opacity: 0.4;
	  opacity: 0.4;
	}
	a.remove, a.progress_action {
		margin: 0;
		width: auto;
		height: auto;
		padding: 0;
		line-height: 1;
		font-size: 18px;
		font-weight: bold;
		color: #c43c35;
		text-decoration: none;
		text-shadow: 0 1px 0 #ffffff;
		text-align: center;

		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
		border-radius: 4px;
		opacity: .8;
	}
	a.remove:hover, a.progress_action:hover {
		opacity: 1;
	}
	.message {
	  position: relative;
	  padding: 2em;
	  margin-bottom: 18px;
	  color: #404040;
	  background-color: #eedc94;
	}
	.message .close {
		text-decoration: none;
		margin-top: 1px;
		*margin-top: 0;
	}
	.message a {
	  font-weight: bold;
	  color: #404040;
	}
	.message.danger p a,
	.message.error p a,
	.message.success p a,
	.message.info p a {
	  color: #ffffff;
	}
	.message p {
	  margin-bottom: 0;
	}



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

	form {
		margin-bottom: 20px;
	}
	fieldset {
		margin-bottom: 20px;
	}
	input[type="text"],
	input[type="password"],
	input[type="email"],
	textarea,
	select {
		border: 1px solid #ccc;
		padding: 4px;
		outline: none;
		-moz-border-radius: 2px;
		-webkit-border-radius: 2px;
		border-radius: 2px;
		font: 13px "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
		color: #777;
		margin: 0;
		width: 210px;
		max-width: 100%;
		display: block;
		margin-bottom: 20px;
		background: #fff;
	}
	select {
		padding: initial;
		width: 220px;
	}
	input[type="text"]:focus,
	input[type="password"]:focus,
	input[type="email"]:focus,
	textarea:focus {
		border: 1px solid #aaa;
 		color: #444;
 		-moz-box-shadow: 0 0 3px rgba(0,0,0,.2);
		-webkit-box-shadow: 0 0 3px rgba(0,0,0,.2);
		box-shadow:  0 0 3px rgba(0,0,0,.2); }
	textarea {
		min-height: 60px;
		min-width: 210px;
	}
	label,
	legend {
		display: block;
		font-weight: bold;
		font-size: 13px;
	}
	.input.checkbox label, .input.radio label {
		margin-left: 5px;
		display: inline-block;
	}

	/* 	cat4 required field indicator */
	.required > label:after,
	.required-field > label:after {
		content: " *";
	}

	/* 	for jquery.overlabel  */
	label.overlabel-apply {
		position: absolute;
		top: 4px;
		left: 10px;
		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;
	}
	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], button[type=submit] {
	  width: auto;
	  height: auto;
	}
	select, input[type=file] {
	  height: 27px;
	  *height: auto;
	  line-height: 27px;
	  *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;
	}


	.input.file p {
		margin: 0;
	}
	input.form-error {
		margin-bottom: 0;
	}
	.error-message {
		color: #ee5f5b;
		margin-bottom: 10px;
	}

	/* 	Recaptcha */
	#recaptcha_image {
		margin: 1em 0;
	}
	#recaptcha_widget_div {
		margin-bottom: 20px;
	}


/* !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: 4px;
		-moz-border-radius: 4px;
		border-radius: 4px;
		-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: 18px;
  padding: 0;
  font-size: 18px;
  border-collapse: collapse;
  table-layout: fixed;
}
table th, table td {
  display: table-cell;
  padding: 10px;
  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;
	}
	.pagination ul {
		float: right;
		margin: 0;
		padding: 0;
		border: 1px solid #ddd;
		border-right: 0;
		border: 1px solid rgba(0, 0, 0, 0.15);
		border: none;
	}
	.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);
		border: none;

		text-decoration: none;
	}
	.pagination a:hover,
	.pagination .active a,
	.pagination .current {
		background-color: #85c446;
		background-color: rgba(133,196,70,.3);
		background: none;
		font-weight: 700;
	}
	.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; }





/* !Catalyst specific  ============================== */
	.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; }

	.block { display: block; }
	.inline { display: inline; }
	.hidden { display: none; }

	.left { text-align: left; }
	.right { text-align: right; }
	.center { text-align: center; }

	.cke {
		display: flex;
		position: relative;
		justify-content: flex-start;
		align-items: stretch;
		flex-wrap: wrap;
		column-gap: 2%;
		row-gap: 1rem;
		width: 100%;
		padding: 0;
		margin: 0;
	}

	.cke div.c1,
	.cke div.c2,
	.cke div.c3,
	.cke div.c4,
	.cke div.c5,
	.cke div.c6 {
		display: block;
		position: relative;
	}

	.cke div.c1 { flex: 0 0 100%; max-width: 100%; }
	.cke div.c2 { flex: 0 0 49%; max-width: 49%; }
	.cke div.c3 { flex: 0 0 32%; max-width: 32%; }
	.cke div.c4 { flex: 0 0 23.5%; max-width: 23.5%; }
	.cke div.c5 { flex: 0 0 18.4%; max-width: 18.4%; }
	.cke div.c5 { flex: 0 0 15%; max-width: 15%; }



/* !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;
	}
