@import "elements";

@primary:  #B3272C;
@alt:      #25B3AD;

@gutter: 50px;

html, body { height: 100%; }

body {
	color: #333;
	font-family: "proxima-nova";
	font-size: 16px;
	font-weight: 400; // 600 700
	padding-top: 100px;
}

a { text-decoration: none; }

.fade { &:hover { .opacity(.5); }}

.c {
	margin: 0 auto;
	max-width: 1140px;
	padding: 0 20px;
	width: 100%;
}

.grid {
	.clearfix;
	margin-right: -@gutter;
	[class*='col-'] {
		float: left;
		padding-right: @gutter;
	}
	.col-1   { width: 100%; } .col-1-2 { width: 50%; } .col-1-3 { width: 33.33%; } .col-2-3 { width: 66.66%; } .col-1-4 { width: 25%; }
 	.col-3-4 { width: 75%; } .col-1-5 { width: 20%; } .col-2-5 { width: 40%; } .col-3-5 { width: 60%; } .col-4-5 { width: 80%; } .col-1-6 { width: 16.66%; } 
	.col-5-6 { width: 83.33%; } .col-1-8 { width: 12.5%; }.col-3-8 { width: 37.5%; } .col-5-8 { width: 62.5%; } .col-7-8 { width: 62.5%; }
}
h1 {
	font-weight: 700;
	font-size: 40px;
	margin-bottom: 20px;
}
h2 {
	font-weight: 600;
	font-size: 30px;
	margin-bottom: 20px;
	a {
		.fade;
		color: #333;
	}
}
h3 {
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 20px;
}
h4 {
	color: #666666;
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 10px;
}
p {
	line-height: 150%;
	margin-bottom: 20px;
	&:last-child { 
		margin-bottom: 0;
	}
	a {
		.fade;
		color: @primary;
		font-weight: 600;
	}
}

form {
	label {
		display: block;
		font-weight: 600;
		margin-bottom: 5px;
	}
	input:not([type='submit']):not([type='checkbox']), select, textarea {
		border: 2px solid #EAEAEA;
		background: #FBFBFB;
		color: #333;
		font-family: "proxima-nova";
		font-size: 16px;
		font-weight: 400;
		margin-bottom: 20px;
		padding: 15px;
		width: 100%;
		&:focus {
			border-color: @alt;
		}
	}
	textarea {
		height: 160px;
	}
	input[type='submit'], .btn {
		.fade;
		.rounded(4px);
		background: @alt;
		font-family: "proxima-nova";
		font-size: 16px;
		font-weight: 400;
		color: white;
		display: inline-block;
		font-weight: 600;
		margin-right: 20px;
		padding: 10px 30px;
		text-transform: uppercase;
		&:disabled {
			background: #888;
			cursor: not-allowed;
			&:hover {
				background: #888;
				cursor: not-allowed;
			}
		}
		&.back {
			background: #888;
		}
	}
	.checkboxes {
		margin-bottom: 40px;
	}
	input[type='checkbox'] {
		position: absolute;
			left: -9999px;
	}
	input[type='checkbox'] + label {
		border-right: 0;
		display: block;
		float: none;
		padding: 10px;
		width: 100%;
		&:before {
			content: "\f10c";
		    font-family: FontAwesome;
		    font-style: normal;
		    font-weight: normal;
		    text-decoration: inherit;
		    margin-right: 10px;
		}
	}
	input[type='checkbox']:checked + label {
		color: @alt;
		&:before {
			content: "\f05d";
			color: @alt;
		}
	}
	.grid + h3, .grid + h4, input + h3, input + h4, select + h3, select + h4, textarea + h3, textarea + h4 {
		margin-top: 40px;
	}
}

header {
	.clearfix;
	.drop-shadow(0, 0, 6px, 0.2);
	background: white;
	padding: 30px 0;
	position: fixed;
		top: 0; left: 0; right: 0;
	z-index: 2000;
	#logo {
		.fade;
		.transition;
		float: left;
		img {
			height: 40px;
			width: auto;
		}
	}
	.menu-toggle {
		display: none;
	}
	.main-menu {
		float: right;
		> li {
			float: left;
			margin-left: 20px;
			position: relative;
			a {
				.fade;
				.transition;
				color: #333;
				display: block;
				line-height: 20px;
				font-size: 13px;
				font-weight: 700;
				padding: 10px;
				text-transform: uppercase;
				&:after {
					.opacity(.6);
					content: "\f107";
					font-family: FontAwesome;
					font-style: normal;
				    font-weight: normal;
					margin-left: 5px;
				    text-decoration: inherit;
				}
				&:only-child {
					&:after {
						display: none;
					}
				}
			}
			&:last-child {
				a {
					.rounded(4px);
					background: @primary;
					color: white;
					padding: 10px 30px;
				}
			}
			.sub-menu {
				display: none;
			}
			&:hover {
				.sub-menu {
					.drop-shadow(0, 5px, 10px, 0.2);
					background: white;
					border-bottom: 2px solid @primary;
					display: block;
					float: none;
					min-width: 200px;
					position: absolute;
						top: 100%; left: 0;
					z-index: 3000;
					li {
						float: none;
						margin: 0;
						a {
							color: #555;
							font-weight: 600;
							text-transform: none;
							white-space: nowrap;
						}
					}
				}
			}
		}
	}
}
.bc-nav {
	background: #F7F7F7;
	padding: 20px 0;
	ul {
		li {
			line-height: 20px;
			color: #666;
			font-weight: 600;
			font-size: 13px;
			&:after {
				color: #999;
			}
			a {
				.fade;
				color: #333;
			}
		}
	}
}

.intro {
	background: #333;
	position: relative;
	.slide {
		background-position: center center;
		background-repeat: no-repeat;
		.background-cover;
		padding: 100px 0;
		width: 100%;
	}
	.pager {
		.clearfix;
		position: absolute;
			bottom: 20px;
		width: 100%;
		z-index: 1000;
		span {
			.rounded(8px);
			background: rgba(255, 255, 255, 0.6);
			cursor: pointer;
			float: left;
			height: 16px;
			margin-left: 10px;
			width: 16px;
			&.cycle-pager-active {
				background: @alt;
			}
		}
	}
	h1 {
		color: white;
		font-weight: 700;
		font-size: 70px;
		margin-bottom: 20px;
		text-shadow: 0px 2px 10px rgba(0, 0, 0, .4);
		p {
			line-height: 120%;
			margin: 0;
		}
		i, em {
			color: @primary;
			font-family: Georgia;
			font-style: italic;
			font-weight: normal;
		}
	}
	h2 {
		color: white;
		font-size: 24px;
		font-weight: 600;
		text-shadow: 0px 2px 10px rgba(0, 0, 0, .4);
	}
}

.details {
	background: white;
	border-bottom: 2px solid #DDD;
	.gradient(white, #eee);
	padding: 80px 0;
	text-align: center;
	a {
		.fade;
		.transition;
		.rounded(5px);
		background: white;
		border: 2px solid rgba(0, 0, 0, 0.1);
		display: block;
		padding: 40px 0;
		h3 {
			color: #333;
			margin-bottom: 0;
		}
		&:hover {
			.opacity(1);
			background: @primary;
			h3 {
				color: white;
			}
		}
	}
	img {
		display: block;
		height: 50px;
		margin: 0 auto;
		margin-bottom: 20px;
	}
	&.white {
		background: white;
		border: none;
		padding: 0;
	}
}

.info {
	background-image: url('../images/info-bg.jpg');
	background-position: center center;
	background-repeat: no-repeat;
	.background-cover;
	border-bottom: 2px solid #DDD;
	padding: 80px 0;

	h3 {
		color: @primary;
	}
}

.contact {
	padding: 80px 0;
	h3 {
		color: @alt;
	}
}

.page-header {
	background-image: url('../images/intro-bg.jpg');
	background-position: center center;
	background-repeat: no-repeat;
	.background-cover;
	.c {
		height: 200px;
		position: relative;
	}
	h1 {
		color: white;
		font-weight: 700;
		font-size: 50px;
		margin-bottom: 0;
		position: absolute;
			bottom: 40px;
			left: 20px;
		text-shadow: 0px 2px 10px rgba(0, 0, 0, .4);
	}
}

.main {
	padding: 40px 0;
	p, ul, ol {
		a {
			.fade;
			color: @primary; 
			font-weight: 600;
		}
	}
	ul, ol {
		line-height: 150%;
		margin-left: 20px;
		margin-bottom: 20px;
		list-style: disc;
		li {
			margin-bottom: 10px;
		}
	}
	ol { 
		list-style: decimal; 
	}
	p + h2, p + h3, p + h4, ul + h2, ul + h3, ul + h4, ol + h2, ol + h3, ol + h4 {
		margin-top: 40px;
	}
	.post-preview {
		border-bottom: 2px solid #eee;
		margin-bottom: 40px;
		padding-bottom: 20px;
	}
	.meta {
		p {
			color: #999;
			font-size: 13px;
			font-weight: 600;
			margin: -10px 0 20px;
		}
	}
	.post-categories {
		float: right;
		list-style: none;
		margin: 0;
		li {
			float: left;
			margin-left: 10px;
			a {
				.fade;
				.rounded(40px);
				background: #CCC;
				color: white;
				display: block;
				font-size: 12px;
				font-weight: 700;
				padding: 2px 10px;
			}
		}
	}
}
.sidebar {
	border-left: 2px solid #EAEAEA;
	padding-left: 20px;
	p {
		font-size: 14px;
	}
	.sidebar-contact {
		background: #F7F7F7;
		margin-bottom: 40px;
		padding: 20px;
		h3 {
			background: rgba(0, 0, 0, 0.05);
			margin: -20px;
			margin-bottom: 20px;
			padding: 20px;
		}
		input:not([type='submit']), select, textarea {
			background: white;
			margin-bottom: 10px;
			padding: 10px;
		}
		input[type='submit'] {
			width: 100%;

		}
	}
	.widget {
		margin-bottom: 40px;
		ul {
			li {
				a {
					.fade;
					color: @primary;
					font-size: 14px;
					font-weight: 600;
				}
				.post-date {
					color: #CCC;
					display: block;
					font-size: 12px;
				}
			}
		}
	}
	.quote-button {
		.fade;
		.rounded(5px);
		background: @primary;
		color: white;
		display: block;
		font-size: 18px;
		font-weight: 700;
		margin-bottom: 40px;
		padding: 20px 10px;
		text-align: center;
	}
}

footer {
	background: #333;
	padding: 80px 0;
	.footer-logo {
		float: left;
		margin-bottom: 80px;
		img {
			height: 40px;
		}
	}
	.footer-social {
		float: right;
		li {
			float: left;
			margin-left: 20px;
			a {
				.fade;
				color: white;
				font-size: 24px;
				line-height: 40px;
			}
		}
	}
	.grid {
		h3 {
			color: white;
			margin-bottom: 30px;
			position: relative;
			&:after {
				.opacity(.1);
				background: white;
				content: '';
				height: 2px;
				position: absolute;
					bottom: -15px;
					left: 0;
				width: 50px;
			}
		}
		p {
			color: white;
			font-size: 14px;
		}
		ul {
			li {
				margin-bottom: 10px;
				a {
					.fade;
					color: white;
					font-size: 14px;
				}
			}
		}
	}
}
.sub-footer {
	.clearfix;
	background: #222;
	padding: 40px 0;
	p {
		.opacity(.6);
		color: white;
		float: left;
		font-size: 14px;
		line-height: 20px;
		margin: 0;
	}
	ul {
		float: right;
		li {
			float: left;
			margin-left: 40px;
			a {
				.fade;
				.opacity(.6);
				color: white;
				font-size: 14px;
				line-height: 20px;
			}
		}
	}
}



@media (max-width: 1100px) {
	header {
		.main-menu {
			> li {
				margin-left: 10px;
			}
		}
	}
	.intro {
		.slide {
			padding: 80px 0;
		}
		h1 {
			font-size: 60px;
		}
	}
}	

@media (max-width: 1020px) {
	header {
		.main-menu {
			> li {
				a {
					padding: 10px 8px;
					&:after {
						margin-left: 3px;
					}
				}
				&:last-child {
					a {
						padding: 10px 8px;
					}
				}
			}
		}
	}
}	

@media (max-width: 960px) {
	body {
		padding-top: 80px;
	}
	header {
		padding: 20px 0;
		#logo {
			img {
				height: 30px;
				margin: 5px 0;
			}
		}
		.main-menu {
			> li {
				a {
					font-size: 12px;
				}
			}
		}
	}
	.sidebar {
		border-left: none;
		padding-left: 0;
		.sidebar-contact {
			padding: 10px;
			h3 {
				margin: -10px;
				margin-bottom: 10px;
				padding: 10px;
			}
		}
	}
}	

@media (max-width: 850px) {
	body {
		.transition;
		padding-top: 60px;
		header {
			.transition;
		}
		&.menu-open {
			margin-right: 300px;
			margin-left: -300px;
			header {
				left: -300px;
				right: 300px;
			}
		}
	}
	.grid {
		.clearfix;
		margin-right: 0;
		[class*='col-'] {
			float: none;
			margin-bottom: 20px;
			padding-right: 0;
			width: 100%;
		}
	}
	header {
		padding: 10px 0;
		.menu-toggle {
			.rounded;
			background: rgba(0, 0, 0, 0.05);
			color: #333;
			display: block;
			float: right;
			height: 40px;
			line-height: 20px;
			padding: 10px 0;
			text-align: center;
			width: 40px;
		}
		.main-menu {
			.transition;
			background: #333;
			position: fixed;
				top: 0; bottom: 0; right: -300px;
			width: 300px;
			> li {
				display: block;
				float: none;
				margin: 0;
				a {
					.rounded(0px);
					color: white;
					display: block;
					padding: 10px 20px;
					&:after {
						float: right;
					}
					&:hover {
						.opacity(1);
						background: @primary;
						color: white;
					}
				}
				&:last-child {
					a {
						.rounded(0px);
						background: none;
						color: white;
						padding: 10px 20px;
						&:hover {
							.opacity(1);
							background: @primary;
							color: white;
						}
					}
				}
				.sub-menu, &:hover .sub-menu {
					.drop-shadow(0, 0, 0, 0);
					background: none;
					border-bottom: none;
					display: block;
					float: none;
					width: 100%;
					position: relative;
						top: auto; left: auto;
					li {
						float: none;
						margin: 0;
						a {
							.opacity(.8);
							color: white;
							font-weight: 600;
							padding: 3px 20px 3px 30px;
							text-transform: none;
						}
					}
				}
			}
			&.open {
				right: 0;
			}
		}
	}
	.intro {
		.slide {
			padding: 60px 0;
		}
		h1 {
			font-size: 50px;
		}
		h2 {
			font-size: 20px;
		}
	}
}

@media (max-width: 600px) {
	.intro {
		.slide {
			padding: 40px 0;
		}
		h1 {
			font-size: 40px;
		}
		h2 {
			font-size: 20px;
		}
	}
}

@media (max-width: 450px) {
	.intro {
		h1 {
			font-size: 34px;
		}
		h2 {
			font-size: 18px;
		}
	}
}

.form-section {
	border: 2px solid @alt;
	margin-bottom: 20px;
	padding: 20px;
	label {
		margin: 0;
	}
	> div {
		display: none;
		padding-top: 10px;
	}
}