@import url(/features/puzzles/cryptosum/cryptosum.css);
.dark {
	padding-top: 3ex;
	clear: both;
}
.dark a:hover {
	font-size: 100%;
}
td {
	background-color: inherit;
}
p.byline {
	text-align: right;
	font-family: Georgia, "New York", "Times New Roman", Times, serif;
	font-style: italic;
	font-weight: bold;
	font-size: 120%;
	margin: -2ex 0 1ex 2em;
	float: right;
}

.flex-container {
	width: 100%;
	-ms-display: flex;
	-ms-flex-flow: row wrap;
	-ms-justify-content: space-evenly;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-evenly;
}

.flex-container > div {
	text-align: center;
	background: transparent;
  }
.newspaper {
  width: 100%;
  column-count: 2;
  column-width: 18em;
  column-gap: 3em;
  padding: 3ex 2em;
  margin: 0;
}
.newspaper.mt0 {
  padding-top: 0;
}
.newspaper > ul {
	margin-top: 0;
}
.newpaper li {
	-webkit-column-break-inside: avoid;
          page-break-inside: avoid;
               break-inside: avoid;
}
.newspaper p {
	margin-top: 0;
	margin-bottom: 0;
	padding-bottom: 1ex;
}
/* Tabs  */
.tabs {
	display: flex;
	flex-wrap: wrap; /* make sure it wraps */
	position: relative;
}
.tabs label {
	order: 1;	/* Put the labels first */
	display: block;
	padding: 1rem 2rem;
	margin-right: 0.2rem;
	cursor: pointer;
	color: var(--SlateBlue);
	background: LightGray;
	font-weight: bold;
	transition: background ease 0.2s;
}
.tabs .tab {
	order: 99; /* Put the tab contents last */
	flex-grow: 1;
	width: 100%;
	display: none;
	padding: 2rem;
	background: WhiteSmoke;
}
.tabs input[type="radio"] {
	display: none;
}
.tabs input[type="radio"]:checked + label {
	background: WhiteSmoke;
}
.tabs input[type="radio"]:checked + label + .tab {
	display: block;
}

/* b is for Bends tables */
table.b {
	border: 4px solid black;
	border-collapse: collapse;
}

table.b td {
	height: 2em;
	width: 2em;
	text-align: center;
	border: 1px dotted gray;
	color: gray;
}

table.b td.t {
	border-top: 4px solid black;
}

table.b td.r {
	border-right: 4px solid black;
}

table.b td.b {
	border-bottom: 4px solid black;
}

table.b td.l {
	border-left: 4px solid black;
}

table.b td.tr {
	border-top: 4px solid black;
	border-right: 4px solid black;
}

table.b td.tb {
	border-top: 4px solid black;
	border-bottom: 4px solid black;
}

table.b td.tl {
	border-top: 4px solid black;
	border-left: 4px solid black;
}

table.b td.rb {
	border-right: 4px solid black;
	border-bottom: 4px solid black;
}

table.b td.rl {
	border-right: 4px solid black;
	border-left: 4px solid black;
}

table.b td.bl {
	border-bottom: 4px solid black;
	border-left: 4px solid black;
}

table.b td.trb {
	border-top: 4px solid black;
	border-right: 4px solid black;
	border-bottom: 4px solid black;
}

table.b td.trl {
	border-top: 4px solid black;
	border-right: 4px solid black;
	border-left: 4px solid black;
}

table.b td.tbl {
	border-top: 4px solid black;
	border-bottom: 4px solid black;
	border-left: 4px solid black;
}

table.b td.rbl {
	border-right: 4px solid black;
	border-bottom: 4px solid black;
	border-left: 4px solid black;
}

table.b td span.red {
	background-color: red;
}

table.b td span.blu {
	background-color: blue;
}

table.b td span.grn {
	background-color: green;
}

/* c is for Cryptosum tables */
table.c td {
	border: thin solid gray;
	border-collapse: collapse;
	border-spacing: 1px;
}

table.c td {
	border: thin solid gray;
	text-align: center;
	padding: 4px 3px;
}

table.c td.void {
	border: none;
}

table.c td.sum {
	border: medium solid darkgray;
	text-align: right;
}

table.c td.badsum {
	border: medium solid gray;
	background-color: red;
	color: white;
	text-align: right;
}

table.c input {
	font-size: 14pt;
	width: 1.5em;
	maxlength: 1;
	overflow: hidden;
	color: blue;
	text-align: center;
}

table.c input.disabled {
	font-size: 14pt;
	width: 1.5em;
	overflow: hidden;
	color: darkgray;
	text-align: right;
}

/* d is for Domino tables */
div.dominos {
	font-size: 16px;
	width: 90%;
	margin:auto;
}

table.d {
	border: 2px solid black;
	border-collapse: collapse;
	border-spacing: 0;
}

table.d td {
	height: 18px;
	width: 18px;
	padding-left: 6px;
	padding-right: 6px;
	text-align: center;
	vertical-align: middle;
	border: thin dotted gray;
	border-collapse: collapse;
	border-spacing: 0;
}

table.d td.lh {
	border-top: 2px solid black;
	border-left: 2px solid black;
	border-bottom: 2px solid black;
	border-collapse: collapse;
	border-spacing: 0;
}

table.d td.rh {
	border-top: 2px solid black;
	border-right: 2px solid black;
	border-bottom: 2px solid black;
	border-collapse: collapse;
	border-spacing: 0;
}

table.d td.th {
	border-top: 2px solid black;
	border-left: 2px solid black;
	border-right: 2px solid black;
	border-collapse: collapse;
	border-spacing: 0;
}

table.d td.bh {
	border-right: 2px solid black;
	border-left: 2px solid black;
	border-bottom: 2px solid black;
	border-collapse: collapse;
	border-spacing: 0;
}

.dom_indent {
	margin-left: 2em;
}

/* w is for Crosswords */
table.w {
	border: medium solid black;
	margin-left: 2em;
	border-spacing: 0;
}

table.w td {
	height: 18pt;
	width: 18pt;
	text-align: center;
	border: thin solid black;
	padding: 5px;
}

table.w td.n {
	text-align: left;
	vertical-align: top;
	font-size: 10pt;
}

table.w td.blk {
	height: 18pt;
	width: 20pt;
	text-align: center;
	border: thin solid black;
	background-color: black;
	color: black;
}

table.w .super {
	font-family: Helvetica, Verdana, Arial, sans-serif;
	font-size: 70%;
	position: relative;
	top: -3ex;
	left: -1.5em;
	margin-right: -1em;
	color: grey;
}

/* cwp is for Crossword puzzles - take 2 */
table.cwp {
	border: medium solid black;
	border-collapse: collapse;
	margin: auto;
}

table.cwp td {
	height: 20pt;
	width: 20pt;
	font-size: 8pt;
	text-align: left;
	vertical-align: top;
	border: thin solid black;
	padding: 0 2px 3px 1px;
}

table.cwp td.blk {
	height: 20pt;
	width: 20pt;
	text-align: center;
	border: thin solid black;
	background-color: black;
	color: black;
}

table.clues {
	border: 0;
	border-collapse: collapse;
}

table.clues td p {
	margin: 0;
	padding: 0 0 0 1em;
	text-indent: -1em;
}

td.num {
	margin: 0;
	padding: 0 0.5em 0 1em;
	text-indent: -1em;
	text-align: right;
	vertical-align: text-top;
	font-weight: bold;
}

div.cwp_hints {
	float: right;
	margin-top: 20ex; 
	margin-left: 0.5em;
	width: 19%;
}

div.cwp_hints > ol {
	padding-left: 1em;
	margin-left: 0;
}

div.cwp_hints li {
	padding-left: 0;
	margin-left: 0;
	margin-bottom: 1ex;
}

/* cwpz is for Crossword puzzles - take 3 */
table.cwpz {
	border: medium solid black;
	border-collapse: collapse;
	margin: auto;
}

table.cwpz td {
	height: 2.2em;
	width: 2.2em;
	font-family: Helvetica, Verdana, Arial, sans-serif;
	font-size: 12pt;
	font-weight: bold;
	text-align: center;
	vertical-align: bottom;
	border: thin solid black;
	padding: 2px;
}

table.cwpz td sup {
	margin-left: -0.5em;
	padding-bottom: 1em;
	font-family: Georgia, "New York", "Times New Roman", Times, serif;
	font-weight: normal;
	padding: 2px;
}

table.cwpz td.n {
	height: 20pt;
	width: 20pt;
	font-size: 10pt;
	text-align: left;
	vertical-align: top;
	border: thin solid black;
	padding: 2px;
}

table.cwpz td.blk {
	height: 20pt;
	width: 20pt;
	text-align: center;
	border: thin solid black;
	background-color: black;
	color: black;
	padding: 2px;
}

table.cwpz .super {
	font-family: Helvetica, Verdana, Arial, sans-serif;
	font-size: 65%;
	position: relative;
	color: grey;
	top: -3ex;
	left: -0.55em;
}

table.cwpz .d1 {
	margin-left: -0.25em;
	font-family: inherit;
}

table.cwpz .d2 {
	margin-left: -0.5em;
	font-family: inherit;
}

/* terr is for territory puzzles */
table.terr {
	border: 2px solid black;
	border-spacing: 0;
}

table.terr td {
	height: 41px;
	width: 41px;
	background-color: rgb(227, 222, 218);
	border: thin solid black;
}

table.terr img {
	border: none;
	height: 31px;
	width: 31px;
}

/* bends is for bends puzzles */
div.bends {
	float: left; 
	margin-right: 3em; 
}

p.bends {
	margin-top: 0ex; 
	margin-left: 5em;
}

p.bends_move_down {
	margin-top: 10ex; 
	margin-left: 5em;
}

/* l3 is for lettercubes puzzles */
div.l3 {
	margin-top: 1ex;
	margin-right:2em;
	margin-bottom: 1ex;
	margin-left: 2em;
}

#l3c { 
	float: left;
	width: 8.5em;
}

div.l3 p {
	font-family: Courier, monospace;
	margin: 1ex 2em 1ex 0;

}

div.l3 p.move_down {
	font-weight: bold;
	margin-top: 7ex;
}

/* for monopoly puzzles */
#answer1hide, #answer2hide, #answer3hide, #answer3hide {
    display: none;
}

p.move_down {
	margin-top: 13ex;
}

/* ls is for lettersum puzzles */
.flex-container div.ls {
	text-align: right;
	font-family: Courier, monospace;
	font-size: large;
	margin-bottom: 3ex;
}
.flex-container div.ls-inner {
	width: fit-content;
}
div.ls-inner > pre {
	margin: 0;
}
div.ls-inner > hr {
	border-top: 1px solid var(--SlateBlue);
	float: right;
	margin-top: -0.1ex;
	margin-bottom: 0.5ex;
	width: 100%;
}

ul.nomargin {
	padding: 0 1em;
}

ul.nomargin li {
	margin-bottom: 1ex;
}


dt {
	font-weight: bold;
	margin-bottom: 1ex;
}

dd {
	margin-left: 1em;
	font-family: inherit;
}

#dots {
	padding-bottom: 10px;
	border-bottom: 1px dotted #7f7f7f;
}

/* PAGINATION */
.pagination {
	float: right;
	margin-bottom: 10px;
	padding: 0;
}

.pagination ul {
	margin: 0;
	padding: 0;
}

.pagination li {
	float: left;
	list-style: none;
	padding: 5px;
}

.pagination li,.pagination a {
	
}

.pagination .previous {
	font-weight: bold;
	margin-left: 25px;
}

.pagination .next {
	font-weight: bold;
}

.pagination .readout {
	font-weight: bold;
}

.pagination .current {
	border: solid 1px #7f7f7f;
}

div.colhalf {
	float: left;
	width: 45%;
	margin-left: 0.5em;
	margin-right: 0.5em;
}


/* Rules Sensitive to Screen Size */

/* Small Screen Rules */
@media screen and (min-width: 150px) and (max-width: 550px) 
{
	.tabs .tab {
		padding: 1rem;
	}
	.flex-container > div {
	  width: 85%;
	  margin: 0;
	}
	
	div.colhalf {
		float: none;
		width: 100%;
		margin: auto;
	}
	
	table.ls td { 
		font-weight: bold;
	}
	
	div.l3 {
		margin-top: 1ex;
		margin-right: auto;
		margin-bottom: 1ex;
		margin-left: auto;
	}

	div.#l3c { 
		float: none;
		width: 100%;
	}
	
	p.move_down {
		clear: both;
		margin-top: 1ex;
	}
	
	div.bends {
		float: none; 
		margin-right: 0; 
		width: 100%;
	} 
	
	p.bends, p.bends_move_down {
		margin-top: 1ex; 
		margin-left: 0;
		clear: both;
	}

	table.terr td {
		vertical-align: center;
		box-sizing: border-box;
	}

	table.terr img {
		height: 20px;
		width: 20px;
	}
	
	p.byline {
		margin-top: -1ex;
	}

	.dom_indent {
		margin-left: 0.5em;
	}
	
	div.dominos {
		width: 100%;
	}

	div.cwp_hints {
		float: none;
		margin-top: 1ex; 
		width: 100%;
	}
 
}
/* Rules Sensitive to Screen Size */

/* Small and smaller Screen Rules */
@media screen and (max-width: 750px) 
{ 
	.flex-container div.ls {
		margin-bottom: 3ex;
	}
}
/* Medium Screen Rules */
@media screen and (min-width: 511px)
{
	.flex-container > div {
		margin-bottom: 3ex;
	}

	div.colhalf {
		float: left;
		width: 45%;
		margin-left: 0.5em;
		margin-right: 0.5em;
	}

}