/**
 * Colour reference:
 *
 * Blue: #01226B
 * Light Blue: #2A67AA
 * Dark Blue: #1E4370
 * Beige: #F1D4AD
 * Maroon: #D43E66
 *
 */
 @import 'https://fonts.googleapis.com/css?family=Cinzel+Decorative|Noto+Serif:400,400i,700,700i';
html, body {
	padding: 0;
	margin: 0;
	font-size: 16px;
	min-height: 100vh;
}

body {
	background: linear-gradient( to bottom, #FAFAFD , #FFFFFF 50% );
	background-attachment: fixed;
	
	line-height: 1.2;
	font-family: 'Noto Serif', serif;
}

@media (max-width: 768px) {
	html, body { font-size: 12px; }
}

.SiteHeader {
	font-size: 1rem;
	height: 5em;
	
	padding: 9;
	margin: 0;

	position: absolute;
	top: 0;
	left: 0;
	right: 0;

	z-index: 1000;
}

	.SiteHeader .SiteLogo {
		position: absolute;
		left: 2em;
		top: 2em;

		margin: 0;

		/** Apply the font styles to the anchor */
		text-decoration: none;
		color: #ffffff;
	}

	.SiteHeader .SiteLogo h2 {
		font-size: 3em;
		display: inline-block;
		
		padding: 0 0 0 0.5em;
		margin: 0;
		font-weight: normal;

		vertical-align: middle;
		
		text-shadow: 1px 2px 3px rgba(0,0,0,0.66);
		position: relative;
		top: -0.05em;
	}

	.SiteHeader .SiteLogo-image {
		width: 4em;
		vertical-align: middle;

		-webkit-filter: drop-shadow( 1px 2px 3px #000);
		filter: drop-shadow( 1px 2px 3px #000); 
	}

	.SiteHeader-menu {
		position: absolute;
		top: 8em;
		left: 3.5em;
  }
  
  @media (min-width: 768px) {
    .SiteHeader-menu {
      top: 3em;
      right: 2em;
      left: auto;
    }
  }

	.SiteHeader-menu ol {
		margin: 0;
	}

	nav.SiteHeader-menu li {
		display: inline-block;
		padding: 0;
		margin: 0.5em;
	}

		nav li {
			list-style: none;
		}

		nav li a {
			display: block;
			padding: 0.5em 0.5em 0.625em 0.5em;

			text-decoration: none;
			font-size: 1.5em;
			color: #ffffff;

			text-transform: lowercase;
			position: relative;

			text-shadow: 1px 2px 3px rgba(0,0,0,0.66);
		}

		nav li a::after {
			content: "";

			position: absolute;
			display: block;

			bottom: 0;
			left: 0;
			right: 0;
			height: 0.125em;
			background-color: #ffffff;
			border-radius: 0.25em;

			transform: scaleX(0);

			transition: transform 100ms ease-in-out;
		}
		
		nav:hover li a.is-active::after {
			transform: scaleX(0);
		}

		nav li a.is-active::after,
		nav:hover li a.is-active:hover::after,
		nav li a:hover::after {
			transform: scaleX(1);
		}

	

.MainContent-hero {
	min-height: 98vh;
	background: linear-gradient( to bottom, #01226B, #1E4370);
	background-size: cover;

	position: relative;

	z-index: 100;

	overflow: hidden;
}

	.MainContent-heroImage {
		position: absolute;
		top: 50%;
		left: 50%;

		min-width: 100%;
		min-height: 100%;

		transform: translate(-50%, -50%);

		z-index: 101;
	}

	.MainContent-heading {
		color: #ffffff;
		font-size: 2em;
		
		position: absolute;
		width: 100%;
		bottom: 0;
		transform: translateY(-50%);

		z-index: 102;
	}

	@media (max-width: 768px) {
		.MainContent-heading { font-size: 1em; }
	}


	@media (min-width: 1280px) and (max-width: 1919px) and (orientation: landscape) {
		.MainContent-heading {
			font-size: 1.5em;
		}
	}

	.MainContent-heading h1,
	.MainContent-heading h2 {
		text-align: center;
		padding: 0.25em;
		margin: 0;
		font-weight: normal;
		text-shadow: 1px 2px 3px rgba(0,0,0,0.66);
	}
	@media (orientation: landscape) {
		.MainContent-heading h1,
		.MainContent-heading h2 {
			text-align: left;
			padding: 0.25em 0.25em 0.25em 10%;
		}
	}
	.MainContent-heading h1 {
		font-family: 'Cinzel Decorative', cursive;
		font-size: 4em;
		text-transform: capitalize;
	}
	.MainContent-heading h2 {
		color: #F1D4AD;
	}

	

.MainContent {
	font-size: 1rem;
}
	.MainContent p,
	.MainContent h3,
	.MainContent h4,
	.MainContent table {
		max-width: 780px;
		padding: 0 1em;
		margin: 1em auto;
	}

	.MainContent p {
		line-height: 1.75;
		font-size: 1.5em;
		margin: 3em auto;
	}

	.MainContent h3 {
		font-family: 'Cinzel Decorative', cursive;
		font-size: 3em;
		margin: 3em auto 0 auto;
	}

	/* Centering our Instagram embed */
	.MainContent .instagram-media,
	.MainContent .instagram-media-registered {
		/* Let's override Instagram's arbitrary restrictions on image width */
		max-width: 1024px !important;
    	width: calc(100% - 2px);
		
		/*
		 * And fix their implementation so that this stays centered in our
		 * parent during initialisation.
		 */
		position: relative;
		left: 50%;
		transform: translateX(-50%);
	}


	.MainContent a {
		color: #2A67AA;
		text-decoration: none;
		border-bottom: 0.1em solid #2A67AA;
	}

	/* Links within the same page */
	a[href^="#"] {
		border-bottom-style: dotted;
	}

	a[href^="http://"]::after,
	a[href^="https://"]::after {
		content: url(images/icon-external-link.png);
		margin: 0 0 0 5px;
	}

	.MainContent table {
		width: 100%;
	}

		.MainContent table td {
			padding: 1em;
		}

			.MainContent table thead td {
				background-color: #1E4370;
				color: #ffffff;
				text-transform: uppercase;
				text-align: center;
			}

			.MainContent table td:first-child {
				text-align: left;
			}

			.MainContent table tbody td {
				text-align: center;
			}

			.MainContent table tbody tr {
				background-color: #e3effb;
			}

			.MainContent table tbody tr:nth-child(even) {
				background-color: #bcd9f9;
			}
			


.SiteFooter {
	display: block;
	background: #222222;
	color: #ffffff;

	padding: 4em 2em;
}

	.SiteFooter-byline {
		text-align: center;
		line-height: 1.5;
		text-transform: uppercase;
	}

	.SiteFooter-byline a {
		color: #F1D4AD;
	}

	.SiteFooter-byline a[href^="#top"] {
		text-decoration: none;
		border-bottom: 0.1em dotted #F1D4AD;
	}