.site {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
}

.site-content {
  flex: 1;
}

html {
	overflow-y: scroll;
}

body {
	font-size:12pt;
	font-family: 'Open Sans', sans-serif;
	margin:0;
	padding:0;
  	color: #272727;
}

/* -------------------- Padding and Margins -------------------- */
.down {
	margin-top:20px;
}
.pad {
  padding: 10px;
}
.padtb {
  padding: 100px 0;
}
.alignright {
	float:right;
	padding-left: 20px;
	padding-bottom: 20px;
}
.alignleft {
	float:left;
	padding-right: 20px;
	padding-bottom: 20px;
}
.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.grid {
  display: flex;
  flex-wrap: wrap;
}
.space {
  justify-content: space-between;
}

/* -------------------- Colours -------------------- */
.red {
	background-image: linear-gradient( to bottom, #eff1f3, #fff );
}
.orange, .subsidebar {
  background-color: #f26532;
}
.off-orange {
  color: #fff;
  background-color: #e48b6b;
}

.white {
  color: #272727;
  background-color: #ffffff;
}
.purple {
  background-color: #333192;
}
.orange-text {
  color: #f26532;
}
/* -------------------- General Styles -------------------- */
p, li {
	line-height:1.6em;
}
img {
	border-style: none;
}
.center {
	text-align:center;
}

.absol {
	position:relative;
}
.align {
  align-self: center;
}
h1, h2, h3, h4 {
  font-weight: normal;
}
h1 {
  font-size: calc(1em + 0.8vw);
}
h2 {
  font-weight: 300;
  font-size: calc(1em + 0.8vw);
}

a {
	text-decoration: none;
	color: #002d56;
}

a:hover {
	color: #f26532;
}

q {
	display: inline-block;
	font-style: italic;
	margin-left: 7%;
	margin-right:7%;
}
/* -------------------- Header -------------------- */
header {
	width: 98vw;
	position: relative;
	margin-top: 10px;
	margin-left: auto;
	margin-right: auto;
	max-width: 1800px;
}

.logo img {
	position: relative;
	width: 20vw;
	max-width: 250px;
	height: auto;
}

.logo-line {
	position: relative;
	bottom: calc(0.6em + 1.1vw);
	width: 100vw;
	z-index: -1;
}

.productname .title {
	font-size: calc(0.6em + 0.6vw);
	font-weight: 600;
	position: relative;
	top: 1vw;
}

header .button-box {
	width: 20vw;
	max-width: 250px;
	height: auto;
	align-self: center;
	text-align: right;
	margin-right: 10px;
}

header .button {
	align-self: center;
	margin-bottom: 1vw;
	font-size: calc(0.4em + 0.5vw);
}
header .button a {
	background-color: #f26532;
}
header .button a:hover {
	background-color: #002d56;
}


/* -------------------- Navigation -------------------- */
.navigation {
	position: relative;
	display: flex;
	justify-content: center;
	bottom: calc(0.6em + 1.1vw);
	font-size: calc(0.6em + 0.5vw);
}
nav ul {
	margin: 10px;
	padding: 0;
	display: flex;
	list-style: none;
}
nav li {
	margin: 10px;
}
nav li a {
	text-decoration: none;
	color: #272727;
}
nav li a:hover, .current {
	color: #f26532;
	border-bottom: solid thin;
}

/* -------------------- Page Styles -------------------- */
.container {
	width: 92vw;
	margin: auto;
	max-width: 1200px;
}

.line-spacer {height: 1vh;}
.double-line-spacer {height: 2vh;}
.quad-line-spacer {height: 4vh;}

.region-line {margin-left:auto; margin-right:auto;  text-align: center;}

.region-box {
    display: inline-block;
	width: auto;
	height: auto;
	align-self: center;
	text-align: center;
	margin: 3px;
}
.region {
	align-self: center;
	margin-bottom: 1vw;
	font-size: 0.8em;
}
.region a {
	padding: 0.3vw;
	color: #fff;
	text-decoration: none;
	border-radius: none;
	background-color: #f26532;
}

.region.selected a {
	background-color: #002d56;
}
.region a:hover {
	background-color: #002d56;
}

/* -------------------- Page Banner and Title -------------------- */

.home .page-title {
	padding-top: 10px;
	font-weight: 300;
}

.home .page-logo {
	padding-top: 60px;
}

.home .page-logo img{
	width: 55vw;
	max-width: 500px;
}

.inner .page-title {
	padding: 60px 0;
	font-weight: 300;
}
.statusnmsg {
	color: #f26532;
}
.big {
  font-size: calc(1em + 2.5vw);
  font-weight: 700;
}

a[target="_blank"]:after {
    font-family: 'FontAwesome';
    content: " \f08e";
}

/* -------------------- Button -------------------- */


.action-line {
	width: 20vw;
	max-width: 250px;
	height: auto;
	align-self: center;
	text-align: center;
	margin-right: 10px;
	margin-top: 15px;
}

.action-line .button-box .button {
	align-self: center;
	margin-bottom: 1vw;
	font-size: calc(0.4em + 0.5vw);
}
.action-line .button-box .button a {
	background-color: #002d56;
}

.action-line .button-box .button a:hover {
	background-color: #f26532;
	color: #002d56;
}


.button a {
	padding: 0.5vw 1vw;
	color: #fff;
	text-decoration: none;
	border-radius: 5px;
	white-space: nowrap;
}

/* -------------------- recaptcha -------------------- */
.g-recaptcha {
   margin: 15px auto !important;
   width: auto !important;
   height: auto !important;
   text-align: -webkit-center;
   text-align: -moz-center;
   text-align: -o-center;
   text-align: -ms-center;
}
/* -------------------- Tables -------------------- */


table.data {
    margin-left:auto;
    margin-right:auto;
    font-size: calc(0.4em + 0.4vw);
    color:#333333;
    margin-bottom:5px;
    border-style: solid;
    border-width: 1px;
    border-color: black;
    border-collapse: collapse;
	margin-top: 20px;
	margin-bottom: 20px;
}

table.data th {
    border-width: 1px;
    padding: 8px;
    margin-bottom: 10px;
    font-size: calc(0.6em + 0.4vw);
    border-style: solid;
    border-color: #666666;
    background-color: #dedede;
}

table.data td {
    vertical-align: top;
    border-width: 1px;
    padding: 8px;
    border-style: solid;
    border-color: #666666;
}

table.data tr {
    background-color: #ffffff;
}

table.highlight tbody tr:hover {
  background-color: lightyellow !important;
}

table.colour tr {
  background-color: blue !important;
}


table.center td {
	text-align: center;
}

table.wide {
    width:100%;
}

table.smalltext th, table.smalltext td{
	font-size: 0.6em;
}

table.midtext th, table.midtext td{
	font-size: 0.8em;
}

/* -------------------- Contact Form -------------------- */
.container.contact-form{
  padding: 50px;
}

.contact-form {
	width:98vw;
	max-width: 800px;
}

.contact-form .contact-image {
	text-align: center;
}

.contact-form .contact-image img{
	width: 40vw;
	max-width: 250px;
	height: auto;
}

.contact-form form {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	justify-content: center;
}
.contact-form input {
	width: 40%;
}
.contact-form textarea {
	width: 100%;
}
.contact-form input, .contact-form textarea {
	padding: 10px;
	margin: 10px;
	box-sizing: border-box;
	border: solid thin gray;
}

.contact-form .submit {
	padding: 10px 15px;
	color: #fff;
	text-decoration: none;
	border-radius: 5px;
	background-color: #f26532;
	width: 200px;
}
.contact-form input:focus, .contact-form textarea:focus {
	background-color: #e5e8eb;
}
.container .error-container .error{
  justify-content: center;
}

/* -------------------- Footer -------------------- */
.footer-logo {
  text-align: center;
}
.copyright {
	color: #fff;
	background-color: #002d56;
	font-size: 8pt;
	padding: 10px;
}
.copyright p, .copyright i {
  align-self: center;
}
.copyright i {
	font-size: 30pt;
	color: #fff;
}
