/* Icons */

	.icon {
		text-decoration: none;
	}

		.icon:before {
			-moz-osx-font-smoothing: grayscale;
			-webkit-font-smoothing: antialiased;
			display: inline-block;
			font-style: normal;
			font-variant: normal;
			text-rendering: auto;
			line-height: 1;
			text-transform: none !important;
			font-family: 'Font Awesome 5 Free';
			font-weight: 400;
		}

		.icon:before {
			line-height: inherit;
		}

		.icon > .label {
			display: none;
		}

		.icon.solid:before {
			font-weight: 900;
		}

		.icon.brands:before {
			font-family: 'Font Awesome 5 Brands';
		}

/* Header */

	#header {
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-moz-flex-direction: column;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-moz-justify-content: space-between;
		-webkit-justify-content: space-between;
		-ms-justify-content: space-between;
		justify-content: space-between;
		background: linear-gradient(180deg, rgba(34, 40, 43, 0.98) 0%, rgba(43, 50, 54, 0.98) 48%, rgba(58, 68, 72, 0.98) 100%), url("images/overlay.png");
		box-shadow: inset -0.16em 0 0 rgba(255, 255, 255, 0.05), 0 0 0.65em rgba(34, 38, 41, 0.08);
		color: #fff;
		height: 100%;
		left: 0;
		overflow-y: auto;
		position: fixed;
		text-align: right;
		top: 0;
		width: 375px;
	}

		#header .top {
			-moz-flex-grow: 1;
			-webkit-flex-grow: 1;
			-ms-flex-grow: 1;
			flex-grow: 1;
		}

		#header .bottom {
			-moz-flex-shrink: 0;
			-webkit-flex-shrink: 0;
			-ms-flex-shrink: 0;
			flex-shrink: 0;
			border-top: solid 1px rgba(232, 242, 241, 0.08);
			box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.12);
			padding: 1.35em 0 0.7em 0;
		}

			#header .bottom > :last-child {
				margin-bottom: 0;
			}

		#header .icons {
			font-size: 0.8em;
			text-align: center;
		}

			#header .icons a {
				color: rgba(225, 232, 231, 0.72);
				-moz-transition: color 0.35s ease-in-out;
				-webkit-transition: color 0.35s ease-in-out;
				-ms-transition: color 0.35s ease-in-out;
				transition: color 0.35s ease-in-out;
			}

				#header .icons a:hover {
					color: #f7fbfb;
				}

	#logo {
		position: relative;
		margin: 1.75em 1.5em 1.5em 1.5em;
		min-height: 48px;
		cursor: default;
	}

		#logo h1 {
			position: relative;
			color: #fff;
			font-weight: 600;
			font-size: 1em;
			line-height: 1em;
		}

		#logo p {
			position: relative;
			display: block;
			font-size: 0.6em;
			color: rgba(222, 229, 228, 0.7);
			line-height: 1.25em;
			margin: 0.5em 0 0 0;
		}

		#logo .image {
			position: absolute;
			left: 0;
			top: 0;
		}

	#nav ul {
		list-style: none;
		padding-left: 0;
		margin-bottom: 0;
	}

		#nav ul li {
			padding-left: 0;
		}

			#nav ul li a {
				display: block;
				padding: 0.5em 1.5em 0.5em 1.5em;
				color: rgba(229, 235, 234, 0.78);
				text-decoration: none;
				outline: 0;
				border: 0;
				-moz-transition: background-color 0.25s ease, box-shadow 0.25s ease, color 0.25s ease;
				-webkit-transition: background-color 0.25s ease, box-shadow 0.25s ease, color 0.25s ease;
				-ms-transition: background-color 0.25s ease, box-shadow 0.25s ease, color 0.25s ease;
				transition: background-color 0.25s ease, box-shadow 0.25s ease, color 0.25s ease;
			}

				#nav ul li a span {
					position: relative;
					display: block;
					font-size: 0.8em;
				}

					#nav ul li a span:before {
						position: absolute;
						left: 0;
						color: rgba(181, 191, 190, 0.74);
						text-align: center;
						width: 1.25em;
						line-height: 1.75em;
					}

				#nav ul li a:hover {
					background: rgba(142, 190, 188, 0.1);
					box-shadow: inset 0 0 0 1px rgba(177, 208, 205, 0.12);
					color: #f6fbfb;
				}

				#nav ul li a.active {
					background: rgba(142, 190, 188, 0.16);
					box-shadow: inset 0 0 0 1px rgba(190, 221, 218, 0.2), inset 0 0 0.45em 0 rgba(0, 0, 0, 0.08);
					color: #fff;
				}

					#nav ul li a.active span:before {
						color: #dae9e8;
					}

/* Footer */

	#footer {
		margin-left: 375px;
		text-align: left;
		background-color: #d7e1df;
		padding: 0.56em 1.6em 0.62em 1.6em;
		box-shadow: inset 0 1px 0 0 rgba(71, 98, 96, 0.08), inset 0 0.08em 0.08em 0 rgba(255, 255, 255, 0.35);
		color: #6c7a79;
		font-size: 0.48em;
	}

		#footer .copyright {
			cursor: default;
			margin: 0;
			text-align: left;
		}

			#footer .copyright li {
				display: block;
				line-height: 1.25em;
				border-left: 0;
				padding: 0;
				margin: 0;
			}

				#footer .copyright li:first-child {
					border-left: 0;
					padding-left: 0;
					margin-left: 0;
				}

/* Main */

	#main {
		margin-left: 375px;
	}

		#main > section {
			margin: 0;
			overflow: hidden;
			padding: 2.45em 0;
			background-color: #eef4f3;
			box-shadow: inset 0 0.08em 0.08em 0 rgba(255, 255, 255, 0.3);
			text-align: center;
			background-image: url("images/overlay.png");
			position: relative;
		}

			#main > section + section {
				border-top: solid 1px rgba(71, 98, 96, 0.16);
				box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.48), inset 0 0.08em 0.08em 0 rgba(255, 255, 255, 0.24);
			}

			#main > section.dark {
				color: #ddd;
				color: rgba(255, 255, 255, 0.75);
			}

				#main > section.dark h2, #main > section.dark h3, #main > section.dark h4, #main > section.dark h5, #main > section.dark h6 {
					color: inherit;
				}

				#main > section.dark strong {
					color: #fff;
					border-color: inherit;
				}

				#main > section.dark a {
					color: #fff;
					border-color: inherit;
				}

				#main > section.dark a:hover {
					border-bottom-color: rgba(255, 255, 255, 0);
				}

				#main > section.dark a.button {
					border-color: #476260;
					border-bottom-color: #476260;
				}

					#main > section.dark a.button:hover {
						border-color: #5c7c79;
						border-bottom-color: #5c7c79;
					}

					#main > section.dark a.button:active {
						border-color: #3d5351;
						border-bottom-color: #3d5351;
					}

			#main > section.cover {
				padding: 7.6em 0;
				background-size: cover;
				background-position: center center;
			}

			#main > section.one {
				background-color: #5d7875;
				background-image: url("../../images/banner.jpg");
			}

			#main > section.two {
				background-color: #f4f9f8;
			}

				#main > section.three {
					background-color: #edf4f3;
				}

	#headerToggle {
	display: none;
}

@media screen and (min-width: 961px) and (max-width: 1880px) {
		#header {
			width: 300px;
		}

	/* Footer */

		#footer {
			margin-left: 300px;
		}

	/* Main */

		#main {
			margin-left: 300px;
		}
}

@media screen and (min-width: 961px) and (max-width: 1620px) {
	#main > section {
		padding: 2.1em 0;
	}

	#main section.cover {
		padding: 4em 0;
	}
}

@media screen and (min-width: 961px) and (max-width: 1320px) {
		#header {
			width: 20%;
		}

		#logo .image {
			position: relative;
			margin: 0 0 0.5em 0;
		}

		#nav ul li a {
			font-size: 0.8em;
			padding-top: 0.5em;
			padding-bottom: 0.5em;
		}

			#nav ul li a span {
				padding-right: 2.25em;
			}

				#nav ul li a span:before {
					left: 100%;
					margin-left: -1.25em;
					line-height: 2.25em;
				}

	/* Footer */

		#footer {
			margin-left: 20%;
		}

	/* Main */

		#main {
			margin-left: 20%;
		}
}

@media screen and (max-width: 960px) {
		#header {
			-moz-backface-visibility: hidden;
			-webkit-backface-visibility: hidden;
			-ms-backface-visibility: hidden;
			backface-visibility: hidden;
			-moz-transform: translateX(-275px);
			-webkit-transform: translateX(-275px);
			-ms-transform: translateX(-275px);
			transform: translateX(-275px);
			-moz-transition: -moz-transform 0.5s ease;
			-webkit-transition: -webkit-transform 0.5s ease;
			-ms-transition: -ms-transform 0.5s ease;
			transition: transform 0.5s ease;
			-webkit-overflow-scrolling: touch;
			display: block;
			height: 100%;
			left: 0;
			overflow-y: auto;
			position: fixed;
			top: 0;
			width: 275px;
			z-index: 10002;
			background: linear-gradient(180deg, rgba(34, 40, 43, 0.98) 0%, rgba(43, 50, 54, 0.98) 48%, rgba(58, 68, 72, 0.98) 100%), url("images/overlay.png");
			box-shadow: inset -0.16em 0 0 rgba(255, 255, 255, 0.05), 0 0 0.65em rgba(34, 38, 41, 0.12);
		}

			#header .top {
				position: relative;
			}

			#header .bottom {
				border-top: solid 1px rgba(232, 242, 241, 0.08);
				box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.12);
				padding-top: 1.6em;
				margin-top: 1.6em;
				position: relative;
			}

		#logo {
			margin: 1.5em 1.25em 1.25em 1.25em;
		}

		#nav ul li a {
			padding: 0.5em 1.25em 0.5em 1.25em;
		}

		#headerToggle {
			-moz-backface-visibility: hidden;
			-webkit-backface-visibility: hidden;
			-ms-backface-visibility: hidden;
			backface-visibility: hidden;
			-moz-transition: -moz-transform 0.5s ease;
			-webkit-transition: -webkit-transform 0.5s ease;
			-ms-transition: -ms-transform 0.5s ease;
			transition: transform 0.5s ease;
			display: block;
			height: 2.25em;
			left: 0;
			position: fixed;
			top: 0;
			width: 3.25em;
			z-index: 10001;
		}

			#headerToggle .toggle {
				text-decoration: none;
				position: absolute;
				left: 0;
				top: 0;
				width: 100%;
				height: 100%;
				background: transparent;
				outline: 0;
				border: 0;
				padding: 0;
				cursor: pointer;
			}

				#headerToggle .toggle:before {
					-moz-osx-font-smoothing: grayscale;
					-webkit-font-smoothing: antialiased;
					display: inline-block;
					font-style: normal;
					font-variant: normal;
					text-rendering: auto;
					line-height: 1;
					text-transform: none !important;
					font-family: 'Font Awesome 5 Free';
					font-weight: 900;
				}

				#headerToggle .toggle:before {
					text-decoration: none;
					content: '\f0c9';
					color: #fff;
					font-size: 18px;
					background: rgba(60, 70, 74, 0.82);
					border-radius: 0.35em;
					box-shadow: 0 0.16em 0.36em rgba(34, 38, 41, 0.18);
					text-align: center;
					position: absolute;
					left: 0.5em;
					top: 0.5em;
					display: block;
					width: 3.25em;
					height: 2.25em;
					line-height: 2.25em;
				}

		body.header-visible #main {
			-moz-transform: translateX(275px);
			-webkit-transform: translateX(275px);
			-ms-transform: translateX(275px);
			transform: translateX(275px);
		}

		body.header-visible #headerToggle {
			-moz-transform: translateX(275px);
			-webkit-transform: translateX(275px);
			-ms-transform: translateX(275px);
			transform: translateX(275px);
		}

		body.header-visible #header {
			-moz-transform: translateX(0);
			-webkit-transform: translateX(0);
			-ms-transform: translateX(0);
			transform: translateX(0);
		}

	/* Footer */

		#footer {
			margin-left: 0;
			padding: 0.5em 1.2em 0.56em 1.2em;
		}

	/* Main */

		#main {
			-moz-backface-visibility: hidden;
			-webkit-backface-visibility: hidden;
			-ms-backface-visibility: hidden;
			backface-visibility: hidden;
			-moz-transition: -moz-transform 0.5s ease;
			-webkit-transition: -webkit-transform 0.5s ease;
			-ms-transition: -ms-transform 0.5s ease;
			transition: transform 0.5s ease;
			padding-bottom: 1px;
			margin-left: 0;
		}

			#main > section {
				padding: 1.85em 0;
			}

			#main section.cover {
				padding: 3.1em 0;
			}
}

@media screen and (max-width: 736px) {
	#main > section {
		padding: 1.75em 0;
	}

	#main section.cover {
		padding: 3.4em 0em;
	}

		#main section.cover header {
			padding: 0 1em;
		}

	#footer .copyright li {
		display: block;
		line-height: 1.25em;
		border: 0;
		padding: 0;
		margin: 0.6em 0 0 0;
	}

		#footer .copyright li:first-child {
			margin-top: 0;
		}
}
