@font-face {
	font-family: 'NunitoSans';
	src:url('../fonts/NunitoSans-Regular.woff2') format('woff2'), url('../fonts/NunitoSans-Regular.woff') format('woff'),  url('../fonts/NunitoSans-Regular.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}

@font-face {
	font-family: 'NunitoSans';
	src:url('../fonts/NunitoSans-Light.woff2') format('woff2'), url('../fonts/NunitoSans-Light.woff') format('woff'),  url('../fonts/NunitoSans-Light.ttf') format('truetype');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'NunitoSans';
	src:url('../fonts/NunitoSans-ExtraLight.woff2') format('woff2'), url('../fonts/NunitoSans-ExtraLight.woff') format('woff'),  url('../fonts/NunitoSans-ExtraLight.ttf') format('truetype');
	font-weight: 200;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'NunitoSans';
	src:url('../fonts/NunitoSans-SemiBold.woff2') format('woff2'), url('../fonts/NunitoSans-SemiBold.woff') format('woff'),  url('../fonts/NunitoSans-SemiBold.ttf') format('truetype');
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}
html {
	width:100%;
	height:100%;
}
body {
	font-family: NunitoSans;
	font-size: 14px;
	font-style: normal;
	font-weight: normal;
	color: #2B2B2B;
	background-color: #FFFFFF;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}
* {
    box-sizing: border-box;
}
[class*="Col-"] {
    float:left;
    padding:2%;
    margin:0;
 }
 .RightHalfPage {
    float:right;
    padding:2%;
    margin:0;
 }
.Row {
	padding:0;
	margin:0;
}
.Row::after {
    content: "";
    clear: both;
    display: block;
}
/* Banner layout */

header {
	flex-shrink: 0;
	display:block;
	width:100%;
	position:fixed;
	top:0;
	left:0;
	margin:0;
	padding:0;
	background-color: #FFFFFF;
	z-index:1000;
}
#HeaderInner {
	margin:0 auto 0 auto;
	padding:15px 10px 0 10px;
	width:100%;
	max-width:1200px;
	display:block;
	position:relative;
}
#NavLogo {
	width:30%;
	margin:0;
	padding:0;
	float:left;
	position:relative;
}
#NavLogo p {
	font-family: NunitoSans;
	font-size:28px;
	padding: 0;
	margin: 0;
	color: #2B2B2B;
	font-style: normal;
	font-weight: 200;
}
#NavLogo a {
	font-family: NunitoSans;
	font-size: 1em;
	color: #2B2B2B;
	font-style: normal;
	font-weight: 200;
	text-decoration: none;
}
#NavBarOuter {
	padding:0;
	margin:0;
	float:left;
	display:block;
	position:relative;
}
#NavBarInner {
	margin:0;
	padding:0;
	background-color:#FFFFFF;
}
nav ul {
	padding:0;
	margin:0;
	list-style: none;
	display: -webkit-flex;
	display: flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
nav ul li {
	font-weight: normal;
	margin: 0;
	padding:0;
	cursor: pointer;
	position:relative;
	list-style-type:none;
}
nav ul li a {
	text-decoration: none;
	color: #2B2B2B; /* Text colour */
	font-size: 18px;
	font-weight: normal;
	display:block;
	margin: 0;
	padding: 4px; /* Size of buttons */
}
nav ul li a:hover {
	color: #C0C0C0;
	text-decoration:underline;
}
nav span {
	color:#8F1719; /* Highlight - eg. sale - manu items */
}

/* Dropdown box */
nav ul li ul {
	padding: 10px;
	margin:0;
	background-color: #E9E9E9;
	position: absolute;
	top: -1000px;
	left: 0px;
	width: 280px; /*Width of dropdown box */
	border:1px solid #000000; /* Border round dropdown */
	border-top:none;
	opacity: 0;
	-webkit-transiton: opacity 1s;
	-moz-transition: opacity 1s;
	-ms-transition: opacity 1s;
	-o-transition: opacity 1s;
	transition: opacity 1s;
	z-index:1000;
}
nav ul li:hover ul {
	opacity: 1;
	top: 36px;
}
nav ul li ul li { 
	display: block; 
	color: #FFFFFF;
	padding:0;
	margin:5px 0 5px 0;
	width:100%;
}
nav ul li ul li:hover {
	color: #DC7136;
}
nav ul li ul li a {
	padding:2px 0 2px 5px;
}
#MobileMenuButton {
	display:none;
	padding: 10px 2px 10px 2px;
}
.NavPanelOnly {
	display:none;
}

/* End of main navigation bar */

#Wrapper {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
#Layout {
	position: relative;
	width: 100%;
	padding: 0;
	margin:0;
	flex-shrink: 0;
	flex-grow: 1;
	overflow:hidden;
	z-index:100;
}
.PageSection {
	margin:0 auto 0 auto;
	padding:0 15px 0 15px;
	width:100%;
	max-width:1200px;
	position:relative;
}
.TextPageSection { /* Narrower page on big screens for text blocks */
	margin:0 auto 0 auto;
	padding:0 15px 0 15px;
	width:100%;
	max-width:1000px;
	position:relative;
	text-align: justify;
	text-justify: inter-word;
}
.BannerPicture {
	width:100%;
	height:auto;
	margin: 0;
	padding:0;
	display:block
}
h1 {
	font-size: 26px;
	padding: 5px 0 20px 0;
	margin: 0;
	font-weight: bold;
	color: #000000;
}
.PadLeft { /* To align with columns */
	padding-left:2%;
}
h2 {
	font-size: 22px;
	padding: 15px 0 0 0;
	margin: 0px;
	font-weight: bold;
	color: #000000;
}
h3 {
	font-size: 20px;
	padding: 0 0 10px 0;
	margin: 0;
	font-weight: bold;
	color: #000000;
}
h4 {
	font-size: 18px;
	padding: 15px 0 8px 0;
	margin: 0;
	font-weight: bold;
	color: #000000;
}
p {
	font-size: 18px;
	padding: 0 0 10px 0;
	margin: 0;
	line-height: 1.3;
	font-weight: normal;
}
h5 {
	font-size: 36px;
	padding: 0 0 20px 0;
	margin: 0;
	line-height: 1.3;
	color: #000000;
	font-style: normal;
	font-weight: normal;
}
label {
	font-size: 18px;
	padding: 0 0 10px 0;
	margin: 0;
	display:block;
}
.Justify p {
	text-align: justify;
	text-justify: inter-word;
}
a {
	font-size: 1em;
	font-weight: normal;
	color: #2B2B2B;
	text-decoration: underline;
}
a:hover {
	color:#999999;
}
ul {
	font-size:16px;
	margin:0;
	padding:8px 0 8px 20px;
	list-style-type: circle;
}
li {
	list-style-position: outside;
	padding: 0 0 5px 10px;
	line-height:1.3;
}
.BorderTop {
	border-top: 1px solid #2A2A2A;
}
.BorderRight {
	border-right: 1px solid #2A2A2A;
}
.BorderBottom {
	border-bottom: 1px solid #2A2A2A;
}
.NoShow {
	display:none;
}
.Quote {
	font-style: italic;
}
.CentreText {
	text-align:center;
}
footer {
	margin: 0;
	width: 100%;
	padding: 15px 0 15px 0;
	flex-shrink: 0;
	border-top: 1px solid #919191;
	background-color: #FFFFFF;
}
.FooterInner {	
	margin:0 auto 0 auto;
	padding:0;
	width:100%;
	max-width:1200px;
	position:relative;
}
footer p {
	text-align:center;
	color:#2A2A2A;
	font-size:18px;
}
footer a {
	text-decoration: none;
	color:#2A2A2A;
}
footer a:hover {
	text-decoration: underline;
	color:#2A2A2A;
}
.RSAFooterLogo {
	display:block;
	padding:0;
	margin:0 auto 10px auto;
	width:80%;
	max-width:200px;
	height:auto;
}
.SocialMediaLogo {
	height:40px;
	width:auto;
	display:inline-block;
	padding:0;
	margin: 5px;
}
.SocialMediaOuter {
	display: -webkit-flex;
	display: flex;
	flex-wrap:wrap;
	justify-content:center;
	margin:20px 0 20px 0;
	padding:0;
}
.PictureAttribution {
	margin: 0 10px 10px 10px;
	line-height: 1.0;
	font-size:14px;
	padding:0;
}
.ClearFloat {
	clear: both;
}
img {
	border:none;
}
/* Publication Pages */

.PublicationsOuter {
	width:100%;
	position:relative;
}
.PublicationsOuter::after {
    content: "";
    clear: both;
    display: block;
}
.OtherPagesMobile {
	padding:5px;
	border:1px solid #C0C0C0;
}
.PublicationsPicture {
	padding:10px;
	max-width:400px;
}
.PublicationsPicture img {
	width:100%;
	max-width:400px;
	height:auto;
}
.PublicationsText {
	padding:10px;
}
.PublicationsTitle {
	color:#2435B7;
	font-weight: bold;
}
.PublicationsTitle a {
	color:#2435B7;
	font-weight: bold;
	text-decoration:none;
}
.HomePagePublication {
	border:1px solid #D7E1F1;
	padding:0;
	margin: 20px 2% 0 2%;
}
#SectionButtons { /* Top is not set (and not set to 0) to position at the top of the container */
	position:fixed; /* Changed for mobile screens */
	left:20px;
	width:170px;
	padding:10px 5px 10px 20px;
	border-right: 1px solid #2A2A2A;
	background-color:#FFFFFF;
	-webkit-transition: width 1s;
	transition: width 1s;
	overflow:hidden;
	z-index:3000;
}
#SideBarOpenButton {
	font-family: Arial, Helvetica, sans-serif;
	cursor: pointer;
	text-decoration: none;
	color:#FFFFFF;
	background-color:#3B4A23;
	text-align:center;
	font-weight:bold;
	font-size:12px;
	padding:0;
	width:120px;
	-webkit-transform: rotate(-90deg);
	-ms-transform: rotate(-90deg);
	-moz-transform: rotate(-90deg);
	-o-transform: rotate(-90deg);
	transform:rotate(-90deg);
	position:absolute;
	left:-50px;
	top:70px;
	display:none;
}
.SideBarCloseButton {
	font-family: Arial, Helvetica, sans-serif;
	cursor: pointer;
	text-decoration: none;
	border:none;
	color:#000000;
	background-color: #E9E9E9;
	text-align:right;
	font-weight:bold;
	font-size:15px;
	padding:0;
	position:relative;
	float:right;
	display:none;
}
.SectionSelect {
	display:block;
	width:100%;
	font-size: 16px;
	color:#2B2B2B;
	text-align:left;
	padding:5px;
	text-decoration: underline;
}
#SectionSelected {
	color: #A1A1A1 !important;
	text-decoration: none !important;
}
.TopPadding {
	padding-top:20px;
}
.BorderPanel {
	width: 100%;
	margin: 0;
	padding: 15px;
	border: 4px double  #AFC8C1;
	background-color: #F7F7F7;
	-webkit-box-shadow: 10px 10px 5px #C8C8C8;
	box-shadow: 10px 10px 5px #C8C8C8;
}

.DisplayPanel {
	width: 100%;
	margin: 0;
	padding: 15px;
	border: 2px solid  #AFC8C1;
	background-color: #F7F7F7;
	-webkit-box-shadow: 10px 10px 5px #C8C8C8;
	box-shadow: 10px 10px 5px #C8C8C8;
}
.DisplayPanel p {
	color: #FFFFFF;
}
.DisplayPanel li {
	color: #FFFFFF;
}
.DisplayPanel  a {
	color: #FFFFFF;
}
.FlexPanel {
	display: -webkit-flex;
	display: flex;
	flex-wrap:wrap;
	justify-content:space-around;
	padding:0;
	margin:15px 0 20px 0;
}
.Picture {
	width:100%;
	height:auto;
	margin: 0;
	padding:0;
	display:block;
}
.SidePicture {
	width:100%;
	max-width:500px;
	height:auto;
	margin: 0 auto 0 auto;
	padding:0;
	display:block;
}
.Caption {
	font-size:16px;
	margin:5px 0 20px 0;
	text-align:center;
}
.ContactIcon {
	vertical-align:middle;
	width:50px;
	height:auto;
	margin:0 5px 0 0;
}
hr {
	border-top: 1px solid #2435B7;
	margin:10px 0 10px 0;
}

/* Forms and buttons */

.Button1 {
	font-size: 18px;
	font-weight: bold;
	border-radius: 10px;
	padding: 4px 12px 4px 12px;
	cursor: pointer;
	text-decoration: none;
	border: none;
	text-align: center;
	display: block;
	color: #FFFFFF;
	background-color: #5460B9;
}
.Button1:hover {
	background-color: #F1F1F1;;
	color:#000000;
}
.FormTextBox {
	font-size: 18px;
	color: #000000;
	width:90%;
}
.FormDropdown {
	font-size: 18px;
	color: #000000;
}
#FormPopup {
	opacity: 0;
	position: fixed;
	top: -1000px;
	left: 50%;
	-ms-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	transform: scale(1) translate(-50%, -50%);
	overflow: hidden;
	-webkit-transition: opacity 1s;
	transition: opacity 1s;
	width:90%;
	max-width: 500px;
	z-index: 2000;
	padding: 30px;
	cursor: default;
	background-color:#2435B7;
	border:1px solid #000000;
}
#FormPopup p {
	padding-bottom: 5px;
}

/* Contact Form */

#ContactForm {
	padding: 15px;
	margin: 0;
	background-color: #F1F1F1;
}
#ContactForm p {
	font-size:18px;
	margin-bottom:5px;
}
.ContactFormHeader {
	font-size: 24px !important;
	text-align:center !important;
	font-weight:bold;
}
.FormHandler {
	display:none;
}
#FormMessage {
	min-height:70px;
}
.MessageTextError {
	font-weight: bold;
	color: #B30B0B;
}
.MessageTextOK {
	font-weight: bold;
	color: #1C8221;
}
.FloatLeft {
	float:left;
}
.FloatRight {
	float:right;
}

/* For Google Map */

.map-responsive{
    overflow:hidden;
    position:relative;
    height:0;
	border-bottom:2px solid #384F5F;
}
.map-responsive iframe{
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}

/* Mobile */

@media only screen and (max-width: 750px){

	.Col-m-0 {width:0%;}
	.Col-m-1 {width: 8.33%;}
	.Col-m-2 {width: 16.66%;}
	.Col-m-3 {width: 25%;}
	.Col-m-4 {width: 33.33%;}
	.Col-m-5 {width: 41.66%;}
	.Col-m-6 {width: 50%;}
	.Col-m-7 {width: 58.33%;}
	.Col-m-8 {width: 66.66%;}
	.Col-m-9 {width: 75%;}
	.Col-m-10 {width: 83.33%;}
	.Col-m-11 {width: 91.66%;}
	.Col-m-12 {width: 100%;}

	.RightHalfPage {width: 100%;}

	.M-none {
		display:none;
	}
	.MobileClear {
		clear:both;
	}
	#NavLogo p {
		font-size:30px;
	}
	header {
		position:static;
	}
	#Layout {
		margin-top:0;
	}
	.BannerPicture {
		width:200%;
		padding-right:50%
	}
	.OtherPagesMobile {
		display:none;
	}
	.PublicationsPicture {
		width:100%;
	}
	.PublicationsText {
		width:100%;
	}
	.HomePagePublication { /* a margin left and right is set at 2% so the width must take that into account */
		width:42%;
	}
	.SocialMediaOuter {
		margin:-10px 0 0 0;
	}
	.RSAFooterLogo {
		margin-top:-10px;
		margin-bottom:0;
	}
	/* For CV and Publication sections side menu */
	#SectionButtons {
		position:absolute;
		top:20px;
		left: -200px;
		width: 0px;
		padding-top: 30px;
		background-color: #E9E9E9;
	}
	#SideBarOpenButton {
		display:block;
	}
	.SideBarCloseButton {
		display:block;
	}
	/* End CV and Publication sections side menu */
	.PhoneNoLink {
		display:none;
	}
	.PhoneLink {
		display:inline;
	}
	/* For Google Map */
	.map-responsive{
		padding-bottom:75%;
	}
}

/* Tablet */
@media only screen and (min-width: 751px) and (max-width: 1029px){

	body {
		font-size: 14px;
	}

	.Col-t-1 {width: 8.33%;}
	.Col-t-2 {width: 16.66%;}
	.Col-t-3 {width: 25%;}
	.Col-t-4 {width: 33.33%;}
	.Col-t-5 {width: 41.66%;}
	.Col-t-6 {width: 50%;}
	.Col-t-7 {width: 58.33%;}
	.Col-t-8 {width: 66.66%;}
	.Col-t-9 {width: 75%;}
	.Col-t-10 {width: 83.33%;}
	.Col-t-11 {width: 91.66%;}
	.Col-t-12 {width: 100%;}

	.RightHalfPage {width: 50%;}

	.T-none {
		display:none;
	}
	#Layout {
		margin-top:100px;
	}
	#NavBarOuter {
		width:100%;
	}

	.OtherPagesMobile {
		display:none;
	}
	.PublicationsPicture {
		width:60%;
	}
	.PublicationsText {
		width:100%;
	}
	.HomePagePublication { /* a margin left and right is set at 2% so the width must take that into account */
		width:28%;
	}
	.PhoneNoLink {
		display:inline;
	}
	.PhoneLink {
		display:none;
	}
	.PdfLinkReader {
		display:block;
	}
	.PdfLinkDirect {
		display:none;
	}
	#WelcomeButton {
		display:block; /* Change to none not to show on tablets */
	}
	/* For Google Map */
	.map-responsive{
	    padding-bottom:30%;
	}
}

/* Desktop */
@media only screen and (min-width: 1030px){

	.Col-d-1 {width: 8.33%;}
	.Col-d-2 {width: 16.66%;}
	.Col-d-3 {width: 25%;}
	.Col-d-4 {width: 33.33%;}
	.Col-d-5 {width: 41.66%;}
	.Col-d-6 {width: 50%;}
	.Col-d-7 {width: 58.33%;}
	.Col-d-8 {width: 66.66%;}
	.Col-d-9 {width: 75%;}
	.Col-d-10 {width: 83.33%;}
	.Col-d-11 {width: 91.66%;}
	.Col-d-12 {width: 100%;}

	.RightHalfPage {width: 50%;}

	.D-none {
		display:none;
	}

	#Layout {
		margin-top:70px;
	}
	#NavBarOuter {
		width:70%;
	}

	/* Publication Pages */

	.OtherPagesMobile {
		display:none;
	}
	.PublicationsPicture {
		width:20%;
		float:right;
	}
	.PublicationsText {
		width:80%;
		float:right;
	}
	.HomePagePublication { /* a margin left and right is set at 2% so the width must take that into account */
		width:22%;
	}
	.PhoneNoLink {
		display:inline;
	}
	.PhoneLink {
		display:none;
	}
	.PdfLinkReader {
		display:block;
	}
	.PdfLinkDirect {
		display:none;
	}
	/* For Google Map */
	.map-responsive{
	    padding-bottom:25%;
	}
}

/* MAIN MENU BAR */
@media only screen and (max-width: 750px){

	#NavBarOuter {
		height:50px;
		width:90%;
	}
	#NavBarInner {
		height:40px;
		width:100%;
		overflow:hidden;
		-webkit-transiton: height 1s;
		-moz-transition: height 1s;
		-ms-transition: height 1s;
		-o-transition: height 1s;
		transition: height 1s;
	}
	nav ul {
		display:block;
	}
	#NavBarInner:hover {
	height: 600px;
	overflow-y: scroll;
	border-left: 2px solid #000000;
	border-right: 2px solid #000000;
	border-bottom: 2px solid #000000;
	/* background-color: #97B9CC; */
	background-color: #E3E3E3;
	}
	nav ul li a {
		margin:0;
		padding:0 0 10px 20px;
		font-size: 18px;
		font-weight:normal;
	}
	nav ul li ul {
		display:none; /* Hide dropdowns */
		/* display:block; */
		width:100%;
		padding-left:30px;
	}
	nav ul li ul a {
		font-size:16px;
	}
	nav ul li:hover ul {
		top: 20px;
	}
	#MobileMenuButton {
		display:block;
		height:60px;
	}
	.MenuIcon {
		margin:0;
		padding:2px;
	}
	.MenuIconBar {
 		width: 35px;
 		height: 4px;
 		background-color:#2B2B2B;
 		margin:0 0 5px 0;
		padding:0;
	}
	.NavPanelOnly {
		display:block;
		padding-left:40px;
	}
}
/* END OF MAIN MENU BAR */

/* Small screen overrides */


@media only screen and (max-width: 350px){
	#NavLogo p {
		font-size:7vw;
	}
	h1 {
		font-size: 20px;
	}
	h2 {
		font-size: 18px;
	}
	.HomePagePublication { /* a margin left and right is set at 2% so the width must take that into account */
		width:90%;
	}
	.RSAFooterLogo {
		margin-top:10px;
	}
}
