
@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700|Source+Code+Pro:300,400,700);

/* --- GENERAL --- */

* {
	padding: 0;
	margin: 0;
}

body {
	font-family: "Source Sans Pro", sans-serif;
	background: #f7f7f7;
	color: #1f1f1f;
	-webkit-text-size-adjust: none;
}

#frame {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

#wrapper {
	display: block;
	width: 900px;
	margin: 50px auto 0;
}

h1 {
	display: block;
	font-weight: bold;
	font-size: 40px;
	text-transform: uppercase;
}

h1 .format {
	display: none;
}

h1 .author {
	text-transform: none;
	font-size: 0.5em;
	font-weight: normal;
	padding: 3px 6px;
	border: 1px solid #e0e0e0;
	border-radius: 4px;
	position: relative;
	top: -5px;
}

h1 .author:hover {
	background: #e0e0e0;
}

h1 .local {
	font-size: 20px;
	font-weight: normal;
	color: #525252;
}

hgroup h2 {
	display: none;
}

p {
	display: block;
	font-size: 17px;
	font-weight: normal;
	padding: 20px 0 0 0;
	line-height: 1.5;
	color: #525252;
}

p.intro {
	width: 500px;
}

#forkme {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 149px;
	height: 149px;
	background: url(../images/icons.png) no-repeat top right;
	text-indent: -1000px;
	overflow: hidden;
	border-radius: 0 0 0 149px;
}

#sitemap {
	display: none;
}

#about {
	display: block;
	margin: 20px 0 0 0;
	width: 350px;
	height: 125px;
	float: right;
	text-align: right;
}

#about p {
	padding: 0;
}

#social a {
	display: inline-block;
	width: 40px;
	height: 40px;
	padding: 7px;
	margin: 15px 0 0 6px;
	border-radius: 30px;
	border: 1px solid #e0e0e0;
}

#social a:hover {
	background: #e0e0e0;
}

#social a span {
	display: block;
	width: 40px;
	height: 40px;
	text-indent: 100%;
	opacity: 0.68;
	overflow: hidden;
	white-space: nowrap;
	background: no-repeat url(../images/icons.png);
}

#social a.facebook span {
	background-position: -40px -10px;
}

#social a.twitter span {
	background-position: 0 -10px;
}

#social a.gittip span {
	background-position: -80px -10px;
}

strong {
	font-weight: bold;
}

a {
	color: #525252;
	text-decoration: none;
	font-weight: bold;
}

a:hover {
	text-decoration: underline;
}

h1 a {
	text-decoration: none !important;
	color: #1f1f1f;
}

#application {
	display: block;
	position: relative;
	padding: 50px 0;
	clear: both;
}

/* --- PIPE --- */

#pipe {
	display: block;
	background: #249db3;
	height: 90px;
	position: relative;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

#pipe:before,
#pipe:after,
#pipe .step:before,
#pipe .step:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: -45px;
	width: 45px;
	background: #249db3 url(../images/arrow.png) left top no-repeat;
	background-size: auto 200%;
}

#pipe:after {
	left: auto;
	right: -45px;
	background-position: right top;
}

/* --- PIPE STEP --- */

#pipe .step {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 427px;
	cursor: pointer;
	z-index: 10;
}

#pipe #step_convert.step {
	left: auto;
	right: 0;
}

#pipe .step:before {
	background-color: #249db3;
	background-position: left top;
}

#pipe .step:after {
	left: auto;
	right: -45px;
	background-color: #249db3;
	background-position: right top;
}

#pipe #step_interpret.step:after,
#pipe #step_convert.step:before {
	background-position: left -1000px;
}

#pipe .step .label {
	display: block;
	text-transform: uppercase;
	margin: 18px 0 0 50px;
	color: #f7f7f7;
	cursor: pointer;
	font-weight: normal;
}

#pipe .step .value {
	display: block;
	font-size: 28px;
	font-weight: 700;
	font-family: "Source Sans Pro", sans-serif;
	color: #f7f7f7;
	text-transform: uppercase;
	margin: 0 0 0 50px;
}

#pipe .step .value:after {
	content: "";
	display: inline-block;
	width: 21px;
	height: 12px;
	margin: 0 0 3px 8px;
	background: url(../images/icons.png) no-repeat -158px -22px;
}

#pipe .step:hover .value:after {
	background-position: -158px -10px;
}

.view-1 #pipe #step_interpret.step .value:after,
.view-2 #pipe #step_convert.step .value:after {
	background-position: -178px -10px;
}

.view-1 #pipe #step_interpret.step:hover .value:after,
.view-2 #pipe #step_convert.step:hover .value:after {
	background-position: -178px -22px;
}

/* --- PIPE STEP HOVER --- */

#pipe .step:hover {
	z-index: 20;
}

#pipe .step:hover,
#pipe .step:hover:before,
#pipe .step:hover:after {
	background-color: #e0e0e0;
}

#pipe #step_interpret.step:hover:after {
	background-position: right bottom;
}

#pipe #step_convert.step:hover:before {
	background-position: left bottom;
}

#pipe .step:hover .value,
#pipe .step:hover .label {
	color: #1f1f1f;
}

/* --- OUTPUT & INPUT --- */

#output,
#input {
	display: block;
	width: 440px;
	margin: 20px 0 0 0;
}

#output {
	float: right;
}

#inputFieldContainer,
#outputFieldContainer {
	background: #e0e0e0;
	position: relative;
}

#input textarea {
	border: none;
	background: #e0e0e0;
	outline: none;
	resize: none;
	overflow: hidden;
}

#input textarea,
#contentHeightMeasurement,
#outputField {
	font-family: "Source Code Pro", monospace;
	font-size: 14px;
	line-height: 22px;
	width: 400px;
	word-wrap: break-word;
	white-space: pre-wrap;
	color: #1f1f1f;
	padding: 20px;
}

#contentHeightMeasurement {
	display: inline-block;
	position: fixed;
	left: -500px;
	z-index: 50;
}

#outputField {
	min-height: 170px;
	padding-bottom: 55px;
}

#interpretToolbox,
#convertToolbox {
	display: inline-block;
	position: absolute;
	bottom: 18px;
	right: 18px;
	left: 18px;
	height: 20px;
}

#interpretToolbox .separator,
#convertToolbox .separator {
	display: inline-block;
	height: 16px;
	border-left: 1px solid #bbbbbb;
	margin: 2px 2px 2px 8px;
	float: right;
}

#interpretToolbox .bytes,
#convertToolbox .bytes {
	display: inline-block;
	background: #c5c5c5;
	border-radius: 8px;
	padding: 0 6px;
	height: 16px;
	margin: 2px 2px 2px 8px;
	color: #707070;
	font-size: 12px;
	letter-spacing: 0.5px;
	line-height: 16px;
	float: right;
}

#interpretToolbox a,
#convertToolbox a {
	display: inline-block;
	text-indent: -2000px;
	width: 16px;
	height: 16px;
	opacity: 0.50;
	margin: 2px 2px 2px 6px;
	float: right;
	background: url(../images/icons.png) no-repeat;
}

#interpretToolbox a:hover,
#convertToolbox a:hover {
	opacity: 0.88;
}

#interpretToolbox a.help,
#convertToolbox a.help {
	background-position: -120px -10px;
}

#interpretToolbox a.code,
#convertToolbox a.code {
	background-position: -120px -42px;
}

#interpretToolbox a.share,
#convertToolbox a.share {
	background-position: -136px -42px;
}

#convertToolbox input.share-link {
	display: inline-block;
	float: right;
	margin: 1px 2px 1px 6px;
	padding: 0 2px;
	height: 16px;
	width: 100px;
	border: 1px solid #bbbbbb;
	background: #f7f7f7;
	color: #525252;
	outline: none;
}

/* --- FORMAT OPTIONS --- */

#convertOptions,
#interpretOptions {
	position: relative;
}

#convertOptions .option,
#interpretOptions .option {
	background: #e0e0e0;
	border-bottom: 1px solid #f7f7f7;
	height: 30px;
}

#convertOptions .option label,
#interpretOptions .option label {
	display: block;
	width: 110px;
	float: left;
	font-size: 14px;
	line-height: 30px;
	padding: 0 10px 0 20px;
	height: 30px;
	border-right: 1px solid #f7f7f7;
	font-family: "Source Sans Pro", sans-serif;
	color: #525252;
}

#convertOptions .option input.text,
#interpretOptions .option input.text {
	width: 270px;
	border: none;
	height: 30px;
	font-size: 14px;
	line-height: 20px;
	padding: 0 10px;
	background: #e0e0e0;
	color: #1f1f1f;
	outline: none;
	font-family: "Source Code Pro", sans-serif;
}

#convertOptions .option input.checkbox,
#interpretOptions .option input.checkbox {
	width: 16px;
	height: 16px;
	margin: 7px 10px;
}

#convertOptions .option .slider,
#interpretOptions .option .slider {
	display: block;
	width: 251px;
	height: 2px;
	float: left;
	margin: 14px 0 0 25px;
	background: #525252;
}

#convertOptions .option .slider a,
#interpretOptions .option .slider a {
	background: #525252;
	width: 15px;
	height: 15px;
	border-radius: 15px;
	outline: none;
	margin-top: -2px;
}

#convertOptions .option .slider a:active,
#convertOptions .option .slider a:hover,
#interpretOptions .option .slider a:active,
#interpretOptions .option .slider a:hover {
	background: #1f1f1f;
}

#convertOptions .option select,
#interpretOptions .option select {
	width: 277px;
	margin: 6px 10px 0;
	outline: none;
}

/* --- FORMAT SELECTION --- */

#interpretSelection,
#convertSelection {
	position: relative;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

#interpretSelection .format,
#convertSelection .format {
	display: block;
	word-wrap: nowrap;
	white-space: nowrap;
	overflow: hidden;
	font-size: 14px;
	height: 20px;
	padding: 0 0 5px 0;
	cursor: pointer;
}

#interpretSelection .format .title,
#convertSelection .format .title {
	display: inline-block;
	position: relative;
	background: #249db3;
	font-family: "Source Sans Pro", sans-serif;
	color: #f7f7f7;
	text-transform: uppercase;
	margin: 0 10px;
	padding: 1px 4px;
}

#interpretSelection .format .title:before,
#interpretSelection .format .title:after,
#convertSelection .format .title:before,
#convertSelection .format .title:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: -10px;
	width: 10px;
	background: #249db3 url(../images/arrow.png) left top no-repeat;
	background-size: auto 200%;
}

#interpretSelection .format .title:after,
#convertSelection .format .title:after {
	left: auto;
	right: -10px;
	background-position: right top;
}

#interpretSelection .format:hover .title,
#interpretSelection .format:hover .title:before,
#interpretSelection .format:hover .title:after,
#convertSelection .format:hover .title,
#convertSelection .format:hover .title:before,
#convertSelection .format:hover .title:after {
	background-color: #dddddd;
	color: #0c2133;
}

#interpretSelection .format .example,
#convertSelection .format .example {
	display: inline-block;
	padding: 1px 0 0 8px;
	font-family: "Source Code Pro", monospace;
	font-weight: normal;
	color: #525252;
}

#interpretSelection .format:hover .example,
#convertSelection .format:hover .example {
	position: relative;
	color: #249db3;
}

#interpretSelection .format .title {
	position: absolute;
	right: 0;
	z-index: 50;
}

#interpretSelection .format .title:before {
	box-shadow: -6px 0 10px #f7f7f7;
}

/* --- FORMAT CATEGORIES --- */

#interpretSelection .category,
#convertSelection .category {
	display: block;
	position: relative;
	color: #525252;
	padding: 4px 14px 9px;
	text-transform: uppercase;
	font-size: 14px;
	font-weight: bold;
}

#interpretSelection .category {
	text-align: right;
}

/* --- FORMAT BASED OUTPUT --- */

.o-pigpen {
	display: inline-block;
	text-indent: -20000px;
	position: relative;
	top: 6px;
	width: 10px;
	height: 10px;
	margin: 0 2px;
	background: url(../images/icons.png) no-repeat left top;
	opacity: 0.88;
}

/* adapt color of pigpen chars
   in format selection */
.format .o-pigpen {
	opacity: 0.68;
}

.o-ita2 {
	display: inline-block;
	text-indent: -2000px;
	width: 10px;
	height: 63px;
	background: url(../images/icons.png) no-repeat -10px -70px;
	margin: 0 0 20px;
	opacity: 0.88;
}

.o-ita2-11111 { background-position:    0   -70px; }
.o-ita2-00000 { background-position:  -10px -70px; }
.o-ita2-00011 { background-position:  -20px -70px; }
.o-ita2-11001 { background-position:  -30px -70px; }
.o-ita2-01110 { background-position:  -40px -70px; }
.o-ita2-01001 { background-position:  -50px -70px; }
.o-ita2-00001 { background-position:  -60px -70px; }
.o-ita2-01101 { background-position:  -70px -70px; }
.o-ita2-11010 { background-position:  -80px -70px; }
.o-ita2-10100 { background-position:  -90px -70px; }
.o-ita2-00110 { background-position: -100px -70px; }
.o-ita2-01011 { background-position: -110px -70px; }
.o-ita2-01111 { background-position: -120px -70px; }
.o-ita2-10010 { background-position: -130px -70px; }
.o-ita2-11100 { background-position: -140px -70px; }
.o-ita2-01100 { background-position: -150px -70px; }
.o-ita2-11000 { background-position: -160px -70px; }
.o-ita2-10110 { background-position: -170px -70px; }
.o-ita2-10111 { background-position: -180px -70px; }
.o-ita2-01010 { background-position: -190px -70px; }
.o-ita2-00101 { background-position: -200px -70px; }
.o-ita2-10000 { background-position: -210px -70px; }
.o-ita2-00111 { background-position: -220px -70px; }
.o-ita2-11110 { background-position: -230px -70px; }
.o-ita2-10011 { background-position: -240px -70px; }
.o-ita2-11101 { background-position: -250px -70px; }
.o-ita2-10101 { background-position: -260px -70px; }
.o-ita2-10001 { background-position: -270px -70px; }
.o-ita2-01000 { background-position: -280px -70px; }
.o-ita2-00010 { background-position: -290px -70px; }
.o-ita2-00100 { background-position: -300px -70px; }
.o-ita2-11011 { background-position: -310px -70px; }

#carbonads {
	display: block;
	overflow: hidden;
	padding: 10px;
	font-family: Verdana, "Helvetica Neue", Helvetica, sans-serif;
	line-height: 1.4;
	font-size: 13px;
	border: 1px solid #dddddd;
	border-radius: 4px;
}

#carbonads a {
	font-weight: normal;
}

#carbonads a:hover {
	text-decoration: none;
}

#carbonads span {
	position: relative;
	display: block;
	overflow: hidden;
}

.carbon-img {
	float: left;
	margin-right: 1em;
}

.carbon-img img { display: block; }

.carbon-text {
	display: block;
	float: left;
	max-width: calc(100% - 130px - 1em);
	text-align: left;
}

.carbon-poweredby {
	position: absolute;
	right: 0;
	bottom: 0;
	display: block;
	font-size: .8em;
}
