/* LAYOUT */

.hidden {
	display: none !important;
}
.clear {
	clear: both !important;
}
.no-clear {
	clear: none !important;
}
.bb, .borderbox {
	box-sizing: border-box; /* css3 rec */
	-ms-box-sizing: border-box; /* ie8 */
	-moz-box-sizing: border-box; /* ff2+ */
	-webkit-box-sizing: border-box; /* safari3+ */
	-khtml-box-sizing: border-box; /* konqueror */
}
.boxshadow {
	box-shadow: 2px 2px 1em rgba(0,0,0,0.2); /* (inset) x y radius spread color */
	-ms-box-shadow: 2px 2px 1em black;
	-moz-box-shadow: 2px 2px 1em rgba(0,0,0,0.2);
	-webkit-box-shadow: 2px 2px 1em rgba(0,0,0,0.2);
	-khtml-box-shadow: 2px 2px 1em rgba(0,0,0,0.2);
	-o-box-shadow: 2px 2px 1em rgba(0,0,0,0.2);
}
.rounded {
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px;
}
.collapse {
	display: none;
}
.open .collapse {
	display: block;
}
.table {
	display: table;
	width: 100%;
}
.table > div {
	display: table-row;	
}
.table > div > div {
	display: table-cell;
	vertical-align: top;
}
.table.fixed {
	table-layout: fixed;	
}
.float-right {float:right;}
.float-left {float:left;}

.print {
	display: none; /*Only visible when printing */
}

/* GENERAL */

.pointer {
	cursor: pointer;	
}

.uppercase {
	text-transform: uppercase;
}
.capitalize, .capitalise {
	text-transform: capitalize;
}
.keepcase {
	text-transform: none;
}
.noselect {
	-moz-user-select: none; /* mozilla */
	-khtml-user-select: none; /* safari */
	-o-user-select: none; /* opera */
	-ms-user-select: none;
	user-select: none;
	cursor: pointer;
}
.noinput {
	-moz-user-input: disabled; /* mozilla */
	user-input: none;  /* css3 proposal */
}
.nofocus {
	-moz-user-focus: ignore; /* mozilla */
	user-focus: ignore;
}
.line-between:nth-child(even) {
	border-top: 1px solid silver;
}

/* NAVIGATION: common nav styles  */

.button_nav, .small_button_nav {
	margin: 10px 0;
	text-align: right;	
}
.button_nav img, .small_button_nav img {
	cursor: pointer;
}
.w50pc {
	clear: none !important;
	width: 50% !important;
}
.w100pc {
	width: 100% !important;
}

/* BUTTONS */

/* LISTS */
ul.nobullet, ul.no-bullet {
	margin-left: 0 !important;
	padding-left: 0 !important;
}
ul.nobullet li, ul.no-bullet li {
	list-style-type: none !important;
	margin-left: 0 !important;
	padding-left: 0 !important;
}


/* IMAGES */

a img {
	border: none;
}
img.stretch {
	height: 100%;
	width: 100%;
	display: block;
	position: absolute;
	margin: 0;
}

/* TABLES */

table, thead, tbody, tr, td, th {
	font-size: inherit;
	font-family: inherit;
}
table.layout {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
}
table.layout td {
	vertical-align: top;
	padding: 0;
}
table.flexible {
	table-layout: auto;
}
table.data {
	width: 100%;
}
table.data th, table.data td {
	border: 1px solid #eee;
	padding: 2px 3px;
}
table.data th {
	text-align: left;
	background-color: #f2f2ef;
}
.links_table > div {
	margin-bottom: 20px;
}
.links_table h3 {
	margin: 0;
}

/* CSS2 tables */
.table {display:table;}
.table > * {display:table-row;}
.table-row, .tr {display:table-row;}
.table-row > * {display:table-cell;}
.table-cell, .td {display:table-cell;}
	
/* RULES */


hr.thin {
	height: 0;
	border: none;
	border-bottom: 1px solid black;
}
hr.silver {
	border-color: silver;
}

/* FLEXBOX: Common flexbox types */

.flex {
	/*display: -webkit-box;*/
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -o-flex;
	display: -ms-flex;
	display: flex;
}
.flex.cols {
	-webkit-box-orient: vertical;
	-moz-box-orient: vertical;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	-o-flex-direction: column;
	flex-direction: column;
}
.flex.wrap {
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flex.align-center { /* Spacing of items along main axis (like text-align) */
	-webkit-box-pack: center;
    -moz-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.flex.center-lines {
    -webkit-align-content: center;
    -o-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
}
.flex.stretch-lines {
    -webkit-align-content: stretch;
    -o-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
}
.flex.center-items { /* Position of items across the main axis (like vertical-align) */
    -webkit-box-align: center;
    -moz-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
.flex.stretch-items {
    -webkit-box-align: stretch;
    -moz-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}
.flex > .order-first {
    -webkit-box-ordinal-group: 1;
    -moz-box-ordinal-group: 1;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
}

/* COLUMNS: CSS3 columns */

.css3.two.columns {
	column-count: 2;
	-moz-column-count: 2;
}
.css3.three.columns {
	column-count: 3;
	-moz-column-count: 3;
}
.css3.four.columns {
	column-count: 4;
	-moz-column-count: 4;	
}
.css3.columns > div {
	break-inside: avoid;
	-webkit-column-break-inside: avoid;
	display: table; /*hack for mozilla*/
}
.css3.columns.ruled {
	column-rule: 1px solid silver;
	-moz-column-rule: 1px solid silver;
}
@media only screen and (max-width: 479px) {
	.css3.two.columns {
		column-count: 1;
		-moz-column-count: 1;
	}
	.css3.three.columns {
		column-count: 1;
		-moz-column-count: 1;
	}
	.css3.four.columns {
		column-count: 1;
		-moz-column-count: 1;	
	}
}

/* COLUMNS: CSS2 floated columns */
.floated.columns > div {
	float: left;
	margin-right: 10px;
}
.floated.two.columns > div {
	max-width: 49%;
}
.floated.three.columns > div {
	width: 32%;
}
.floated.three.columns > div {
	width: 23.5%;
}
.floated.columns > div:first-child {
	margin-left: 0;
}
.floated.columns > div:last-child {
	margin-right: 0;
}
@media only screen and (max-width: 479px) {
	.floated.columns > div {
		width: 100%;
		max-width: 100%;
		margin: 0 0 6px 0;
		clear: both;
	}
}


/* MESSAGE LISTS */

.message_list li {
	display: block;
	background: transparent url(/base/images/icons/ok_message.gif) scroll no-repeat 2px 2px;
	padding: 2px 4px 4px 25px !important;
	font-size: 12px;
}
.message_list li.warning {
	background-image: url(/base/images/icons/warning_message.gif);
}
.message_list li.error {
	background: url(/base/images/icons/error_message.gif) scroll no-repeat 2px 2px;
}

/* Light-blue information panel */
.info {
	background-color: #F4F3FF;
	border: 1px solid silver;
	color: #333;
	padding: 6px;
	margin: 10px 0;
	border-radius: 4px;
	box-shadow: 1px 1px 5px 0px rgba(50, 50, 50, 0.2);
}

/* INLINE MESSAGES: display messages at top of page  */

#inline_messages {
	clear: both;
	padding: 0.6em;
	background: #EDEEFF;
    color: #222266;
    font-weight: bold;
}

#inline_messages ul {
	padding:0;
	margin:0;
}

#inline_messages a, #inline_messages a:visited {
	color: blue;
}
#inline_messages.visible {
	display: block;
}


/* SLIDESHOW */

.slideshow {
	position: relative;
	overflow: hidden !important;
}

/* RESPONSIVE */

img {
	max-width: 100%;
	height: auto;
}
main img[style] {
	width:auto !important;
	height:auto !important;
}

.video_wrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
	height: 0;
}

.video_wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}