
* {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	cursor: default;
}

body {
	margin: 0;
	font-family: 'Open Sans', sans-serif;
	background-color: #222;
	color: #fafafa;
}

h1 {
	display: block;
	width: 100%;
	padding: 0;
	text-align: center;
	font-weight: 400;
	color: #aaa;
	font-size: 1.5em;
	margin-top: 30px;
}

#ocd-tip {
	display: block;
	margin: 30px auto 0 auto;
	padding: 20px;
	width: 300px;
	height: 420px;
	border-radius: 20px;
	background: #45484d; /* Old browsers */
	background: -moz-linear-gradient(top,  #45484d 0%, #000000 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#45484d), color-stop(100%,#000000)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  #45484d 0%,#000000 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  #45484d 0%,#000000 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  #45484d 0%,#000000 100%); /* IE10+ */
	background: linear-gradient(to bottom,  #45484d 0%,#000000 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#45484d', endColorstr='#000000',GradientType=0 ); /* IE6-9 */
	box-shadow: inset 0 1px 0 #666, 0 10px 20px #000;
}

#ocd-tip > table {
	width: 100%;
	border-collapse: collapse;
}

#ocd-tip td {
	padding: 4px;
}

.secondary > td {
	color: #777;
}

.currency,
.right {
	text-align: right;
}

label {
	font-weight: 800;
}

label > em {
	display: block;
	clear: both;
	font-size: .8em;
	font-weight: 400;
}

input {
	background-color: #000;
	padding: 10px;
	font-size: 1.5em;
	color: #9FF;
	border: none;
	border-radius: 4px;
	width: 100px;
	margin-left: 5px;
}

input:focus {
	outline-color: #9FF;
	-webkit-user-modify: read-write-plaintext-only;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input.crappy-tip {
	color: #e00;
}

button {
	background: #e5e5e5; /* Old browsers */
	background: -moz-linear-gradient(top,  #e5e5e5 0%, #ffffff 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e5e5e5), color-stop(100%,#ffffff)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  #e5e5e5 0%,#ffffff 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  #e5e5e5 0%,#ffffff 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  #e5e5e5 0%,#ffffff 100%); /* IE10+ */
	background: linear-gradient(to bottom,  #e5e5e5 0%,#ffffff 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e5e5e5', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
	color: #444;
	padding: 10px;
	font-size: 1.2em;
	border: none;
	border-radius: 4px;
	box-shadow: inset 0 1px 0 #fff;
	width: 100%;
	cursor: pointer;
}

button:active {
	background: #d3d3d3; /* Old browsers */
	background: -moz-linear-gradient(top,  #d3d3d3 0%, #ffffff 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#d3d3d3), color-stop(100%,#ffffff)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  #d3d3d3 0%,#ffffff 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  #d3d3d3 0%,#ffffff 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  #d3d3d3 0%,#ffffff 100%); /* IE10+ */
	background: linear-gradient(to bottom,  #d3d3d3 0%,#ffffff 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d3d3d3', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
	cursor: pointer;
}

button:focus {
	outline: none;
	box-shadow: inset 0 1px 0 #fff, 0 0 10px #9FF;
}

#btn-calc {
	background: #f9c667; /* Old browsers */
	background: -moz-linear-gradient(top,  #f9c667 0%, #f79621 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f9c667), color-stop(100%,#f79621)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  #f9c667 0%,#f79621 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  #f9c667 0%,#f79621 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  #f9c667 0%,#f79621 100%); /* IE10+ */
	background: linear-gradient(to bottom,  #f9c667 0%,#f79621 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f9c667', endColorstr='#f79621',GradientType=0 ); /* IE6-9 */
	color: #111;
	text-shadow: 0 1px 0 #fadeab;
}

#btn-calc:hover {
	background: #f2d091; /* Old browsers */
	background: -moz-linear-gradient(top,  #f2d091 0%, #f79621 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f2d091), color-stop(100%,#f79621)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  #f2d091 0%,#f79621 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  #f2d091 0%,#f79621 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  #f2d091 0%,#f79621 100%); /* IE10+ */
	background: linear-gradient(to bottom,  #f2d091 0%,#f79621 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f2d091', endColorstr='#f79621',GradientType=0 ); /* IE6-9 */
}

#btn-calc:active {
	background: #f4ba4e; /* Old browsers */
	background: -moz-linear-gradient(top,  #f4ba4e 0%, #f79621 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f4ba4e), color-stop(100%,#f79621)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  #f4ba4e 0%,#f79621 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  #f4ba4e 0%,#f79621 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  #f4ba4e 0%,#f79621 100%); /* IE10+ */
	background: linear-gradient(to bottom,  #f4ba4e 0%,#f79621 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4ba4e', endColorstr='#f79621',GradientType=0 ); /* IE6-9 */
	box-shadow: inset 0 1px 2px #f79621;
}

#result {
	border-bottom: 1px solid rgba(255,255,255,.05);
	height: 20px;
}

#meal-row > td {
	padding-top: 20px;
}

#total {
	font-weight: 800;
}

#tip-row > td {
	padding-bottom: 20px;
}

#out-tip {
	font-weight: 800;
	/*outline: 1px solid #333;*/
	color: #f79621;
}

#out-tip.glow {
	font-size: 2em;
	padding-bottom: 0;
}

#tip-rating {
	position: relative;
}

.icon-thumbs-down:before {
	color: #e00;
}

.icon-thumbs-up:before {
	color: #0e0;
}

.icon-thumbs-down:before,
.icon-thumbs-up:before {
	font-size: .8em;
	display: block;
	position: absolute;
	animation: rating .3s linear;
	animation-fill-mode: both;
	-webkit-animation: rating .3s linear;
	-webkit-animation-fill-mode: both;
	top: 6px;
	left: 2px;
}

@keyframes rating {
	0% {
		font-size: .6em;
	}
	
	75% {
		font-size: 1.2em;
	}
	
	100% {
		font-size: .8em;
	}
}

@-webkit-keyframes rating {
	0% {
		font-size: .6em;
	}
	
	75% {
		font-size: 1.2em;
	}
	
	100% {
		font-size: .8em;
	}
}
		

@media only screen and (max-width: 480px) {
	
	body {
		overflow-x: hidden;
	}
	
	h1 {
		position: absolute;
		font-size: 1em;
		background-color: #000;
		margin: 0;
		padding: 4px 0;
		top: 0;
		left: 0;
		right: 0;
		height: 30px;
	}
	
	#ocd-tip {
		position: absolute;
		margin: 0;
		top: 30px;
		left: 0;
		right: 0;
		bottom: 0;
		overflow: auto;
		border-radius: 0;
		width: auto;
		height: auto;
	}
}