/* MySubCard.com - responsive stylesheet */
:root {
	--green: #006600;
	--gray: #808080;
	--silver: #c0c0c0;
	--red: #ff0000;
	--text: #000;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	padding: 10px;
	background: var(--silver);
	color: var(--text);
	font: 15px/1.6 Verdana, Geneva, Arial, Helvetica, sans-serif;
}
img { max-width: 100%; height: auto; }
a { color: var(--green); text-decoration: none; }
a:hover, a:focus { text-decoration: underline; }
a:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }

.skip-link {
	position: absolute;
	left: -9999px;
	background: #fff;
	padding: 6px 10px;
}
.skip-link:focus { left: 10px; top: 10px; z-index: 10; }

.site {
	max-width: 720px;
	margin: 0 auto;
	background: var(--green);
}

/* Header */
.site-header { background: #fff; text-align: center; }
.site-header .logo { display: block; margin: 0 auto; }
.site-header .logo img { display: block; margin: 0 auto; }

/* Navigation */
.site-nav ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid #fff;
}
.site-nav li { flex: 1 1 20%; min-width: 90px; border-right: 1px solid #fff; }
.site-nav li:last-child { border-right: 0; }
.site-nav a {
	display: block;
	padding: 8px 4px;
	background: var(--green);
	color: #fff;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: .04em;
	text-align: center;
	text-transform: uppercase;
}
.site-nav a:hover, .site-nav a:focus, .site-nav a[aria-current="page"] {
	background: var(--gray);
	text-decoration: none;
}

/* Layout */
.layout { display: grid; grid-template-columns: 135px minmax(0, 1fr); }
.side { padding-top: 0; text-align: center; background: var(--green); }
.side img { display: block; margin: 0 auto; }
main { background: #fff; padding: 20px; min-width: 0; }
main h1 { margin: 0 0 .8em; color: var(--green); font-size: 22px; line-height: 1.25; }
main h2 { margin: 0 0 .5em; font-size: 16px; line-height: 1.3; }
main p { margin: 0 0 1em; }
.update { color: #000; }
.update strong { color: var(--red); }

/* Reader letters */
.letter {
	margin: 0 0 1.2em;
	padding: 14px;
	border: 1px solid var(--green);
	background: #fff;
}
.letter p { margin: 0 0 .8em; }
.letter p:last-child { margin-bottom: 0; }

/* Comparison cards */
.card { margin: 0 0 1.2em; border: 1px solid var(--gray); }
.card h2 { margin: 0; padding: 8px 10px; border-bottom: 1px solid var(--gray); }
.card .body { padding: 10px 10px 0; font-size: 13px; line-height: 1.55; }
.card .body p { margin-bottom: .9em; }

/* Data table */
.table-wrap { overflow-x: auto; margin: 0 0 1em; }
table.compare { width: 100%; border-collapse: collapse; font-size: 13px; }
table.compare th, table.compare td {
	padding: 6px 8px;
	border: 1px solid var(--gray);
	text-align: left;
	vertical-align: top;
}
table.compare thead th { background: #e8f3e8; }
table.compare tfoot td { font-size: 12px; }

/* FAQ */
.faq h2 { margin-top: 1.6em; }
.faq h2:first-of-type { margin-top: 0; }
address { font-style: normal; margin: 0 0 1em; }
dl.points { margin: 0 0 1em; }
dl.points div { display: flex; gap: 8px; }
dl.points dt { flex: 0 0 90px; font-weight: bold; }
dl.points dd { margin: 0; }

/* Contact form (archived, disabled) */
.notice {
	margin: 0 0 1.2em;
	padding: 10px 12px;
	border-left: 4px solid var(--green);
	background: #f0f7f0;
	font-size: 13px;
}
form fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
form label { display: block; margin: 0 0 .3em; font-weight: bold; }
form input, form textarea {
	display: block;
	width: 100%;
	margin: 0 0 1em;
	padding: 6px;
	border: 1px solid var(--green);
	background: #fff;
	color: var(--green);
	font: 14px Verdana, Geneva, Arial, sans-serif;
}
form input:disabled, form textarea:disabled { background: #f4f4f4; cursor: not-allowed; }
form button {
	padding: 6px 18px;
	border: 0;
	background: var(--green);
	color: #fff;
	font: 14px Verdana, Geneva, Arial, sans-serif;
}
form button:disabled { opacity: .55; cursor: not-allowed; }

/* Footer */
.site-footer {
	padding: 10px 14px;
	color: #fff;
	font-size: 11px;
	line-height: 1.5;
	text-align: center;
}
.site-footer p { margin: 0 0 .3em; }
.site-footer a { color: #fff; text-decoration: underline; }

/* Mobile */
@media (max-width: 640px) {
	body { padding: 0; font-size: 16px; }
	.layout { grid-template-columns: 1fr; }
	.side { display: none; }
	main { padding: 16px; }
	.site-nav li { flex-basis: 33.33%; border-bottom: 1px solid #fff; }
	.site-nav li:nth-child(3) { border-right: 0; }
	dl.points div { flex-direction: column; gap: 0; margin-bottom: .4em; }
}
@media print {
	body { background: #fff; padding: 0; }
	.site, .side, .site-footer { background: #fff; color: #000; }
	.site-nav, .side { display: none; }
	.layout { display: block; }
}
