.scroll_controls {
	width: 100%;
	text-align: center;
	margin: 90px 0 0; }

	.scroll_controls > span {
		cursor: pointer;
		display: inline-block;
		margin: 0 10px;
		transition: width .5s linear;
		width: 30px;
		height: 5px;
		border-radius: 5px;
		background-color: #8b939b; }

		.scroll_controls > span.active {
			width: 60px;
			background-color: #3e4677; }

.open-source-hp-splash {
	height: 400px;
	padding-top: 100px;
	box-sizing: border-box;
	text-align: center;
	background: url("/media/images/open-source/hero_shots/open_source_splash.jpg") no-repeat center;
	background-size: cover; }

	.open-source-hp-splash > h1 {
		margin-bottom: 40px;
		font-size: 100px;
		color: #fff;
		font-weight: 900; }

	.open-source-hp-splash > p {
		font-size: 36px;
		color: #fff;
		font-weight: 600; }

.open-source-hp-intro {
	min-height: 330px;
	box-sizing: border-box;
	padding: 55px 25px;
	background-color: #f5f9fc; }

	.open-source-hp-intro > h2 {
		text-align: center;
		font-size: 42px;
		font-weight: 600;
		color: #212d39;
		margin-bottom: 50px; }

	.open-source-hp-intro > p {
		line-height: 30px;
		font-size: 18px;
		color: #3e4677;
		max-width: 1050px;
		margin: 0 auto;
		text-align: center; }


.open-source-sources,
.open-source-projects,
.open-source-news {
	text-align: center;
	padding: 60px 0 60px; }

.open-source-sources.pp_width,
.open-source-projects.pp_width,
.open-source-news.pp_width {
	padding: 60px 25px; }

	.open-source-sources > h2,
	.open-source-projects > h2,
	.open-source-news > h2 {
		font-size: 42px;
		color: #212d39;
		font-weight: 600;
		margin-bottom: 50px; }

	.open-source-sources > p,
	.open-source-projects > p,
	.open-source-news > p {
		max-width: 650px;
		margin: 0 auto 60px auto;
		color: #3e4677;
		font-size: 18px;
		line-height: 26px; }



.open-source-sources > div {
	max-width: 650px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around; }

	.open-source-sources > div > div {
		text-align: center;
		max-width: 280px; }

		.open-source-sources > div > div > div {
			margin: 0 auto 10px auto;
			background: url("/media/images/open-source/icons/double_ellipse.svg") no-repeat;
			background-size: 100%;
			height: 113px;
			width: 120px;
			line-height: 113px; }

			.open-source-sources > div > div > div > img {
				vertical-align: middle;
				width: 35px; }

		.open-source-sources > div > div > h3 {
			margin: 0 0 25px;
			font-size: 17px;
			font-weight: 900;
			color: #212d39; }

		.open-source-sources > div > div > p {
			margin: 0 0 25px;
			color: #3e4677; }

		.open-source-sources > div > div > a {
			text-decoration: underline;
			font-size: 16px; }

.open-source-recent-stuff {
	text-align: center;
	background: url("/media/images/open-source/hero_shots/what_have_we_been_do.png") no-repeat center;
	background-size: cover;
	min-height: 435px;
	box-sizing: border-box;
	padding: 100px 25px 60px; }

	.open-source-recent-stuff > h2 {
		color: #fff;
		font-size: 60px;
		font-weight: 900;
		margin: 0 0 60px; }

	.open-source-recent-stuff > p {
		margin: 0 auto;
		max-width: 1000px;
		font-size: 17px;
		line-height: 27px;
		color: #fff; }

.open-source-projects {
	padding: 60px 25px;
	box-sizing: border-box;
	background-color: #f5f9fc; }

	.open-source-projects > div {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-around;
		max-width: 775px;
		margin: 0 auto; }

		.open-source-projects > div > article {
			text-align: left;
			max-width: 370px;
			background-color: #fff;
			border-radius: 10px;
			padding: 45px;
			box-sizing: border-box; }

			.open-source-projects > div > article > div {
				text-align: center;
				height: 80px;
				margin: 0 0 20px; }

				.open-source-projects > div > article > div > img {
					height: 100%;
					width: auto; }

			.open-source-projects > div > article > h3 {
				color: #212d39;
				margin: 0 0 20px;
				font-size: 20px;
				font-weight: 900; }

			.open-source-projects > div > article > p {
				min-height: 140px;
				margin: 0 0 10px;
				line-height: 25px;
				color: #3e4677; }

			.open-source-projects > div > article > a {
				text-decoration: underline;
				font-size: 16px; }


.open-source-news {
	background-color: #fff; }

	.open-source-news > div {
		max-width: 1100px;
		margin: 0 auto;
		flex-wrap: wrap;
		justify-content: space-between;
		display: flex; }

		.open-source-news > div > article:first-child {
			max-width: 640px; }

		.open-source-news > div > article {
			position: relative;
			background-color: #fff;
			border: 1px solid transparent;
			box-sizing: border-box;
			box-shadow: 0 0 15px rgba(0,0,0,.15);
			text-align: left;
			border-radius: 10px;
			max-width: 425px;
			overflow: hidden; }

			.open-source-news > div > article > a {
				position: relative;
				text-align: center;
				display: block;
				height: 290px; }

				.open-source-news > div > article > a > img {
					position: absolute;
					left: 50%;
					height: 100%;
					width: auto;
					transform: translateX(-50%); }

		.open-source-news > div > article > div {
			padding: 35px 25px 30px; }

			.open-source-news > div > article > div > h3 {
				margin: 0 0 10px; }

				.open-source-news > div > article > div > h3 > a {
					color: #3e4677;
					font-size: 20px;
					font-weight: 600; }

			.open-source-news .author,
			.open-source-news .author > a {
				margin: 0 0 30px;
				color: #767da6;
				font-size: 16px; }

				.open-source-news .author > a {
					margin: 0; }

			.open-source-news > div > article > div > p {
				margin: 0 0 40px;
				font-size: 16px;
				line-height: 23px;
				color: #3e4677; }

		.open-source-news .tags {
			bottom: 0;
			box-sizing: border-box;
			width: 100%;
			position: absolute;
			justify-content: space-between;
			display: flex; }

			.open-source-news .tags > time {
				color: #767da6;
				text-align: right; }

			.open-source-news .tags >  ul {
				position: relative;
				padding: 0 0 0 30px; }

				.open-source-news .tags ul::before {
					content: "";
					display: block;
					position: absolute;
					height: 18px;
					width: 18px;
					left: 0;
					top: 50%;
					transform: translateY(-50%);
					background: url("/media/images/open-source/icons/tag.svg") no-repeat; }

					.open-source-news .tags ul > li {
						display: inline-block; }

						.open-source-news .tags ul > li::after {
							content: ",";
							display: inline-block; }

							.open-source-news .tags ul > li:last-child::after {
								content: ""; }


						.open-source-news .tags ul > li > a {
							color: #0085fe; }


@media screen and (max-width: 1115px){
	.open-source-hp-splash > h1 {
		margin-bottom: 40px;
		font-size: 60px; }

	.open-source-hp-splash > p {
		font-size: 26px; }

	.open-source-news {
		padding: 60px 50px; }

	.open-source-news > div {
		justify-content: space-around; }

		.open-source-news > div > article {
			max-width: 640px;
			margin-bottom: 50px; }
}