@media screen {
	.cell {
		border-style: none;
		color: black;
		background: white;
	}
	.hintcell {
		border-style: none;
		color: #186cb3; /* blue */
		background-color: #4ebf4e; /* green */
	}
	.hintunitcell {
		border-style: none;
		color: #186cb3; /* blue */
		background-color: rgb(215, 215, 215); /* gray */
	}
	.hintCandidate {
		border-radius: 50%;
		box-shadow: 0 0 0 1px yellow inset;
	}
	.hintReductionCandidate {
		border-radius: 50%;
		box-shadow: 0 0 0 1px red inset;
		background-image: linear-gradient(-45deg, transparent, transparent 45%, red, transparent
			55%, transparent);
	}
	.inputcell {
		border-style: none;
		color: #186cb3; /* blue */
		background-color: white;
	}
	.errorcell {
		border-style: none;
		color: #186cb3; /* blue */
		background-color: rgb(255, 198, 226); /* light red */
	}
	.errordigit {
		border-style: none;
		color: red;
		background-color: rgb(255, 198, 226); /* light red */
	}
	.highlightcell {
		border-style: none;
		background-color: #fff599
	}
	.gridCell {
		float: left;
		border-color: blue;
		padding: 0px;
		outline: none;
	}
	.gridCellCandidateContainer, .gridCellInputContainer {
		background: transparent;
		border: 0px;
		padding: 0px;
	}
	#grid {
		float: left;
	}

	.gridLabel {
		text-decoration: none;
		text-align: center;
		color: white;
	}

	#gridRowLabelHeader {
		height:1px; 
		float:left;
	}

	.gridColumnLabel, #gridRowLabels {
		float: left;
	} 

	.gridCellValue {
		border: 0px;
		float: left;
		text-align: center;
		background: transparent;
	}
	.gridCellCandidate {
		border: 0px;
		padding: 0px;
		float: left;
		color: black;
		outline: none;
		cursor: pointer;
		text-align: center;
	}
	.border {
		border-color: #194972;
		border-style: solid;
		border-width: 0px;
	}
	.bl {
		border-left-width: 3px;
	}
	.cl {
		border-left-width: 1px;
	}
	.bt {
		border-top-width: 3px;
	}
	.ct {
		border-top-width: 1px;
	}
	.keypadItem {
		float: left;
		text-align: center;
		border: 1px outset white;
		color: #000;
		background: lightgray;
	}
	.keypadItem:active {
		background: white;
		color: black;
	}
	.keypadItem:focus {
		outline: none;
	}
	#keypadContainer {
		float: left;
	}
	#keypadIcon {
		text-align: center;
		float: left;
	}
}

@media screen and (min-width: 320px) {
	.gridCellCandidateContainer, .gridCellInputContainer {
		width: 30px;
		height: 30px;
	}
	.gridCellValue {
		width: 30px;
		height: 30px;
		line-height: 30px;
		font-size: 1.2em;
	}
	.gridRowLabel {
		width: 15px;
		height: 30px;
		line-height: 30px;
		font-size: 0.7em;
		font-weight: bold;
	}
	.gridColumnLabel {
		width: 30px;
		height: 20px;
		line-height: 20px;
		font-size: 0.7em;
		font-weight: bold;
	}
	.gridCellCandidate {
		height: 10px;
		line-height: 10px;
		width: 10px;
		font-size: 0.6em;
	}
	.keypadItem {
		height: 30px;
		width: 28px;
		margin-right: 2px;
		line-height: 30px;
		margin-top: 5px;
		font-size: 1em;
	}
}

@media screen and (min-width: 360px) {
	.gridCellCandidateContainer, .gridCellInputContainer {
		width: 33px;
		height: 33px;
	}
	.gridCellValue {
		width: 33px;
		height: 33px;
		line-height: 33px;
		font-size: 1.3em;
	}
	.gridRowLabel {
		width: 15px;
		height: 33px;
		line-height: 33px;
		font-size: 0.8em;
	}
	.gridColumnLabel {
		width: 33px;
		height: 20px;
		line-height: 20px;
		font-size: 0.8em;
	}
	.gridCellCandidate {
		height: 11px;
		line-height: 11px;
		width: 11px;
		font-size: 0.65em;
	}
	.keypadItem {
		height: 33px;
		width: 32px;
		margin-right: 2px;
		line-height: 33px;
		margin-top: 5px;
		font-size: 1.1em;
	}
}

@media screen and (min-width: 375px) {
	.gridCellCandidateContainer, .gridCellInputContainer {
		width: 36px;
		height: 36px;
	}
	.gridCellValue {
		width: 36px;
		height: 36px;
		line-height: 36px;
	}
	.gridRowLabel {
		width: 15px;
		height: 36px;
		line-height: 36px;
	}
	.gridColumnLabel {
		width: 36px;
		height: 20px;
		line-height: 20px;
	}
	.gridCellCandidate {
		height: 12px;
		line-height: 12px;
		width: 12px;
	}
	.keypadItem {
		height: 36px;
		width: 34px;
		margin-right: 2px;
		line-height: 36px;
		margin-top: 5px;
	}
}

@media screen and (min-width: 410px) {
	.gridCellCandidateContainer, .gridCellInputContainer {
		width: 39px;
		height: 39px;
	}
	.gridCellValue {
		width: 39px;
		height: 39px;
		line-height: 39px;
	}
	.gridRowLabel {
		width: 20px;
		height: 39px;
		line-height: 39px;
	}
	.gridColumnLabel {
		width: 39px;
		height: 25px;
		line-height: 25px;
	}
	.gridCellCandidate {
		height: 13px;
		line-height: 13px;
		width: 13px;
	}
	.keypadItem {
		height: 39px;
		width: 37px;
		margin-right: 2px;
		line-height: 39px;
		margin-top: 5px;
	}
}