/* *******************************************
 Tag Resets
 ******************************************* */

body, div, h1, h2, h3, h4, h5, h6, p, blockquote, pre, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, th, td, article, aside, figure, footer, header, hgroup, menu, nav, section {
	margin: 0;
	padding: 0;
	border: 0;
}

/* *******************************************
 Normalize CSS
 http://necolas.github.com/normalize.css/
 ******************************************* */

html {
	height: 100%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

body {
	min-height: 100%;
}

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, audio, canvas, video {
	display: block;
}

sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

pre {
	white-space: pre;
	white-space: pre-wrap;
	word-wrap: break-word;
}

b, strong {
	font-weight: bold;
}

abbr[title] {
	border-bottom: 1px dotted;
}

input, textarea, button, select {
	margin: 0;
	font-size: 100%;
	line-height: normal;
	vertical-align: baseline;
}

button, html input[type="button"], input[type="reset"], input[type="submit"] {
	cursor: pointer;
	-webkit-appearance: button;
}

/* apply a natural box layout model to all elements - Paul Irish */
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

textarea {
	overflow: auto;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* ******************************************
 Custom Styles
 ****************************************** */

/*	  For details on font-size:100% see here:
 http://filamentgroup.com/lab/how_we_learned_to_leave_body_font_size_alone/

 For details on line-height:1 see here:
 http://meyerweb.com/eric/thoughts/2008/05/06/line-height-abnormal/

 For details on text-size-adjust:100% see here:
 https://developer.mozilla.org/en-US/docs/CSS/text-size-adjust
 */

html {
	font-size: 100%;
	line-height: 1;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

body {
	font-family: "Trebuchet MS", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", sans-serif;
	background-color: #333;
}

/** Convenience **/
.important {
	color: #FF0000;
}
.clear {
	clear: both;
	height: 0;
	overflow: hidden;
	line-height: 0;
	font-size: 0;
}
.right {
	float: right;
}
.left {
	float: left;
}
.center {
	text-align: center;
}
.none {
	display: none;
}
.unselectable, .unselectable * {
	-moz-user-select: none;
	-khtml-user-select: none;
}
.inactive-content {
	position: absolute !important;
	left: -625em !important;
	top: -625em !important;
	visibility: hidden !important;
}
.an-shim {
	position: absolute;
	visibility: hidden;
	left: 0;
	top: 0;
	overflow: hidden;
}
.an-ie .an-shim {
	filter: alpha(opacity=0);
}
.an-repaint {
	zoom: 1;
	background-color: transparent;
	-moz-outline: none;
}
.browser-alert {
	font-size: 123.1%;
	color: #FF0000;
}

#container-content {
	height: 100%;
}

div.ng-scope {
	height: 100%;
}

#calculator {
	height: 100%; /* 40.625em; */
	/* width: 31.375em; */
	width: 100%;
	background-color: #D3D3D3;
	border: 0.0625em solid #999;
	border-radius: .75em;
	/*margin: 1.875em auto;*/
	padding-top: 0.625em;
	padding-left: .75em;
	padding-right: .75em;
}

.circle {
	border-radius: 50%;
	width: 1.5625em;
	height: 1.5625em;
	/* width and height can be anything, as long as they're equal */
}
/* Mac OS X interface */
.border {
	float: left;
	height: 0.40625em;
	width: 0.40625em;
	margin-left: .25em;
}
#red, #yellow, #green {
	height: 1.1em;
	width: 1.1em;
}
.aqua, .border, #red, #yellow, #green, #grey-border, #grey, #grey-aqua, #black, #sizebar, #radio, #radio-hole {
	-webkit-border-radius: 3.125em;
	-moz-border-radius: 3.125em;
	border-radius: 3.125em;
}

/* Mac OS Traffic Light nav */
/*
 #topnav {
 width: 100%;
 height: 3.25em;
 border-top: 0.0625em solid #DCDCDC;
 border-bottom: 0.0625em solid #515151;
 background-color: #cfcfcf;
 background-image: -webkit-linear-gradient(#cfcfcf, #a8a8a8);
 background-image: -moz-linear-gradient(#cfcfcf, #a8a8a8);
 background-image: -ms-linear-gradient(#cfcfcf, #a8a8a8);
 background-image: NaN;
 background-image: linear-gradient(#cfcfcf, #a8a8a8);
 background-repeat: no-repeat;
 position: absolute;
 z-index: 10;
 }

 .traffic {
 margin-top: 0.1875em;
 position: absolute;
 top: 0;
 width: 100%;
 height: 3.125em;
 }
 */
#red {
	/*	border-top: 0.125em solid #7a3335;
	 border-left: 0.0625em solid #ad2832;
	 border-right: 0.0625em solid #ad2832;
	 border-bottom: 0.0625em solid #c9898b;
	 */
	border-top: 2px solid #7a3335;
	border-left: 1px solid #ad2832;
	border-right: 1px solid #ad2832;
	border-bottom: 1px solid #c9898b;
	background-color: #B71F1D;
	background-image: -webkit-linear-gradient(#d40c22, #ff0a22 30%, #ffb8b9);
	background-image: -moz-linear-gradient(#d40c22, #ff0a22 30%, #ffb8b9);
	background-image: -o-linear-gradient(#d40c22, #ff0a22 30%, #ffb8b9);
	background-image: linear-gradient(#d40c22, #ff0a22 30%, #ffb8b9);
	background-repeat: no-repeat;
}
.aqua {
	/*	height: 0.25em;
	 width: 0.016em;
	 margin-top: 0;
	 margin-left: 0.5em;
	 */
	height: 4px;
	width: 6px;
	margin-top: 0;
	margin-left: 5px;
	background-color: rgba(255, 255, 255, 0.65);
	background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0));
	background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0));
	background-image: -o-linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0));
	background-image: linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0));
	background-repeat: no-repeat;
}
#yellow {
	border-top: 2px solid #a62e2b;
	border-left: 1px solid #c96d1d;
	border-right: 1px solid #c96d1d;
	border-bottom: 1px solid #c29d60;
	background-color: #D25E2D;
	background-image: -webkit-linear-gradient(#be4415, #e98a2b 30%, #fdf076);
	background-image: -moz-linear-gradient(#be4415, #e98a2b 30%, #fdf076);
	background-image: -o-linear-gradient(#be4415, #e98a2b 30%, #fdf076);
	background-image: linear-gradient(#be4415, #e98a2b 30%, #fdf076);
	background-repeat: no-repeat;
}
#green {
	border-top: 2px solid #3b742d;
	border-left: 1px solid #498B3d;
	border-right: 1px solid #498B3d;
	border-bottom: 1px solid #88b36e;
	background-color: #559D35;
	background-image: -webkit-linear-gradient(#2f821f, #53a540 30%, #c3f089);
	background-image: -moz-linear-gradient(#2f821f, #53a540 30%, #c3f089);
	background-image: -o-linear-gradient(#2f821f, #53a540 30%, #c3f089);
	background-image: linear-gradient(#2f821f, #53a540 30%, #c3f089);
	background-repeat: no-repeat;
}
.border {
	float: left;
	/* height: 1.875em;
	 width: 1.875em; */
	height: 1.1em;
	width: 1em;
	margin-left: 0.5em;
	-webkit-box-shadow: 0;
	-moz-box-shadow: 0;
	box-shadow: 0;
}
#title {
	float: left;
	text-align: center;
	width: 100%;
	position: relative;
	top: -.5em;
	color: #333;
	font-weight: 300;
	font-size: 1.5em;
	text-shadow: 0 1px 0 #D3D3D3;
}

/*
 h1 {
 width: 100%;
 color: #333;
 font-weight: 300;
 margin: 0 0 0.625em 0.625em;
 text-align: center;
 }
 */
#display {
	text-decoration: none;
	font: inherit;
	background-color: #F0FACA;
	width: 92.44%; /* 440px; 417.2px after box sizing */
	height: 20%; /* 7.25em; /*100px; 77.2px after box sizing */
	margin: 3em auto 1em;
	-webkit-border-radius: 0.5em;
	-moz-border-radius: 0.5em;
	-o-border-radius: 0.5em;
	border-radius: 0.5em;
}

.screen {/* trbl (top, right, bottom, left) */
	-webkit-box-shadow: 0 -0.375em 0.3125em rgba(160,160,160,.8), 0.016em 0 0.3125em rgba(234,234,234,.8), 0 0.016em 0.3125em rgba(250,250,250,.8), -0.375em 0 0.3125em rgba(234,234,234,.8);
	-moz-box-shadow: 0 -0.375em 0.3125em rgba(160,160,160,.8), 0.016em 0 0.3125em rgba(234,234,234,.8), 0 0.016em 0.3125em rgba(250,250,250,.8), -0.375em 0 0.3125em rgba(234,234,234,.8);
	box-shadow: 0 -0.375em 0.3125em rgba(160,160,160,.8), 0.016em 0 0.3125em rgba(234,234,234,.8), 0 0.016em 0.3125em rgba(250,250,250,.8), -0.375em 0 0.3125em rgba(234,234,234,.8);
	border: 1px solid #B2B797;
	color: #333;
	text-shadow: 1px 1px 1px #fff;
}

.resultInput {
	text-align: right;
	font-size: 1.5em;
	width: 90%;
	background-color: #F0FACA;
	border: none;
	margin: 5px auto 10px;
}

#kb {
	width: 100%;
	height: 60%;
	min-height: 357px;
	line-height: 2;
	font-size: 1.5em;
}

#col_1-3 {
	width: 50%;
	height: 100%;
	min-height: 350px;
	line-height: 2;
	float: left;
}

#c1, #c2 {
	width: 50%;
	height: 83.33%;
	float: left;
	padding: 0 5px; /* horizontal only */
}

div.btn_frame1-2 {
	width: 100%;
	height: 20%;
	padding: 3px 0;
}

#c1 > button, #c2 > button {
	width: 100%;
	height: 100%;
}

#c3 {
	width: 100%;
	height: 16.777%;
	float: left;
	padding: 0 5px; /* horizontal only */
}

div.btn_frame3 {
	width: 100%;
	height: 100%;
	padding: 3px 0;
}

#c3 > button {
	height: 100%;
}

#col_4-5 {
	width: 50%;
	height: 66.666%;
	min-height: 231px;
	line-height: 2;
	float: right;
}

#c4, #c5 {
	width: 50%;
	height: 100%;
	float: right;
	padding: 0 5px; /* horizontal only */
}

div.btn_frame4-5 {
	width: 100%;
	height: 25%;
	padding: 3px 0;
}

#c4 > button, #c5 > button {
	width: 100%;
	height: 100%;
}

#col_6-7 {
	width: 50%;
	height: 33.333%;
	float: right;
}

#c6, #c7 {
	width: 50%;
	height: 100%;
	float: right;
	padding: 0 5px; /* horizontal only */
}

div.btn_frame6 {
	width: 100%;
	height: 100%;
	line-height: 4.4;
	padding: 3px 0;
}

#c6 > button {
	height: 100%;
	line-height: 4;
}

div.btn_frame7 {
	width: 100%;
	height: 50%;
	padding: 3px 0;
}

#c7 > button {
	height: 100%;
}

button {
	width: 100%;
	float: inherit;
	text-decoration: none;
	font: inherit;
	/* margin-top: 0.3125em; */
	color: white;
	text-shadow: 0 -0.0625em 0.0625em rgba(0,0,0,.3);
	-webkit-box-shadow: 0 0.0625em 0.125em rgba(0,0,0,.5), inset 0 0.0625em 0.0625em rgba(255,255,255,.5);
	-moz-box-shadow: 0 0.0625em 0.125em rgba(0,0,0,.5), inset 0 0.0625em 0.0625em rgba(255,255,255,.5);
	-o-box-shadow: 0 0.0625em 0.125em rgba(0,0,0,.5), inset 0 0.0625em 0.0625em rgba(255,255,255,.5);
	box-shadow: 0 0.0625em 0.125em rgba(0,0,0,.5), inset 0 0.0625em 0.0625em rgba(255,255,255,.5);
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/*
 button.left {
 margin-left: 0.28125em;
 }

 button.right {
 margin-right: 0.28125em;
 }
 */
.standard, .tall, .wide {
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	-o-border-radius: 8px;
	border-radius: 8px;
	/*padding: 5px 10px;
	 padding-top: 5px; */
	width: 100%;
}

.standard {
	/* min-width: 3.375em;
	 height: 1.9375em; */
}

.tall {
	line-height: 3.5;
	height: 31%;
	/* min-width: 3.375em; */
	/* height: 4.1875em;
	 padding-top: 4.5em;
	 margin-right: 0.5em;
	 margin-left: 0; */
}

.wide {
	height: 100%;
	width: 100%;
	/* min-width: 7.09375em;
	 height: 1.9375em;
	 margin-left: 0; */
}

.key {
	background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#fafafa), to(#ccc));
	background-image: -moz-linear-gradient(0% 100% 90deg, #ccc, #fafafa);
	background-color: #ccc;
	border: 1px solid #A6A6A6;
	color: #333;
	text-shadow: 1px 1px 1px #fff;
	/*padding: 3px 0; */
	height: 100%
}

.key:hover, .key:focus {
	background: #eee;
	color: #333;
}

.key:active {
	background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#BCBCBC), to(#FCFCFC));
	background-image: -moz-linear-gradient(0% 100% 90deg, #FCFCFC, #BCBCBC);
	background-color: #BCBCBC;
	color: #555;
}

/* ******************************************
 Media Queries for screen wider than 40em (640px)
 ****************************************** */

@media screen and (min-width: 40em) {

	body {
		font-size: 100%;
	}
	#container-content {
		height: 52em;
		width: 40em;
		margin-left: auto;
		margin-right: auto;
	}
	
	.resultInput {
		margin-top: 1em;
		font-size: 2em;
	}
	
	#kb {
		font-size: 2em;
		height: 70%;
	}

}
