@media  screen {
	.cell {
		border-style: none;
		color: black;
		background: white;
		font-family: verdana;
	}
	.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 {
		font-weight: bold;
		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;
		text-align: center;
		cursor: pointer;
	}
	.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;
		display: none;
	}
	#keypadIcon {
		text-align: center;
		float: left;
	}
	#keypadNext {
		display: none;
	}
	#keypadPrevious {
		display: none;
	}
}

/*
Default sized screens
*/
@media  screen and (min-width: 0px) {
	#tabletOrientationWarning {
		display: none;
	}
	.bl {
		border-left-width: 3px;
	}
	.cl {
		border-left-width: 1px;
	}
	.bt {
		border-top-width: 3px;
	}
	.ct {
		border-top-width: 1px;
	}
	.gridCellCandidateContainer, .gridCellInputContainer {
		width: 39px;
		height: 39px;
	}
	#grid {
		margin-right: 20px;
		margin-bottom: 10px;
	}
	.gridCellValue {
		width: 39px;
		height: 39px;
		line-height: 39px;
		font-size: 14pt;
	}
	.gridRowLabel {
		width: 20px;
		height: 39px;
		line-height: 39px;
		font-size: 9pt;
	}
	.gridColumnLabel {
		width: 39px;
		height: 24px;
		line-height: 24px;
		font-size: 9pt;
	}
	.gridCellCandidate {
		height: 13px;
		line-height: 13px;
		width: 13px;
		font-size: 7pt;
	}
	.keypadItem {
		height: 24px;
		width: 24px;
		line-height: 24px;
		font-size: 14px;
		margin-left: 5px;
	}
	#keypadContainer {
		margin-left: 24px;
	}
	#keypadIcon {
		line-height: 20px;
	}
}

/* Tablet  portrait (iPad) */
@media  screen and (min-width : 600px) and (max-width : 768px) and
	(orientation: portrait) {
	#tabletOrientationWarning {
		display: block;
		color: red;
		font-weight: bold;
		font-size: 14px;
	}
}

@media  screen and (max-width : 1024px) and (max-height : 600px) {
	#tabletOrientationWarning {
		display: none;
	}
	.bl {
		border-left-width: 3px;
	}
	.cl {
		border-left-width: 1px;
	}
	.bt {
		border-top-width: 3px;
	}
	.ct {
		border-top-width: 1px;
	}
	.gridCellCandidateContainer, .gridCellInputContainer {
		width: 45px;
		height: 45px;
	}
	#grid {
		margin-right: 0px;
		margin-bottom: 10px;
	}
	.gridCellValue {
		width: 45px;
		height: 45px;
		line-height: 45px;
		font-size: 17pt;
	}
	.gridRowLabel {
		width: 20px;
		height: 45px;
		line-height: 45px;
		font-size: 11pt;
	}
	.gridColumnLabel {
		width: 45px;
		height: 24px;
		line-height: 24px;
		font-size: 11pt;
	}
	.gridCellCandidate {
		height: 15px;
		line-height: 15px;
		width: 15px;
		font-size: 8pt;
	}
	#keypadContainer {
		margin-left: 0px;
	}
	.keypadItem {
		height: 33px;
		width: 33px;
		line-height: 33px;
		font-size: 16px;
		margin-left: 5px;
	}
	#keypadIcon {
		line-height: 32px;
	}
}

@media  screen and (max-width : 1024px) and (min-height : 601px) and
	(max-height : 768px) and (orientation: landscape) {
	#tabletOrientationWarning {
		display: none;
	}
	.bl {
		border-left-width: 3px;
	}
	.cl {
		border-left-width: 1px;
	}
	.bt {
		border-top-width: 3px;
	}
	.ct {
		border-top-width: 1px;
	}
	.gridCellCandidateContainer, .gridCellInputContainer {
		width: 48px;
		height: 48px;
	}
	#grid {
		margin-right: 0px;
		margin-bottom: 10px;
	}
	.gridCellValue {
		width: 48px;
		height: 48px;
		line-height: 48px;
		font-size: 18pt;
	}
	.gridRowLabel {
		width: 20px;
		height: 48px;
		line-height: 48px;
		font-size: 11pt;
	}
	.gridColumnLabel {
		width: 48px;
		height: 24px;
		line-height: 24px;
		font-size: 11pt;
	}
	.gridCellCandidate {
		height: 16px;
		line-height: 16px;
		width: 16px;
		font-size: 9pt;
	}
	#keypadContainer {
		margin-left: 0px;
	}
	.keypadItem {
		height: 36px;
		width: 36px;
		line-height: 36px;
		font-size: 16px;
		margin-left: 5px;
	}
	#keypadIcon {
		line-height: 32px;
	}
}

/*
Middle sized screens
*/
@media  screen and (min-width:1280px) {
	#tabletOrientationWarning {
		display: none;
	}
	.bl {
		border-left-width: 4px;
	}
	.bt {
		border-top-width: 4px;
	}
	.gridCellCandidateContainer, .gridCellInputContainer {
		width: 45px;
		height: 45px;
	}
	.gridCellValue {
		width: 45px;
		height: 45px;
		line-height: 45px;
		font-size: 18pt;
	}
	.gridRowLabel {
		width: 20px;
		height: 45px;
		line-height: 45px;
		font-size: 9pt;
	}
	.gridColumnLabel {
		width: 45px;
		height: 28px;
		line-height: 28px;
		font-size: 9pt;
	}
	.gridCellCandidate {
		height: 15px;
		line-height: 15px;
		width: 15px;
		font-size: 8pt;
	}
	.keypadItem {
		height: 24px;
		width: 24px;
		line-height: 24px;
		font-size: 14px;
		margin-left: 5px;
	}
	#keypadContainer {
		margin-left: 24px;
	}
	#keypadIcon {
		line-height: 20px;
	}
}

/*
Large screens
*/
@media  screen and ( min-width :1440px) {
	.gridCellValue {
		width: 48px;
		height: 48px;
		line-height: 48px;
		font-size: 19pt;
	}
	.gridRowLabel {
		width: 24px;
		height: 48px;
		line-height: 48px;
		font-size: 10pt;
	}
	.gridColumnLabel {
		width: 48px;
		height: 32px;
		line-height: 32px;
		font-size: 10pt;
	}
	.gridCellInputContainer, .gridCellCandidateContainer {
		width: 48px;
		height: 48px;
	}
	.gridCellCandidate {
		height: 16px;
		line-height: 16px;
		width: 16px;
		font-size: 8pt;
	}
	.keypadItem {
		height: 33px;
		width: 33px;
		line-height: 33px;
		font-size: 16px;
		margin-left: 5px;
		cursor: pointer;
	}
	#keypadContainer {
		margin-left: 20px;
	}
	#keypadIcon {
		line-height: 20px;
	}
}