@charset "utf-8";

/*
---------------------------------------------------------------------------------------------------- 
	Back end AND front end resets + defaults 
----------------------------------------------------------------------------------------------------
*/

* {
	box-sizing: border-box;	
}

/* Never alter HTML or BODY */

html {
	height: 100%;
	overflow-y: scroll; /* Test moved from HTML to body for WHS - Issue was sideways scrolling was not locked on mobile devices */
	-webkit-overflow-scrolling: touch;
}

body {
	margin: 0;
	padding: 0;
	height: auto;
	overflow-x: hidden;
}

main, header, aside, section, nav {
	display: block;
}

a {
	color: inherit;
	cursor: pointer;	
	text-decoration: none;	
}

p {
	margin-top: 1em;
	margin-bottom: 1em;	
}

h1, h2, h3, h4, h5, h6, h7 {
	margin: 0;	
}

a:hover, a:focus {
	text-decoration: underline;	
}

button:hover, button:focus {
	text-decoration: none;
}

img {
	border: none;
	outline: none;
	max-width: 100%;
}

fieldset {
	margin: 0;
	padding: 0;
	border: none;	
}

input, textarea, select, label {
	display: block;
}

input, textarea, select {
	background-color: #fff;
}

hr, .hr{
	padding: 0;
	border: none;
	margin: 1em 0;
	border-top: solid 1px rgba(0,0,0,0.1); 
	display: block;
	clear: both;
}

iframe {
	display: block;
	margin-left: auto;
	margin-right: auto;	
}

/*
---------------------------------------------------------------------------------------------------- 
	Rows and cols
----------------------------------------------------------------------------------------------------
*/

.row {	
	margin-left: -15px;
	margin-right: -15px;		
}

.row:before {
	content: " " ;	
	display: table;
}

.row:after {
	clear: both;
	content: " " ;	
	display: table;
}

.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12,
.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12,
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12,
.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {	
	width: 100%;
	padding: 0 15px;
	position: relative;
}

.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11 {
	float: left;	
}

.col-xs-1  { width: 8.333%; }
.col-xs-2  { width: 16.666%; }
.col-xs-3  { width: 25%; }	
.col-xs-4  { width: 33.333%; }	
.col-xs-5  { width: 41.666%; }	
.col-xs-6  { width: 50%; }		
.col-xs-7  { width: 58.333%; }
.col-xs-8  { width: 66.666%; }	
.col-xs-9  { width: 75%; }	
.col-xs-10 { width: 83.333%; }	
.col-xs-11 { width: 91.666%; }		
.col-xs-12 { width: 100%; }		

.col-xs-pull-1 { right: 8.333%; }
.col-xs-pull-2 { right: 16.666%;	}
.col-xs-pull-3 { right: 25%;	}	
.col-xs-pull-4 { right: 33.333%;	}	
.col-xs-pull-5 { right: 41.666%;	}	
.col-xs-pull-6 { right: 50%;	}		
.col-xs-pull-7 { right: 58.333%;	}
.col-xs-pull-8 { right: 66.666%;	}	
.col-xs-pull-9 { right: 75%;	}	
.col-xs-pull-10 { right: 83.333%; }	
.col-xs-pull-11 { right: 91.666%; }		
.col-xs-pull-12 { right: 100%; }	

.col-xs-push-1 { left: 8.333%; }
.col-xs-push-2 { left: 16.666%;	}
.col-xs-push-3 { left: 25%;	}	
.col-xs-push-4 { left: 33.333%;	}	
.col-xs-push-5 { left: 41.666%;	}	
.col-xs-push-6 { left: 50%;	}		
.col-xs-push-7 { left: 58.333%;	}
.col-xs-push-8 { left: 66.666%;	}	
.col-xs-push-9 { left: 75%;	}	
.col-xs-push-10 { left: 83.333%; }	
.col-xs-push-11 { left: 91.666%; }		
.col-xs-push-12 { left: 100%; }	

/* Containers - 1280px is default */

.container {
	padding-left: calc(50% - 640px);
	padding-right: calc(50% - 640px);
}

/* First row is not always a direct decendent */

.container .row {
	margin-left: 0;
	margin-right: 0;	
}

/* All rows under the first row */

.container .row .row {
	margin-left: -15px;
	margin-right: -15px;	
}

/* Contents - 3vh is default */

.content {
	padding-top: 3vh;
	padding-bottom: 3vh;
	background-size: cover;
	background-position: center;
}

.content > *:first-child,
.content-basic > *:first-child {
	margin-top: 0;
}

.content > *:last-child,
.content-basic > *:last-child {
	margin-bottom: 0;
}

/*
---------------------------------------------------------------------------------------------------- 
	Utilities
----------------------------------------------------------------------------------------------------
*/

/* Margins */

.mt, .my { margin-top: 1em; }
.mb, .my { margin-bottom: 1em; }
.ml, .mx { margin-left: 1em; }
.mr, .mx { margin-right: 1em; }

.ml-auto,
.mx-auto {
	margin-left: auto
}

.mr-auto,
.mx-auto {
	margin-right: auto
}

/* Padding */

.pt, .py { padding-top: 15px; }
.pb, .py { padding-bottom: 15px; }
.pl, .px { padding-left: 15px; }
.pr, .px { padding-right: 15px; }

/* Text */

.lft { text-align: left; }
.rgt { text-align: right; }
.cnt { text-align: center; }

/* Floats */

.flo-l { float: left; }
.flo-r { float: right; }

/* Absolutes */

.abs-t, .abs-b, .abs-l, .abs-r, .abs-tl, .abs-tr, .abs-bl, .abs-br {
	position: absolute;	
}

.abs-t, .abs-tl, .abs-tr { top: 0; }
.abs-b, .abs-bl, .abs-br { bottom: 0; }
.abs-l, .abs-tl, .abs-bl { left: 0; }
.abs-r, .abs-tr, .abs-br { right: 0; }

/* Flex */

.flex { 
	display: flex; 
	flex-wrap: wrap;
	align-items: center;
}	

.flex-cnt {
	justify-content: center;
}

.flex-stretch {
	align-items: stretch;
}

.flex-col {
	flex-direction: column;	
}

/* Hidden */

.hidden,
.hidden-xs-up { display: none; }

/* Widths */

.w-5 { width: 5%; }
.w-10 { width: 10%; }
.w-15 { width: 15%; }
.w-20 { width: 20%; }
.w-25 { width: 25%; }
.w-30 { width: 30%; }
.w-35 { width: 35%; }
.w-40 { width: 40%; }
.w-45 { width: 45%; }
.w-50 { width: 50%; }
.w-55 { width: 55%; }
.w-60 { width: 60%; }
.w-65 { width: 65%; }
.w-70 { width: 70%; }
.w-75 { width: 75%; }
.w-80 { width: 80%; }
.w-85 { width: 85%; }
.w-90 { width: 90%; }
.w-95 { width: 95%; }

.w-xs, .w-sm, .w-md, .w-lg, .w-100 {
	width: 100%;	
}

.w-xs { max-width: 414px; }
.w-sm { max-width: 768px; }
.w-md { max-width: 992px; }
.w-lg { max-width: 1200px; }

/* Fonts */

.font-xs { font-size: 0.75em; }
.font-sm { font-size: 0.875em; }
.font-md { }
.font-lg { font-size: 1.125em; }
.font-xl { font-size: 1.75em; }

/* Lists */

.list {
	display: block;
}

.list > * {
	display: block;	
}

.list ul {
	margin: 0;
	padding: 0;
	list-style-type: none;	
}

.list-ruled li:after {
	clear: both;
	content: " ";
	display: table;
}

.list-ruled li + li {
	border-style: solid;
	border-width: 1px 0 0 0;
	border-color: rgba(0,0,0,0.25);
}

.list-ruled li a {
	display: block;
	padding-top: 0.5em;	
	padding-bottom: 0.5em;
}

/*
---------------------------------------------------------------------------------------------------- 
	Forms and fieldsets
----------------------------------------------------------------------------------------------------
*/

input, select, button, textarea {
	outline: none;
	font: inherit;	
	-moz-appearance: none;		
	-webkit-appearance: none;	
}

textarea {
	resize: none;
}

[type="button"], [type="submit"] {
	cursor: pointer;
}

.select {
	position: relative;
}

/*
---------------------------------------------------------------------------------------------------- 
	Media queries
----------------------------------------------------------------------------------------------------
*/

@media (max-width: 767.99px) { 
	
	/* Margins */
	
	.mt-xs, .my-xs { margin-top: 1em; }
	.mb-xs, .mt-xs { margin-bottom: 1em; }
	.ml-xs, .mx-xs { margin-left: 1em; }
	.mr-xs, .mx-xs { margin-right: 1em; }
	
	.mx-xs-auto { margin-left: auto; margin-right: auto; }

	/* Hidden */	
	
	.hidden-xs-down {
		display: none;	
	}
}

@media (min-width: 768px) { 

	.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11 { 
		float: left; 
	}

	.col-sm-1 { width: 8.333%; }
	.col-sm-2 { width: 16.666%; }
	.col-sm-3 { width: 25%;	}	
	.col-sm-4 { width: 33.333%;	}	
	.col-sm-5 { width: 41.666%;	}	
	.col-sm-6 { width: 50%;	}		
	.col-sm-7 { width: 58.333%;	}
	.col-sm-8 { width: 66.666%;	}	
	.col-sm-9 { width: 75%;	}	
	.col-sm-10 { width: 83.333%; }	
	.col-sm-11 { width: 91.666%; }		
	.col-sm-12 { width: 100%; }	
	
	.col-sm-pull-1 { right: 8.333%; }
	.col-sm-pull-2 { right: 16.666%;	}
	.col-sm-pull-3 { right: 25%;	}	
	.col-sm-pull-4 { right: 33.333%;	}	
	.col-sm-pull-5 { right: 41.666%;	}	
	.col-sm-pull-6 { right: 50%;	}		
	.col-sm-pull-7 { right: 58.333%;	}
	.col-sm-pull-8 { right: 66.666%;	}	
	.col-sm-pull-9 { right: 75%;	}	
	.col-sm-pull-10 { right: 83.333%; }	
	.col-sm-pull-11 { right: 91.666%; }		
	.col-sm-pull-12 { right: 100%; }	
	
	.col-sm-push-1 { left: 8.333%; }
	.col-sm-push-2 { left: 16.666%;	}
	.col-sm-push-3 { left: 25%;	}	
	.col-sm-push-4 { left: 33.333%;	}	
	.col-sm-push-5 { left: 41.666%;	}	
	.col-sm-push-6 { left: 50%;	}		
	.col-sm-push-7 { left: 58.333%;	}
	.col-sm-push-8 { left: 66.666%;	}	
	.col-sm-push-9 { left: 75%;	}	
	.col-sm-push-10 { left: 83.333%; }	
	.col-sm-push-11 { left: 91.666%; }		
	.col-sm-push-12 { left: 100%; }	
		
	/* Padding */
	
	.pt-sm, .py-sm { padding-top: 15px; }
	.pb-sm, .pt-sm { padding-bottom: 15px; }
	.pl-sm, .px-sm { padding-left: 15px; }
	.pr-sm, .px-sm { padding-right: 15px; }
	
	/* Text */
	
	.lft-sm { text-align: left; }
	.rgt-sm { text-align: right; }
	.cnt-sm { text-align: center; }
	
	/* Floats */
	
	.flo-l-sm { float: left; }
	.flo-r-sm { float: right; }
	
	/* Absolutes */
	
	.abs-t-sm, .abs-b-sm, .abs-l-sm, .abs-r-sm, .abs-tl-sm, .abs-tr-sm, .abs-bl-sm, .abs-br-sm {
		position: absolute;	
	}
	
	.abs-t-sm, .abs-tl-sm, .abs-tr-sm { top: 0; }
	.abs-b-sm, .abs-bl-sm, .abs-br-sm { bottom: 0; }
	.abs-l-sm, .abs-tl-sm, .abs-bl-sm { left: 0; }
	.abs-r-sm, .abs-tr-sm, .abs-br-sm { right: 0; }
	
	/* Flex */
	
	.flex-sm { 
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}	
	
	.flex-cnt-sm {
		justify-content: center;
	}
	
	.flex-stretch-sm {
		align-items: stretch;
	}
	
	.flex-col-sm {
		flex-direction: column;	
	}	
	
	/* Hidden */
	
	.hidden-sm-up {
		display: none;	
	}
}

@media (max-width: 991.99px) { 
	
	/* Margins */
	
	.mt-sm, .my-sm { margin-top: 1em; }
	.mb-sm, .mt-sm { margin-bottom: 1em; }
	.ml-sm, .mx-sm { margin-left: 1em; }
	.mr-sm, .mx-sm { margin-right: 1em; }
	
	.mx-sm-auto { margin-left: auto; margin-right: auto; }

	/* Hidden */	
	
	.hidden-sm-down {
		display: none;	
	}	
}

@media (min-width: 992px) { 

	.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11 {	
		float: left;
	}
	
	.col-md-1 { width: 8.333%; }
	.col-md-2 { width: 16.666%;	}
	.col-md-3 { width: 25%;	}	
	.col-md-4 { width: 33.333%;	}	
	.col-md-5 { width: 41.666%;	}	
	.col-md-6 { width: 50%;	}		
	.col-md-7 { width: 58.333%;	}
	.col-md-8 { width: 66.666%;	}	
	.col-md-9 { width: 75%;	}	
	.col-md-10 { width: 83.333%; }	
	.col-md-11 { width: 91.666%; }		
	.col-md-12 { width: 100%; }	
	
	.col-md-pull-1 { right: 8.333%; }
	.col-md-pull-2 { right: 16.666%;	}
	.col-md-pull-3 { right: 25%;	}	
	.col-md-pull-4 { right: 33.333%;	}	
	.col-md-pull-5 { right: 41.666%;	}	
	.col-md-pull-6 { right: 50%;	}		
	.col-md-pull-7 { right: 58.333%;	}
	.col-md-pull-8 { right: 66.666%;	}	
	.col-md-pull-9 { right: 75%;	}	
	.col-md-pull-10 { right: 83.333%; }	
	.col-md-pull-11 { right: 91.666%; }		
	.col-md-pull-12 { right: 100%; }	
	
	.col-md-push-1 { left: 8.333%; }
	.col-md-push-2 { left: 16.666%;	}
	.col-md-push-3 { left: 25%;	}	
	.col-md-push-4 { left: 33.333%;	}	
	.col-md-push-5 { left: 41.666%;	}	
	.col-md-push-6 { left: 50%;	}		
	.col-md-push-7 { left: 58.333%;	}
	.col-md-push-8 { left: 66.666%;	}	
	.col-md-push-9 { left: 75%;	}	
	.col-md-push-10 { left: 83.333%; }	
	.col-md-push-11 { left: 91.666%; }		
	.col-md-push-12 { left: 100%; }	
				
	/* Padding */
	
	.pt-md, .py-md { padding-top: 15px; }
	.pb-md, .pt-md { padding-bottom: 15px; }
	.pl-md, .px-md { padding-left: 15px; }
	.pr-md, .px-md { padding-right: 15px; }
	
	/* Text */
	
	.lft-md { text-align: left; }
	.rgt-md { text-align: right; }
	.cnt-md { text-align: center; }
	
	/* Floats */
	
	.flo-l-md { float: left; }
	.flo-r-md { float: right; }
	
	/* Absolutes */
	
	.abs-t-md, .abs-b-md, .abs-l-md, .abs-r-md, .abs-tl-md, .abs-tr-md, .abs-bl-md, .abs-br-md {
		position: absolute;	
	}
	
	.abs-t-md, .abs-tl-md, .abs-tr-md { top: 0; }
	.abs-b-md, .abs-bl-md, .abs-br-md { bottom: 0; }
	.abs-l-md, .abs-tl-md, .abs-bl-md { left: 0; }
	.abs-r-md, .abs-tr-md, .abs-br-md { right: 0; }
	
	/* Flex */
	
	.flex-md { 
		display: flex; 
		flex-wrap: wrap;
		align-items: center;
	}	
	
	.flex-cnt-md {
		justify-content: center;
	}
	
	.flex-stretch-md {
		align-items: stretch;
	}
	
	.flex-col-md {
		flex-direction: column;	
	}		
		
	/* Hidden */			
			
	.hidden-md-up {
		display: none;	
	}
}

@media (max-width: 1199.99px) { 

	/* Margins */
	
	.mt-md, .my-md { margin-top: 1em; }
	.mb-md, .mt-md { margin-bottom: 1em; }
	.ml-md, .mx-md { margin-left: 1em; }
	.mr-md, .mx-md { margin-right: 1em; }
	
	.mx-md-auto { margin-left: auto; margin-right: auto; }

	/* Hidden */

	.hidden-md-down {
		display: none;	
	}	
}

@media (min-width: 1200px) { 

	.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11 {
		float:left;	
	}

	.col-lg-1 { width: 8.333%; }
	.col-lg-2 { width: 16.666%;	}
	.col-lg-3 { width: 25%;	}	
	.col-lg-4 { width: 33.333%;	}	
	.col-lg-5 { width: 41.666%;	}	
	.col-lg-6 { width: 50%;	}		
	.col-lg-7 { width: 58.333%;	}
	.col-lg-8 { width: 66.666%;	}	
	.col-lg-9 { width: 75%;	}	
	.col-lg-10 { width: 83.333%; }	
	.col-lg-11 { width: 91.666%; }		
	.col-lg-12 { width: 100%; }		
	
	.col-lg-pull-1 { right: 8.333%; }
	.col-lg-pull-2 { right: 16.666%;	}
	.col-lg-pull-3 { right: 25%;	}	
	.col-lg-pull-4 { right: 33.333%;	}	
	.col-lg-pull-5 { right: 41.666%;	}	
	.col-lg-pull-6 { right: 50%;	}		
	.col-lg-pull-7 { right: 58.333%;	}
	.col-lg-pull-8 { right: 66.666%;	}	
	.col-lg-pull-9 { right: 75%;	}	
	.col-lg-pull-10 { right: 83.333%; }	
	.col-lg-pull-11 { right: 91.666%; }		
	.col-lg-pull-12 { right: 100%; }	
	
	.col-lg-push-1 { left: 8.333%; }
	.col-lg-push-2 { left: 16.666%;	}
	.col-lg-push-3 { left: 25%;	}	
	.col-lg-push-4 { left: 33.333%;	}	
	.col-lg-push-5 { left: 41.666%;	}	
	.col-lg-push-6 { left: 50%;	}		
	.col-lg-push-7 { left: 58.333%;	}
	.col-lg-push-8 { left: 66.666%;	}	
	.col-lg-push-9 { left: 75%;	}	
	.col-lg-push-10 { left: 83.333%; }	
	.col-lg-push-11 { left: 91.666%; }		
	.col-lg-push-12 { left: 100%; }			
	
	/* Padding */
	
	.pt-lg-0, .py-lg-0 { padding-top: 0; } 
	.pb-lg-0, .py-lg-0 { padding-bottom: 0; } 
	.pl-lg-0, .px-lg-0 { padding-left: 0; } 
	.pr-lg-0, .px-lg-0 { padding-right: 0; } 

	.pt-lg, .py-lg { padding-top: 15px; }
	.pb-lg, .pt-lg { padding-bottom: 15px; }
	.pl-lg, .px-lg { padding-left: 15px; }
	.pr-lg, .px-lg { padding-right: 15px; }
	
	/* Text */
	
	.lft-lg { text-align: left; }
	.rgt-lg { text-align: right; }
	.cnt-lg { text-align: center; }
	
	/* Floats */
	
	.flo-l-lg { float: left; }
	.flo-r-lg { float: right; }
	
	/* Absolutes */
	
	.abs-t-lg, .abs-b-lg, .abs-l-lg, .abs-r-lg, .abs-tl-lg, .abs-tr-lg, .abs-bl-lg, .abs-br-lg {
		position: absolute;	
	}
	
	.abs-t-lg, .abs-tl-lg, .abs-tr-lg { top: 0; }
	.abs-b-lg, .abs-bl-lg, .abs-br-lg { bottom: 0; }
	.abs-l-lg, .abs-tl-lg, .abs-bl-lg { left: 0; }
	.abs-r-lg, .abs-tr-lg, .abs-br-lg { right: 0; }
	
	/* Flex */
	
	.flex-lg { 
		display: flex; 
		flex-wrap: wrap;
		align-items: center;
	}	
	
	.flex-col-lg {
		flex-direction: column;	
	}	
	
	.flex-cnt-lg {
		justify-content: center;
	}
	
	.flex-stretch-lg {
		align-items: stretch;
	}
	
	.flex-col-lg {
		flex-direction: column;	
	}		
	
	/* Hidden */

	.hidden-lg-up {
		display: none;	
	}
	
	#lightbox:after {
		top: 30px;
		right: 30px;
	}	
}

@media (min-width: 1600px) { 

	.col-xl-1 { width: 8.333%; }
	.col-xl-2 { width: 16.666%;	}
	.col-xl-3 { width: 25%;	}	
	.col-xl-4 { width: 33.333%;	}	
	.col-xl-5 { width: 41.666%;	}	
	.col-xl-6 { width: 50%;	}		
	.col-xl-7 { width: 58.333%;	}
	.col-xl-8 { width: 66.666%;	}	
	.col-xl-9 { width: 75%;	}	
	.col-xl-10 { width: 83.333%; }	
	.col-xl-11 { width: 91.666%; }		
	.col-xl-12 { width: 100%; }		
	
	.col-xl-pull-1 { right: 8.333%; }
	.col-xl-pull-2 { right: 16.666%;	}
	.col-xl-pull-3 { right: 25%;	}	
	.col-xl-pull-4 { right: 33.333%;	}	
	.col-xl-pull-5 { right: 41.666%;	}	
	.col-xl-pull-6 { right: 50%;	}		
	.col-xl-pull-7 { right: 58.333%;	}
	.col-xl-pull-8 { right: 66.666%;	}	
	.col-xl-pull-9 { right: 75%;	}	
	.col-xl-pull-10 { right: 83.333%; }	
	.col-xl-pull-11 { right: 91.666%; }		
	.col-xl-pull-12 { right: 100%; }	
	
	.col-xl-push-1 { left: 8.333%; }
	.col-xl-push-2 { left: 16.666%;	}
	.col-xl-push-3 { left: 25%;	}	
	.col-xl-push-4 { left: 33.333%;	}	
	.col-xl-push-5 { left: 41.666%;	}	
	.col-xl-push-6 { left: 50%;	}		
	.col-xl-push-7 { left: 58.333%;	}
	.col-xl-push-8 { left: 66.666%;	}	
	.col-xl-push-9 { left: 75%;	}	
	.col-xl-push-10 { left: 83.333%; }	
	.col-xl-push-11 { left: 91.666%; }		
	.col-xl-push-12 { left: 100%; }		
}