/********************************************
   AUTHOR:  			Erwin Aligam 
   WEBSITE:   			http://www.styleshout.com/
	TEMPLATE NAME: 	NewHorizon
   TEMPLATE CODE: 	S-0018
   VERSION:          1.0	
	DATE:          	October-01-2007
 *******************************************/

/********************************************
   HTML ELEMENTS
********************************************/

/* top elements */
* {
	padding: 0;
	margin: 0;
	outline: 0;
}

body {
	margin: 10px 0 0 0;
	padding: 0;
	font: normal 13px/1.6em 'Trebuchet MS', verdana, tahoma, sans-serif;
	text-align: center;
	background: #090807;
	color: #8F8F8E;
}

/* links */
a {
	color: #99CC33;
	background-color: inherit;
	text-decoration: none;
}

a:hover {
	color: #FF8B04;
	background-color: inherit;
}

/* headers */
h1,
h2,
h3,
h4 {
	font: normal 1em 'Trebuchet MS', Tahoma, Arial, Sans-serif;
	color: #eee;
}

h1 {
	font-size: 3em;
	color: #84A5DA;
	letter-spacing: -2px;
}

h2 {
	font-size: 2.5em;
}

h3 {
	font-size: 1.8em;
	color: #84A5DA;
}

h4 {
	font-size: 1.2em;
	color: #84A5DA;
	border-bottom: 1px solid #211E20;
}

p,
h1,
h2,
h3,
h4 {
	margin: 0;
	padding: 10px 15px;
}

ul,
ol {
	margin: 10px 30px;
	padding: 0 15px;
}

/* images */
img {
	background: transparent;
	border: 0px solid #383735;
}

img.float-right {
	margin: .5em 0 1em 1em;
}

img.float-left {
	margin: .5em 1em 1em 0;
}

code {
	margin: .5em 0;
	display: block;
	padding: 20px;
	text-align: left;
	overflow: auto;
	font: 500 1em/1.5em 'Lucida Console', 'Courier New', monospace;
	/* white-space: pre; */
	background: transparent;
	border: 1px solid #211E20;
}

acronym {
	cursor: help;
	border-bottom: 1px dotted #8F8F8E;
}

blockquote {
	margin: 10px 15px;
	padding: 10px 0 10px 30px;
	background: transparent;
	border: 1px solid #211E20;
	font: normal 1.6em/1.5em Georgia, "Times New Roman", Times, serif;
}

/* start - table */
table {
	margin: 10px 15px;
	border-collapse: collapse;
}

th strong {
	color: #fff;
}

th {
	background: #090807;
	color: #fff;
	height: 3em;
	padding-left: 12px;
	padding-right: 12px;
	text-align: left;
	border-left: 0px solid #211E20;
	border-right: 0px solid #211E20;
	border-bottom: 0px solid #211E20;
	border-top: 0px solid #8EB200;
}

tr {
	color: #707070;
	height: 2.5em;
}

td {
	padding-left: 12px;
	padding-right: 12px;
	border: 0px solid #211E20;
}

/* end - table */

/* form elements */
form {
	margin: 10px 15px;
	padding: 10px;
	background: transparent;
	border: 0px solid #211E20;
}

fieldset {
	margin: 0;
	padding: 0;
	border: none;
}

label {
	display: block;
	font-weight: bold;
	margin: .4em 0;
}

input {
	padding: .3em;
	border: 1px solid black;
	/*	font: normal 1em Verdana, sans-serif; */
	color: #777;
}

textarea {
	width: 90%;
	padding: .3em;
	font: normal 1em/1.5em Verdana, sans-serif;
	border: 1px solid black;
	/*	height: 10em; */
	display: block;
	color: #777;
}

input.button {
	font: bold 1em Arial, Tahoma, Sans-serif;
	margin: 0;
	padding: .25em .3em;
	color: #fff;
	background: #000;
	border: 2px solid #211E20;
}

/* search form */
.searchform {
	background-color: transparent;
	border: none;
	margin: 0 0 0 10px;
	padding: 0 0 1.5em 0;
	width: 20em;
}

.searchform p {
	margin: 0;
	padding: 0;
}

.searchform input.textbox {
	width: 11em;
	color: #777;
	padding: .4em;
	border: 1px solid #E5E5E5;
	vertical-align: top;
}

.searchform input.button {
	width: 80px;
	vertical-align: top;
}

/***********************
	  LAYOUT
************************/

#header,
#nav,
#content,
#footer-wrap {
	max-width: 910px;
	width: 100%;
}

/* header */
#header {
	clear: both;
	position: relative;
	margin: 0 auto;
	padding: 0;
	background: linear-gradient(180deg, #131112 0%, #090807 100%);
	height: 90px;
	text-align: left;
}

#header h1#logo-text a {
	position: absolute;
	margin: 0;
	padding: 0;
	font: bold 58px 'Trebuchet MS', Tahoma, Arial, Sans-serif;
	letter-spacing: -3px;
	color: #0a1e53;
	text-decoration: none;
	z-index: 9998;
	background: transparent;

	/* change the values of top and left to adjust the position of the logo*/
	top: 3px;
	left: 10px;
}

#header p#slogan {
	position: absolute;
	font: normal 19px 'Trebuchet Ms', Sans-serif;
	text-transform: none;
	color: #fff;
	margin: 0;
	padding: 0;
	z-index: 9999;

	/* change the values of left and top to adjust the position of the slogan */
	top: 65px;
	left: 25px;
}

/* Navigation */
#nav {
	clear: both;
	margin: 0 auto;
	padding: 0;
}

#nav ul {
	float: left;
	list-style: none;
	text-transform: uppercase;
	margin: 0;
	padding: 0;
	height: 56px;
}

#nav ul li {
	float: left;
	margin: 0;
	padding: 0;
	height: 56px;
}

#nav ul li a {
	display: block;
	float: left;
	width: auto;
	margin: 0;
	padding: 0 20px;
	color: #a5a5a5;
	font: bold 16px/54px "Trebuchet MS", Helvetica, Arial, sans-serif;
	text-decoration: none;
	letter-spacing: 1px;
}

#nav ul li a:hover,
#nav ul li a:active {
	color: #fff;
}

#nav ul li#current a {
	color: #FF8B04;
}

/* content */
#content-wrap {
	clear: both;
	float: left;
	width: 100%;
	background: #ffffff;
}

#content {
	text-align: left;
	padding: 0;
	margin: 0 auto;
	display: flex;
	flex-direction: row-reverse;
}

/* sidebar */
#sidebar {
	width: 24em;
	padding: 0;
	flex-shrink: 0;
}

#sidebar h3 {
	font: normal 1.6em 'Trebuchet MS', Tahoma, Arial, Sans-serif;
	padding: .3em 0 .5em 10px;
	color: #99CC33;
	text-transform: none;
	letter-spacing: -1px;
}

#sidebar ul.sidemenu {
	margin: 0 0 0 10px;
	padding: .1em 0 1em 0;
	font-family: 'Trebuchet MS', Tahoma, Sans-serif;
	border-top: 1px solid #211E20;
}

#sidebar ul.sidemenu li {
	padding: 0;
	background: none;
	border-bottom: 0px solid #211E20;
	list-style: none;
	position: relative;
}

#sidebar ul.sidemenu li:before {
	content: "\2022";
	position: absolute;
	left: .5em;
	top: .35em;
	color: #707070;
}

* html body #sidebar ul.sidemenu li {
	height: 1%;
}

#sidebar ul.sidemenu li a {
	display: block;
	font-weight: bold;
	color: #d3d0cc;
	text-decoration: none;
	padding: .2em 0 .2em 30px;
	line-height: 1.5em;
	font-size: 1.25em;
}

#sidebar ul.sidemenu li a:hover {
	color: #FF8B04;
}

#sidebar ul.sidemenu ul {
	margin: 0 0 0 15px;
}

#sidebar ul.sidemenu ul li {
	border: none;
}

/* main */
#main {
	margin: 10px 0;
	padding: 0 15px;
	flex-grow: 1;
}

#main h2 {
	font: normal 2.2em 'Trebuchet MS', Arial, Sans-serif;
	color: #84A5DA;
	letter-spacing: -2px;
	padding-bottom: 0px;
	margin-bottom: 5px;
	border-bottom: 1px solid #211E20;
}

#main h2 a {
	color: #84A5DA;
	text-decoration: none;
}

#footer-wrap {
	clear: both;
	padding: 0;
	margin: 0 auto;
}

/* columns */
#columns {
	clear: both;
	text-align: left;
	color: #5B9CFF;
	margin: 0 auto;
	padding: 1.6em 0 .5em 0;
	width: 95%;
}

#columns h3 {
	color: #99CC33;
	margin: 0;
	padding: 0 10px;
	font: normal 1.4em "Trebuchet MS", Arial, Tahoma, Sans-serif;
	text-transform: uppercase;
}

#columns ul {
	list-style: none;
	margin: 10px 0 0 0;
	padding: 0;
	border-top: 1px solid #111;
}

#columns li {
	border-bottom: 1px solid #111;
}

#columns li a {
	display: block;
	padding: .5em 0 .5em 1em;
	color: #8F8F8E;
}

#columns li a:hover {
	color: #fff;
}

#columns .col3,
.col3-center {
	float: left;
	width: 31%;
}

#columns .col3-center {
	margin: 0 15px;
}

/* footer */
#footer-bottom {
	clear: both;
	margin: 0 auto;
	padding: 1em 0 1.5em 0;
	text-align: center;
	font-size: .85em
}

/* alignment classes */
.float-left {
	float: left;
}

.float-right {
	float: right;
}

.align-left {
	text-align: left;
}

.align-right {
	text-align: right;
}

/* additional classes */
.clear {
	clear: both;
}

.grey {
	color: #8F8F8E;
}

.post-by {
	font-size: .9em;
	padding-top: 0;
}

.post-footer {
	text-align: right;
	background: transparent;
	border: 1px solid #211E20;
	padding: 5px 10px;
	margin: 20px 15px 10px 15px;
}

.post-footer .date,
.post-footer .comments,
.post-footer .readmore {
	padding-left: 20px;
	margin: 0 3px 0 3px;
}

/***********************
	  RESPONSIVE
************************/

@media screen and (max-width: 910px) {
	#header {
		background-position: center bottom;
		height: auto;
		min-height: 120px;
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	#header h1#logo-text a {
		position: static;
		font-size: 40px;
		padding: 10px 0;
	}

	#header p#slogan {
		position: static;
		font-size: 16px;
		padding: 5px 0 15px 0;
	}

	#nav ul {
		height: auto;
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	#nav ul li {
		height: auto;
		float: none;
	}

	#nav ul li a {
		line-height: 40px;
		font-size: 14px;
		padding: 0 15px;
	}

	#content {
		flex-direction: column-reverse;
	}

	#sidebar {
		width: 100%;
		margin: 0;
		padding: 10px;
		box-sizing: border-box;
	}

	#main {
		width: 100%;
		margin: 0;
		padding: 10px;
		box-sizing: border-box;
	}

	.searchform {
		width: 90%;
		margin: 0 auto;
	}

	.searchform input.textbox {
		width: 60%;
	}
}

@media screen and (max-width: 480px) {
	#header h1#logo-text a {
		font-size: 30px;
	}

	#nav ul li a {
		padding: 0 10px;
		font-size: 13px;
	}
}

/* Category grid */
.category-grid {
	display: flex;
	flex-wrap: wrap;
	padding: 10px;
}

.category-item {
	width: 50%;
	margin-bottom: 15px;
	box-sizing: border-box;
	padding-right: 10px;
}

.cat-title {
	font-size: 14px;
	display: block;
}

.sub-cats {
	font-size: 11px;
	margin-top: 3px;
	color: #707070;
}

/* Home columns */
.home-columns {
	display: flex;
	justify-content: space-between;
	padding: 10px;
}

.home-column {
	width: 48%;
}

.link-item {
	margin-bottom: 5px;
	font-size: 13px;
}

.link-date {
	font-size: 11px;
	font-style: italic;
	margin-right: 5px;
}

.recip-links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.recip-links li {
	margin-bottom: 5px;
	font-size: 13px;
}

.submit-form {
	margin-left: auto;
	margin-right: auto;
	max-width: 760px;
	text-align: left;
	padding: 18px;
	border: 1px solid #d6dde3;
	border-radius: 14px;
	background: linear-gradient(180deg, #ffffff 0%, #f9fbfc 100%);
	box-shadow: 0 8px 24px rgba(16, 24, 40, .08);
}

.submit-page {
	max-width: 980px;
	margin: 0 auto;
	padding: 10px 8px 24px;
	color: #25313b;
}

.submit-page-title {
	font: bold 2em 'Trebuchet MS', Tahoma, sans-serif;
	color: #1a9b63;
	border: none !important;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 6px;
	letter-spacing: 0;
}

.submit-lead {
	padding: 4px 0;
	margin: 0 0 6px;
	line-height: 1.65;
	font-size: 15px;
	color: #344654;
}

.submit-alert {
	margin: 8px 0 14px;
	padding: 12px 14px;
	border-radius: 10px;
	font-size: 14px;
	font-weight: bold;
}

.submit-alert-success {
	background: #e8f8ef;
	border: 1px solid #9ed4b3;
	color: #1e6f45;
}

.submit-alert-error {
	background: #fff1f1;
	border: 1px solid #e9b5b5;
	color: #9a2a2a;
}

.submit-info-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin: 14px 0;
}

.submit-info-card {
	background: #f5f8fb;
	border: 1px solid #d8e1e8;
	border-radius: 12px;
	padding: 12px 14px;
}

.submit-info-card h3 {
	padding: 0;
	margin: 0 0 8px;
	font: bold 1.2em 'Trebuchet MS', Tahoma, sans-serif;
	color: #2b5874;
	border: none;
}

.submit-rules {
	margin: 0;
	padding: 0 0 0 20px;
}

.submit-rules li {
	margin: 0 0 6px;
	color: #354452;
	line-height: 1.5;
}

.submit-recip-box {
	background: linear-gradient(180deg, #f8fbfd 0%, #edf4f8 100%);
	border: 1px solid #d3dfe8;
	border-radius: 12px;
	padding: 12px 14px;
	margin: 12px 0 16px;
}

.submit-recip-box p {
	padding: 0;
	margin: 0 0 10px;
	line-height: 1.6;
	color: #2f4352;
}

.submit-recip-code {
	width: 100%;
	max-width: 100%;
	min-height: 46px;
	padding: 10px 12px;
	border: 1px solid #b9c8d6;
	border-radius: 8px;
	box-sizing: border-box;
	font: 14px/1.4 Consolas, 'Courier New', monospace;
	color: #243746;
	background: #fff;
}

.submit-recip-note {
	margin-bottom: 0 !important;
}

.submit-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 10px;
}

.submit-table tr {
	height: auto;
	background: #f5f8fb !important;
}

.submit-label {
	width: 220px;
	font-family: Verdana, Tahoma, sans-serif;
	font-size: 15px;
	font-weight: bold;
	color: #2e3741;
	line-height: 1.35;
}

.submit-control {
	vertical-align: top;
}

.field-control {
	width: 350px;
	max-width: 100%;
	box-sizing: border-box;
	height: 46px;
	padding: 10px 12px;
	border: 1px solid #b8c6d2;
	border-radius: 10px;
	background: #fff;
	font-size: 16px;
	line-height: 1.3;
	color: #1e2933;
}

textarea.field-control {
	height: auto;
	min-height: 130px;
	resize: vertical;
}

select.field-control {
	height: auto;
	min-height: 220px;
}

.field-control:focus {
	border-color: #2a7a56;
	box-shadow: 0 0 0 3px rgba(42, 122, 86, .18);
	outline: none;
}

.submit-control img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	border: 1px solid #cad5df;
}

.submit-required {
	display: inline-block;
	margin-bottom: 14px;
	font-family: Verdana, Tahoma, sans-serif;
	font-size: 16px;
	font-weight: bold;
}

.submit-actions {
	margin-top: 18px;
	text-align: center;
}

.submit-button {
	min-height: 52px;
	padding: 12px 30px;
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	background: linear-gradient(180deg, #2f8d63 0%, #256f4f 100%);
	border: 1px solid #1f5c42;
	border-radius: 12px;
	cursor: pointer;
	box-shadow: 0 6px 14px rgba(31, 92, 66, .28);
}

.submit-button:hover {
	background: linear-gradient(180deg, #34986c 0%, #287655 100%);
}

.submit-button:active {
	transform: translateY(1px);
}

@media screen and (max-width: 600px) {

	.category-item,
	.home-column {
		width: 100%;
	}

	.home-columns {
		flex-direction: column;
	}

	.submit-form {
		max-width: 100%;
		padding: 12px;
		border-radius: 10px;
	}

	.submit-page {
		padding: 8px 2px 20px;
	}

	.submit-page-title {
		font-size: 1.55em;
		line-height: 1.25;
	}

	.submit-lead {
		font-size: 14px;
	}

	.submit-info-grid {
		grid-template-columns: 1fr;
	}

	.submit-table,
	.submit-table tbody,
	.submit-table tr,
	.submit-table td {
		display: block;
		width: 100% !important;
		box-sizing: border-box;
	}

	.submit-table tr {
		margin-bottom: 12px;
		height: auto;
		padding: 10px;
	}

	.submit-label {
		text-align: left !important;
		padding-bottom: 6px;
		font-size: 14px;
	}

	.submit-control {
		padding-top: 0;
	}

	.field-control {
		width: 100%;
		height: 44px;
		font-size: 16px;
	}

	textarea.field-control {
		min-height: 120px;
	}

	select.field-control {
		min-height: 180px;
	}

	.submit-button {
		width: 100%;
		min-height: 54px;
		font-size: 22px;
	}
}

/* 2026 modern refresh */
:root {
	--bg: #eef3f7;
	--surface: #ffffff;
	--surface-alt: #f7fafc;
	--line: #d9e3ec;
	--text: #1f2a37;
	--muted: #5f6b7a;
	--brand: #0f7a5a;
	--brand-2: #0d5f9e;
	--accent: #ef7f1a;
	--shadow: 0 12px 28px rgba(16, 24, 40, .09);
}

body {
	background: radial-gradient(circle at top, #f8fbff 0%, var(--bg) 35%, #e8eef4 100%);
	color: var(--text);
	font-family: "Segoe UI", "Trebuchet MS", Tahoma, sans-serif;
	margin: 0;
}

#nav,
#header,
#content,
#footer-wrap {
	max-width: 1140px;
}

#nav {
	margin-top: 12px;
	border-radius: 14px 14px 0 0;
	overflow: hidden;
	background: linear-gradient(120deg, #0f7a5a 0%, #0d5f9e 100%);
	box-shadow: var(--shadow);
}

#nav ul {
	float: none;
	display: flex;
	align-items: center;
	gap: 2px;
	padding: 0 6px;
	height: auto;
	flex-wrap: wrap;
	justify-content: center;
}

#nav ul li,
#nav ul li a {
	float: none;
	height: auto;
}

#nav ul li a {
	line-height: 1;
	padding: 16px 14px;
	font-size: 13px;
	letter-spacing: .4px;
	text-transform: none;
	color: #eaf8f3;
	border-radius: 10px;
	margin: 6px 0;
	font-weight: 600;
}

#nav ul li#current a,
#nav ul li a:hover {
	background: rgba(255, 255, 255, .14);
	color: #fff;
	text-decoration: none;
}

#header {
	background:
		radial-gradient(circle at 85% 20%, rgba(255, 255, 255, .22) 0%, rgba(255, 255, 255, 0) 34%),
		radial-gradient(circle at 18% 78%, rgba(255, 255, 255, .16) 0%, rgba(255, 255, 255, 0) 38%),
		linear-gradient(140deg, #0b3a64 0%, #0d6d77 46%, #138a5a 100%);
	border-radius: 0 0 14px 14px;
	height: 162px;
	overflow: hidden;
	box-shadow: var(--shadow);
	margin-bottom: 18px;
	position: relative;
}

#header:before,
#header:after {
	content: "";
	position: absolute;
	border-radius: 999px;
	pointer-events: none;
}

#header:before {
	width: 280px;
	height: 280px;
	right: -80px;
	top: -130px;
	background: rgba(255, 255, 255, .14);
	filter: blur(2px);
}

#header:after {
	width: 220px;
	height: 220px;
	left: -70px;
	bottom: -120px;
	background: rgba(255, 255, 255, .1);
}

#header h1#logo-text a {
	font-size: 58px;
	letter-spacing: -1.6px;
	left: 26px;
	top: 20px;
	color: #ffffff;
	text-shadow: 0 10px 28px rgba(0, 0, 0, .24);
	line-height: 1;
}

#header p#slogan {
	left: 30px;
	top: 102px;
	font-size: 18px;
	color: #e8fff4;
	font-weight: 600;
	text-shadow: 0 2px 8px rgba(0, 0, 0, .22);
	padding: 6px 12px;
	background: rgba(0, 0, 0, .12);
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 999px;
}

#content-wrap {
	background: transparent;
}

#content {
	align-items: flex-start;
	gap: 18px;
}

#main,
#sidebar {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 14px;
	box-shadow: var(--shadow);
	padding: 14px;
	box-sizing: border-box;
}

#main {
	margin: 0;
	padding: 18px;
}

#sidebar {
	width: 21.5em;
	padding: 14px 14px 18px;
}

#main h2,
.page-title {
	font-family: "Segoe UI", "Trebuchet MS", sans-serif;
	font-weight: 700;
	font-size: 30px;
	line-height: 1.2;
	color: #173047;
	border-bottom: 2px solid #e4edf4;
	margin-bottom: 12px;
	padding: 0 0 10px;
	letter-spacing: -.3px;
}

#sidebar h3 {
	color: #104e73;
	font-size: 20px;
	padding: 2px 0 8px;
	letter-spacing: -.2px;
}

#sidebar ul.sidemenu {
	border-top: 1px solid #e4edf4;
	margin: 0;
	padding: 8px 0 0;
}

#sidebar ul.sidemenu li:before {
	color: #0f7a5a;
	left: 0;
	font-size: 18px;
	top: 4px;
}

#sidebar ul.sidemenu li a {
	color: #2b3a49;
	padding: .24em 0 .24em 20px;
	font-size: 16px;
	font-weight: 600;
}

#sidebar ul.sidemenu li a:hover {
	color: var(--brand-2);
}

.searchform {
	margin: 0;
	padding: 0;
	width: 100%;
}

.searchform input.textbox {
	width: calc(100% - 100px);
	padding: 10px 12px;
	border-radius: 10px;
	border: 1px solid #c8d5e2;
}

.searchform input.button {
	width: 88px;
	height: 40px;
	border-radius: 10px;
	border: 1px solid #1f5c42;
	background: linear-gradient(180deg, #2f8d63 0%, #256f4f 100%);
	font-weight: 700;
}

.category-grid,
.home-columns {
	gap: 14px;
	padding: 0;
}

.category-item,
.home-column {
	background: var(--surface-alt);
	border: 1px solid #e6edf3;
	border-radius: 12px;
	padding: 12px;
}

.link-results,
.search-results,
.recip-links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.link-results li,
.search-results li,
.recip-links li,
.latest-links .link-item {
	background: var(--surface-alt);
	border: 1px solid #e6edf3;
	border-radius: 12px;
	padding: 12px;
	margin-bottom: 10px;
	color: var(--text);
}

.link-results li a,
.search-results li a {
	color: #0d5f9e;
	font-weight: 600;
}

.search-query,
.search-count {
	font-weight: 700;
	color: #0f7a5a;
}

#footer-bottom {
	background: #e8f0f6;
	border: 1px solid #d4e0ea;
	border-radius: 12px;
	padding: 14px;
	margin-top: 12px;
	color: var(--muted);
}

@media screen and (max-width: 910px) {
	#header {
		height: auto;
		padding: 16px;
	}

	#header:before,
	#header:after {
		display: none;
	}

	#header h1#logo-text a,
	#header p#slogan {
		position: static;
	}

	#header h1#logo-text a {
		font-size: 36px;
	}

	#header p#slogan {
		font-size: 14px;
		padding: 6px 10px;
		margin-top: 8px;
	}

	#content {
		gap: 12px;
	}
}

/* Material-like directory layout refinements */
#content {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	grid-template-areas: "main sidebar";
	gap: 16px;
	align-items: start;
}

#main {
	grid-area: main;
	padding: 20px;
}

#sidebar {
	grid-area: sidebar;
	width: auto;
	position: sticky;
	top: 12px;
}

#main h2,
.page-title {
	font-size: 36px;
	font-weight: 800;
	margin-bottom: 14px;
}

.category-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 12px;
	padding: 0;
}

.category-item {
	width: auto;
	margin: 0;
	padding: 12px 14px;
	border-radius: 14px;
	border: 1px solid #dce5ee;
	background: #f9fcff;
	box-shadow: 0 2px 10px rgba(16, 24, 40, .06);
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.category-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(16, 24, 40, .10);
	border-color: #b9ccd9;
}

.cat-title {
	display: block;
	font-size: 17px;
	line-height: 1.35;
}

.cat-title img {
	vertical-align: text-top;
	margin-right: 8px;
}

.cat-title a {
	color: #1b4e7a;
	font-weight: 700;
}

.cat-count {
	white-space: nowrap;
	color: #2b3a49;
	font-weight: 500;
}

.sub-cats {
	margin-top: 6px;
	font-size: 13px;
	line-height: 1.45;
	color: #5e6b79;
}

.link-results li,
.search-results li,
.recip-links li,
.latest-links .link-item {
	padding: 14px;
	border-radius: 14px;
	margin-bottom: 12px;
}

.listing-title {
	margin: 0 0 6px;
	padding: 0;
	font-size: 24px;
	line-height: 1.2;
	font-weight: 800;
	color: #173f66;
	border: none;
}

.listing-title a {
	color: #173f66;
}

.listing-desc {
	margin: 0 0 8px !important;
	padding: 0 !important;
	font-size: 15px;
	line-height: 1.55;
	color: #4d5b69;
}

.listing-meta {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 12px;
	line-height: 1.4;
	color: #6b7785;
}

/* spacing cleanup */
#main p {
	padding: 0;
	margin: 0 0 14px;
	line-height: 1.65;
}

#main h4 {
	padding: 0 0 10px;
	margin: 0 0 10px;
	font-size: 24px;
}

#sidebar h3 {
	margin: 0 0 10px;
	padding: 0;
}

#sidebar p {
	padding: 0;
	margin: 0 0 14px;
	line-height: 1.55;
}

.searchform p {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 0;
	margin: 0 0 14px;
}

.searchform input.textbox {
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	margin: 0;
}

.searchform input.button {
	flex: 0 0 92px;
	margin: 0;
}

.category-grid {
	margin: 0 0 12px;
}

.home-columns {
	align-items: start;
	margin-top: 8px;
}

.home-column {
	padding: 14px;
}

.home-section-title {
	display: flex;
	align-items: center;
	gap: 10px;
}

.home-section-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	font-size: 16px;
	line-height: 1;
	background: #e7f1fb;
	border: 1px solid #cfe0f1;
	border-radius: 999px;
	color: #0d5f9e;
	flex: 0 0 28px;
}

.home-panels {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.home-panel {
	background: linear-gradient(180deg, #fbfdff 0%, #f3f8fc 100%);
	border: 1px solid #dbe7f2;
	border-radius: 14px;
	padding: 14px;
}

.home-panel-title {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 20px;
	line-height: 1.2;
	color: #0f3f6a;
	padding: 0 0 10px;
	margin: 0 0 10px;
	border-bottom: 1px solid #d4e2ef;
}

.home-panel-highlight {
	background: linear-gradient(180deg, #f2fbf7 0%, #edf8f3 100%);
	border-color: #cfe4d8;
}

.home-empty {
	font-size: 15px;
	color: #5f6b7a;
	padding: 0;
	margin: 0;
}

.latest-links,
.recip-links {
	margin-top: 8px;
}

.home-column {
	width: auto;
	min-width: 0;
}

.latest-links .link-item,
.recip-links li {
	overflow-wrap: anywhere;
}

#main {
	overflow-x: hidden;
}

@media screen and (max-width: 1100px) {
	#content {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"main"
			"sidebar";
	}

	#sidebar {
		position: static;
	}

	.home-panels {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 600px) {
	.searchform p {
		flex-wrap: wrap;
	}

	.searchform input.button {
		flex: 0 0 auto;
		width: 110px;
	}

	#main,
	#sidebar {
		padding: 14px;
	}
}
