/* Component styles */
@font-face {
	font-family: 'Blokk';
	src: url('../fonts/BLOKKRegular.eot');
	src: url('../fonts/BLOKKRegular.eot?#iefix') format('embedded-opentype'),
		 url('../fonts/BLOKKRegular.woff') format('woff'),
		 url('../fonts/BLOKKRegular.svg#BLOKKRegular') format('svg');
	font-weight: normal;
	font-style: normal;
}

html {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 16px;
}
body {
	color: #333;
	height: 100%;
	line-height: 1.5em;
}
header {
	background-color: #333;
	background-image: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,.25) 100%);
	box-sizing: border-box;
	color: #eee;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.5rem;
	overflow: hidden;
	padding: 3rem 16.66667%;
	position: relative;
	width: 100%;
	height: 100vh;
	transition: all .25s ease-in-out;
}
	header:before {
		background-image:
			linear-gradient(115deg, rgba(255,255,255,.025) 0%, rgba(255,255,255,.05) 50%, rgba(255,255,255,0) 50%),
			linear-gradient(to left, #005952 0%, #005E20 100%);
		content: "";
		opacity: 0;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		transition: all .25s ease-in-out;
	}
	header:hover:before {
		opacity: 1;
	}
	header > div {
		position: relative;
	}
	header h1 {
		font-weight: bold;
		font-size: 4em;
		line-height: 1em;
		margin: 0 0 .5rem 0;
		text-align: center;		
	}
	header .byline {
		color: rgba(255,255,255,.75);
		display: block;
		font-family: 'PT Serif', Palatino, Georgia, Cambria, "Times New Roman", Times, serif;
		font-size: 1.2em;
		font-style: italic;
		text-align: center;
	}
	header #skip {
		border: none;
		display: block;
		position: absolute;
		bottom: 1.5rem;
		left: 0;
		right: 0;
		height: 1.5rem;
	}
		header #skip svg {
			display: block;
			margin: 0 auto;
			width: 3rem;
			height: 1.5rem;
		}
		header #skip svg path {
			fill: rgba(255,255,255,.75);
		}
footer {
	background-color: #333;
	box-sizing: border-box;
	color: #eee;
	padding: 1.5rem 16.66667%;
	width: 100%;
}
h1,h2,h3,h4,h5,h6 {
	font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	text-transform: uppercase;
}
h3 {
	margin: 3rem 0 0 0;
}
	h3:first-of-type {
		margin-top: 0;
	}
p {
	margin: 0;
	margin-bottom: 1.5rem;
}
.filler {
	color: #999;
	font-family: "Blokk", Arial, sans-serif;
}
.message {
	background-color: #FDC68A;
	border-left: .75rem solid #F26C4F;
	padding: .75rem 1.5rem;
	font-size: .85rem;
}
	.message a:hover {
		border-color: rgba(0,0,0,.5);
		color: rgba(0,0,0,.5);
	}
	.message.note {
		background-color: #7BCDC8;
		border-color: #00A99D;
	}
hr {
	border: none;
	border-top: .125rem solid #ddd;
	margin-bottom: 1.375rem;
}
a {
	border-bottom: 2px solid #333;
	color: #333;
	text-decoration: none;
	transition: all .125s ease-in-out;
}
	a:hover {
		border-bottom-color: #4a7298;
		color: #4a7298;
	}
ul {
	margin-top: -.75rem;
}
pre {
	display: block;
	width: 100%;
}
code {
	background-color: rgba(0,0,0,.125);
	border: 1px solid rgba(0,0,0,.125);
	border-radius: 4px;
	display: inline-block;
	margin: 0 .125rem;
	padding: 0 .25rem;
}
	pre code{
		display: block;
		padding: .5rem 1rem;
	}

/* Main */
main {
	margin: 0 16.66667%;
}
main section {
	border-bottom: 1px solid #ccc;
	margin-bottom: 1.5rem;
	padding: 1.5rem 0;
}

/* Cards */
.cards {
	border-radius: .25rem;
	display: flex;
	flex-flow: row nowrap;
	margin-bottom: 1.5rem;
	overflow: hidden;
}
	.cards > a {
		box-sizing: border-box;
		border: none;
		flex: 1 100%;
		padding: 1.5rem;
		text-align: center;
	}
	.cards svg {
		display: block;
		margin: 0 auto .75rem;
		width: 5.25rem;
		height: 5.25rem;
		transition: all .125s ease-in-out;
	}
      	.cards svg path { transition: fill .125s ease-in-out }
      		
	.cards a:first-child {
		background-color: #333;
		color: #eee;
	}
	.cards a:first-child svg		{ background-color: #eee; }
	.cards a:first-child svg path		{ fill: #333 }
	.cards a:first-child:hover {
		background-color: #222;
		color: rgba(87, 173, 104, 1);
	}
	.cards a:first-child:hover svg		{ background-color: rgba(87, 173, 104, 1); }
	.cards a:first-child:hover svg path	{ fill: #222; }
    
    	.cards a:last-child {
    		background-color: #eee;
    		color: #555;
    	}
    	.cards a:last-child svg path 		{ fill: #333; }
    	.cards a:last-child:hover 		{ background-color: #ccc; }

/* Just positioning of images to introduce variety */
.demo a[data-fluidbox] {
	background-color: #eee;
	border: none;
	cursor: -webkit-zoom-in;
	cursor: -moz-zoom-in;
	margin-bottom: 1.5rem;
 }
	.demo a.fluidbox-opened {
		cursor: -webkit-zoom-out;
		cursor: -moz-zoom-out;
	}
	.demo a img {
		display: block;
		margin: 0 auto;
		max-width: 100%;
		transition: all .25s ease-in-out;
	}
.demo a[class^='float'] {
	margin: 1rem;
	margin-top: 0;
	width: 33.33333%;
}
	.demo a.float-left {
		float: left;
		margin-left: 0;
	}
	.demo a.float-right {
		float: right;
		margin-right: 0;
	}
.demo a.has-border img {
	border: .25em solid #111;
}
.demo a.has-padding img {
	padding: .25em;
}
.demo .gallery {
	display: flex;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	justify-content: space-between;
 }
	.demo .gallery a {
		margin-bottom: 1rem;
	}
		.demo .gallery a.col-1 { width: 100%; }
		.demo .gallery a.col-2 { width: 49%; width: calc(50% - .5rem); }
		.demo .gallery a.col-3 { width: 32%; width: calc(33.33333% - .66667rem); }
.demo .box {
	background-color: #eee;
	border: 1px solid rgba(0,0,0,.25);
	box-sizing: border-box;
	padding-bottom: 66.66667%;
	position: relative;
	width: 100%;
}
	.demo .box img {
		position: absolute;
		top: 2rem;
		left: 2rem;
		width: 50%;
	}

/* Dynamic image loading button */
a[data-func='loadImg'] {
	background-color: #7BCDC8;
	border: none;
	color: rgba(0,0,0,.5);
	display: block;
	font-size: 1.25rem;
	letter-spacing: 2px;
	margin: 0 auto 1rem auto;
	padding: .5rem;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: all .125s ease-in-out;
}
	a[data-func='loadImg']:hover {
		background-color: #00A99D;
		color: rgba(238,238,238,.85);
	}
a[data-func='loadImg'] + article {
	background-color: #eee;
	border: 1px solid rgba(0,0,0,.25);
	box-sizing: border-box;
	padding: 1rem 2rem;
}

/* Footer */
footer p {
	color: #999;
	margin: 0;
	text-align: center;
}
footer a {
	color: #ccc;
}
	footer a:hover {
		border-bottom-color: #eee;
		color: #eee;
	}
footer svg {
	display: block;
	fill: #ccc;
	width: 2rem;
	height: 2rem;
	margin: 0 auto 1rem;
}

/* Media queries, unrelated to functionality of Fluidbox */
@media only screen and (max-width: 768px) {
	header {
		max-height: 500px;
	}
	.cards {
		flex-flow: row wrap;
		-webkit-flex-flow: row wrap;
	}
	.demo a[class^='float'] {
		width: 50%; 
	}
}
@media only screen and (max-width: 600px) {
  .demo .gallery a,
  .demo .gallery a[class^='col'] {
    margin-bottom: .5rem;
    width: 100%;
  }  
}
@media only screen and (max-width: 480px) {
  html {
    font-size: 12px;
  }
  .message {
    border: 0;
    border-top: .75rem solid #F26C4F;
  }
  .demo a[class^='float'] {
    float: none;
    margin: 0 0 1rem 0;
    width: 100%;
  }
}
