@import 'libs/vars';
@import 'libs/functions';
@import 'libs/mixins';
@import 'libs/vendor';
@import 'libs/breakpoints';
@import 'libs/html-grid';
@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,600,600italic,700');
@import url('fontawesome-all.min.css');

/*
	Miniport by HTML5 UP
	html5up.net | @ajlkn
	Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/

// Breakpoints.

	@include breakpoints((
		xlarge:  ( 1281px,  1680px ),
		large:   ( 981px,   1280px ),
		medium:  ( 737px,   980px  ),
		small:   ( null,    736px  )
	));

// Reset.
// Based on meyerweb.com/eric/tools/css/reset (v2.0 | 20110126 | License: public domain)

	html, body, div, span, applet, object,
	iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
	pre, a, abbr, acronym, address, big, cite,
	code, del, dfn, em, img, ins, kbd, q, s, samp,
	small, strike, strong, sub, sup, tt, var, b,
	u, i, center, dl, dt, dd, ol, ul, li, fieldset,
	form, label, legend, table, caption, tbody,
	tfoot, thead, tr, th, td, article, aside,
	canvas, details, embed, figure, figcaption,
	footer, header, hgroup, menu, nav, output, ruby,
	section, summary, time, mark, audio, video {
		margin: 0;
		padding: 0;
		border: 0;
		font-size: 100%;
		font: inherit;
		vertical-align: baseline;
	}

	article, aside, details, figcaption, figure,
	footer, header, hgroup, menu, nav, section {
		display: block;
	}

	body {
		line-height: 1;
	}

	ol, ul {
		list-style:none;
	}

	blockquote,	q {
		quotes: none;

		&:before,
		&:after {
			content: '';
			content: none;
		}
	}

	table {
		border-collapse: collapse;
		border-spacing: 0;
	}

	body {
		-webkit-text-size-adjust: none;
	}

	mark {
		background-color: transparent;
		color: inherit;
	}

	input::-moz-focus-inner {
		border: 0;
		padding: 0;
	}

	input, select, textarea {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
	}

/* Basic */

	// Set box model to border-box.
	// Based on css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice
		html {
			box-sizing: border-box;
		}

		*, *:before, *:after {
			box-sizing: inherit;
		}

	body {
		padding-top: 3.5em;

		// Stops initial animations until page loads.
			&.is-preload {
				*, *:before, *:after {
					@include vendor('animation', 'none !important');
					@include vendor('transition', 'none !important');
				}
			}

	}

	body, input, textarea, select {
		font-family: 'Open Sans', sans-serif;
		line-height: 1.85em;
		color: #888;
		font-weight: 300;
		font-size: 13pt;

	}

	a {
		@include vendor('transition', 'color .2s ease-in-out');
		color: #43B3E0;
		text-decoration: underline;

		&:hover {
			color: #43bff0 !important;
		}

		img {
			border: 0;
		}
	}

	b, strong {
		font-weight: 600;
		color: #3e3e3e;
	}

	i, em {
		font-style: italic;
	}

	sub {
		position: relative;
		top: 0.5em;
		font-size: 0.8em;
	}

	sup {
		position: relative;
		top: -0.5em;
		font-size: 0.8em;
	}

	blockquote {
		border-left: solid 0.75em #eee;
		padding: 1em 0 1em 1.5em;
		font-style: italic;
	}

	h1, h2, h3, h4, h5, h6 {
		color: #3e3e3e;
		margin: 0 0 0.75em 0;
	}

	h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
		text-decoration: none;
		color: inherit;
	}

	h2, h3, h4, h5, h6 {
		font-weight: 700;
	}

	h1 {
		font-size: 3.25em;
		letter-spacing: -0.025em;
		font-weight: 300;

		strong {
			font-weight: 700;
		}
	}

	h2 {
		font-size: 2em;
		letter-spacing: -0.015em;
	}

	h3 {
		font-size: 1.5em;
		letter-spacing: -0.015em;
	}

	em, i {
		font-style: italic;
	}

	br.clear {
		clear: both;
	}

	hr {
		border: 0;
		border-top: solid 1px #444;
		border-top-color: rgba(0, 0, 0, 0.35);
		box-shadow: 0px 1px 0px 0px rgba(255, 255, 255, 0.1);
		height: 1px;
		margin: 3em 0;
	}

	p, ul, ol, dl, table {
		margin-bottom: 2em;
	}

	header {
		margin: 0 0 3em 0;

		> p {
			font-size: 1.25em;
			margin: 0;
		}
	}

	footer {
		margin: 3em 0 0 0;

		> p {
			font-size: 1.25em;
		}
	}

/* Container */

	.container {
		margin: 0 auto;
		max-width: calc(100% - 50px);
		width: 1200px;

		&.medium {
			width: (1200px * 0.75);
		}

		@include breakpoint('<=xlarge') {
			width: 1200px;

			&.medium {
				width: (1200px * 0.75);
			}
		}

		@include breakpoint('<=large') {
			width: 960px;

			&.medium {
				width: (960px * 0.75);
			}
		}

		@include breakpoint('<=medium') {
			width: 100%;

			&.medium {
				width: (100% * 0.75);
			}
		}

		@include breakpoint('<=small') {
			width: 100%;
			max-width: calc(100% - 30px);

			&.medium {
				width: 100%;
			}
		}
	}

/* Row */

	.row {
		@include html-grid((25px, 25px));

		@include breakpoint('<=xlarge') {
			@include html-grid((25px, 25px), 'xlarge');
		}

		@include breakpoint('<=large') {
			@include html-grid((25px, 25px), 'large');
		}

		@include breakpoint('<=medium') {
			@include html-grid((25px, 25px), 'medium');
		}

		@include breakpoint('<=small') {
			@include html-grid((15px, 15px), 'small');
		}
	}

/* Form */

	form {
		label {
			color: #3e3e3e;
			font-weight: 700;
			display: block;
			margin: 0 0 0.5em 0;
		}

		input[type=text],
		input[type=email],
		input[type=password],
		select,
		textarea {
			@include vendor('transition', ('background .2s ease-in-out', 'box-shadow .2s ease-in-out'));
			-webkit-appearance: none;
			display: block;
			border: 0;
			padding: 0.75em;
			font-size: 1em;
			border-radius: 8px;
			border: solid 1px #ddd;
			background: #fff;
			color: #bbb;
			box-shadow: inset 0px 2px 3px 1px rgba(0, 0, 0, 0.05), 0px 1px 0px 0px rgba(255, 255, 255, 0.025);
			width: 100%;

			&:focus {
				background: #fafafa;
				box-shadow: inset 0px 2px 5px 0px rgba(0, 0, 0, 0.05), 0px 1px 0px 0px rgba(255, 255, 255, 0.025), inset 0px 0px 2px 1px #43bff0;
			}
		}

		textarea {
			height: 15em;
		}

		.actions {
			&:last-child {
				margin-bottom: 0;
			}
		}

		::-webkit-input-placeholder {
			color: #555 !important;
		}

		:-moz-placeholder {
			color: #555 !important;
		}

		::-moz-placeholder {
			color: #555 !important;
		}

		:-ms-input-placeholder {
			color: #555 !important;
		}

		::-moz-focus-inner {
			border: 0;
		}
	}

/* Tables */

	table {
		width: 100%;

		&.default {
			width: 100%;

			tr {
				border-top: solid 1px #eee;

				&:first-child {
					border-top: 0;
				}
			}

			td {
				padding: 0.5em 1em 0.5em 1em;
			}

			th {
				text-align: left;
				padding: 0.5em 1em 0.5em 1em;
				font-weight: 600;
				margin: 0 0 1em 0;
			}

			thead {
				background: #4f4f4f;
				color: #fff;
			}
		}
	}

/* Section/Article */

	section, article {
		margin-bottom: 3em;
	}

	section > :last-child,
	article > :last-child,
	section:last-child,
	article:last-child {
		margin-bottom: 0;
	}

/* Image */

	.image {
		display: inline-block;
		position: relative;

		img {
			display: block;
			width: 100%;
		}

		&.fit {
			display: block;
			width: 100%;
		}

		&.featured {
			display: block;
			width: 100%;
			margin: 0 0 2em 0;
		}

		&.left {
			float: left;
			margin: 0 2em 2em 0;
		}

		&.centered {
			display: block;
			margin: 0 0 2em 0;

			img {
				margin: 0 auto;
				width: auto;
			}
		}
	}

/* Button */

	input[type="button"],
	input[type="submit"],
	input[type="reset"],
	button,
	.button {
		@include vendor('background-image', ('url("images/bg.png")', 'linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2))'));
		@include vendor('transition', 'background-color .2s ease-in-out');
		-webkit-appearance: none;
		position: relative;
		display: inline-block;
		color: #fff !important;
		text-decoration: none;
		font-weight: 700;
		border: 0;
		outline: 0;
		cursor: pointer;
		border-radius: 8px;
		text-shadow: -1px -1px 0.5px rgba(0, 0, 0, 0.5);
		overflow: hidden;
		box-shadow: inset 0px 0px 0px 1px rgba(0, 0, 0, 0.5), inset 0px 2px 1px 0px rgba(255, 255, 255, 0.75);
		background-color: #43B3E0;
		padding: 1em 2.35em 1em 2.35em;
		font-size: 1.1em;
		max-width: 24em;

		&:hover {
			background-color: #43bff0;
			color: #fff !important;
		}

		&:active {
			background-color: #3BA8D3;
			top: 1px;
		}

		&.large {
			font-size: 1.5em;
			letter-spacing: -0.025em;
		}

		&.alt {
			background-color: #444;
			box-shadow: inset 0px 0px 0px 1px #242424, inset 0px 2px 1px 0px rgba(255, 255, 255, 0.2);

			&:hover {
				background-color: #4f4f4f;
				color: #fff !important;
			}

			&:active {
				background-color: #3f3f3f;
			}
		}
	}

/* List */

	ul {
		list-style: disc;
		padding-left: 1em;

		li {
			padding-left: 0.5em;
		}

	}

	ol {
		list-style: decimal;
		padding-left: 1.25em;

		li {
			padding-left: 0.25em;
		}
	}

/* Social */

	ul.social {
		cursor: default;
		margin: 0;
		list-style: none;
		padding-left: 0;

		li {
			position: relative;
			display: inline-block;
			margin: 0.25em;
			top: 0;
			padding-left: 0;

			a {
				@include vendor('transition', 'top .2s ease-in-out');
				display: block;
				width: 48px;
				height: 48px;
				border-radius: 6px;
				top: 0;
				position: relative;

				&:before {
					@include vendor('background-image', ('url("images/bg.png")', 'linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2))'));
					@include vendor('transition', 'background-color .2s ease-in-out');
					background-color: #444;
					border-radius: 6px;
					box-shadow: inset 0px 0px 0px 1px #282828, inset 0px 2px 1px 0px rgba(255, 255, 255, 0.1);
					color: #2E2E2E !important;
					display: block;
					font-size: 26px;
					height: 48px;
					line-height: 48px;
					text-align: center;
					outline: 0;
					overflow: hidden;
					text-shadow: 1px 1px 0px rgba(255, 255, 255, 0.1);
					width: 48px;
				}

				&.fa-twitter {
					background-color: #2DAAE4;
				}

				&.fa-facebook-f {
					background-color: #3C5A98;
				}

				&.fa-dribbble {
					background-color: #C4376B;
				}

				&.fa-linkedin-in {
					background-color: #006599;
				}

				&.fa-tumblr {
					background-color: #51718A;
				}

				&.fa-google-plus {
					background-color: #DA2713;
				}

				&.fa-github {
					background-color: #FAFAFA;
				}

				&.fa-rss {
					background-color: #F2600B;
				}

				&.fa-instagram {
					background-color: #E0D7C8;
				}

				&.fa-foursquare {
					background-color: #39A3D4;
				}

				&.fa-skype {
					background-color: #10BEF1;
				}

				&.fa-soundcloud {
					background-color: #FE5419;
				}

				&.fa-youtube {
					background-color: #BF2E25;
				}

				&.fa-blogger {
					background-color: #FF6501;
				}

				&.fa-flickr {
					background-color: #0062DB;
				}

				&.fa-vimeo {
					background-color: #4C8AB0;
				}

				&:hover {
					top: -5px;

					&:before {
						background-color: transparent;
					}
				}
			}
		}
	}

/* Actions */

	ul.actions {
		list-style: none;
		padding-left: 0;

		li {
			display: inline-block;
			margin: 0 0 0 1em;
			padding-left: 0;

			&:first-child {
				margin-left: 0;
			}
		}
	}

/* Box */

	.box {
		background: #fff;
		box-shadow: inset 0px 0px 0px 1px rgba(0, 0, 0, 0.15), 0px 2px 3px 0px rgba(0, 0, 0, 0.1);
		text-align: center;
		padding: 2em;

		&.style1 {
			padding: 3em 2em 3.5em 2em;

			h3 {
				margin-bottom: 0.5em;
			}
		}

		&.style2 {
			h3 {
				margin-bottom: 0.25em;
			}

			.image {
				position: relative;
				left: 2em;
				top: 2em;
				margin: -4em 0 4em -4em;
				width: auto;
			}
		}
	}

/* Icons */

	.icon {
		@include icon;
		text-decoration: none;

		&:before {
			font-size: 1.25em;
		}

		> .label {
			display: none;
		}

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

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

		&.featured {
			color: #EA8A95;
			display: block;
			margin: 0 0 1.5em 0;
			cursor: default;

			&:before {
				font-size: 6em;
			}
		}
	}

/* Wrappers */

	.wrapper {
		background-image: url('images/bg.png');
		box-shadow: inset 0px 1px 0px 0px rgba(0, 0, 0, 0.05), inset 0px 2px 3px 0px rgba(0, 0, 0, 0.1);
		padding: 8em 0 8em 0;
		text-align: center;

		&.style1 {
			background-image: none;
			background-color: #fff;
		}

		&.style2 {
			background-color: #fafafa;
			text-shadow: 1px 1px 0px #fff;
		}

		&.style3 {
			background-color: #f4f4f4;
			text-shadow: 1px 1px 0px #fff;
		}

		&.style4 {
			background-color: #303030;
			color: #999;
			text-shadow: -1px -1px 0px #181818;

			h1, h2, h3, h4, h5, h6 {
				color: #fff;
			}

			form {
				input[type=text],
				input[type=password],
				select,
				textarea {
					border: none;
					background: #282828;

					&:focus {
						background: #252525;
					}
				}
			}
		}
	}

/* Nav */

	#nav {
		background-color: #282828;
		text-align: center;
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		z-index: 10000;
		cursor: default;
		height: 3.5em;
		line-height: 3.5em;

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

		li {
			display: inline-block;
			padding-left: 0;
		}

		a {
			@include vendor('transition', 'background-color .2s ease-in-out');
			position: relative;
			display: block;
			color: #fff;
			text-decoration: none;
			outline: 0;
			font-weight: 600;
			border-radius: 8px;
			color: #fff;
			height: 2.5em;
			line-height: 2.5em;
			padding: 0 1.25em;

			&:hover {
				color: #fff !important;
				background: #383838;
			}

			&.active {
				background: #484848;

				&:before {
					content: '';
					display: block;
					position: absolute;
					bottom: -0.6em;
					left: 50%;
					margin-left: -0.75em;
					border-left: solid 0.75em transparent;
					border-right: solid 0.75em transparent;
					border-top: solid 0.6em #282828;
				}
			}
		}
	}

/* Articles */

	body > article {
		margin-bottom: 0;
	}

	#top {
		padding: 10em 0 10em 0;
		text-align: left;

		.image {
			border-radius: 100%;
			width: 20em;
			height: 20em;
			margin: 0;

			img {
				border-radius: 100%;
			}
		}

		h1 {
			margin-top: 0.35em;
		}

		p {
			font-size: 1.5em;
			line-height: 1.75em;

			a {
				color: inherit;
			}
		}
	}

	#contact {
		footer {
			font-size: 0.9em;
		}
	}

/* Copyright */

	#copyright {
		color: #666;
		font-size: 1em;
		line-height: 1em;
		list-style: none;
		padding-left: 0;
		margin-bottom: 0;

		li {
			display: inline-block;
			border-left: solid 1px rgba(0, 0, 0, 0.5);
			box-shadow: -1px 0px 0px 0px rgba(255, 255, 255, 0.1);
			padding: 0 0 0 1em;
			margin: 0 0 0 1em;

			&:first-child {
				border: 0;
				box-shadow: none;
				padding-left: 0;
				margin-left: 0;
			}
		}

		a {
			@include vendor('transition', 'color .2s ease-in-out');
			color: inherit;

			&:hover {
				color: #777;
			}
		}
	}

/* Large */

	@include breakpoint('<=large') {

		/* Basic */

			body {
				font-size: 11pt;
			}

			input, textarea, select {
				font-size: 11pt;
			}

			header {
				margin: 0 0 4em 0;
			}

		/* Wrappers */

			.wrapper {
				padding: 5em 0 5em 0;
				text-align: center;

				&.style4 {
					.row-special {
						margin: 2em 0 0 0;
						padding: 2em 0 2em 0;
					}
				}
			}

		/* Articles */

			#top {
				padding: 8em 0;

				.image {
					width: 24em;
					height: 24em;
					margin: 0;
				}
			}

	}

/* Medium */

	@include breakpoint('<=medium') {

		/* Articles */

			#top {
				text-align: center;
				padding: 5em 0;

				.image {
					margin: 0 auto 2em auto;
				}
			}

	}

/* Small */

	@include breakpoint('<=small') {

		/* Basic */

			body {
				padding-top: 44px;
			}

			body, input, textarea, select {
				line-height: 1.75em;
				font-size: 10pt;
				letter-spacing: 0;
			}

			h1, h2, h3, h4, h5, h6 {
				font-size: 1.25em;
				margin: 0 0 0.4em 0;
			}

			h1 {
				font-size: 2.25em;
				line-height: 1.25em;
			}

			header {
				margin: 0 0 2em 0;

				> p {
					font-size: 1.25em;
				}
			}

			footer {
				margin: 2.5em 0 0 0;

				> p {
					font-size: 1.25em;
				}
			}

			hr {
				margin: 1.5em 0 2em 0;
			}

		/* Section/Article */

			section, article {
				clear: both;
			}

		/* Button */

			input[type="button"],
			input[type="submit"],
			input[type="reset"],
			button,
			.button {
				text-align: center;
				font-size: 1.2em;
				width: 100%;
				padding: 1em 0 1em 0;

				&.large {
					font-size: 1.2em;
					letter-spacing: 0;
				}
			}

		/* Social */

			ul.social {
				padding: 1em 0.5em 0 0.5em;

				li {
					margin: 0.5em 0.5em 0.5em 0.5em;

					a {
						top: 0 !important;

						&:before {
							background-color: transparent !important;
						}
					}
				}
			}

		/* Actions */

			ul.actions {
				margin: 0;

				li {
					display: block;
					margin: 15px 0 0 0;

					&:first-child {
						margin-top: 0;
					}
				}
			}

		/* Box */

			.box {
				padding: 30px 20px 30px 20px;
				margin: 0 0 20px 0 !important;

				h3 {
					margin-bottom: 0.25em;
				}

				.image {
					&.centered {
						margin-bottom: 1em;
					}

					&.featured {
						position: relative;
						left: 20px;
						top: 20px;
						margin: -50px 0 50px -40px;
						width: auto;
					}
				}

				&.style1 {
					max-width: 32em;
					margin-left: auto !important;
					margin-right: auto !important;
				}

				&.style2 {
					max-width: 32em;
					margin-left: auto !important;
					margin-right: auto !important;
				}
			}

		/* Wrappers */

			.wrapper {
				padding: 3em 0;
				text-align: center;
			}

		/* Nav */
			#nav {
				height: 44px;
				line-height: 44px;

				a {
					padding: 0 0.75em;
					height: inherit;
					line-height: inherit;
					border-radius: 0;

					&:hover {
						background-color: transparent;
					}
				}
			}

		/* Articles */

			#top {
				padding: 3em 0;

				.image {
					width: 15em;
					height: 15em;
					margin-bottom: 0;
				}

				p {
					font-size: 1em;
				}
			}

			#contact {
				footer {
					margin: 0;
				}
			}

		/* Copyright */

			#copyright {
				font-size: 1em;
				margin: 0;

				li {
					display: block;
					margin: 1em 0 0 0;
					padding: 0;
					box-shadow: none;
					border-left: 0;

					&:first-child {
						margin-top: 0;
					}
				}
			}

	}