#keyboard {
	margin: 0px auto;
	text-align: center;
	overflow: hidden;
	position : relative;
	display: block;
}

#alphKeysContainer {
	margin: 0px auto;
	text-align: center;
	display: grid;
	width: 950px;
	height: 360px;
	grid-template-columns: 	1fr 1fr 1fr 1fr
							1fr 1fr 1fr 1fr
							1fr 1fr 1fr 1fr
							1fr 1fr 1fr 1fr;
	grid-template-rows:		1fr 1fr 1fr 1fr 1fr 1fr;
	column-gap: 10px;
	row-gap: 10px;

}

@media screen and (max-width: 949px) and (min-width: 768px) {
	
	#alphKeysContainer {
		width: 768px;
		height: 285px;
		column-gap: 5px;
		row-gap: 5px;
	}
	
}

@media screen and (max-width: 767px) {
	
	#alphKeysContainer {
		width: 360px;
		height: 150px;
		column-gap: 1px;
		row-gap: 1px;
	}
	
}
	
.alphKey {
	display: inline-block;
	color: #444444;
	text-decoration: none;
	text-align: center;
	line-height: 1.6;
	margin: 0px;
	padding: 0px;
	background: rgba(239,240,242,0.8);
	-moz-border-radius: 4px;
	border-radius: 4px;
	border-top: 1px solid #f5f5f5;
	-webkit-box-shadow: 
		inset 0 0 25px #e8e8e8,
		0 1px 0 #c3c3c3,
		0 2px 0 #c9c9c9,
		0 2px 3px #333;
	-moz-box-shadow: 
		inset 0 0 25px #e8e8e8,
		0 1px 0 #c3c3c3,
		0 2px 0 #c9c9c9,
		0 2px 3px #333;
	box-shadow: 
		inset 0 0 25px #e8e8e8,
		0 1px 0 #c3c3c3,
		0 2px 0 #c9c9c9,
		0 2px 3px #333;
	text-shadow: 0px 1px 0px #f5f5f5;
	-webkit-filter: opacity(.95);
	opacity: 0.95;
	-webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: -moz-none;
    -o-user-select: none;
    user-select: none;
}

.alphKey:active, .keydown {
	color: #888;
	background: #ebeced;
	-webkit-box-shadow:
		inset 0 0 25px #ddd,
		0 0 3px #333;
	-moz-box-shadow: 
		inset 0 0 25px #ddd,
		0 0 3px #333;
	box-shadow: 
		inset 0 0 25px #ddd,
		0 0 3px #333;
	border-top: 1px solid #eee;
}
	
.alphKey:hover {
	cursor: pointer;
	-webkit-filter: opacity(1);
	opacity: 1;	
}

@media screen and (max-width: 949px) and (min-width: 768px) {
	
	.alphKey {
		line-height: 2.2;
		width: 43px;
		height: 43px;
		-moz-border-radius: 3px;
		border-radius: 3px;
		border-top: 1px solid #f5f5f5;
	}
	
	#alphKey70 {
		width: 236px;
	}
	
	#alphKey71 {
		width: 91px;
	}
	
}

@media screen and (max-width: 767px) {
	
	.alphKey {	
		line-height: 2.2;
		width: 20px;
		height: 20px;
		-moz-border-radius: 2px;
		border-radius: 2px;
		border-top: 1px solid #f5f5f5;
	}
	
	#alphKey70 {
		width: 110px;
	}
	
	#alphKey71 {
		width: 42px;
	}
	
}

.alphCharSource {
	font-family: 'Siddhanta'; 
	font-size: 30px; 
	font-weight: normal; 
	font-style: normal;
	line-height: 50px;
}

.alphCharTarget {
	font-family: 'Siddhanta'; 
	font-size: 30px; 
	font-weight: normal; 
	font-style: normal;
}

@media screen and (max-width: 949px) and (min-width: 768px) {
	
	.alphCharSource {
		font-size: 28px;
		line-height: 45px;
	}
	
	.alphCharTarget {
		font-size: 28px;
		line-height: 45px;
	}
	
}

@media screen and (max-width: 767px) {
	
	.alphCharSource {
		font-size: 12px;
		line-height: 20px;
	}
	
	.alphCharTarget {
		font-size: 12px;
		line-height: 20px;
	}
			
}

#alphTextareaContainer {
	margin: 0px auto;
	text-align: center;
	padding: 0px;
	width: 950px; 
	border: none; 
}

@media screen and (max-width: 949px) and (min-width: 768px) {
	
	#alphTextareaContainer {
		
		width: 768px; 
	}
}

@media screen and (max-width: 767px) {
	
	#alphTextareaContainer {
		
		width: 360px; 
	}
	
}

#alphTextareaSourceContainer {
	margin-bottom: 10px;
	position: relative;
}

#alphTextareaTargetContainer {
	margin-bottom: 10px;
	position: relative;
}

@media screen and (max-width: 949px) and (min-width: 768px) {
	
	#alphTextareaSourceContainer {
		margin-bottom: 5px;
	}

	#alphTextareaTargetContainer {
		margin-bottom: 5px;
	}
	
}

@media screen and (max-width: 767px) {
	
	#alphTextareaSourceContainer {
		margin-bottom: 3px;
	}

	#alphTextareaTargetContainer {
		margin-bottom: 3px;
	}
	
}

#alphTextareaSource {
	text-align: center;
	width: 100%;
	height: 60px;
	margin: 0px;
	font-size: 36px; 
	font-weight: normal; 
	font-style: normal;
	line-height: inherit;
	overflow: hidden;
	resize: none;
	box-sizing: border-box;
	background: rgba(255,255,255,0.5);
}

#alphTextareaSource:focus {
   outline: none !important;
   border: 0px solid gray;
}

@media screen and (max-width: 949px) and (min-width: 768px) {
	
	#alphTextareaSource {
		font-size: 26px;
		height: 45px;		
	}
	
}

@media screen and (max-width: 767px) {
	
	#alphTextareaSource {
		font-size: 16px;
		height: 30px;		
	}
	
}

#alphTextareaTarget {
	text-align: center;
	width: 100%;
	height: 60px;
	margin: 0px;
	font-size: 36px; 
	font-weight: normal; 
	font-style: normal;
	line-height: inherit;
	overflow: hidden;
	resize: none;
	box-sizing: border-box;
	background: rgba(255,255,255,0.5);
}

#alphTextareaTarget:focus {
   outline: none !important;
   border: 0px solid gray;
}

@media screen and (max-width: 949px) and (min-width: 768px) {
	
	#alphTextareaTarget {
		font-size: 26px;
		height: 45px;		
	}
	
}

@media screen and (max-width: 767px) {
	
	#alphTextareaTarget {
		font-size: 16px; 
		height: 30px;	
	}
	
}

#alphTextareaSourceIndicator {
	font-family: 'Source Sans Pro', sans-serif;
    font-size: 14px;
	color: rgba(0, 0, 0, 0.5);
	vertical-align: left;	
	top : 0px;
	left : 10px;
	position : absolute;
}
#alphTextareaSourceIndicator:hover { color: rgba(0, 0, 0, 0.7); cursor: pointer; }

@media screen and (max-width: 949px) and (min-width: 768px) {
		
	#alphTextareaSourceIndicator {
		top : 2px;
		font-size: 10px;
		left : 5px;
	}
	
}

@media screen and (max-width: 767px) {
	
	#alphTextareaSourceIndicator {
		top : 2px;
		font-size: 7px;
		left : 5px;
	}
	
}

#alphTextareaTargetIndicator {
	font-family: 'Source Sans Pro', sans-serif;
    font-size: 14px;
	color: rgba(0, 0, 0, 0.5);
	vertical-align: left;	
	top : 0px;
	left : 10px;
	position : absolute;
}
#alphTextareaTargetIndicator:hover { color: rgba(0, 0, 0, 0.7); cursor: pointer; }

@media screen and (max-width: 949px) and (min-width: 768px) {
	
	#alphTextareaTargetIndicator {
		top : 2px;
		font-size: 10px;
		left : 5px;
	}
}

@media screen and (max-width: 767px) {
	
	#alphTextareaTargetIndicator {
		top : 2px;
		font-size: 7px;
		left : 5px;
	}
	
}