/*
	Theme Name: w32026
	Theme URI: https://w3nerds.com
	Description: Theme designed for client
	Version: 1.1
	Author: w3 Global Solutions
	Author URI: https://w3nerds.com
	Tags: HTML5, CSS3

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
*/
/*------------------------------------*\
    BASE — variables, reset, base typography
\*------------------------------------*/
*,
*:after,
*:before {
	box-sizing:border-box;
	text-rendering:optimizeLegibility;
	margin:0;
}
:root {
	--color-1:#000930;
	--color-2:#004182;
	--color-3:#2bace3;
	--color-4:#bc74a5;
	--greyZero:#f5f5f5;
	--greyOne:#e5e5e5;
	--greyTwo:#bfbfbf;
	--greyThree:#757575;
	--greyFour:#444444;
	--greyFive:#151515;
	--font-title: 'title', 'opensans-extrabold', Times, serif;
	--font-sm-title: 'tbd', 'opensans-regular', Times, serif;
	--font-text-strong: 'bold', 'opensans-bold', "Arial Black", sans-serif;
	--font-text-regular: 'regular', 'opensans-regular', Arial, sans-serif;
	--font-text-italic: 'italic', 'opensans-italic', "Arial Italic", sans-serif;
	--font-nav: 'tbd', 'opensans-bold', Arial, serif;
	--font-cta: 'cta', 'opensans-bold', Arial, serif;
}
.screen-reader-text {
	overflow: hidden;
	position:absolute;
	width:1px;
	height:1px;
	clip:rect(1px,1px,1px,1px);
}
.skip-to-content-link {
	background: #fff;
	color:#000;
	height: 30px;
	left: 50%;
	padding: 4px;
	position: absolute;
	transform: translateY(-100%);
	transition: transform 0.3s;
}
.skip-to-content-link:focus {
	transform: translateY(0%);
}
#loader {
	left: 50%;
	top: 50%;
	position: fixed;
	transform: translate(-50%, -50%);
	border: 12px solid #f3f3f3; /* Light grey */
	border-top: 12px solid #3498db; /* Blue */
	border-radius: 50%;
	width: 90px;
	height: 90px;
	animation: spin 2s linear infinite;
	z-index:999;
}
@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}
p#noscript {
	background-color:red;
	color:white;
	text-align:center;
	width:100%;
}
a#w3 {
	background-color:transparent;
	background: transparent url(img/w3nerds-logo-web.png) no-repeat;
	background-position: 10% 50%;
	color:var(--muted);
	display: inline-block;
	font-family: 'opensans-regular', sans-serif;
	font-size: 13px;
	line-height: 22px;
	margin: 10px;
	padding: 10px;
	text-align: right;
	transition-duration: 0.8s;
	text-decoration: none;
	width: 180px;
	height: 90px;
}
a#w3:hover {
	background-color: #fff;
	box-shadow: 15px 15px 0px -10px #4285f4, -15px -15px 0px -10px #fcc934, 5px -5px #ff5252, -5px 5px #34a853;
	color:#151515;
}
.success {
	padding:12px 20px;
	text-align: left;
	color:#fff;
	font-weight:bold;
	font-size:16px;
	background:green;
	position: relative;
	z-index: 9999;
}
.success a {
	color:#ccc;
}
.error, .form-error-container {
	padding:12px 20px;
	text-align: left;
	font-size: 16px;
	color:#fff;
	background:red;
	position: relative;
	z-index: 9999;
}
.error span,
 .error a {
	vertical-align: middle !important;
}
.inputError {
	background-color:rgb(249,213,212) !important;
}
html {
	font-size:14px;
}
body {
	font-family: "Barlow", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    background: var(--bg);
    color: var(--text);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}
img {
	vertical-align:bottom;
	width: auto;
	height: auto;
	max-width: 100%;
	/*border-radius: 10px;*/
}
/*a {
	color:var(--color-2);
	font-family: var(--font-text-strong), 'opensans-bold', serif;
	text-decoration:underline;
	cursor: pointer;
}
a:hover {
	color:#000;
}
a:focus {
	outline:#2f2f2f;
}
a:hover,
a:active {
	outline:0;
}*/
button {
	cursor: pointer;
}
input:focus {
	outline:0;
	border:1px solid var(--color-4);
}
textarea {
	outline-color:var(--color-4);
}
/*p {
	text-align: left;
	font-size: 18px;
	line-height: 26px;
	position: relative;
	font-family: var(--font-text-regular), 'opensans-regular', serif;
}*/
/*ul,ol {
	font-size:14px;
	line-height: 14px;
	padding: 20px 0 20px 20px;
}*/
/*ul li, ol ul li {
	text-align: left;
	list-style: none;
	background-image: url('favicon-32x32.png');
	background-repeat: no-repeat;
	background-size: 12px;
	background-position: 5px 12px;
	font-size: 16px;
	line-height: 24px;
	padding: 5px 0 10px 30px;
}*/
ol li, ul ol li {								/*NEW*/
	list-style: auto;
	background-image: none;
	text-align: left;
	font-size: 16px;
	line-height: 24px;
	padding: 5px 0 15px 5px;
}
ol li::marker, ul ol li::marker {
	font-family: var(--font-text-strong), 'opensans-bold', serif;
}
ul li h4, ol li h4, ul ol li h4 {
	padding-bottom: 4px;
}
/*h1, h2.xlg-title, h3.xlg-title, h4.xlg-title, h5.xlg-title, .xlg-title {
	color: var(--greyFour);
	display: block;
	font-family: var(--font-title), 'opensans-bold', sans-serif;
	font-size:36px;
	font-weight: normal;
	line-height:46px;
	margin: 0;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	vertical-align: middle;
}
h2, h1.lg-title, h3.lg-title, h4.lg-title, h5.lg-title, .lg-title {
	border-bottom: 2px solid var(--color-4);
	color: var(--greyFour);
	display: inline-block;
	font-family: var(--font-title), 'opensans-bold', sans-serif;
	font-size:28px;
	font-weight: normal;
	line-height:34px;
	margin-bottom: 20px;
	padding-bottom: 10px;
	text-align: left;
	text-transform: uppercase;
	vertical-align: middle;
}
h3, h1.med-title, h2.med-title, h4.med-title, h5.med-title, .med-title { 
	border-bottom: 2px solid var(--color-4);
	color: var(--greyFour);
	display: inline-block;
	font-family: var(--font-title), 'opensans-bold', sans-serif;
	font-size:20px;
	font-weight: normal;
	line-height:28px;
	margin-bottom: 14px;
	padding-bottom: 10px;
	text-align: left;
	text-transform: uppercase;
	vertical-align: middle;
}
h4, h1.sm-title, h2.sm-title, h3.sm-title, h5.sm-title, .sm-title  {
	color: var(--greyFour);
	display: inline-block;
	font-family: var(--font-sm-title), 'opensans-bold', sans-serif;
	font-size: 18px;
	font-variant: small-caps;
	font-weight: normal;
	line-height: 24px;
	padding-bottom: 10px;
	text-align: left;
	vertical-align: middle;
}
h5, h1.xsm-title, h2.xsm-title, h3.xsm-title, h4.xsm-title, .xsm-title {
	color: var(--greyFour);
	display: inline-block;
	font-family: var(--font-sm-title), 'opensans-bold', sans-serif;
	font-size: 16px;
	font-weight: normal;
	line-height: 22px;
	padding-bottom: 10px;
	text-align: left;
	vertical-align: middle;
}*/
strong, b, table th {
	font-weight: normal;
	font-family: var(--font-text-strong), 'opensans-bold', serif;
}
svg {
	vertical-align: middle;
	width: 25px;
	height: 25px;
	fill:#000;
}
i {
	font-style: normal;
	font-family: var(--font-text-italic), 'opensans-italic', sans-serif;
}
blockquote {
	padding: 10px 20px;
	margin: 15px 0;
	font-size: 17.5px;
	border-left: 5px solid var(--color-4);
}
/*section {						
	background-position: center;
	background-size:cover;
	width:100%;
	padding: 75px 20px;
	position: relative;
}
section.no-padding {
	padding: 0;
}
section.large {
	max-width: 1920px;
	margin: 0 auto;
}
section.landing {				
	background-position: center; 
	background-size: cover;
	background-repeat: no-repeat;
}*/
body.terms-of-service section:first-of-type,
 body.privacy-policy section:first-of-type {
	background-image: none;
 }
.wrapper {
	max-width:1400px;
	width:100%;
	margin:0 auto;
}
.wrapper.large {max-width: 1920px;}
.wrapper.small {max-width: 1000px;}
.wrapper.xsmall {max-width: 750px;}
.std-padding {padding: 75px 20px;}
.less-padding {padding: 40px 15px;}
.grey {background-color: var(--greyZero);}
.object-fit {width: 100%;height: 200px;object-fit: cover;}
.left {text-align: left;}
.center {text-align: center;}
.right{text-align: right;}
.align-left {
	float:left;
	padding:0;
	margin: 0 12px 2px 0;
}
.align-right {
	float:right;
	padding:0;
	margin:0 0 2px 12px;
}
@media only screen and (max-width:900px) {
	.stopFloatOnTablet {
		float: none;
		display: block;
		margin: 12px auto;
	}
}
@media only screen and (max-width:640px) {
	.stopFloatOnMobile {
		float: none;
		display: block;
		margin: 12px auto;
	}
}
@media only screen and (max-width:399px) {
	.align-left,
	 .align-right {
		float:none;
		display: block;
		margin: 12px auto;
	}
}
ul.list {
	overflow: hidden;
	list-style: none;
	text-align: left;
	padding: 15px 10px;
	margin: 0 0 0 40px;
}
ul.list li {
	float: left;
	display: inline;
	width:33%;
	/*background-image: url('uploads/icon-welsh-w.svg');*/
	background-repeat: no-repeat;
	background-size: 30px;
	background-position: 5px 50%;
	font-size: 18px;
	line-height: 24px;
	padding: 15px 10px 15px 50px;
}
ul.list.service-area li {
	/*background-image: url('uploads/icon-house.svg');*/
}
ul.list.one-col li {
	width: 100%;
}
@media only screen and (max-width:900px) {
	ul.list {
		margin: 0;
		padding: 10px 5px;
	}
	ul.list li {
		width: 50%;
	}
}
@media only screen and (max-width:640px) {
	ul.list {
		padding: 10px 0px;
	}
	ul.list li {
		font-size: 16px;
		background-size: 20px;
		padding: 10px 10px 10px 30px;
	}
}
@media only screen and (max-width:390px) {
	ul.list li {
		width: 100%;
	}
}
iframe {
	display: block;
	width:100%;
	margin: 0 auto;
	border:0;
}
.parallax {
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
}

/* --- dark theme rules (were in the index.php "CODE 3" block) --- */
  /* ============================================================
   West Chester Fire Police Association — v3 "CODE 3" theme
   Dark night-shift design. Red & blue emergency-light accents.
   Accessibility: light-on-dark contrast 4.5:1+, visible focus,
   44px touch targets, animation disabled via reduced-motion.
   ============================================================ */

:root {
  --bg: #070a10;
  --bg-2: #0a0f18;
  --panel: #0e1520;
  --panel-2: #121b29;
  --line: #213044;
  --text: #e8eef7;
  --muted: #9db0c5;
  --red: #ff3b4d;
  --red-deep: #c11226;
  --blue: #4a90ff;
  --blue-deep: #1d4ed8;
  --focus: #ffd23f;
  --radius: 12px;
  --lightbar: linear-gradient(90deg,
      var(--red-deep) 0%, var(--red) 42%, #0b1020 50%,
      var(--blue) 58%, var(--blue-deep) 100%);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { font-size: 17px; scroll-behavior: smooth; scroll-padding-top: 96px; }

body {
  font-family: "Barlow", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

p { max-width: 68ch; margin: 0 0 1.1rem; }
li { max-width: 68ch; margin-bottom: 0.45rem; }
ul, ol { padding-left: 1.35rem; }

a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
a:hover { color: #7fb1ff; text-decoration-thickness: 2px; }

a:focus-visible, button:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 2px;
  border-radius: 3px;
}

img { max-width: 100%; height: auto; display: block; }

h1, h2, h3, h4 {
  font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
  color: var(--text);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  line-height: 1.1;
  margin-top: 0;
  font-weight: 700;
}
h1 { font-size: 2.6rem; }
h2 { font-size: 2rem; margin-bottom: 0.75rem; }
h3 { font-size: 1.35rem; margin-bottom: 0.5rem; }

/* ---------- utility ---------- */
.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.skip-link {
  position: absolute; left: -9999px; top: 0;
  background: var(--blue-deep); color: #fff;
  padding: 0.8rem 1.2rem; z-index: 1000; text-decoration: none; font-weight: 600;
}
.skip-link:focus { left: 0; outline: 3px solid var(--focus); }

/*------------------------------------*\
	STRUCTURE
\*------------------------------------*/
table, table tr.even, table tr.alt, table tr:nth-of-type(even) {background: none;border:0;}
div.table,div.table-noresponse{display:table;width:100%}div.table div.tableRow,div.table-noresponse div.tableRow-noresponse{display:table-row;width:100%}div.table div.tableRow div.tableCell,div.table-noresponse div.tableRow-noresponse div.tableCell-noresponse{display:table-cell;vertical-align:middle}
.small-1{width:8.33333%}.small-2{width:16.66667%}.small-3{width:25%}.small-4{width:33.33333%}.small-5{width:41.66667%}.small-6{width:50%}.small-7{width:58.33333%}.small-8{width:66.66667%}.small-9{width:75%}.small-10{width:83.33333%}.small-11{width:91.66667%}.small-12{width:100%}
@media only screen and (min-width: 640px){.medium-1{width:8.33333%}.medium-2{width:16.66667%}.medium-3{width:25%}.medium-4{width:33.33333%}.medium-5{width:41.66667%}.medium-6{width:50%}.medium-7{width:58.33333%}.medium-8{width:66.66667%}.medium-9{width:75%}.medium-10{width:83.33333%}.medium-11{width:91.66667%}.medium-12{width:100%}}
@media only screen and (min-width: 1024px){.large-1{width:8.33333%}.large-2{width:16.66667%}.large-3{width:25%}.large-4{width:33.33333%}.large-5{width:41.66667%}.large-6{width:50%}.large-7{width:58.33333%}.large-8{width:66.66667%}.large-9{width:75%}.large-10{width:83.33333%}.large-11{width:91.66667%}.large-12{width:100%}}
.flex-container{/*https://www.w3schools.com/css/css3_flexbox.asp*/display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center}.flex-container.centerItems{align-items:center}.flex-container.col{flex-direction:column}.flex-container .flex-block{display:block;width:25%;transition-duration:0.8s}.flex-container .flex-block.one-eighth{width:12.5%}.flex-container .flex-block.one-third{width:33.33%}.flex-container .flex-block.one-half{width:50%}.flex-container .flex-block.two-thirds{width:66.66%}.flex-container .flex-block.three-quarters{width:75%}.flex-container .flex-block.full{width:100%}.flex-container .flex-block.noResponse{width:25%!important}.flex-container .flex-block.one-eighth.noResponse{width:12.5%!important}.flex-container .flex-block.one-third.noResponse{width:33.33%!important}.flex-container .flex-block.one-half.noResponse{width:50%!important}.flex-container .flex-block.two-thirds.noResponse{width:66.66%!important}.flex-container .flex-block.three-quarters.noResponse{width:75%!important}.flex-container .flex-block.full.noResponse{width:100%!important}@media only screen and (max-width:900px){.flex-container.reverseOnTablet{flex-direction:column-reverse}.flex-container .flex-block.one-half,.flex-container .flex-block.two-thirds,.flex-container .flex-block.three-quarters,.flex-container .flex-block.fullOnTablet,.flex-container .flex-block.one-third.fullOnTablet{width:100%}.flex-container .flex-block,.flex-container .flex-block.one-third,.flex-container .flex-block.one-half.lateResponse{width:50%}.flex-container .flex-block.one-eighth{width:25%}}@media screen and (max-width:640px){.flex-container.reverseOnMobile{flex-direction:column-reverse}.flex-container .flex-block,.flex-container .flex-block.one-third,.flex-container .flex-block.two-thirds,.flex-container .flex-block.one-half.lateResponse{width:100%}.flex-container .flex-block.one-eighth,.flex-container .flex-block.lateResponse,.flex-container .flex-block.one-third.lateResponse{width:50%}.flex-container .flex-block.one-eighth.lateResponse{width:25%}}@media screen and (max-width:390px){.flex-container .flex-block.one-eighth,.flex-container .flex-block.lateResponse,.flex-container .flex-block.one-eighth.lateResponse,.flex-container .flex-block.one-third.lateResponse{width:100%}}

/* --- dark theme rules (were in the index.php "CODE 3" block) --- */
.container { max-width: 1160px; margin: 0 auto; padding: 0 1.4rem; }

/*------------------------------------*\
    HEADER
\*------------------------------------*/
.announcement-bar {
	background-color: var(--color-4);
}
.announcement-bar p {
	padding: 10px;
	text-align: center;
}
.announcement-bar a {
	font-family: var(--font-text-strong), 'opensans-bold', serif;
	text-decoration: underline;
	transition-duration: 0.3s;
	color: var(--color-1);
}
.announcement-bar a:hover {
	color: var(--color-4);
}
/*header {
	text-align:center;
	background-color:#fff;
	position: relative;
	z-index: 100;
}
header div#mobileGrippy {
	display:none;
}
header .mid {
	width:100%;
	max-width: 1400px;
	margin: 0 auto;
}
header .mid .flex-container.wrapper {
	border-bottom: 1px solid var(--greyOne);
}
.flex-block.logo-container {
	width: 20%;
	padding: 10px 0 10px 10px;
	background-color: var(--color-1);
	background-color: #fff;
}
a.logo {
	display: block;
	text-decoration: none;
}
a.logo img {
	max-width: 250px;
}
a.logo span.names {
	display: block;
	font-family: var(--font-title), 'opensans-bold', sans-serif;
	color: var(--color-2);
}
a.logo span.names span {
	display: block;
}
header .bot {
	width: 100%;
}
header nav {
	display:inline-block;
	vertical-align: middle;
}
header nav ul {
	list-style:none;
	position:relative;
	text-align:right;
	margin:0;
	padding:0
}
header nav ul li {
	position:relative;
	display:inline-block;
	vertical-align: middle;
	background-image: none;
	margin:0;
	padding:0;
}
header nav ul li a {
	font-family: var(--font-nav), 'opensans-regular', serif;
	display:block;
	text-decoration:none;
	text-transform:uppercase;
	font-size:13px;
	line-height: 14px;
	margin:0 4px;
	padding: 0px 10px;
	text-align:center;
	transition-duration: 0.8s;
	color: var(--greyFour);
	border: 1px solid transparent;
	border-bottom: 0px;
}
header nav ul li a:link,
 header nav ul li a:visited,
 header nav ul li a:active {
}
header nav ul li a:hover {
	color: var(--color-2);
}
header nav ul li a span {
	display: inline-block;
	padding: 18px 6px;
	transition-duration: 0.8s;
	border-bottom: 3px solid transparent;
}
header nav ul li a span:hover {
	border-bottom: 3px solid var(--color-4);
}
header nav ul li a.current-page span {
	border-bottom: 3px solid var(--color-4);
}
header nav ul li a img {
	display: inline-block;
	vertical-align: middle;
	height: 15px;
	width: 15px;
}
header nav ul li.withChild a:hover {
	box-shadow: 12px 0 15px -4px rgba(31, 73, 125, 0.8), -12px 0 8px -4px rgba(31, 73, 125, 0.8);
	box-shadow: 0 4px 10px 0 rgba(170,170,170,0.5);
	box-shadow: 6px 0 12px -8px rgba(31, 73, 125, 0.8), -6px 0 12px -8px rgba(31, 73, 125, 0.8);
	box-shadow: 0 -1px 11px 2px rgba(170,170,170,0.5);
} 
header nav ul li ul.children {
	display:none;
	position:absolute;
	top:53px;
	left:3px;
	width: 213px;
	height: auto;
	text-align: center;
	text-align: left;
	background-color: #fff;
	z-index:100;
	padding: 0;
	margin: 0;
	border: 1px solid #dcdcdc;
	border-top: 1px solid transparent;
		box-shadow: 0 14px 15px 2px rgba(170,170,170,0.5);
}
header nav ul li ul.children:hover {
}
header nav ul li ul.children li {
	display:block;
	text-align: center;
	padding: 0;
	margin: 0;
}
header nav ul li ul.children li a {
	display: block;
	width: 100%;
	padding:12px 6px;
	color: var(--color-2);
	margin: 0;
}
header nav ul li ul.children li a:hover {
	color: #fff;
	border-color: #fff;
	background-color: var(--color-2);
}*/

/* --- dark theme rules (were in the index.php "CODE 3" block) --- */
/* ---------- lightbar ---------- */
.lightbar {
  height: 7px;
  background: var(--lightbar);
  background-size: 200% 100%;
  animation: sweep 6s linear infinite;
}
@keyframes sweep {
  0% { background-position: 0% 0; }
  100% { background-position: -200% 0; }
}

/* ---------- topbar ---------- */
.topbar {
  background: #03050a;
  color: var(--muted);
  font-size: 0.85rem;
  padding: 0.45rem 0;
  border-bottom: 1px solid var(--line);
}
.topbar .container { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 0.5rem; }
.topbar .emergency {
  color: #fff; font-weight: 700; font-size: 0.8rem; letter-spacing: 0.04em;
  background: var(--red-deep);
  padding: 0.12rem 0.8rem; border-radius: 999px;
  border: 1px solid var(--red);
}

/* ---------- header ---------- */
.site-header { background: var(--bg-2); border-bottom: 1px solid var(--line); }
.site-header .container {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; padding-top: 1rem; padding-bottom: 1rem; flex-wrap: wrap;
}
.brand { display: flex; align-items: center; gap: 1rem; text-decoration: none; }
.brand:hover { text-decoration: none; }
.brand-mark { width: 60px; height: 60px; flex-shrink: 0; filter: drop-shadow(0 0 10px rgba(255,59,77,0.35)); }
.brand-text .org {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.45rem; font-weight: 700; color: var(--text);
  text-transform: uppercase; letter-spacing: 0.05em;
  margin: 0; line-height: 1.15; display: block;
  text-align: left;
}
.brand-text .tagline { font-size: 0.85rem; color: var(--muted); margin: 0.1rem 0 0; max-width: none; display: block; font-family: "Barlow", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;}
.header-cta { display: flex; align-items: center; gap: 0.75rem; }

/* ---------- nav ---------- */
.nav-wrap {
  background: #060910;
  position: sticky; top: 0; z-index: 100;
  border-bottom: 1px solid var(--line);
  box-shadow: 0 4px 18px rgba(0,0,0,0.6);
}
nav.primary .container { display: flex; align-items: center; justify-content: space-between; }
nav.primary ul { display: flex; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
nav.primary li { margin: 0; max-width: none; }
nav.primary a {
  display: block; color: var(--muted);
  padding: 1.25rem 1.05rem;
  text-decoration: none; font-weight: 600; font-size: 0.9rem;
  text-transform: uppercase; letter-spacing: 0.08em;
  border-bottom: 3px solid transparent;
  transition: color 0.15s, border-color 0.15s, background 0.15s;
  font-family: "Barlow", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}
nav.primary a:hover, nav.primary a:focus-visible { color: #fff; background: var(--panel); }
nav.primary a.active {
  color: #fff;
  border-image: linear-gradient(90deg, var(--red), var(--blue)) 1;
  border-image-width: 0 0 3px 0;
  background: var(--panel);
}
.nav-toggle {
  display: none;
  background: transparent; color: #fff;
  border: 2px solid var(--line); border-radius: 6px;
  padding: 0.5rem 1rem; font: inherit; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em;
  cursor: pointer; margin: 0.5rem 0; min-height: 44px;
}

/*------------------------------------*\
    GLOBAL — patterns reused across 2+ pages (CTAs, cards, title separators, image frames, etc.)
\*------------------------------------*/
/*div.content {
	background-color: #fff;
	max-width: 1920px;
	margin: 0 auto;
	position: relative;
}*/
.relative {
	position: relative;
}
/*.cta {
	display: inline-block;
	background-color: var(--color-5);
	background-image: url('uploads/icon-arrow-right-white.svg');
	background-repeat: no-repeat;
	background-size: 30px;
	background-position: 93% 50%;
	border: 1px solid transparent;
	border-bottom-left-radius: 20px;
	color: #fff;
	font-family: var(--font-cta), 'opensans-bold', serif;
	font-size: 16px;
	text-decoration: none;
	margin:12px 8px;
	padding: 12px 50px 12px 28px;
	transition-duration: 0.8s;
	vertical-align: middle;
}
.cta:hover {
	color: var(--color-1);
	background-color: #fff;
	border-color: var(--color-1);
	padding:12px 39px;
	background-position: 120% 50%;
	box-shadow: 0px 0px 5px var(--color-4);
}
.cta.large {
	background-position: 95% 50%;
}
.cta.large:hover {
	background-position: 130% 50%;
}
.cta.v2 {
	background-image: url('uploads/icon-arrow-right-color-1.svg');
	background-color: var(--color-4);
	color: var(--greyFive);
	border-color: transparent;
}
.cta.v2:hover {
	box-shadow: 0px 0px 5px var(--color-4);
}
.cta.transparent {
	background-image: url('uploads/icon-arrow-right-color-1.svg');
	background-color: transparent;
	color: var(--color-2);
	border-color: var(--color-2);
}
.cta.transparent:hover {
	background-color: var(--color-2);
	border-color: var(--color-2);
	color: #fff;
	box-shadow: 0px 0px 5px var(--color-2);
}
.cta.white {
	background-image: url('uploads/icon-arrow-right-white.svg');
	background-color: transparent;
	color: #ffffff;
	border-color: #ffffff;
}
.cta.white:hover {
	background-color: var(--color-2);
	box-shadow: 0px 0px 5px var(--color-2);
}
.cta.appt {
	background-image: url('uploads/icon-calendar.svg');
	background-position: 95% 50%;
}
.cta img {
	display:inline-block;
	vertical-align: middle;
	width:30px;
}
.cta span {
	display:inline-block;
	vertical-align: middle;
	padding:0 0 0 8px;
}*/
/*.title-separator {
	display: block;
	width: 250px;
	height: 2px;
	margin: 10px auto 20px;
	background-color: var(--color-4);
}
.title-separator.v2 {
	background-color: var(--color-2);
}
.title-separator.small {
	width: 50px;
	margin: 5px auto 10px;
}
.title-separator.left {
	margin-left: 0; 
}*/
.frame {
	border-radius: 4px;
	border-top: 4px solid var(--color-2);
	border-right: 1px solid var(--color-2);
	border-bottom: 4px solid var(--color-4);
	border-left: 1px solid var(--color-2);
	transition-duration: 0.8s;
}
.frame:hover {
	box-shadow: 0px 0px 10px var(--color-4);
}

/* --- dark theme rules (were in the index.php "CODE 3" block) --- */
/* ---------- sections ---------- */
section { padding: 4rem 0; }
section.panel { background: var(--bg-2); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.section-title { text-align: center; max-width: 780px; margin: 0 auto 2.75rem; }
.section-title .kicker {
  display: inline-flex; align-items: center; gap: 0.6rem;
  font-size: 0.78rem; font-weight: 700;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 0.6rem;
}
.section-title .kicker::before { content: ""; width: 26px; height: 2px; background: var(--red); }
.section-title .kicker::after  { content: ""; width: 26px; height: 2px; background: var(--blue); }
.section-title h2 { margin-bottom: 0.5rem; }
.section-title p { color: var(--muted); margin: 0 auto; }

/* ---------- cards / pillars ---------- */
.pillars {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.4rem; list-style: none; padding: 0; margin: 0;
}
.pillar {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.9rem 1.7rem;
  position: relative; overflow: hidden;
  max-width: none; margin: 0;
  transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.pillar::before {
  content: "";
  position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, var(--red), var(--blue));
}
.pillar:hover {
  transform: translateY(-3px);
  border-color: #2e415c;
  box-shadow: 0 0 24px rgba(74,144,255,0.12), 0 0 24px rgba(255,59,77,0.08);
}
.pillar h3 { margin-top: 0.4rem; }
.pillar p, .pillar li { max-width: none; color: var(--muted); }
.pillar strong { color: var(--text); }
.pillar .icon {
  width: 50px; height: 50px;
  border-radius: 10px;
  background: var(--panel-2);
  border: 1px solid var(--line);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 0.95rem;
}
.pillar .icon svg { width: 27px; height: 27px; }
.pillar.accent-red .icon svg  { stroke: var(--red); filter: drop-shadow(0 0 6px rgba(255,59,77,0.55)); }
.pillar.accent-blue .icon svg { stroke: var(--blue); filter: drop-shadow(0 0 6px rgba(74,144,255,0.55)); }
.pillar.accent-red::before  { background: var(--red); }
.pillar.accent-blue::before { background: var(--blue); }

/* ---------- photo card ---------- */
.photo-card {
  margin: 0;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
}
.photo-card img { width: 100%; filter: saturate(0.9) contrast(1.05); }
.photo-card figcaption {
  padding: 0.75rem 1.1rem; font-size: 0.85rem; color: var(--muted);
  border-top: 1px solid var(--line);
}

.intro-split { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); gap: 2.5rem; align-items: center; }
.intro-split p { max-width: none; }

/* ---------- callouts ---------- */
.callout {
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-left: 5px solid var(--blue);
  padding: 1.2rem 1.5rem;
  margin: 1.9rem 0;
  border-radius: 10px;
  color: var(--muted);
}
.callout strong { color: #fff; text-transform: uppercase; font-family: "Barlow Condensed", sans-serif; font-size: 1.1rem; letter-spacing: 0.05em; }
.callout p, .callout li { max-width: none; color: inherit; }
.callout p:last-child { margin-bottom: 0; }
.callout.law {
  border-left-color: var(--red);
  background:
    radial-gradient(500px 120px at 0% 0%, rgba(255,59,77,0.12) 0%, transparent 70%),
    var(--panel-2);
}

/* ---------- buttons ---------- */
.btn {
  display: inline-block;
  font-family: "Barlow", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  background: var(--red-deep);
  color: #fff;
  padding: 0.8rem 1.8rem;
  border-radius: 8px;
  font-weight: 700; font-size: 0.95rem;
  text-transform: uppercase; letter-spacing: 0.08em;
  border: 1px solid var(--red);
  cursor: pointer; text-decoration: none;
  min-height: 44px; line-height: 1.4;
  box-shadow: 0 0 16px rgba(255,59,77,0.25);
  transition: background 0.15s, box-shadow 0.15s, transform 0.15s;
}
.btn:hover, .btn:focus-visible {
  background: var(--red);
  color: #fff; text-decoration: none;
  box-shadow: 0 0 26px rgba(255,59,77,0.45);
  transform: translateY(-1px);
}
.btn.blue {
  background: var(--blue-deep);
  border-color: var(--blue);
  box-shadow: 0 0 16px rgba(74,144,255,0.25);
  font-family: "Barlow", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}
.btn.blue:hover, .btn.blue:focus-visible {
  background: var(--blue);
  box-shadow: 0 0 26px rgba(74,144,255,0.45);
}
.btn.ghost {
  background: transparent;
  border: 1px solid var(--line);
  color: var(--text);
  box-shadow: none;
}
.btn.ghost:hover, .btn.ghost:focus-visible { border-color: var(--muted); background: var(--panel); transform: translateY(-1px); }

/* ---------- CTA band ---------- */
.cta-band {
  position: relative;
  background:
    radial-gradient(700px 300px at 12% 110%, rgba(255,59,77,0.2) 0%, transparent 60%),
    radial-gradient(700px 300px at 88% 110%, rgba(74,144,255,0.2) 0%, transparent 60%),
    var(--bg-2);
  border-top: 1px solid var(--line);
  padding: 4rem 0;
  text-align: center;
}
.cta-band h2 { margin-bottom: 0.5rem; font-size: 2.3rem; }
.cta-band p { color: var(--muted); max-width: 58ch; margin: 0 auto 1.75rem; }
.cta-band .actions { display: flex; gap: 0.85rem; justify-content: center; flex-wrap: wrap; }

/* ---------- utility classes (were inline style attributes) ---------- */
.cta-line { margin-bottom: 0; }
.section-note {
  text-align: center; max-width: 720px;
  margin: 2rem auto 0; color: var(--muted);
}
.fine-print { font-size: 0.85rem; }

/*------------------------------------*\
    HOME — body.home
\*------------------------------------*/
/*add body.home code here */

/* --- dark theme rules (were in the index.php "CODE 3" block) --- */
/* ---------- hero ---------- */
.hero {
  position: relative;
  background:
    radial-gradient(900px 460px at 8% -10%, rgba(255,59,77,0.16) 0%, transparent 60%),
    radial-gradient(900px 460px at 92% -10%, rgba(74,144,255,0.16) 0%, transparent 60%),
    linear-gradient(180deg, #0a0f18 0%, var(--bg) 100%);
  padding: 5rem 0 4.5rem;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}
.hero::before {
  content: "";
  position: absolute; inset: 0;
  background: repeating-linear-gradient(0deg, rgba(255,255,255,0.015) 0 2px, transparent 2px 5px);
  pointer-events: none;
}
.hero .container { position: relative; z-index: 1; max-width: 940px; text-align: center; }
.live-tag {
  display: inline-flex; align-items: center; gap: 0.5rem;
  font-size: 0.78rem; font-weight: 700;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--text);
  background: rgba(255,59,77,0.12);
  border: 1px solid rgba(255,59,77,0.45);
  padding: 0.35rem 1rem; border-radius: 999px;
  margin-bottom: 1.5rem;
}
.live-tag .dot {
  width: 9px; height: 9px; border-radius: 50%;
  background: var(--red);
  box-shadow: 0 0 8px var(--red);
  animation: pulse 1.6s ease-in-out infinite;
}
@keyframes pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.25; } }
.hero h1 {
  font-size: clamp(3rem, 8vw, 5rem);
  font-weight: 800;
  margin: 0 0 0.75rem;
  letter-spacing: 0.02em;
  text-shadow: 0 0 30px rgba(255,59,77,0.25), 0 0 60px rgba(74,144,255,0.2);
}
.hero h1 .r { color: var(--red); }
.hero h1 .b { color: var(--blue); }
.hero .split-rule {
  width: 130px; height: 5px; border-radius: 3px;
  margin: 1.1rem auto 1.4rem;
  background: linear-gradient(90deg, var(--red) 0 50%, var(--blue) 50% 100%);
  box-shadow: 0 0 14px rgba(255,59,77,0.5), 0 0 14px rgba(74,144,255,0.5);
}
.hero .lede { font-size: 1.2rem; color: var(--muted); max-width: 62ch; margin: 0 auto 1.9rem; }
.hero .actions { display: flex; gap: 0.85rem; justify-content: center; flex-wrap: wrap; }

.stat-strip {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-top: 3rem;
}
.stat {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.2rem 1.25rem;
  position: relative;
  overflow: hidden;
}
.stat::before {
  content: "";
  position: absolute; top: 0; left: 0; bottom: 0; width: 4px;
}
.stat:nth-child(odd)::before  { background: var(--red);  box-shadow: 0 0 12px rgba(255,59,77,0.6); }
.stat:nth-child(even)::before { background: var(--blue); box-shadow: 0 0 12px rgba(74,144,255,0.6); }
.stat .num {
  display: block;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.5rem; font-weight: 700; color: #fff;
  text-transform: uppercase; letter-spacing: 0.04em;
}
.stat .lbl { font-size: 0.8rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.12em; }

/* ---------- dispatch log (when you'll see us) ---------- */
.dispatch { list-style: none; padding: 0; margin: 0; max-width: 860px; margin: 0 auto; }
.dispatch li {
  display: grid; grid-template-columns: 120px 1fr; gap: 1.25rem;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.3rem 1.5rem;
  margin-bottom: 1rem;
  max-width: none;
}
.dispatch .code {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 700; font-size: 1.05rem;
  text-transform: uppercase; letter-spacing: 0.1em;
  align-self: start;
  padding: 0.25rem 0.6rem;
  border-radius: 6px;
  text-align: center;
}
.dispatch li:nth-child(odd) .code  { color: var(--red);  background: rgba(255,59,77,0.1);  border: 1px solid rgba(255,59,77,0.4); }
.dispatch li:nth-child(even) .code { color: var(--blue); background: rgba(74,144,255,0.1); border: 1px solid rgba(74,144,255,0.4); }
.dispatch h3 { margin: 0 0 0.3rem; font-size: 1.2rem; }
.dispatch p { margin: 0; color: var(--muted); max-width: none; }

/*------------------------------------*\
    ABOUT — body.about
\*------------------------------------*/
/*testimonial styling*/
#testimonials #google-reviews {
	display: flex;
	flex-wrap: wrap;
	margin: 0
}
#testimonials .review-item {
	margin: 8px;
	padding: 1.8em;
	color: #000;
	flex: 1 1 20%;
	background-color: var(--greyZero);
	border: 1px #bfbfbf solid;
	box-shadow: 0 0 15px 2px rgba(170, 170, 170, .2);
	transition-duration: .8s
}
#testimonials .review-item:hover {
	border: 1px solid var(--color-2)
}
.review-meta,
.review-stars {
	text-align: center;
	font-size: 115%
}
.review-author {
	text-transform: capitalize;
	font-size: 28px;
	line-height: 40px
}
.review-author img {
	max-width: 100px;
	vertical-align: middle
}
.review-date {
	opacity: .6;
	display: block;
	font-size: 22px;
	line-height: 22px
}
.review-text {
	line-height: 1.55;
	text-align: left;
	max-width: 32em;
	margin: auto
}
.review-stars ul {
	display: inline-block;
	list-style: none;
	margin: 0;
	padding: 0
}
.review-stars ul li {
	background-image: none;
	padding: 0;
	float: left;
	margin-right: 1px;
	line-height: 1
}
.review-stars ul li i {
	color: #fed03d;
	font-size: 48px;
	font-style: normal
}
.review-stars ul li i.inactive {
	color: #c6c6c6
}
.star:after {
	content: "\2605"
}
#map-plug {
	display: none
}
@media only screen and (max-width:900px) {
	#testimonials .review-item {
		flex: 1 1 48%
	}
}
@media only screen and (max-width:640px) {
	#testimonials .review-item {
		flex: 1 1 100%
	}
}
/*------------------------------------*\
    CONTACT — body.contact & Forms styling
\*------------------------------------*/
/*forms styling*/
section.contact p {
	max-width: 900px;
	margin: 0 auto
}
.form-container {
	max-width: 1000px;
	margin: 0 auto;
	padding-top: 20px
}
div.form-input {
	display: inline-block;
	padding: 0 10px 10px 0;
	margin: 0;
	width: 50%
}
div.form-input:has(div.g-recaptcha),
div.form-input:has(textarea[name=w3form_name]),
div.form-input:has(textarea[name=w3form_websitesFormID]) {
	width: 100%
}
div.form-input:has(textarea[name=w3form_message]) {
	width: 100%;
}
label {
	display: block;
	text-align: left;
	color: #444;
	font-family: var(--font-text-strong), opensans-bold, serif
}
div.form-input div.g-recaptcha,
input,
textarea {
	display: inline-block;
	vertical-align: top
}
input,
textarea {
	font-family: var(--font-text-regular), opensans-regular, serif;
	width: 100%;
	margin: 0;
	padding: 12px 16px;
	font-size: 16px;
	line-height: 18px;
	cursor: pointer;
	color: #1f1f1f;
	border: 1px solid #ccc;
	box-shadow: none;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
	border-radius: 4px;
	background-color: #fff;
	background-image: none
}
textarea {
	height: 144px
}
button {
	font-family: var(--font-text-strong), opensans-bold, serif;
	padding: 6px 12px;
	color: #fff;
	font-size: 18px;
	margin: 10px auto;
	background-color: #346fd4;
	border-radius: 3px;
	border: 0;
	cursor: pointer;
	transition: .25s
}
@media only screen and (max-width:640px) {
	div.form-input {
		width: 100%
	}
}

/* --- dark theme rules (were in the index.php "CODE 3" block) --- */
/* ---------- contact form (w3 form widget on dark theme) ---------- */
.contact-form-wrap {
  max-width: 880px; margin: 2.4rem auto 0;
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.7rem 1.6rem 1.9rem;
}
.contact-form-wrap .form-heading { text-align: center; margin: 0 0 0.5rem; }
.contact-form-wrap .form-intro {
  text-align: center; color: var(--muted);
  max-width: 56ch; margin: 0 auto;
}
.contact-form-wrap .form-container { max-width: none; padding-top: 0.9rem; }
.contact-form-wrap .form-container label {
  color: var(--text);
  font-family: "Barlow", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 600; font-size: 0.9rem;
  margin-bottom: 0.3rem;
}
.contact-form-wrap .form-container input,
.contact-form-wrap .form-container textarea,
.contact-form-wrap .form-container select {
  color: var(--text);
  background-color: var(--bg-2);
  border: 1px solid var(--line);
  border-radius: 8px;
  cursor: auto;
  transition: border-color 0.15s, background-color 0.15s;
}
.contact-form-wrap .form-container input::placeholder,
.contact-form-wrap .form-container textarea::placeholder { color: var(--muted); opacity: 1; }
.contact-form-wrap .form-container input:hover,
.contact-form-wrap .form-container textarea:hover,
.contact-form-wrap .form-container select:hover { border-color: #33496a; }
.contact-form-wrap .form-container input:focus,
.contact-form-wrap .form-container textarea:focus,
.contact-form-wrap .form-container select:focus {
  background-color: var(--panel);
  border-color: var(--blue);
}
.contact-form-wrap .form-container input:focus-visible,
.contact-form-wrap .form-container textarea:focus-visible,
.contact-form-wrap .form-container select:focus-visible {
  outline: 3px solid var(--focus); outline-offset: 2px;
}
/* keep browser autofill from forcing a white field */
.contact-form-wrap .form-container input:-webkit-autofill,
.contact-form-wrap .form-container input:-webkit-autofill:hover,
.contact-form-wrap .form-container input:-webkit-autofill:focus,
.contact-form-wrap .form-container textarea:-webkit-autofill {
  -webkit-text-fill-color: var(--text);
  -webkit-box-shadow: 0 0 0 1000px var(--bg-2) inset;
  box-shadow: 0 0 0 1000px var(--bg-2) inset;
  caret-color: var(--text);
}
.contact-form-wrap .form-container button {
  font-family: "Barlow", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  background: var(--red-deep); color: #fff;
  padding: 0.8rem 1.8rem;
  border: 1px solid var(--red); border-radius: 8px;
  font-weight: 700; font-size: 0.95rem;
  text-transform: uppercase; letter-spacing: 0.08em;
  min-height: 44px; line-height: 1.4;
  box-shadow: 0 0 16px rgba(255,59,77,0.25);
  transition: background 0.15s, box-shadow 0.15s, transform 0.15s;
}
.contact-form-wrap .form-container button:hover,
.contact-form-wrap .form-container button:focus-visible {
  background: var(--red);
  box-shadow: 0 0 26px rgba(255,59,77,0.45);
  transform: translateY(-1px);
}
.contact-form-wrap .form-alt {
  text-align: center; color: var(--muted);
  font-size: 0.92rem; margin: 1.2rem 0 0;
}

/*------------------------------------*\
    Legal - Terms of Use & Privacy Policy
\*------------------------------------*/
section#privacy-policy,section#terms-of-use{padding:50px 15px;max-width:1000px;margin:auto}section#privacy-policy h1,section#terms-of-use h1{padding:10px;text-transform:uppercase}section#privacy-policy h3,section#terms-of-use h3{padding:30px 10px 10px 10px}section#privacy-policy p,section#terms-of-use p{padding:10px}

/*------------------------------------*\
    FOOTER 
\*------------------------------------*/
.footer-sub {
	max-width: 1160px;
    margin: 0 auto;
}
/*footer {
	text-align:left;
	background-color: var(--greyZero);
	border-top: 1px solid var(--greyTwo);
	border-bottom: 1px solid var(--greyTwo);
}
footer,
 footer .flex-container .flex-block a,
 footer .med-title {
	color: var(--greyOne);
}
footer a {
	text-decoration: none;
}
footer ul li {
	list-style: disc;
	background-image: none;
	padding: 0;
}*/
/*footer span.site-tagline {
	padding-left: 0;
}
footer .flex-container {
	text-align:left;
	padding: 20px 0;
}
footer .flex-container .flex-block {
	padding: 30px 20px 0px;
}
footer .flex-container .flex-block .footer-block-container {
	padding: 0 0 30px;
}
footer .flex-container .flex-block a {
	display: inline-block;
	padding: 12px 0;
	color: var(--greyFour);
	transition-duration: 0.8s;
}
footer .flex-container .flex-block a:hover {
	color: var(--color-2);
}
footer .flex-container .flex-block a.cta {
	padding: 12px 40px 12px 18px;
}
footer .flex-container .flex-block a.cta:hover {
	color: var(--greyFour);
	padding:12px 29px;
}
footer .flex-container .flex-block a svg path {
	fill: var(--greyThree);
}
footer .flex-container .flex-block.site-name-block a {
	display: block;
}
footer .flex-container .flex-block.site-name-block a {

}
footer .flex-container .flex-block.site-name-block a svg path {
	fill:#475993;
}
footer .flex-container .flex-block.info-block a svg {
	height: 20px;
	width: 20px;
}
footer .flex-container .flex-block ul {
	padding: 0 0 0 20px;
	list-style: none;
}
footer .flex-container .flex-block ul li {
	display: block;
}
.hours-container table {
	text-align: left;
	margin:10px auto 10px 0;
	border-collapse:collapse;
}
footer .hours-container table {
	margin: 0 auto 0 0;
}
.hours-container td {
	padding: 4px;
}
.hours-container table tbody tr.selected {
	background-color: #fff;
	color: var(--color-2);
	font-family: var(--font-text-regular), 'opensans-regular', serif;
	border: 1px solid var(--color-3);
}
.hours-container  table tbody tr td:nth-of-type(3n-2) {
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
	padding: 4px 8px;
}
.hours-container  table tbody tr td:nth-of-type(3n-1) {
	padding: 0 8px 0 0;
}
.hours-container  table tbody tr td:nth-of-type(3n) {
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
	padding: 0 8px 0 0;
}
footer div.footer-sub {
	padding: 30px 20px;
	text-align:left;
	background-color:var(--greyOne);
	color:var(--greyFive);
	border-top: 1px solid var(--greyTwo);
}
footer div.footer-sub .disclaimer {
	font-size: 14px;
	line-height: 16px;
}
footer div.footer-sub img {
	width:70px;
	margin:0 25px 0 0;
}
footer div.footer-sub a {
	color:var(--greyFive);
}
footer div.footer-sub p.copyright {
	color:var(--greyFive);
	font-size:14px;
	text-align:left;
	margin:0 0 8px 0;
}
div.footer-brand-container {
	padding:10px 10px 10px 0;
	text-align: right;
}*/

/* --- dark theme rules (were in the index.php "CODE 3" block) --- */
/* ---------- footer ---------- */
footer.site-footer { background: #03050a; color: var(--muted); }
footer.site-footer .inner { padding: 3rem 0 1.25rem; }
footer.site-footer p, footer.site-footer li { max-width: none; }
footer.site-footer .cols {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 2rem; margin-bottom: 2rem;
}
footer.site-footer h4 {
  color: #fff; font-size: 1rem;
  letter-spacing: 0.14em;
  margin-bottom: 0.8rem;
}
footer.site-footer a { color: var(--muted); }
footer.site-footer a:hover, footer.site-footer a:focus-visible { color: #fff; }
footer.site-footer ul { list-style: none; padding: 0; margin: 0; }
footer.site-footer li { margin-bottom: 0.5rem; }
footer.site-footer .bottom {
  border-top: 1px solid var(--line);
  padding-top: 1.1rem;
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 0.5rem;
  font-size: 0.85rem;
}

/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/
@font-face {
	font-family: 'opensans-italic';
	src: url('fonts/opensans-italic-webfont.woff2') format('woff2'),
		 url('fonts/opensans-italic-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'opensans-regular';
	src: url('fonts/opensans-regular-webfont.woff2') format('woff2'),
		 url('fonts/opensans-regular-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'opensans-bold';
	src: url('fonts/opensans-bold-webfont.woff2') format('woff2'),
		 url('fonts/opensans-bold-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'opensans-extrabold';
	src: url('fonts/opensans-extrabold-webfont.woff2') format('woff2'),
		 url('fonts/opensans-extrabold-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

/* --- dark theme rules (were in the index.php "CODE 3" block) --- */
@font-face {
	font-family: 'Barlow Condensed';
	src: url('fonts/barlowcondensed-bold-webfont.woff2') format('woff2');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Barlow';
	src: url('fonts/barlow-regular-webfont.woff2') format('woff2');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

/*------------------------------------*\
	RESPONSIVE
\*------------------------------------*/
@media only screen and (max-width:1400px) {

}
@media only screen and (max-width:1024px) {			/*foundation medium breakpoint*/
	.std-padding {
		padding: 60px 20px;
	}
	.less-padding {
		padding: 30px 10px;
	}
	header div.logo {
		text-align: center;
	}
	header nav ul {
		text-align: center;
	}

}
@media only screen and (max-width:900px) {
	ul, ol {padding-top: 15px; padding-right: 0; padding-bottom: 15px;}

}
@media only screen and (max-width:800px) {

}
@media only screen and (max-width:640px) { 			/*foundation small breakpoint*/
	p {font-size: 16px;line-height: 24px;}
	ul, ol {padding-top: 15px; padding-right: 0; padding-bottom: 15px;}
	.std-padding {
		padding: 30px 10px;
	}
	.less-padding {
		padding: 10px 2.5px;
	}
	div.table,
	 div.table div.tableRow,
	 div.table div.tableRow div.tableHeader,
	 div.table div.tableRow div.tableCell {
		display:block;
		width:100%;
	}
	header {
		position: relative;
		text-align: center;
	}
	header div#mobileGrippy {
		text-align:center;
		font-size:30px;
		cursor:pointer;
		display:inline-block;
		vertical-align: middle;
		padding:12px 6px;
		color:#222;
	}
	header nav {
		display: none;
		text-align: center;
	}
	header div.logo {
		display:inline-block;
		vertical-align: top;
		width:87%;
		padding:10px 6px 0 6px;
		text-align:center;
	}
	header div.logo a {
		display:block;
		text-align:center;
	}
	header nav ul {
		text-align:center;
	}
	header nav ul li {
		display: inline-block;
	}
	header nav ul li a img {
		display: none;
	}
	.cta {
		margin:6px 0;
	}
	footer {
		text-align:center;
	}
	footer table {
		margin:0 auto;
		text-align:center;
	}
	footer div.footer-sub {
		text-align: center;
	}
	footer div.footer-sub p.copyright {
		text-align:center;
	}
	footer .footer-brand-container {
		text-align:center;
	}
}
@media only screen and (max-width:399px) {

}

/* --- dark theme rules (were in the index.php "CODE 3" block) --- */
/* ---------- responsive ---------- */
@media (max-width: 1200px) {
  footer.site-footer .inner {
    padding: 3rem 1.25rem;
  }
}
@media (max-width: 860px) {
  html { font-size: 16px; }
  .hero { padding: 3.5rem 0 3rem; }
  .stat-strip { grid-template-columns: 1fr; }
  .nav-toggle { display: inline-block; }
  nav.primary .container { flex-wrap: wrap; }
  nav.primary ul { display: none; flex-direction: column; width: 100%; padding-bottom: 0.5rem; }
  nav.primary ul.open { display: flex; }
  nav.primary a { border-bottom: 1px solid var(--line); }
  .brand-text .org { font-size: 1.15rem; }
  h2 { font-size: 1.6rem; }
}
@media (max-width: 820px) {
  .site-header .container,
  nav.primary .container,
  .topbar .container {
    justify-content: flex-start;
  }
}
/* small screens: centre the notice bar and the menu button */
@media (max-width: 640px) {
  .topbar .container,
  nav.primary .container {
    justify-content: center;
    text-align: center;
  }
  .topbar .container > span { width: 100%; }
  .nav-toggle { margin-left: auto; margin-right: auto; }
}
@media (max-width: 560px) { footer.site-footer .bottom {justify-content: center;}}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
@media (max-width: 560px) { .dispatch li { grid-template-columns: 1fr; } .dispatch .code { justify-self: start; }}
@media (max-width: 900px) { .intro-split { grid-template-columns: 1fr; } }
/* tablet + mobile: centre the submit button */
@media (max-width: 860px) {
  .contact-form-wrap .form-container div.form-input:has(button) {
    width: 100%;
    text-align: center;
    padding-right: 0;
  }
}
@media (max-width: 640px) {
  .contact-form-wrap { padding: 1.3rem 1.1rem 1.5rem; }
}

/*------------------------------------*\
	MISC
\*------------------------------------*/
::selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
/*------------------------------------*\
	PRINT
\*------------------------------------*/
@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}