html, body {
	height: 100%;
}

body {
	position: relative;
	color: #000000;
	text-align: justify;
	/*word-break: normal;*/
	font-variant: normal;
	font-size: medium;
	font-family: Helvetica, Verdana, Arial, sans-serif;
}

#body_background{
	background-repeat: repeat-x;
	background-image: url(images/background.png);
}

/*To keep everything together in the horizontal centre of the page*/
a {
	text-decoration: none;
	color: #394388;
}

h1 {
	text-align: center;
	font-weight: bold;
	font-size: large;
}

h2 {
	font-size: medium;
	font-weight: bold;
	text-align: left;
}

#content {
	height: auto;
	position: relative;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 10px;
	padding-right: 10px;
	margin: auto;
}

/*Where the logo and menu are held*/
#top {
	padding-bottom: 20px;
	padding-top: 20px;
	position: relative;
	text-align: center;
	width: auto;
	height: auto;
}

/*Where the logo and menu are held*/
#bottom {
	position: relative;
	text-align: center;
	width: auto;
	height: auto;
}

/*A box to centre the elements inside it on the page*/
#centre_box {
	height: auto;
	margin-right: auto;
	margin-left: auto;
	position: relative;
	width: 530px;
	display: block;
	text-align: justify;
	font-size: small;
	font-family: Helvetica, Verdana, Arial, sans-serif;
}

/*To add a border on the left and right of the main content text*/
.border {
	background-color: white;
	padding-right: 10px;
	padding-left: 10px;
	border-right-color: black;
	border-left-color: black;
	border-right-style: solid;
	border-left-style: solid;
}

/*The minimum height of the border class for the profiles page*/
.border_min_height {
	min-height: 250px;
}

/*The minimum height of the border class for the contact page*/
.border_min_height_maps {
	min-height: 300px;
	padding-right: 10px;
	padding-left: 10px;
	border-right-color: black;
	border-left-color: black;
	border-right-style: solid;
	border-left-style: solid;
}

/*To format the addresses correctly in a table cell*/
.footer{
	font-size: x-small;
}

td.address {
	padding: 10px;
	text-align: center;
	font-size: small;
}

/*To give smaller text for the footer objects*/
/*To change the size of e-mail links if needed (profiles page)*/
.email {
	text-align: center;
	font-size: small;
}

/*To allow position an image so text wraps round it*/
.wrap {
	padding-right: 10px;
	float: left;
	display: block;
	position: static;
}

/*To centre bits of text*/
.centre_text {
	text-align: center;
}

/*For the menus on the main pages. See http://www.spoono.com/csst/tutorials/tutorial.php?id=6*/
#nav {
	display: inline;
	float: none;
	height: 20px;
	margin: 0;
	padding: 0;
	text-align: left;
}

#nav ul, #nav li {
	display: inline;
	list-style-type: none;
	margin: 0;
	padding: 0;
}

#nav a, #nav a:link {
	background: #3c4485;
	border: 1px solid #0f1174;
	color: white;
	display: inline;
	font: bold 10px verdana, arial, sans-serif;
	line-height: 22px;
	margin: 0 0 0 2px;
	padding: 2px 3px;
	text-decoration: none;
}

#nav a:hover {
	color: #0f1174;
	background: white;
	border: 1px solid #0f1174;
}

/*To keep the current page's menu button "highlighted"*/
a.menu-on {
	color: #0f1174 !important;
	background: white !important;
	border: 1px solid #0f1174 !important;
}

/*Start of Index styles (used mainly/only on the index.html page*/

#center_vertical {
	width: 100%;
	height: 100%;
    position: fixed;
    display: table;
    overflow: hidden;
}

#p_center_vertical {
	display: table-cell;
	vertical-align: middle;
	position: static;
}

.centered_index {
	text-align: center;
	display: table;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

td.index {
	width: 130px;
}

.logo_text {
	color: #394384;
	font-size: 40pt;
}

.index_background {
	background-position: center center;
	background-repeat: no-repeat;
	background-image: url(images/background_index.png);
}

/*Different layout and size for menu for index page.*/
.nav_index {
	display: inline;
	margin: 0;
	padding: 0;
	text-align: center;
}

.nav_index ul, .nav_index li {
	display: block;
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.nav_index a, .nav_index a:link {
	border-color: #0f1174;
	border-style: solid;
	border-width: 1px;
	background-image: url(images/index_button_large.png);
	padding-left: 9px;
	padding-bottom: 6px;
	padding-right: 8px;
	padding-top: 5px;
	margin-left: 2px;
	margin-bottom: 26px;
	margin-right: 2px;
	margin-top: 26px;
	display: block;
	color: white;
	font: bold 14px verdana, arial, sans-serif;
	text-decoration: none;
}

.nav_index a:hover {
	border-color: #0f1174;
	border-style: solid;
	border-width: 1px;
	background-image: url(images/index_button_large_hover.png);
	color: #0f1174;
}

/*End of Index styles*/