/*
Theme Name: Desert Greens
Theme URI: https://desertgreenscommunity.org/
Author: Desert Greens Community
Description: Lightweight custom theme restoring the historical Desert Greens Homeowners Association community website in Pahrump, Nevada. Semantic HTML5, no page builder, no external dependencies.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: desert-greens
Tags: community, custom-menu, responsive-layout, accessibility-ready
*/

/* ==========================================================================
   Design tokens recovered from the historical site
   ========================================================================== */
:root{
	--dg-blue:#1b6baf;
	--dg-blue-dark:#16558c;
	--dg-blue-deep:#0d3557;
	--dg-blue-light:#69b7fa;
	--dg-blue-pale:#cce7fd;
	--dg-blue-band:#8fc2ee;
	--dg-link:#1863a8;
	--dg-foot-top:#11426d;
	--dg-foot-bottom:#0b2d49;
	--dg-text:#333;
	--dg-muted:#555;
	--dg-rule:#eee;
	--dg-wrap:1000px;
	--dg-font:"Trebuchet MS", "Lucida Grande", Arial, Helvetica, sans-serif;
}

/* ==========================================================================
   Base
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
	margin:0;
	padding:0;
	min-height:100vh;
	display:flex;
	flex-direction:column;
	font-family:var(--dg-font);
	font-size:16px;
	line-height:1.45;
	color:var(--dg-text);
	background:var(--dg-blue);
	background-image:linear-gradient(to bottom,var(--dg-blue-light) 0,var(--dg-blue) 500px);
	background-repeat:no-repeat;
	background-attachment:fixed;
	overflow-x:hidden;
}
img{max-width:100%;height:auto}
figure{margin:0}

a{color:var(--dg-link)}
a:hover,a:focus{text-decoration:none}

:focus-visible{outline:3px solid #ffbf47;outline-offset:2px}

.dg-skip{
	position:absolute;left:-9999px;top:0;z-index:999;
	padding:10px 18px;background:#fff;color:var(--dg-blue-deep);
	font-weight:bold;text-decoration:none;
}
.dg-skip:focus{left:0}

.screen-reader-text{
	position:absolute!important;width:1px;height:1px;overflow:hidden;
	clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap;
}

/* ==========================================================================
   Top bar
   ========================================================================== */
.dg-topbar{
	flex:none;
	background:var(--dg-blue-dark);
	background-image:linear-gradient(to bottom,var(--dg-blue) 0,var(--dg-blue-dark) 100%);
	box-shadow:0 0 10px rgba(0,0,0,.3);
	position:relative;
	z-index:20;
}
.dg-topbar__inner{
	max-width:var(--dg-wrap);
	margin:0 auto;
	min-height:30px;
	padding:0 15px;
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:14px;
	font-size:13px;
	line-height:30px;
	color:#fff;
}
.dg-topbar__inner a{color:#fff;text-decoration:underline}
.dg-topbar__inner a:hover,.dg-topbar__inner a:focus{text-decoration:none}
.dg-topbar__contact{margin-right:auto;font-style:normal}

.dg-navtoggle{
	display:none;
	margin:0;
	padding:6px 10px;
	background:transparent;
	border:1px solid rgba(255,255,255,.5);
	border-radius:3px;
	color:#fff;
	font:inherit;
	font-size:15px;
	line-height:1;
	cursor:pointer;
	align-items:center;
	gap:8px;
}
.dg-navtoggle:hover{background:rgba(255,255,255,.12)}
.dg-navtoggle__bars{display:inline-block;width:18px;height:2px;background:#fff;position:relative}
.dg-navtoggle__bars::before,.dg-navtoggle__bars::after{
	content:"";position:absolute;left:0;width:18px;height:2px;background:#fff;
}
.dg-navtoggle__bars::before{top:-6px}
.dg-navtoggle__bars::after{top:6px}

/* ==========================================================================
   Banner
   ========================================================================== */
.dg-banner{
	flex:none;
	max-width:var(--dg-wrap);
	margin:0 auto;
	padding:20px 15px 0;
	width:100%;
}
.dg-banner__head{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:20px;
	flex-wrap:wrap;
}
.dg-banner__name{
	margin:0 0 5px;
	font-size:40px;
	font-weight:normal;
	line-height:1;
	color:var(--dg-blue-deep);
	text-decoration:none;
	display:block;
}
a.dg-banner__name:hover,a.dg-banner__name:focus{color:var(--dg-blue-deep);text-decoration:none}
.dg-banner__name img{max-width:80%;max-height:100px;width:auto}
.dg-banner__tagline{
	color:var(--dg-blue);
	font-size:16px;
	line-height:1.2;
	font-style:italic;
}
.dg-banner__photo{
	margin-top:15px;
	position:relative;
	aspect-ratio:1000/300;
	overflow:hidden;
	box-shadow:0 0 10px rgba(0,0,0,.3);
	background:var(--dg-blue-dark);
}
.dg-banner__photo img{
	width:100%;height:100%;
	object-fit:cover;
	display:block;
}

/* ==========================================================================
   Content shell
   ========================================================================== */
.dg-shell{
	max-width:var(--dg-wrap);
	margin:15px auto 20px;
	padding:20px;
	background:#fff;
	box-shadow:0 0 10px rgba(0,0,0,.3);
	font-size:16px;
	line-height:1.35;
	color:var(--dg-text);
	flex:1 0 auto;
	width:100%;
}
.dg-cols{display:flex;gap:20px;align-items:flex-start}
.dg-main{flex:1 1 auto;min-width:0;overflow-wrap:break-word;word-wrap:break-word}
.dg-side{flex:0 0 25%;max-width:25%}

.dg-main h1,.dg-page-title{
	margin:0 0 15px;
	padding:0 0 5px;
	border-bottom:1px solid var(--dg-blue-pale);
	font-size:25px;
	line-height:1.15;
	font-weight:bold;
	color:var(--dg-blue-deep);
}
.dg-main h2{font-size:21px;color:var(--dg-blue-deep);margin:1.4em 0 .5em;line-height:1.2}
.dg-main h3{font-size:18px;color:var(--dg-blue-deep);margin:1.3em 0 .4em;line-height:1.2}
.dg-main h4{font-size:16px;color:var(--dg-blue-deep);margin:1.2em 0 .4em}
.dg-main p{margin:0 0 1em}
.dg-main ul,.dg-main ol{margin:0 0 1em;padding-left:1.5em}
.dg-main li{margin-bottom:.3em}
.dg-main a{color:var(--dg-link);text-decoration:underline}
.dg-main a:hover,.dg-main a:focus{text-decoration:none}
.dg-main img{max-width:100%;height:auto}
.dg-main hr{border:0;border-top:1px solid var(--dg-blue-pale);margin:1.6em 0}
.dg-main blockquote{
	margin:0 0 1em;padding:.6em 1em;
	border-left:4px solid var(--dg-blue-pale);
	background:#f7fbff;color:var(--dg-muted);
}

/* Tables */
.dg-tablewrap{overflow-x:auto;margin:0 0 1.2em;-webkit-overflow-scrolling:touch}
.dg-main table{border-collapse:collapse;width:100%;font-size:15px}
.dg-main th,.dg-main td{padding:8px 10px;border:1px solid #ddd;text-align:left;vertical-align:middle}
.dg-main thead th{background:#f2f7fc;color:var(--dg-blue-deep)}
.dg-main tbody tr:nth-child(odd){background:#f9f9f9}

/* Buttons */
.dg-btn{
	display:inline-block;
	padding:9px 16px;
	background:var(--dg-blue);
	border:0;
	color:#fff!important;
	font:inherit;
	font-size:15px;
	line-height:1.2;
	text-decoration:none!important;
	cursor:pointer;
}
.dg-btn:hover,.dg-btn:focus{background:var(--dg-blue-dark);color:#fff}

/* Centred welcome copy, as the historical homepage presented it */
.dg-center{text-align:center}
.dg-center p{margin:0 0 1em}

.dg-term-desc{margin:0 0 1.2em;font-size:15px;color:var(--dg-muted)}

.dg-main iframe{max-width:100%;border:0}

/* Info / contact blocks */
.dg-infobox{
	margin:0 0 1.4em;
	padding:15px 18px;
	background:#f2f8fd;
	border-left:4px solid var(--dg-blue);
}
.dg-infobox p:last-child{margin-bottom:0}

.dg-hours{width:auto!important;min-width:260px}
.dg-hours td{padding:5px 14px 5px 0;border:0}
.dg-hours tbody tr:nth-child(odd){background:transparent}
.dg-hours td:first-child{font-weight:bold;color:var(--dg-blue-deep)}

/* Document lists */
.dg-doclist{list-style:none;margin:0 0 1.2em;padding:0}
.dg-doclist li{
	margin:0;padding:9px 0 9px 26px;
	border-bottom:1px solid var(--dg-rule);
	position:relative;
	font-size:15px;
}
.dg-doclist li::before{
	content:"";
	position:absolute;left:0;top:11px;
	width:13px;height:16px;
	background:var(--dg-blue-pale);
	border-top-right-radius:5px;
	box-shadow:inset -4px 4px 0 #fff;
}

/* ==========================================================================
   Sidebar page tree
   ========================================================================== */
.dg-pages__title{
	margin:0;padding:0 0 5px;
	font-size:21px;line-height:1.2;color:#222;font-weight:bold;
	border:0;
}
.dg-pages ul{list-style:none;margin:0;padding:0}
.dg-pages li{margin:0}
.dg-pages a,.dg-pages .dg-folder{
	display:block;
	padding:7px 0;
	border-bottom:1px solid var(--dg-rule);
	font-size:14px;
	line-height:1.25;
	color:#444;
	text-decoration:none;
	transition:background .3s;
}
.dg-pages a:hover,.dg-pages a:focus,.dg-pages .current-menu-item>a,.dg-pages .current_page_item>a{background:var(--dg-rule);color:#111}
.dg-pages .current-menu-item>a,.dg-pages .current_page_item>a{font-weight:bold}
.dg-pages .dg-folder{
	background:none;border:0;width:100%;text-align:left;
	font:inherit;font-size:14px;color:#444;cursor:pointer;
	border-bottom:1px solid var(--dg-rule);
	display:flex;align-items:center;gap:8px;
}
.dg-pages .dg-folder:hover{background:var(--dg-rule)}
.dg-folder__chev{
	display:inline-block;width:0;height:0;
	border-top:4px solid transparent;
	border-bottom:4px solid transparent;
	border-left:6px solid #999;
	transition:transform .15s;
	flex:0 0 auto;
}
.dg-folder[aria-expanded="true"]{font-weight:bold}
.dg-folder[aria-expanded="true"] .dg-folder__chev{transform:rotate(90deg)}
.dg-pages .sub-menu{margin:0;padding:0}
.dg-pages .sub-menu a{padding-left:22px}
.dg-pages .sub-menu .sub-menu a{padding-left:44px}
.dg-pages [hidden]{display:none!important}

.dg-side-block{margin:22px 0 0}
.dg-side-block h2{margin:0 0 8px;font-size:18px;color:#222;line-height:1.2}
.dg-side-block p{margin:0 0 .6em;font-size:14px;line-height:1.4}
.dg-side-block .dg-side-photo{width:100%;display:block;margin:0 0 8px;box-shadow:0 0 5px rgba(0,0,0,.2)}

/* ==========================================================================
   News / events band
   ========================================================================== */
.dg-band{
	flex:none;
	max-width:var(--dg-wrap);
	margin:-20px auto 20px;
	padding:0 20px;
	background:var(--dg-blue-band);
	box-shadow:0 0 5px rgba(0,0,0,.2);
	width:100%;
}
.dg-band__cols{display:flex;gap:30px;flex-wrap:wrap}
.dg-band__col{flex:1 1 300px;padding:15px 0}
.dg-band h2{margin:0 0 10px;font-size:21px;color:var(--dg-blue-deep)}
.dg-band h3{margin:0 0 5px;font-size:15px;font-weight:bold}
.dg-band h3 a{color:var(--dg-blue-deep);text-decoration:none}
.dg-band h3 a:hover,.dg-band h3 a:focus{text-decoration:underline}
.dg-band__date{
	padding-left:10px;font-size:13px;font-weight:normal;font-style:italic;
}
.dg-band__text{font-size:13px;line-height:1.35;word-wrap:break-word}
.dg-band__item{margin:0 0 15px}
.dg-band__item:last-child{margin-bottom:0}
.dg-band__more{font-size:13px;margin:10px 0 0}

/* ==========================================================================
   Post lists / archives
   ========================================================================== */
.dg-list{list-style:none;margin:0;padding:0}
.dg-entry{
	padding:0 0 18px;
	margin:0 0 18px;
	border-bottom:1px solid var(--dg-rule);
	display:flex;
	gap:16px;
	align-items:flex-start;
}
.dg-entry:last-child{border-bottom:0;margin-bottom:0}
.dg-entry__thumb{flex:0 0 150px;max-width:150px}
.dg-entry__thumb img{width:100%;height:110px;object-fit:cover;display:block}
.dg-entry__body{flex:1 1 auto;min-width:0}
.dg-entry__title{margin:0 0 4px;font-size:18px;line-height:1.2}
.dg-entry__title a{color:var(--dg-blue-deep);text-decoration:none}
.dg-entry__title a:hover,.dg-entry__title a:focus{text-decoration:underline}
.dg-entry__meta{margin:0 0 6px;font-size:13px;font-style:italic;color:var(--dg-muted)}
.dg-entry__excerpt{margin:0;font-size:14px;line-height:1.4}

.dg-meta{margin:-8px 0 16px;font-size:13px;font-style:italic;color:var(--dg-muted)}
.dg-meta a{color:var(--dg-muted)}

/* ==========================================================================
   Galleries
   ========================================================================== */
.dg-gallery{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
	gap:10px;
	margin:0 0 1.4em;
	padding:0;
	list-style:none;
}
.dg-gallery li{margin:0}
.dg-gallery a{display:block;line-height:0;box-shadow:0 0 4px rgba(0,0,0,.25);background:#eef4fa}
.dg-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:opacity .2s}
.dg-gallery a:hover img,.dg-gallery a:focus img{opacity:.85}
.dg-gallery figcaption{font-size:12px;color:var(--dg-muted);padding:4px 2px 0;line-height:1.3}

.dg-main .wp-block-gallery{gap:10px}

/* Card grid used by section index pages */
.dg-cards{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
	gap:16px;
	margin:0 0 1.4em;
	padding:0;
	list-style:none;
}
.dg-card{
	margin:0;
	background:#fff;
	box-shadow:0 0 5px rgba(0,0,0,.2);
	display:flex;
	flex-direction:column;
}
.dg-card a{text-decoration:none;color:inherit;display:flex;flex-direction:column;height:100%}
.dg-card a:hover .dg-card__title,.dg-card a:focus .dg-card__title{text-decoration:underline}
.dg-card__img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#eef4fa}
.dg-card__body{padding:10px 12px 12px}
.dg-card__title{margin:0 0 3px;font-size:15px;line-height:1.25;color:var(--dg-blue-deep);font-weight:bold}
.dg-card__meta{margin:0;font-size:12px;font-style:italic;color:var(--dg-muted)}

/* ==========================================================================
   Forms
   ========================================================================== */
.dg-form{margin:0 0 1.4em;max-width:620px}
.dg-field{margin:0 0 14px}
.dg-form label{display:block;margin:0 0 4px;font-weight:bold;font-size:14px;color:var(--dg-blue-deep)}
.dg-req{color:#a00}
.dg-form input[type=text],
.dg-form input[type=email],
.dg-form input[type=tel],
.dg-form textarea,
.dg-main input[type=search]{
	width:100%;
	max-width:100%;
	padding:9px 10px;
	border:1px solid #999;
	border-radius:0;
	font:inherit;
	font-size:15px;
	color:var(--dg-text);
	background:#fff;
}
.dg-form textarea{min-height:150px;resize:vertical}
.dg-form input:focus,.dg-form textarea:focus{border-color:var(--dg-blue)}
.dg-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.dg-hint{font-size:13px;color:var(--dg-muted);margin:4px 0 0}
.dg-notice{padding:12px 15px;margin:0 0 1.2em;font-size:15px}
.dg-notice--ok{background:#e6f6e6;border-left:4px solid #2e7d32;color:#1b5e20}
.dg-notice--err{background:#fdecea;border-left:4px solid #c62828;color:#8e1b16}
.dg-error{color:#a00;font-size:13px;margin:4px 0 0}

.dg-searchform{display:flex;gap:8px;max-width:420px;margin:0 0 1.4em}
.dg-searchform input[type=search]{flex:1 1 auto;min-width:0}

/* ==========================================================================
   Pagination
   ========================================================================== */
.dg-pagination{margin:20px 0 0;font-size:15px}
.dg-pagination .page-numbers{
	display:inline-block;padding:6px 12px;margin:0 3px 4px 0;
	background:#f0f5fa;color:var(--dg-link);text-decoration:none;
}
.dg-pagination .page-numbers.current{background:var(--dg-blue);color:#fff}
.dg-pagination a.page-numbers:hover,.dg-pagination a.page-numbers:focus{background:var(--dg-blue-pale)}

.dg-postnav{
	display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
	margin:24px 0 0;padding-top:16px;border-top:1px solid var(--dg-rule);font-size:14px;
}

.dg-crumbs{margin:0 0 12px;font-size:13px;color:var(--dg-muted)}
.dg-crumbs a{color:var(--dg-muted)}
.dg-crumbs [aria-current]{color:#222}

/* ==========================================================================
   Footer
   ========================================================================== */
.dg-footer{
	width:100%;
	margin:0;
	padding:14px 15px;
	background:var(--dg-foot-top);
	background-image:linear-gradient(to bottom,var(--dg-foot-top) 0,var(--dg-foot-bottom) 100%);
	font-size:12px;
	line-height:1.6;
	text-align:center;
	color:#fff;
	flex:none;
}
.dg-footer a{color:#fff;text-decoration:underline}
.dg-footer a:hover,.dg-footer a:focus{text-decoration:none}
.dg-footer__nav{margin:0 0 8px;padding:0;list-style:none;font-size:12px}
.dg-footer__nav li{display:inline-block;margin:0 6px 4px}
.dg-footer__contact{margin:0 0 8px;font-size:12px}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1030px){
	.dg-shell{margin-left:10px;margin-right:10px;width:auto}
	.dg-band{margin-left:10px;margin-right:10px;width:auto}
}
@media (min-width:601px) and (max-width:1000px){
	.dg-banner__name{font-size:35px}
}
@media (max-width:767px){
	.dg-topbar__inner{
		flex-wrap:wrap;
		justify-content:space-between;
		line-height:1.4;
		padding-top:8px;
		padding-bottom:8px;
	}
	.dg-navtoggle{display:inline-flex}
	.dg-cols{display:block}
	.dg-side{
		max-width:none;
		margin:24px 0 0;
		padding-top:16px;
		border-top:1px solid var(--dg-rule);
	}
	.dg-entry{display:block}
	.dg-entry__thumb{max-width:none;margin:0 0 10px}
	.dg-entry__thumb img{height:auto;aspect-ratio:4/3}
	.dg-gallery{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
	.dg-band__cols{gap:0}
}
@media (max-width:600px){
	.dg-banner__name{font-size:25px}
	.dg-shell{padding:15px}
	.dg-main h1,.dg-page-title{font-size:21px}
	.dg-gallery{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}
	.dg-cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
}

/* Mobile flyout navigation */
.dg-mobilenav{
	display:none;
	width:100%;
	order:3;
	margin:8px 0 4px;
	padding:0 0 6px;
}
.dg-mobilenav.is-open{display:block}
.dg-mobilenav ul{list-style:none;margin:0;padding:0}
.dg-mobilenav a,.dg-mobilenav .dg-folder{
	display:block;padding:9px 0;
	font-size:17px;line-height:1.2;color:#fff;text-decoration:none;
	border-bottom:1px solid rgba(255,255,255,.18);
	background:none;
}
.dg-mobilenav a:hover,.dg-mobilenav a:focus,.dg-mobilenav .current-menu-item>a{background:rgba(255,255,255,.12)}
.dg-mobilenav .dg-folder{
	width:100%;text-align:left;border:0;border-bottom:1px solid rgba(255,255,255,.18);
	font:inherit;font-size:17px;color:#fff;cursor:pointer;
	display:flex;align-items:center;gap:8px;
}
.dg-mobilenav .dg-folder__chev{border-left-color:#fff}
.dg-mobilenav .sub-menu a{padding-left:22px;font-size:16px}
.dg-mobilenav .sub-menu .sub-menu a{padding-left:44px}
@media (min-width:768px){
	.dg-mobilenav{display:none!important}
}

@media print{
	body{background:#fff}
	.dg-topbar,.dg-side,.dg-footer__nav,.dg-navtoggle{display:none}
	.dg-shell{box-shadow:none;max-width:none}
}

@media (prefers-reduced-motion:reduce){
	*{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
