@import 'styles/libs/vars';
@import 'styles/libs/functions';
@import 'styles/libs/mixins';
@import 'styles/libs/vendor';
@import 'styles/libs/breakpoints';
@import 'styles/libs/html-grid';
@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,600,600italic,700');
@import url('styles/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: (541px, 736px),
		mobile: (null, 540px)));

// 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;
	font-weight: 300;

	strong {
		font-weight: 700;
	}
}

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;
	}
}

/* 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;

			hidd &: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: #fab925;
		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=tel],
			input[type=email],
			input[type=password],
			select,
			textarea {
				border: none;
				background: #282828;

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

/* 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: 5em 0 10em 0;
	text-align: left;

	.lh-top-header-title {
		line-height: 3rem;
		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.3em;
		line-height: 1.75em;

		a {
			color: inherit;
		}
	}
}

#contact {
	form.done {
		display: none;
	}

	.msg.success {
		border-radius: .3em;
		border: solid 1px #fab925;
		background: #fab9250f;
		padding: 1em;
	}

	footer p {
		font-size: 0.9em;
		line-height: 1.2em;
		margin-bottom: 1em;
	}
}


/* 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;
		}
	}
}

