/* 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;
}
@font-face {
	font-family: 'fontello';
	src: url('../fonts/fontello.eot');
	src: url('../fonts/fontello.eot#iefix') format('embedded-opentype'),
		 url('../fonts/fontello.woff') format('woff'),
		 url('../fonts/fontello.ttf') format('truetype'),
		 url('../fonts/fontello.svg#fontello') format('svg');
	font-weight: normal;
	font-style: normal;
}
.code-toggle::before,
.anchor::before {
	font-family: "fontello";
	font-style: normal;
	font-weight: normal;
	speak: none;

	display: inline-block;
	text-decoration: inherit;
	width: 1em;
	margin-right: .2em;
	text-align: center;
	/* opacity: .8; */

	/* For safety - reset parent styles, that can break glyph codes*/
	font-variant: normal;
	text-transform: none;
	 
	/* fix buttons height, for twitter bootstrap */
	line-height: 1em;
}

html {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 16px;
}
body {
	color: #333;
	height: 100%;
	line-height: 1.5em;
}
header {
	background-image: url(http://i.imgur.com/RwVIbSX.jpg);
	background-size: cover;
	background-repeat: none;
	background-position: center center;
	box-sizing: border-box;
	color: #fff;
	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-color: rgba(0,0,0,.25);
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	}
	header::after {
		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, rgba(62,96,111,.75) 0%, rgba(25,52,65,.75) 100%);
		content: "";
		opacity: 0;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		transition: all .25s ease-in-out;
	}
	header:hover::after {
		opacity: 1;
	}
	header > * {
		position: relative;
		z-index: 3;
	}
	header h1 {
		font-weight: 300;
		font-size: 6rem;
		line-height: 1em;
		margin: 0 0 .5rem 0;
		text-align: center;		
	}
	header .byline {
		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: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-weight: 400;
	position: relative;
}
h2 {
	font-size: 2.5em;
	line-height: 1em;
}
h3 {
	font-size: 1.5em;
	margin: 4rem 0 .5rem 0;
}
h4 {
	border-bottom: 1px solid rgba(0,0,0,.125);
	color: #777;
	margin: 2.25rem 0 .25rem 0;
}
a.anchor {
	border: none;
	font-size: 1.5rem;
	opacity: 0;
	position: absolute;
	left: -2rem;
	width: 1.5rem;
	height: 1.5rem;
	text-decoration: none;
}
	a.anchor::before {
		content: '\e800';
	}
h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor {
	opacity: 1;
}
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;
	margin-bottom: 1.5rem;
	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.zoom {
	border-bottom: 0px solid #333;
	color: #333;
	text-decoration: none;
	transition: all .125s ease-in-out;
}
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;
}
a.code-toggle {
	border: none;
	background-color: #CFCFCF;
	display: block;
	font-weight: bold;
	line-height: 1.5rem;
	padding: .5rem 1rem;
	text-align: center;
}
	a.code-toggle::before {
		content: '\e801';
		margin-right: .5rem;
	}
a.code-toggle ~ pre {
	margin-top: 0;
}
pre,
pre[class*=language-] {
	background-color: #f5f2f0;
	border: 1px solid #CFCFCF;
	box-sizing: border-box;
	display: block;
	margin-bottom: 1.5rem;
	padding: 0;
	font-size: .85rem;
	width: 100%;
}
	p + pre,
	p + pre[class*=language-] {
		margin-top: -.75rem;
	}
	pre[class*=language-] > code[data-language]::before {
		font-family: 'Open Sans';
		letter-spacing: 1px;
		opacity: 0;
		padding: 0 .5rem;
		text-transform: uppercase;
		transition: all .25s ease-in-out;
	}
		pre[class*=language-]:hover > code[data-language]::before {
			opacity: 1;
		}
code {
	background-color: #f5f2f0;
	border: 1px solid #CFCFCF;
	border-radius: 4px;
	display: inline-block;
	font-size: .875rem;
	margin: 0 .125rem;
	padding: 0 .25rem;
}
	pre code,
	pre[class*=language-]>code[data-language] {
		background-color: transparent;
		border: none;
		border-radius: 0;
		display: block;
		overflow: visible;
		padding: 1rem;
	}
	pre code a {
		border: none;
	}
		pre code a:hover {
			color: inherit;
		}
button[type="button"] {
	background-color: #4a7298;
	border: 1px solid rgba(0,0,0,.25);
	box-shadow: inset 0 0 1px 0 rgba(255,255,255,.5);
	border-radius: 4px;
	color: #eee;
	cursor: pointer;
	line-height: 1rem;
	margin-bottom: 1.5rem;
	padding: .75rem 2rem;
}
	button[type="button"][disabled] {
		background-color: #999;
		cursor: not-allowed;
	}
	button[type="button"]:hover {
		background-image: linear-gradient(to bottom, rgba(0,0,0,.125) 0%, rgba(0,0,0,0) 50%);
	}

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

/* Cards */
.cards {
	display: flex;
	flex-flow: row wrap;
	margin: -.25rem;
	margin-bottom: 1.25rem;
	overflow: hidden;
}
	.cards > a {
		box-sizing: border-box;
		border: none;
		border-radius: 4px;
		color: #eee;
		flex: 1 auto;
		margin: .25rem;
		padding: 1.5rem;
		text-align: center;
		transition: all .25s ease-in-out;
	}
		.cards > a .branding {
			transition: all .25s ease-in-out;
		}
		.cards > a.card-medium {
			background-color: #57ad68;
			flex-basis: 100%;
		}
			.cards > a.card-medium:hover { color: #57ad68; }
		.cards > a.card-github {
			background-color: #ff9933;
			flex-basis: auto;
		}
			.cards > a.card-github:hover { color: #ff9933; }
		.cards > a.card-cdnjs {
			background-color: #bf3e11;
			flex-basis: auto;
		}
			.cards > a.card-cdnjs:hover { color: #e14d1a; }
		.cards > a:hover {
			background-color: #333;
		}
			.cards > a:hover .branding {
				transform: scale(1.25);
				-webkit-transform: scale(1.25);
			}
	.cards svg {
		display: block;
		margin: 0 auto .75rem;
		width: 5.25rem;
		height: 5.25rem;
		transition: all .125s ease-in-out;
	}
      	.cards svg path {
      		fill: #eee;
      		transition: fill .125s ease-in-out;
      	}
      		.cards a.card-medium svg				{ background-color: #eee; }
			.cards a.card-medium svg path			{ fill: #57ad68; }
	      	.cards > a.card-medium:hover svg 		{ background-color: #57ad68; }
	      	.cards > a.card-medium:hover svg path 	{ fill: #333; }
	      	.cards > a.card-github:hover svg path 	{ fill: #ff9933; }

    .cards a.card-cdnjs .branding {
    	display: block;
    	font-family: "Ubuntu", Tahoma, "Helvetica Neue", Helvetica, Arial, sans-serif;
    	letter-spacing: 1px;
    	line-height: 5rem;
    	margin-bottom: .75rem;
    	font-size: 3em;
    }

/* Three dimensional visualization of Fluidbox */
#fluidbox-3d {
	margin: 0 0 1.5rem 0;
	padding: 0;
	perspective: 5000;	/* Keep things isometric */
	width: 100%;
	height: 400px;
	position: relative;
}
#fluidbox-3d * {
	transform-style: preserve-3d;
}
#fluidbox-3d figcaption {
	font-size: .85rem;
	position: absolute;
	bottom: 0;
	margin-top: .75rem;
	text-align: center;
	width: 100%;
}
#fluidbox-3d .canvas {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) rotateX(45deg) rotateZ(45deg);
}
#fluidbox-3d .fluidbox-wrap {
	background-image: url('http://placehold.it/300x300/b13131/ffffff/&text=Wrap');
	border: none;
}
	#fluidbox-3d:hover .fluidbox-wrap {
		transform: translate3d(-8rem, 8rem, 0);
	}
#fluidbox-3d img {
	display: block;
	opacity: .75 !important;	/* Override required for pre-existing inline-styles */
	max-width: 100%;
	transition: all .25s ease-in-out;
	transform: translate3d(0, 0, 2rem);
}
	#fluidbox-3d:hover img {
		opacity: .5 !important;	/* Override required for pre-existing inline-styles */
		transform: translate3d(8rem, -8rem, 2rem);
	}
	#fluidbox-3d img:hover {
		opacity: 1 !important;	/* Override required for pre-existing inline-styles */
	}
#fluidbox-3d .fluidbox-ghost {
	background-image: url('http://placehold.it/300x300/&text=Ghost');
	opacity: .75;
	transform: translate3d(0, 0, 4rem);
	transition-delay: 0;
}
	#fluidbox-3d:hover .fluidbox-ghost {
		opacity: .5;
		transform: translate3d(16rem, -16rem, 4rem);
	}
	#fluidbox-3d .fluidbox-ghost:hover {
		opacity: 1;
	}

/* Adjust positioning of images to introduce variety */
.demo a[data-fluidbox],
.demo a.fluidbox,
.demo a.custom-trigger,
.demo a.custom-event {
	background-color: #fff;
	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: 1px 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%;
	}

/* Flexbox */
.cols {
	display: flex;
	flex-flow: row wrap;
	-webkit-flex-flow: row wrap;
	margin: 0 -1rem 1.5rem -1rem;
	text-align: center;
}
	.cols.cols-nowrap {
		flex-wrap: nowrap;
	}
		.cols.cols-nowrap > * {
			flex-grow: 1;
			margin-bottom: 0 !important;
		}
	.cols > * {
		margin-left: 1rem;
		margin-right: 1rem;
	}
.cols figcaption {
	margin-top: .5rem;
}

/* Code blocks */
.code-block {
	margin-bottom: 1.5rem;
}
	.code-block pre {
		margin-bottom: 0;
	}
.token.cr:before, .token.lf:before, .token.tab:not(:empty):before {
	content: '';
}

/* Custom triggers */
.cols a.custom-trigger {

}

/* Custom events */
.cols a.custom-event {
	margin-bottom: 0;
	width: 33.33333%;
}
#log {
	position: relative;
	width: 66.66667%;
	text-align: left;
}
	#log div {
		border: 1px solid rgba(0,0,0,.125);
		background-color: #eee;
		padding: 1rem;
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		overflow-y: auto;
	}
	#log ul {
		list-style: none;
		padding: 0;
	}
	#log ul li > span {
		display: block;
	}
		#log ul li > .evt {
			background-color: #999;
			border-radius: .5em;
			display: block;
			float: left;
			font-size: .75em;
			margin: .5em .5em 0 0;
			padding: 0 .5em 0;
			height: 1em;
		}
		#log ul li > .dsc {
			padding-left: 1.5em;
		}
#custom-event-2-social {
	position: fixed;
	bottom: 2.5%;
	left: 0;
	right: 0;
	opacity: 0;
	padding: 1rem 0;
	background-color: rgba(255,255,255,.75);
	z-index: 1010;
	text-align: center;
	transition: all .25s ease-in-out;
	transform: translateY(100%);
	-webkit-transform: translateY(100%);
}
	#custom-event-2-social.visible {
		opacity: 1;
		transform: translateY(0);
		-webkit-transform: translateY(0);
	}
	#custom-event-2-social ul {
		display: flex;
		justify-content: center;
		list-style: none;
		margin: 0;
		padding: 0;
	}
		#custom-event-2-social ul li {
			padding: 0 1rem;
		}
		#custom-event-2-social ul a {
			background-color: rgba(0,0,0,.125);
			border-radius: 4px;
			border: none;
			display: inline-block;
			padding: 0 .5rem;
		}
		#custom-event-2-social ul a:hover {
			background-color: rgba(74,114,152,.75);
			color: #eee;
		}

/* Dynamic image loading button */
#loadImg + article {
	background-color: #eee;
	border: 1px solid rgba(0,0,0,.25);
	box-sizing: border-box;
	padding: 1rem 2rem;
}

/* Custom overlays */
.overlay-1 .fluidbox-overlay {
	background-color: rgba(153,145,139,.85);
}
.overlay-2 .fluidbox-overlay {
	background-color: transparent;
	background-image: linear-gradient(to top left, rgba(130,168,158,0.85), rgba(134,150,173,.85));
}
.overlay-3 .fluidbox-overlay {
	background-color: #000;
}
.overlay-3 .fluidbox-overlay::before {
	background-image: url('http://i.imgur.com/3qj1wfN.jpg');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	opacity: .33333;
	-webkit-filter: blur(4px);
}

/* 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;
	}
		header h1 {
			font-size: 5rem;
		}
	.cards {
		flex-flow: row wrap;
		-webkit-flex-flow: row wrap;
	}
	.demo a[class^='float'] {
		width: 50%; 
	}
	.filler {
		font-size: .75em;
	}
}
@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%;
  }
}