/* Recreate Bootstrap alerts */
.alert {
	padding: .75rem 1.25rem;
	margin-bottom: 1rem;
	border: 1px solid transparent;
	border-radius: .25rem;
}

.alert-info, .alert-warning {
	text-align: center;
}

.alert-danger {
	color: #721c24;
	background-color: #f8d7da;
	border-color: #f5c6cb;
}

.alert-info {
	color: #0c5460;
	background-color: #d1ecf1;
	border-color: #bee5eb;
}

.alert-success {
	color: #155724;
	background-color: #d4edda;
	border-color: #c3e6cb;
}

.alert-warning {
	color: #856404;
	background-color: #fff3cd;
	border-color: #ffeeba;
}

.alert p:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}

#supported-apps table {
	margin: 1rem 0;
	width: 100%;
}

#supported-apps table,
#supported-apps table th,
#supported-apps table td {
	font-size: 0.9rem;
}

#supported-apps table th,
#supported-apps table td {
	text-align: center;
}

#supported-apps table th:first-child,
#supported-apps table td:first-child {
	text-align: left;
}

#supported-apps table td {
	padding: 0.25rem 0;
}

/* Purchase Form */

.purchase_send_at {
	height: 2.3rem;
}

.is-gift {
	display: none;
}

.purchase-form-ele .alert {
	margin-top: 1rem;
}

.purchase-form-ele ul,
.purchase-form-ele ul li,
ul.purchasable-item-options,
ul.purchasable-item-options li {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.purchase-form-ele ul {
	border-bottom: solid 1px #ccc;
	border-radius: 4px;
}

.purchase-form-ele ul li {
	padding: 0.5rem 1rem;
}

.purchase-form-ele ul li {
	border-bottom: 0;
}

.purchase-form-ele .purchase-btn-lbl {
	font-size: 1.2rem;
	font-weight: 600;
}

.purchase-form-ele button img {
	margin: auto
}

.purchase-form label {
	margin: 0.75rem 0;
}

.purchase-form input[type=number],
.purchase-form input[type=text] {
	font-size: 1.2rem;
	width: 90%;
}

.purchase-form .purchase-btn-lbl {
	display: inline-block;
	height: auto;
}

.purchase-form button[type=submit] {
	display: grid;
}

.purchase-form .purchase-btn-lbl {
	display: inline-block;
}

.purchase-form .purchase-btn-lbl > * {
	display: inline-block;
	vertical-align: middle;
}

ul.purchasable-item-options,
ul.purchasable-item-options li {
	text-align: right;
}

#puzzles-by-year ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

#puzzles-by-year ul.provider-puzzles {
	display: table;
	margin: 0;
	padding: 0;
	width: 100%;
}

#puzzles-by-year ul li.puzzle {
	display: table-row;
	margin: 0.25rem;
}

#puzzles-by-year ul li.puzzle > span {
	display: table-cell;
	padding: 0.5rem;
}

#puzzles-by-year ul.nav,
#puzzles-by-year ul.nav li {
	text-align: center;
}

#puzzles-by-year ul.nav li {
	display: inline-block;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
	text-align: center;
}

#puzzles-by-year-nav ul.nav li {
	font-size: 1.25rem;
}

#puzzles-by-year ul li.puzzle > span:first-child,
#puzzles-by-year .table-header:first-child {
	text-align: left;
	white-space: nowrap;
}

#puzzles-by-year ul li.puzzle > span:last-child,
#puzzles-by-year .table-header:last-child {
	text-align: center;
}

#puzzles-by-year ul li.puzzle > span,
#puzzles-by-year .table-header {
	text-align: center;
}

#puzzles-by-year ul li a.selected {
	text-decoration: underline;
}

h3.puzzle-type {
	text-align: left;
}

#puzzles-by-year ul.nav,
#puzzles-by-year .puzzle:nth-child(odd) {
	background-color: rgb(247, 247, 247);
}

#puzzles-by-year .puzzle:hover {
	background-color: rgb(253, 255, 191);
	cursor: pointer;
}

#puzzles-by-year .nav-tabs {
	border: 0;
}

#puzzles-by-year-picker select {
	font-size: 1.1rem;
}

.puzzle-picker-year-select,
#puzzles-by-year-picker > div {
	display: inline-block;
}

#puzzles-by-year-picker .col-7 {
	width: 66%;
}

.difficulty,
.event-title-badge,
#content #purchase-form-ele select.purchase-ind-puzzles {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	white-space: nowrap;
}

.difficulty > span {
	white-space: nowrap;
}

#puzzle-newsletter {
	clear: both;
}

#puzzle-newsletter pre {
	white-space: pre-wrap;
	word-break: keep-all;
	overflow-x: hidden;
	border: 0;
	margin: 0;
	padding: 0;
	background-color: transparent;
	font-family: inherit;
	line-height: 1.5rem;
}

.author-twitter .icon {
	display: inline-block;
	max-height: 1.8em;
	margin-bottom: .2em;
}

#content .puzzle-list ul,
#content .puzzle-list ul li {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

#content #puzzle h4 a {
	color: #fff;
}

/* Faking Bootstrap elements */
/* Bootstrap form elements */
#content input,
#content select,
#content textarea,
#content input[type=date]  {
}

#content button[type=submit],
#content input[type=submit] {
	margin-top: 0.5rem;
	width: 100%;
}

#content input[type=email],
#content input[type=text],
#content input[type=password] {
	margin: 0.5em 0;
	padding-right: 0;
	width: 100%;
}

#content input[type=date],
#content select {
	background-color: inherit;
	border-style: solid;
	border-width: 1px;
	font-family: inherit;
	font-size: inherit;
	color: inherit;
}

/* Bootstrap badges */
.purchased-badge {
	display: inline-block;
	font-size: 120%;
	margin: 0;
}

.badge {
	display: inline-block;
	padding: .25em .4em;
	font-size: 75%;
	font-weight: 700;
	line-height: 1;
	color: #fff;
	text-align: center;
	white-space: nowrap;
	vertical-align: baseline;
	border-radius: .25rem;
}

.badge-primary {
	background-color: #007bff;
}

.badge-info {
	color: #111;
	background-color: #ffc107;
}

.badge-warning {
	color: #111;
	background-color: #ffc107;
}

.badge-secondary {
	color: #fff;
	background: #868e96;
}

.badge-success {
	color: #fff;
	background-color: #868e96;
}

/* Status labels */
.status {
	display: inline-block;
	font-weight: 400;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	border: 1px solid transparent;
	padding: .5rem .75rem;
	font-size: 1rem;
	line-height: 1.25;
	border-radius: .25rem;
}

.status-primary {
	color: #fff;
	background-color: #007bff;
	border-color: #007bff;
}

.status-secondary {
	color: #fff;
	background-color: #868e96;
	border-color: #868e96;
}

.status-success {
	color: #fff;
	background-color: #28a745;
	border-color: #28a745;
}

.status-danger {
	color: #fff;
	background-color: #dc3545;
	border-color: #dc3545;
}

.status-warning {
	color: #fff;
	background-color: #ffc107;
	border-color: #ffc107;
}

.status-info {
	color: #fff;
	background-color: #17a2b8;
	border-color: #17a2b8;
}

.status-dark {
	color: #fff;
	background-color: #343a40;
	border-color: #343a40;
}

.status-light {
	color: #212529;
	background-color: #f8f9fa;
	border-color: #f8f9fa;
}

/* Status List */

.status-list-primary {
	color: #004085;
	background-color: #b8daff;
}

.status-list-secondary {
	color: #383d41;
	background-color: #d6d8db;
}

.status-list-success {
	color: #155724;
	background-color: #c3e6cb;
}

.status-list-danger {
	color: #721c24;
	background-color: #f5c6cb;
}

.status-list-warning {
	color: #856404;
	background-color: #ffeeba;
}

.status-list-info {
	color: #0c5460;
	background-color: #bee5eb;
}

.status-list-dark {
	color: #1b1e21;
	background-color: #c6c8ca;
}

.status-list-light {
	color: #818182;
	background-color: #fdfdfe;
}

.float-right {
	float: right;
}

.table {
	width: 100%;
	max-width: 100%;
	margin-bottom: 1rem;
}

.table tr {
	display: table-row;
	vertical-align: inherit;
	border-color: inherit;
}

.table td {
	padding: .75rem;
	vertical-align: top;
	border-top: 1px solid #e9ecef;
}

.table-header {
	font-weight: bold;
}

/* Bootstrap list groups */
.list-group {
	display: block;
	margin-bottom: 1rem;
}

.list-group-item {
	display: block;
	padding: .75rem 1.25rem;
	margin-bottom: -1px;
	background-color: #fff;
	border: 1px solid rgba(0,0,0,.125);
}

/* responsive design */
.no-small {
	display: none;
}

.small-only {
	display: none;
}

.medium-only {
	display: none;
}

/* Account */
#account table td {
	font-size: 1.0em;
}

#account-content {
	margin: 1.5rem .5rem;
}

#account ul.nav-tabs {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

#account ul.nav-tabs li {
	display: inline-block;
}

#account .nav-link {
  padding: .5rem 1rem;
}

#account ul.nav-tabs li:first-child {
	padding-left: 0em;
}

#account .download-purchase-btn,
.log-out-btn,
.account-subscribe-button .button {
	text-align: center;
}

#account .download-purchase-btn .button,
.log-out-btn .button,
.account-subscribe-button .button {
	padding-left: 0;
	padding-right: 0;
	width: 100%;
}

/* Account Purchases */

#account #account-purchases .pa-pagination a.list-group-item {
	display: flex;
}

#account #account-purchases .pa-pagination a.list-group-item span {
	flex: auto;
}

#account #account-purchases .pa-pagination a.list-group-item span.status {
	font-size: 0.9rem;
}

/* Calendar */
#account-puzzle-calendar nav.nav-pills {
	display: flex;
}

#account-puzzle-calendar nav .nav-item {
	flex: auto;
	text-align: center;
}

#account-puzzle-calendar nav .nav-item:first-child {
	text-align: left;
}

#account-puzzle-calendar nav .nav-item:last-child {
	text-align: right;
}

.pa-calendar .calendar {
	margin: auto;
	text-align: center;
}

.pa-calendar .month {
	display: inline-block;
	width: 100%;
}

.pa-calendar .week {
	white-space: nowrap;
}

.pa-calendar .day {
	border: solid 1px #ccc;
	display: inline-block;
	height: 5rem;
	padding-right: 0.5rem;
	text-align: right;
	width: 5rem;
}

.pa-calendar .wday {
	border: 0;
	display: inline-block;
	height: 1rem;
	text-align: center;
	width: 5.3rem;
}

.pa-calendar .day.prior {
	background-color: #eee;
}

.pa-calendar .day .day-num {
	display: inline-block;
	font-size: 0.8rem;
}

.pa-calendar .day.day-events,
.pa-calendar .month-events .day-event:target,
.day-event .list-group-item.active {
	background-color: #fae7b1;
}

.pa-calendar .month-events .day-event:target,
.day-event .list-group-item.active {
	border: solid 1px #ccc;
	color: #495057;
}

.pa-calendar .month-events {
	margin: 1rem 0;
}

.pa-calendar .month-events h4 {
	text-align: center;
}

.pa-calendar .day-event a {
	display: flex;
}

.pa-calendar .day-event a > span {
	flex: auto;
}

/* Pagination */
.pa-pagination {
	display: block;
	width: 100%;
}

/* Media */
.entry-content .attachment img {
	display: block;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
}

/* Medium screen. */
@media screen and (max-width: 900px) {
	.pa-calendar .day {
		height: 3rem;
		padding-right: 0.25rem;
		width: 3em;
	}

	.pa-calendar .wday {
		width: 2.4rem;
	}
}

@media screen and (max-width: 786px) {
	.no-small {
		display: block;
	}

	.small-only {
		display: none;
	}
}

/* Small screen. */
@media screen and (max-width: 576px) {
	.pa-calendar .day {
		height: 2.5rem;
		padding-right: 0.25rem;
		width: 2.5rem;
	}

	.pa-calendar .wday
		width: 2rem;
	}

	.small-only {
		display: block;
	}

	.no-small {
		display: none;
	}
}


