/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
html {
	font-family: sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
}

article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary {
	display: block;
}

audio,canvas,progress,video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],template {
	display: none;
}

a {
	background: transparent;
}

a:active,a:hover {
	outline: 0;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,strong {
	font-weight: bold;
}

dfn {
	font-style: italic;
}

h1 {
	font-size: 2em;
	margin: .67em 0;
}

mark {
	background: #ff0;
	color: #000;
}

small {
	font-size: 80%;
}

sub,sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -.5em;
}

sub {
	bottom: -.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 1em 40px;
}

hr {
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	height: 0;
}

pre {
	overflow: auto;
}

code,kbd,pre,samp {
	font-family: monospace,monospace;
	font-size: 1em;
}

button,input,optgroup,select,textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button {
	overflow: visible;
}

button,select {
	text-transform: none;
}

button,html input[type="button"],input[type="reset"],input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {
	line-height: normal;
}

input[type="checkbox"],input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"] {
	-webkit-appearance: textfield;
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: .35em .625em .75em;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: bold;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td,th {
	padding: 0;
}

*,*:before,*:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

html {
	font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
	font-size: 90%;
	font-weight: 400;
	line-height: 1.5;
}

body {
	background-color: #06713c;
	border-top: 2.5em solid #06713c;
	color: #e2fff0;
	overscroll-behavior-y: contain;
}

.container {
	margin: -2.5em auto 0 auto;
	max-width: 43rem;
	overflow-x: hidden;
	padding-bottom: 20px;
	width: 99%;
}

#solitaire {
	min-height: 320px;
}

#monte-carlo #solitaire {
	padding-bottom: 20px;
}

#plateaux,#tableaux {
	padding: 8px 0 4px 0;
}

.column {
	float: left;
	margin: 0;
	padding-left: 0;
	padding-right: 0;
	width: 14.2857%;
}

.column.six {
	width: 85.7143%;
}

.column.two {
	width: 28.5714%;
}

.blog .column {
	width: 50%;
}

.grid6 .column {
	width: 16.6666%;
}

.grid8 .column {
	width: 12.5%;
}

.grid8 .column.two {
	width: 25%;
}

#golf #tableaux .column {
	height: 180px;
}

#cruel #tableaux .column {
	margin-bottom: 10px;
	margin-top: 10px;
}

#aces-up #stock {
	margin-bottom: 25px;
}

#yukon #f0 {
	margin-left: 21.4285%;
}

.clearfix:before,.row:before,.clearfix:after,.row:after {
	content: " ";
	display: table;
}

.clearfix:after,.row:after {
	clear: both;
}

#solitaire {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

a {
	color: #ffa128;
	text-decoration: none;
}

a:hover {
	color: #ff9000;
	text-decoration: underline;
}

ul {
	margin-left: 0;
	padding-left: 0;
}

li {
	margin-left: 1.1em;
}

#header {
	line-height: 1;
	max-height: 2.5em !important;
	overflow: hidden;
}

h1 {
	color: #fff;
	display: inline-block;
	font-size: 1.7em;
	letter-spacing: -1px;
	margin: 3px 0;
}

h1 span {
	display: none;
}

h1 a {
	color: #fff;
	padding: 2px 6px 6px 6px;
}

h1 a:hover {
	background-color: #05f;
	color: #fff;
	text-decoration: none;
}

h2,h3 {
	font-size: 1.17em;
}

h2 span,h3 span {
	display: block;
}

#rules h2,#rules h3 {
	margin-top: 0;
}

div.menu {
	display: inline-block;
	font-size: 1.2rem;
	float: right;
	line-height: 1.6rem;
	text-align: right;
}

button {
    background-color: #d38e17;
    /* border-style: none; */
    color: #fff;
    font-variant: small-caps;
    font-weight: normal;
    padding: 4px 6px 8px 6px;
    border-radius: 50px;
}

button:hover {
	background-color: #05f;
}

.menu button {
	letter-spacing: -1px;
	padding: 5px 5px 10px 5px;
}

#tool {
	font-size: 1.5rem;
	padding: 4px 6px 11px 6px;
	vertical-align: bottom;
}

.card {
	background-image: url(../cards/card-phone.png);
	background-size: 672px 264px;
	border-radius: 4px;
	border-top: 1px solid #aaa;
	cursor: pointer;
	display: block;
	margin: -66px auto 0 auto;
	padding: 0;
	position: relative;
}

.card,.write {
	height: 66px;
	width: 48px;
}

#solitaire div:not(.thoughtful) div .down {
	background-position: 100% 0 !important;
}

.thoughtful .down {
	filter: invert(33%);
}

.grid8 .card {
	background-size: 616px 264px;
}

.grid8 .card,.grid8 .write {
	width: 44px;
}

.hint {
	box-shadow: 0 0 6px 4px rgba(255,255,0,.9) !important;
}

.selected {
	box-shadow: 0 0 6px 4px rgba(0,255,0,.9) !important;
}

.hovered .card:last-child {
	box-shadow: 0 0 6px 4px rgba(255,255,0,.9) !important;
}

.hide {
	visibility: hidden;
}

.pile {
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAACXBIWXMAAAsSAAALEgHS3X78AAAADElEQVR42mNgWBcEAAGyAQFM6NsEAAAAAElFTkSuQmCC);
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: 48px 66px;
	cursor: pointer;
	min-height: 66px;
	position: relative;
	text-align: center;
}

.space {
	background-image: none !important;
}

.grid8 .pile {
	background-size: 48px 66px;
}

.pile :first-child {
	margin-top: 0 !important;
}

.pile-stack .card:last-child {
	box-shadow: 0 0 16px rgba(0,0,0,.26);
}

.pile-fan {
	min-height: 165px;
}

.pile-fan .card {
	box-shadow: 0 0 16px rgba(0,0,0,.26);
	margin-bottom: 25px;
}

.pile-fan .down {
	margin-bottom: 7px;
}

.thoughtful .pile-fan .down {
	margin-bottom: 20px;
}

.pile-flat {
	max-height: 66px;
	padding-left: 32px;
}

.pile-flat .card {
	box-shadow: 0 0 16px rgba(0,0,0,.26);
	display: inline-block;
	margin-left: -32px;
	margin-top: 0;
}

.pile-flat .ui-draggable-dragging {
	margin-left: 0 !important;
}

#monte-carlo .pile {
	margin-top: 10px;
}

#stock div div,#plateaux .write div {
	color: #eee;
	cursor: pointer;
	font-size: 4rem;
	font-weight: bold;
	margin-top: -3.2rem !important;
	opacity: .6;
	position: absolute;
	width: 100%;
	top: 50%;
}

.lead div {
	font-family: Arial,Helvetica,sans-serif;
	font-stretch: ultra-condensed;
	letter-spacing: -9px;
	margin-left: -5px;
}

#stock div div {
	opacity: 1 !important;
}

#stock .card div {
	color: #555;
}

.dialog {
	background-color: #fff;
	bottom: 10%;
	box-shadow: 0 0 16px rgba(0,0,0,.26);
	color: #555;
	display: none;
	margin: 30px 0;
	opacity: .95;
	padding-bottom: 40px;
	padding-top: 10px;
	position: absolute;
	text-align: center;
	width: 100%;
	z-index: 11;
}

.dialog p {
	margin: 0 auto;
	max-width: 55rem;
}

#list,.dialog p a,.dialog button,.btn {
	background-color: #05f;
	display: inline-block;
	color: #fff;
	font-variant: small-caps;
	font-weight: normal;
	margin: .33em;
	padding: .33em .75em;
}

.dialog a:hover,.btn:hover {
	text-decoration: none;
}

.dialog p a {
	font-size: .79rem;
	margin: .33em .29em;
	padding: .33em .7em;
}

a.btn-orange {
	background-color: #ffb000 !important;
}

.close {
	background-color: #eee;
	border-radius: 50%;
	color: #ccc;
	cursor: pointer;
	display: inline-block;
	font-size: 1.5rem;
	height: 2.25rem;
	position: absolute;
	right: 5px;
	text-decoration: none;
	top: 5px;
	width: 2.25rem;
}

.close:hover {
	color: #777;
	background-color: #ddd;
}

sup {
	color: #ff0;
	font-size: 95%;
	font-weight: bold;
	margin-left: .1em;
	top: -.3em;
}

h1 sup {
	font-weight: normal;
	top: 0;
}

#overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 10;
	background-color: rgba(0,0,0,0);
}

#list {
	margin-left: 1%;
	width: 98%;
}

#share {
	margin: 0;
	text-align: center;
}

#share a {
	background-color: #eee;
	background-image: url(../cards/share.png);
	background-size: 160px 32px;
	border: 2px solid #eee;
	border-radius: 50%;
	display: inline-block;
	height: 36px;
	margin: 0 5px;
	width: 36px;
}

#bt1 {
	background-position: 160px 0;
}

#bt2 {
	background-position: 128px 0;
}

#bt3 {
	background-position: 96px 0;
}

#bt4 {
	background-position: 64px 0;
}

#bt5 {
	background-position: 32px 0;
}

#boggle {
	background-color: #084;
	height: 2em;
	margin-bottom: .5em;
	text-align: center;
}

#cookies {
	font-size: .7rem;
	margin-top: -.7rem;
	text-align: center;
}

.ad-vertical {
	display: none;
}

@media(min-width:79rem) {
	.container {
		margin-left: 30px;
	}

	#pub,.ad-vertical {
		display: block;
		height: 750px;
		left: 920px;
		position: absolute;
		top: 10px;
		width: 300px;
	}
}

body.blog {
	border-top: 3em solid #06713c;
}

.blog h1 a {
	color: #ffa128;
	padding: 0;
}

.blog h1 a:hover {
	background-color: #0a5;
	text-decoration: underline;
}

.blog .row p span {
	font-size: 50%;
}

footer span+span {
	display: none;
}

@media print {
	body,body.blog {
		background-color: #fff;
		border-top: 3em solid #fff;
		color: #000;
	}

	a {
		color: #000;
	}

	h1,h1 a,.blog h1 a {
		color: #084;
		padding-left: 0;
	}

	#solitaire {
		background-color: #0a5;
		color: #eee;
		margin-bottom: 2em;
		margin-top: 2em;
	}

	#header .menu,#share,.adsbygoogle,#cookies,#rules h2 span,footer span {
		display: none;
	}

	footer span+span {
		display: inline;
	}
}

#HA {
	background-position: 0% 0;
}

#H2 {
	background-position: 7.692% 0;
}

#H3 {
	background-position: 15.385% 0;
}

#H4 {
	background-position: 23.077% 0;
}

#H5 {
	background-position: 30.769% 0;
}

#H6 {
	background-position: 38.462% 0;
}

#H7 {
	background-position: 46.154% 0;
}

#H8 {
	background-position: 53.846% 0;
}

#H9 {
	background-position: 61.538% 0;
}

#HT {
	background-position: 69.231% 0;
}

#HJ {
	background-position: 76.923% 0;
}

#HQ {
	background-position: 84.615% 0;
}

#HK {
	background-position: 92.308% 0;
}

#SA {
	background-position: 0% -33.333%;
}

#S2 {
	background-position: 7.692% -33.333%;
}

#S3 {
	background-position: 15.385% -33.333%;
}

#S4 {
	background-position: 23.077% -33.333%;
}

#S5 {
	background-position: 30.769% -33.333%;
}

#S6 {
	background-position: 38.462% -33.333%;
}

#S7 {
	background-position: 46.154% -33.333%;
}

#S8 {
	background-position: 53.846% -33.333%;
}

#S9 {
	background-position: 61.538% -33.333%;
}

#ST {
	background-position: 69.231% -33.333%;
}

#SJ {
	background-position: 76.923% -33.333%;
}

#SQ {
	background-position: 84.615% -33.333%;
}

#SK {
	background-position: 92.308% -33.333%;
}

#DA {
	background-position: 0% -66.666%;
}

#D2 {
	background-position: 7.692% -66.666%;
}

#D3 {
	background-position: 15.385% -66.666%;
}

#D4 {
	background-position: 23.077% -66.666%;
}

#D5 {
	background-position: 30.769% -66.666%;
}

#D6 {
	background-position: 38.462% -66.666%;
}

#D7 {
	background-position: 46.154% -66.666%;
}

#D8 {
	background-position: 53.846% -66.666%;
}

#D9 {
	background-position: 61.538% -66.666%;
}

#DT {
	background-position: 69.231% -66.666%;
}

#DJ {
	background-position: 76.923% -66.666%;
}

#DQ {
	background-position: 84.615% -66.666%;
}

#DK {
	background-position: 92.308% -66.666%;
}

#CA {
	background-position: 0% -100%;
}

#C2 {
	background-position: 7.692% -100%;
}

#C3 {
	background-position: 15.385% -100%;
}

#C4 {
	background-position: 23.077% -100%;
}

#C5 {
	background-position: 30.769% -100%;
}

#C6 {
	background-position: 38.462% -100%;
}

#C7 {
	background-position: 46.154% -100%;
}

#C8 {
	background-position: 53.846% -100%;
}

#C9 {
	background-position: 61.538% -100%;
}

#CT {
	background-position: 69.231% -100%;
}

#CJ {
	background-position: 76.923% -100%;
}

#CQ {
	background-position: 84.615% -100%;
}

#CK {
	background-position: 92.308% -100%;
}

@media(max-width:22rem) {
	#game {
		display: none;
	}

	.card {
		background-size: 532px 264px;
	}

	.card,.write {
		width: 38px;
	}

	.pile {
		background-size: 38px 66px;
	}

	.grid8 .card {
		background-size: 532px 264px;
	}

	.grid8 .card,.grid8 .write {
		width: 38px;
	}

	.grid8 .pile {
		background-size: 38px 66px;
	}

	.pile-flat {
		padding-left: 27px;
	}

	.pile-flat .card {
		margin-left: -27px;
	}
}

@media(min-width:28rem) {
	.container {
		width: 96%;
	}

	h1 span {
		display: inline;
		font-weight: 300;
        font-family: 'Cabin Sketch', sans-serif;
        font-size: 36px;
        color: #d7ffee;
        text-shadow: 1px 1px 4px #31ff98;
	}

	h1 sup {
		display: none;
	}

	h2 span {
		display: inline;
		float: right;
		white-space: nowrap;
	}

	h3 span {
		display: inline;
	}

	.card,.grid8 .card {
		background-size: 896px 352px;
		margin-top: -88px;
	}

	.card,.write,.grid8 .card,.grid8 .write {
		height: 88px;
		width: 64px;
	}

	.pile,.grid8 .pile {
		background-size: 64px 88px;
		min-height: 88px;
	}

	.pile-flat {
		max-height: 88px;
		padding-left: 48px;
	}

	.pile-flat .card {
		margin-left: -48px;
	}

	.dialog {
		bottom: auto;
		top: 55%;
	}

	#list {
		display: none;
	}

	.menu button {
		letter-spacing: 0;
		padding: 5px 6px 10px 6px;
	}

	.close {
		right: 15px;
		top: 15px;
	}
}

@media(min-width:48rem) {
	html {
		font-size: 125%;
	}

	body {
		border-top-width: 2em;
	}

	.container {
		margin-top: -2em;
	}

	#header {
		max-height: 3em !important;
	}

	h1 {
		margin: 2px 0;
	}

	h1 a {
		padding: 0 6px;
	}

	.menu button {
		padding: 2px 6px 10px 6px;
	}

	#tool {
		padding: 0 6px 12px 6px;
	}

	#solitaire {
		min-height: 520px;
		padding-top: 15px;
	}

	#golf #tableaux .column {
		height: 275px;
	}

	#plateaux,#tableaux {
		padding: 15px 0;
	}

	.card,.grid8 .card {
		background-image: url(../cards/card-game.png);
		background-size: 1344px 528px;
		border-radius: 6px;
		margin-top: -132px;
	}

	#monte-carlo .card {
		background-size: 1008px 396px;
		border-radius: 6px;
		margin-top: -99px;
	}

	.card,.write,.grid8 .card,.grid8 .write {
		height: 132px;
		width: 96px;
	}

	#monte-carlo .card,#monte-carlo .write {
		height: 99px;
		width: 72px;
	}

	.pile,.grid8 .pile {
		background-size: 96px 132px;
		min-height: 132px;
	}

	#monte-carlo .pile {
		background-size: 72px 99px;
		min-height: 99px;
	}

	.pile-fan .card {
		margin-bottom: 30px;
	}

	.pile-fan .down {
		margin-bottom: 12px;
	}

	.thoughtful .pile-fan .down {
		margin-bottom: 25px;
	}

	.pile-fan .ui-draggable-dragging :last-child {
		margin-bottom: -30px !important;
	}

	.pile-flat {
		max-height: 132px;
		padding-left: 72px;
	}

	.pile-flat .card {
		margin-left: -72px;
	}

	#monte-carlo .pile-flat {
		max-height: 99px;
	}

	.grid8 .card {
		background-size: 1288px 528px;
	}

	.grid8 .card,.grid8 .write {
		width: 92px;
	}

	.grid8 .pile {
		background-size: 92px 132px;
	}
}

#pyramid #solitaire {
	max-height: 320px;
	overflow-y: hidden;
}

#pyramid .pile {
	background-image: none;
}

#pyramid #t1 {
	margin-left: 35.71425%;
}

#pyramid #t3 {
	margin-left: 28.5714%;
}

#pyramid #t6 {
	margin-left: 21.4285%;
}

#pyramid #t10 {
	margin-left: 14.2857%;
}

#pyramid #t15 {
	margin-left: 7.14285%;
}

#pyramid.grid8 #t1 {
	margin-left: 31.25%;
}

#pyramid.grid8 #t3 {
	margin-left: 25%;
}

#pyramid.grid8 #t6 {
	margin-left: 18.75%;
}

#pyramid.grid8 #t10 {
	margin-left: 12.5%;
}

#pyramid.grid8 #t15 {
	margin-left: 6.25%;
}

#p0 {
	margin-top: 10px;
}

#p1 .card {
	margin-top: -29px !important;
}

#p2 .card {
	margin-top: -58px !important;
}

#p3 .card {
	margin-top: -87px !important;
}

#p4 .card {
	margin-top: -116px !important;
}

#p5 .card {
	margin-top: -145px !important;
}

#p6 .card {
	margin-top: -174px !important;
}

@media(min-width:28rem) {
	#pyramid #solitaire {
		max-height: 335px;
	}

	#p1 .card {
		margin-top: -52px !important;
	}

	#p2 .card {
		margin-top: -104px !important;
	}

	#p3 .card {
		margin-top: -156px !important;
	}

	#p4 .card {
		margin-top: -208px !important;
	}

	#p5 .card {
		margin-top: -260px !important;
	}

	#p6 .card {
		margin-top: -312px !important;
	}
}

@media(min-width:48rem) {
	#pyramid #solitaire {
		max-height: 530px;
	}

	#p1 .card {
		margin-top: -80px !important;
	}

	#p2 .card {
		margin-top: -155px !important;
	}

	#p3 .card {
		margin-top: -230px !important;
	}

	#p4 .card {
		margin-top: -305px !important;
	}

	#p5 .card {
		margin-top: -380px !important;
	}

	#p6 .card {
		margin-top: -455px !important;
	}
}

@media(max-width:575.98px) {
	.reverse .column {
		float: right;
	}

	#pyramid.grid8 #t1 {
		margin-left: 18.75%;
	}

	#pyramid.grid8 #t3 {
		margin-left: 12.5%;
	}

	#pyramid.grid8 #t6 {
		margin-left: 6.25%;
	}

	#pyramid.grid8 #t10 {
		margin-left: 0;
	}

	#pyramid.grid8 #t15 {
		margin-left: -6.25%;
	}

	#pyramid.grid8 #t21 {
		margin-left: -12.5%;
	}
}

@keyframes shake {
	0% {
		transform: translate(1px,1px) rotate(0deg);
	}

	10% {
		transform: translate(-1px,-2px) rotate(-1deg);
	}

	20% {
		transform: translate(-3px,0) rotate(1deg);
	}

	30% {
		transform: translate(3px,2px) rotate(0deg);
	}

	40% {
		transform: translate(1px,-1px) rotate(1deg);
	}

	50% {
		transform: translate(-1px,2px) rotate(-1deg);
	}

	60% {
		transform: translate(-3px,1px) rotate(0deg);
	}

	70% {
		transform: translate(3px,1px) rotate(-1deg);
	}

	80% {
		transform: translate(-1px,-1px) rotate(1deg);
	}

	90% {
		transform: translate(1px,2px) rotate(0deg);
	}

	100% {
		transform: translate(1px,-2px) rotate(-1deg);
	}
}

#win {
	animation: shake .5s;
}

@media(hover:none) {
	h1 a:hover,button:hover {
		background-color: #084;
		outline: none;
	}
}
