@media print {
	html {
		min-height: 100%;
	}
	* {
		margin: 0;
		padding: 0;
	}
	
	body {
		color: black;
		background: white;
		font-family: Verdana;
		font-size: 10pt;
	}
	
	#tabletOrientationWarning {
		display: none;
	}
	
	#container {
		background: white;
		border: 1px solid white !important;
	}
	
	.blue-box {
		background: white;
		border: 1px solid white !important;
	}

	#solverHeader {
		display:none;
		height: 0px;		
	}
	
	#keypadContainer {
		height: 0px;
		display: none;
	}
	
	#functionContainer {
		display: none;
		height: 0px;
	}
	
	.white-box {
		display: none;
		height: 0px;
	}

	#footer {
		height: 0px;
		display: none;
	}
	
	.tipsy {
		display: none;
	}
		
	.mobileFooterAd, #desktopFooterAd {
		display: none;
		height: 0px;	
	} 	
	
	#RHSAd {
		display: none;
		height: 0px;
	}
	
	/* --------------------------------------------------------------------------------
	Puzzle
	----------------------------------------------------------------------------------*/
	.bl {
		border-left: 3pt solid black;
	}
	.bt {
		border-top: 3pt solid black;
	}
	.cl {
		border-left: 1pt solid black;
	}
	.ct {
		border-top: 1pt solid black;
	}
	.gridLabel {
		font-weight: bold !important;
		text-shadow: none;
		border-color: transparent !important;
		color: gray;
		text-align: center;
	}
	
	#gridRowLabelHeader {
		height:1px; 
		float:left;
	}

	#gridRowLabels {
		float: left;
	} 


	.gridRowLabel {
		width: 30pt;
		height: 51pt;
		line-height: 51pt;
		font-size: 15pt;
	}
	.gridColumnLabel {
		width: 51pt;
		height: 30pt;
		line-height: 30pt;
		font-size: 15pt;
		float:left;
	}
	.gridCell {
		float: left;
		box-sizing: content-box;
		line-height: 51pt;
		width: 51pt;
		height: 51pt;
	}
	.gridCellInputContainer, .gridCellCandidateContainer {
		float: left;
		box-sizing: content-box;
		width: 51pt;
		height: 51pt;
		border-style: none;
	}
	.gridCellCandidate {
		float: left;
		-webkit-appearance: caret;
		font-weight: 600;
		text-shadow: none;
		color: gray;
		height: 17pt;
		line-height: 17pt;
		width: 17pt;
		font-size: 10pt;
	}
	.gridCellValue {
		box-sizing: content-box;
		color:black;
		border-style: none;
		font-weight: 600;
		text-align: center;
		text-shadow: none;
		width: 51pt;
		height: 51pt;
		line-height: 51pt;
		font-size: 20pt;
	}
	
	#grid {
		text-align: center;
		border: 3pt solid black;
		float: left;
	}

	#samplePuzzle {
		font-size: 18pt;
		width: 100%;
		color: black;
		text-align: center;
		margin-bottom : 20pt;
	}
}a.menuItem {
	color: black;
	text-decoration: none;
	font-weight: normal;
}

a.menuItem:hover {
	color: red;
}

#closeSiteMenuItem, #closeUserMenuItem {
	font-weight: bold;
	cursor: pointer;
}

div.menuItemLarge {
	font-size: 11pt;
	line-height: 11pt;
	padding-left: 5pt;
	padding-top: 11pt;
}

div.menuItemSmall {
	font-size: 10pt;
	line-height: 10pt;
	padding-left: 20pt;
	padding-top: 7pt;
}

#pageHeader {
	width: 100%;
	display: inline-block;
}

#pageHeaderTitle {
	color: white;
	text-align: center;
	width: 100%;
}

#siteMenuIcon, #userIcon, #commentIcon, #preferencesIcon, #communityIcon {
	color: white;
	cursor: pointer;
}

#pageHeaderLHSContainer, #pageHeaderTitleContainer,
	#pageHeaderRHSContainer {
	float: left;
	display: inline-block;
}

.pageHeaderLHSItem {
	float: left;
	display: inline-block;
}

.pageHeaderRHSItem {
	float: left;
	width: 33%;
	display: inline-block;
}

#siteMenuDropDown {
	background-color: white;
	color: black;
	border: 1px solid black;
	position: absolute;
	display: none;
	z-index: 999;
	text-align: Left;
	float: left;
	width: 150pt;
}

#userMenuDropDown {
	background-color: white;
	color: black;
	border: 1px solid black;
	position: absolute;
	display: none;
	z-index: 999;
	text-align: Left;
	float: left;
	width: 90px;
}

/*
Media Breakpoints
*/
@media only screen and (min-width: 320px) {
	#pageHeaderLHSContainer, #pageHeaderRHSContainer {
		width: 20%;
	}
	#pageHeaderTitleContainer {
		width: 60%;
	}
	.pageHeaderItem {
		font-size: 22px;
		line-height: 22px;
	}
	#solverHeader {
		padding-left: 10px;
		padding-right: 10px;
		padding-bottom: 10px;
	}
	#solverHeader #pageHeaderLHSContainer {
		width: 10%;
	}
	#solverHeader #pageHeaderRHSContainer {
		width: 30%;
	}
	#solverHeader #pageHeaderTitleContainer {
		width: 60%;
	}
	#solverHeader #pageHeaderTitle {
		color: #EECD66;
		font-size: 20px;
	}
}

@media only screen and (min-width: 360px) {
	.pageHeaderItem {
		font-size: 24px;
		line-height: 24px;
	}
	#solverHeader #pageHeaderTitle {
		font-size: 22px;
	}
}

@media only screen and (min-width: 375px) {
	.pageHeaderItem {
		font-size: 26px;
		line-height: 26px;
	}
	#solverHeader #pageHeaderTitle {
		font-size: 24px;
	}
}

@media only screen and (min-width: 410px) {
	.pageHeaderItem {
		font-size: 28px;
		line-height: 28px;
	}
	#solverHeader #pageHeaderTitle {
		font-size: 26px;
	}
}

@media only screen and (min-width: 1024px) {
	.pageHeaderItem {
		font-size: 30px;
		line-height: 30px;
	}
	#solverHeader #pageHeaderLHSContainer {
		width: 15%;
	}
	#solverHeader #pageHeaderRHSContainer {
		width: 15%;
	}
	#solverHeader #pageHeaderTitleContainer {
		width: 70%;
	}
	#solverHeader  #pageHeaderTitle {
		text-align: center;
		color: white;
		font-size: 28px;
	}
}@media screen {

	.popupDialog {
		color: #fff;
		background-color: #194972;
		text-align:left;
		font-family: verdana;
		font-size: 0.96em;
	}
		
	.popupErrorDialog {
		border: 1px solid #ef3d47 !important;
	}
	
	.noDisplay {
		display: none;
	}
	
	.popupDialogContent>a {
		text-decoration: underline !important;
	}
	
	.popupDialogTitle {
		text-align: center;
		padding: 10px;
		font-weight: bold;
		font-size: 1.4em;
	}

	/* */
	.ui-dialog .ui-widget-content {
    	border: none;
    	padding: 5px;
  }
	
	.ui-dialog .ui-dialog-buttonpane {
    	text-align: center;
	}
	
	.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
    	float: none;
	}
	
	.ui-button {
		padding: 0.3em;
	}
}a.fb_FAQButton {
	cursor: pointer;
	color: #fff;
	text-decoration: underline;
	margin-left: 20px;
}

.fb_FAQContent {
	display: none;
	margin-left:30px;
	margin-top: 5px;
	margin-bottom: 20px;
}

#fb_comment {
	background-color: #f6f6f6;
	color: gray;
	margin-left:20px;
	padding: 5px;
}

.fb_subTitle {
	margin-bottom:5px;	
	margin-top:20px;	
}#popupCommunity .functionButton {
	color: #000;
	background: lightgray;
	font-size: 1em;
	width:100%;
}

#userLogin, #userRegister {
	margin-top: 10px;
}.preferenceslegend {
	color: #fff;
	font-weight: bold;
	margin-top: 1.4em;
	margin-bottom: 0.6em;
}

.preferencesBlock {
	float: left;
	text-align: left;
	width: 50%;
}

/*
 * Checkbox labels
 */
#popupPreferences label {
	padding-left: 0.2em;
	color: white;
}

/* Styling for tabs header */
.ui-tabs .ui-tabs-nav {
	background: transparent;
    border: none;
    border-bottom: 1px solid white;
    /* Ensure line under tabs is cleanly drawn */
    padding: 0px;	
}


.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header {
    border: 1px solid white;
    border-bottom: 1px solid #194972;; 
    background: #194972;;
    font-weight: normal;
    color: #fff;
}

#tabs :focus {
    outline: none;
}

#tabs {
	background-color: transparent;
}

/* Styling for content area */
.ui-dialog .ui-widget-content {
   	/* padding: 0.5em; */
}


#tabs-1, #tabs-2 {
	color: white;
	text-align: left;
	height: 320px;
}
.solutionNumber {
	font-weight: bold;
	float: left;
	width: 50%;
}

.solutionText {
	float: left;
	width: 50%;
}

#solutionContainer {
	display: inline-block;
	width: 100%;
}

.solutionItem {
	border-top: 1px solid white;
	padding-top: 5px;
	padding-bottom: 5px;
	cursor: hand;
}

.solutionItem:focus {
	outline: none;
}

#popupMultipleSolutions {
	text-align: left;
}.stepNumber {
	font-weight: bold;
}


#stepContainer {
	display: inline-block;
	width: 100%;
}

.stepItem {
	border-top: 1px solid white;
	padding-top: 5px;
	padding-bottom: 5px;
	cursor: hand;
}

.stepItem:focus {
	outline: none;
}

.stepItemSegment {
	padding-top: 5px;
}

.popupViewSteps {
	text-align: left;
	background-color: #194972;
	border: 1px solid white;
	font-size: 0.9em;
}

.difficultyScale {
	border: 1px solid gray;
	padding-left: 7pt;
	font-size: 7pt;
}

#viewStepsToggleInfo {
	cursor: pointer;
	text-decoration:underline;
}

#viewStepsPopupAd {
 	width: 100%; 
 	margin-top:5px; 
 	margin-bottom:5px; 
 	text-align:center;	
}
#popupLoadPuzzle {
	text-align: left;
}

#loadIdentificationCode {
	margin-top: 5px;
	margin-right: 10px;
	margin-botton: 5px;
	padding: 5px;
	width:200px;
	font-size: 12pt;
}

#eventFindPuzzles {
	margin-top: 8px;
}

.puzzleInfo {
	cursor: pointer;
	padding: 3px 1px 3px 2px; 
}

.puzzleInfo:hover {
	background: lightgray;
}

#loadIdentificationCodeError {
	color:red
}

#resultContainerHeaderTitle {
	padding-bottom: 3px; 
}

#resultContainer {
	border: 1px solid gray;
}

#noResultsContainer {
	color: red;
}
#popupManagePuzzles {
	text-align: left;
}

.puzzleInfo {
	cursor: pointer;
	padding: 3px 1px 3px 2px; 
}

.puzzleInfo:hover {
	background: lightgray;
}

#mp_puzzleContainerHeaderTitle {
	padding-bottom: 3px; 
}

#mp_puzzlesContainer {
	border: 1px solid gray;
}

#mp_noPuzzlesContainer {
	color: red;
}
#popupHintResponse {
	text-align: left;
}

#hint_responsePopupAd {
 	width: 100%; 
 	margin-top:5px; 
 	margin-bottom:5px; 
 	text-align:center;	
}


.hint_errorMessage {
	color: red !important;
	font-weight: bold;
	margin-top:10px;
	margin-bottom:10px;
}

#hint_description {
	margin-bottom: 15px;
}

#hint_stepsContainer  {
	 display: none; 
}

.hint_stepContainer {
	border: 1px solid white;
	border-radius: 5px;
	margin-top:5px;
}

.hint_stepDescription {
	cursor: pointer;
	padding: 4px;
	color: #194972;
	background: white;
	border: 1px solid white;
	border-radius: 5px;
	margin: 0px;
}

.hint_stepExplanation {
	margin-top: 5px;
	margin-bottom: 5px;
}

.hint_stepExplanationContainer {
	display: none;
	padding: 5px;
}

.hint_stepDescriptionContract {
	pointer-events: none;
	display:none;
}

.hint_stepDescriptionExpand{
	pointer-events: none;
}

.hint_gridContainer  .gridCellInputContainer {
	    width: 24px;
	    height: 24px;
}

.hint_gridContainer  .gridCellCandidateContainer {
	    width: 24px;
	    height: 24px;
}

.hint_gridContainer  .gridCellCandidate {
	    width: 8px;
	    height: 8px;
	    line-height: 8px;
	    font-size: 7px;
}

.hint_gridContainer  .gridCellValue {
	    width: 24px;
	    height: 24px;
	    line-height: 24px;
	    font-size: 12pt;
}

.hint_gridContainer  .gridRowLabel {
	    height: 24px;
	    line-height: 24px;
	    width:18px;
	    font-size: 8pt;
}

.hint_gridContainer  .gridColumnLabel {
	    width: 24px;
	    height: 18px;
	    line-height: 18px;
	    font-size: 8pt;
}

.hint_gridContainer  .bt {
	border-top-width: 3px;
}

.hint_gridContainer  .bl {
	border-left-width: 3px;
}

.hint_gridContainer  .br  {
	border-left-width: 3px;
}

.hint_gridContainer  .bb {
	border-bottom-width: 3px;
}

#popupHintErrorResponse {
	text-align: left;
}#popupSamples {
	text-align: left;
}

#SELECTED_PUZZLE_ID {
	padding:2px;
	margin: 4px 2px;
	font-size: 1em;
	width: 90px;
	height: 24px;
}


#popupSavePuzzle {
	text-align: left;
}

#moreInfoLink {
	cursor: pointer;
	text-decoration: underline;
}

#moreInfoContent {
	display: none;
	margin-bottom: 20px;
}

#saveIdentificationCode, #saveComment  {
	margin-top: 5px;
	margin-right: 10px;
	margin-botton: 5px;
	padding: 5px;
	width: 200px;
}

#saveIdentificationCodeError {
	color:red
}#popupSavePuzzle {
	text-align: left;
}


#smp_comment  {
	margin-top: 5px;
	margin-right: 10px;
	margin-botton: 5px;
	padding: 5px;
	width: 200px;
	font-size: 12pt;
}
#popupSeedPuzzle {
	text-align: left;
}
#seedBox {
	font-family: Courier;
	font-weight: bold;
	font-size: 20px;
	padding: 0px;
	width:fit-content;
}
#popupCompletion {
	 background-repeat: no-repeat; 
	 background-size: 100% 100%;  
}

#cp_content {
	text-align:center;
}

#cp_close {
	margin-left:120px; 
	width:60px; 
	float:none; 
	background:lightgray; 
	color:black;
}