/* 
Theme Name: Tyler Idaho Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Theme for TylerIdaho.com
Template: hello-elementor
Version: 2.1.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

 :root{
	--tyler-ink:#0b2233;
	--tyler-text:#244456;
	--tyler-muted:#494949;
	--tyler-bg:#ffffff;
	--tyler-surface:#f4f7fa;
	--tyler-border:rgba(11,34,51,.12);

	--tyler-blue:#0b5f8a;
	--tyler-blue-900:#00558C;
	--tyler-green:#ADB64E;
	--tyler-accent:#A4B962;

	--tyler-radius:14px;
	--tyler-shadow:0 12px 30px rgba(11,34,51,.10);

	--tyler-container:1180px;
	--tyler-container-sm:980px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
	font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	color:var(--tyler-text);
	background:var(--tyler-bg);
	line-height:1.5;
	overflow-x: hidden;
}
a, .elementor a {
	color:var(--tyler-blue); 
	text-decoration: underline; 
	background-image: linear-gradient(
		to right,
		#05426b,
		#00558C 50%,
		#0b5f8a 50%
	);
	background-size: 200% 100%;
	background-position: -100%;
	display: inline-block;
	padding: 0px 0;
	position: relative;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	transition: all 0.3s ease-in-out;
}
a:before, .elementor a:before {
content: '';
  background: var(--tyler-blue-900);
  display: block;
  position: absolute;
  bottom: 0px;
  left: 0;
  width: 0;
  height: 4px;
  transition: all 0.3s ease-in-out;
}
a:hover, .elementor a:hover {
	/*color:var(--tyler-blue-900); font-weight: bold; text-shadow: 0 0 0.5px black; */
	background-position: 0;
}
a:hover::before {
	width:100%;
}
a.custom-logo-link {
	text-decoration:none;
	-webkit-background-clip: revert;
	-webkit-text-fill-color: transparent;
	background: #fff;
}
a.custom-logo-link:before {
	background: none;
}
.page-content a, .tyler-post__content a {
    text-decoration: underline !important;
}
img{max-width:100%;height:auto;display:block}
a[href*=".pdf"]:not([data-hasimg]):before,
a[href*=".PDF"]:not([data-hasimg]):before,
#mega-menu-wrap-primary a[href*=".pdf"]:before,
#mega-menu-wrap-primary a[href*=".PDF"]:before {
    content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-right: 5px;
	position: relative;
	vertical-align: middle;
	background-color: currentColor;
	-webkit-mask-image: url('img/pdf.svg');
	mask-image: url('img/pdf.svg');
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}
.screen-reader-text{
	position:absolute !important;
	width:1px;height:1px;
	padding:0;margin:-1px;overflow:hidden;
	clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

.tyler-container{
	max-width:var(--tyler-container);
	margin:0 auto;
	padding:0 20px;
}

.tyler-container-sm{
	max-width:var(--tyler-container-sm);
	margin:0 auto;
	padding:0 20px;
}

.tyler-main{min-height:40vh}
.tyler-section{padding:70px 0}
.tyler-section-head{margin-bottom:28px}
.tyler-center{text-align:center}
.tyler-max-70{max-width:70ch;margin-left:auto;margin-right:auto}

.tyler-h1{
	font-size:clamp(34px, 4vw, 70px);
	letter-spacing:-.02em;
	line-height:1.05;
	margin:0 0 14px 0;
	color:var(--tyler-ink);
}
.tyler-h2{
	font-size:clamp(60px, 2.4vw, 60px);
	letter-spacing:-.02em;
	line-height:1.15;
	margin:0 0 10px 0;
	color:var(--tyler-ink);
}
.tyler-h3{
	font-size:30px;
	margin:0 0 10px 0;
	color:var(--tyler-ink);
	font-style: normal;
font-weight: 400;
line-height: 36px; /* 120% */
}
p, .p {
	margin-bottom: 1rem;
}

.tyler-muted{color:var(--tyler-muted);margin:0}
.tyler-lede{font-size:18px;max-width:52ch;margin:0 0 22px 0}
.tyler-eyebrow{
	text-transform:uppercase;
	letter-spacing:.12em;
	font-size:12px;
	font-weight:600;
	color:var(--tyler-muted);
	margin:0 0 10px 0;
}

.tyler-em{font-style:italic;color:var(--tyler-accent);font-weight:500}

.text-white {
	color: #fff;
	font-weight: bold;
	font-size: 1.15em;
} 
.shadow {
	text-shadow: 0px 0px 4px rgba(0,0,0,.25)
}

/* Skip link */
.tyler-skip-link{
	position:absolute;left:-999px;top:10px;
	background:#fff;padding:10px 12px;border-radius:10px;
	box-shadow:var(--tyler-shadow);z-index:9999;
}
.tyler-skip-link:focus{left:10px}

/* Buttons */
.tyler-btn, .elementor-button {
	display:inline-flex;align-items:center;justify-content:center;gap:10px;
	padding:12px 16px;
	border-radius:0px;
	text-decoration:none;
	font-weight:600;
	font-size:14px;
	border:1px solid transparent;
	transition: transform .12s ease, background .12s ease, border-color .12s ease;	
	-webkit-text-fill-color: #fff;
	-webkit-background-clip: revert;
}
/*
.tyler-btn--outline {
	-webkit-text-fill-color: var(--tyler-blue);
}
	*/
a.elementor-button {
	color: white !important;
	text-decoration: none !important;
	-webkit-background-clip: revert;
	-webkit-text-fill-color: white;
	padding: 12px 16px;
}
a.elementor-button:before {
	background: white;
}
.tyler-btn:hover,
.elementor-button:hover {transform:translateY(-1px)}
.tyler-btn:focus-visible,
.elementor-button:focus-visible {outline:3px solid rgba(155,181,106,.55);outline-offset:2px}

.tyler-btn--primary,
.elementor-button{background:var(--tyler-blue);color:#fff}
.tyler-btn--primary:hover,
.elementor-button:hover{background:var(--tyler-green)}
.tyler-btn--outline{background:#fff;border-color:rgba(11,95,138,.35);color:var(--tyler-blue);}
.tyler-btn--outline:hover{border-color:rgba(11,95,138,.6);background:var(--tyler-blue);color:#fff;}
.tyler-btn--outline-hero{background:#fff;border-color:rgba(11,95,138,.35);color:var(--tyler-blue);-webkit-text-fill-color: #0b5f8a;}
.tyler-btn--outline-hero:hover{border-color:var(--tyler-green);background:var(--tyler-green);color:#fff; -webkit-text-fill-color: #fff;}
.tyler-btn--accent{background:var(--tyler-accent);color:#0b2233; -webkit-text-fill-color: #fff;}
.tyler-btn .ic svg{display:block}

[type=button]:focus, [type=button]:hover, [type=submit]:focus, [type=submit]:hover, button:focus, button:hover {
    background-color: var(--tyler-muted);
    color: #fff;
    text-decoration: none;
}
.btn-card {
	background-color: rgba(255, 255, 255, 0.85);
	border: solid 2px var(--tyler-blue);
	color:var(--tyler-blue);
	padding: 12px;
	margin-top: 10px;
	display: inline-block;
}
.btn-card:hover {
	background-color: var(--tyler-green);
	border: solid 2px var(--tyler-blue);
	color:#fff;
}
.card-button-group {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 1.25rem;
}

/* Header */
.tyler-site-header{
	position:sticky;top:0;z-index:50;
	background:#fff;
	border-bottom:1px solid var(--tyler-border);
}
.tyler-header-inner{
	display:flex;align-items:center;justify-content:space-between;
	min-height:76px;
	gap:18px;
}
.tyler-logo img{max-height:40px;width:auto}
img.custom-logo {max-height:55px;width:auto; transition: all 0.3s ease-in-out;}
a.custom-logo-link > img.custom-logo:hover {transform: scale(1.05);}
.tyler-brand a{display:flex;align-items:center;text-decoration:none}
.tyler-primary-nav{justify-content:left;margin-left:20px;}
.tyler-menu{
	list-style:none;margin:0;padding:0;
	display:flex;align-items:center;gap:22px;
}
.tyler-menu a{
	text-decoration:none;
	font-weight:600;
	font-size:13px;
	letter-spacing:.04em;
	text-transform:uppercase;
	color:var(--tyler-text);
	display:block;
	width:100%;
	padding:.85rem 0;
}
.tyler-menu a:hover{color:var(--tyler-blue)}
.tyler-header-cta{display:flex}

/* Breadcrumbs */
.tyler-breadcrumbs{margin:0 0 14px 0;font-size:12px;color:var(--tyler-muted)}
.tyler-breadcrumbs a{text-decoration:underline;color:var(--tyler-blue)}
.tyler-breadcrumbs a:hover{color:var(--tyler-blue)}
.tyler-breadcrumbs .sep{margin:0 8px;opacity:.9}

/* Hero */
.tyler-hero{padding:70px 0 90px 0}
.tyler-hero-inner{
	display:grid;
	grid-template-columns: 1.05fr .95fr;
	gap:38px;
	align-items:center;
}
.tyler-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.tyler-hero-media{min-height:450px}
.tyler-hero-collage, 
.tyler-page-hero__media,
.tyler-custom-hero__media {
	position:relative;
	width:100%;
	min-height:360px;
	position: relative;
	z-index: 1;
}
.tyler-hero-collage .tile{
	position:absolute;border-radius:10px;
	box-shadow:var(--tyler-shadow);
	background:linear-gradient(135deg, rgba(11,95,138,.12), rgba(155,181,106,.12));
}
.tyler-hero-collage .tile--a{
	right:0;
	top:0;
	width:62%;
	height:62%;
    box-shadow: 0 6px 18px rgba(11, 34, 51, .06);
}
.tyler-hero-collage .tile--b{
	z-index:2;
	left:2%;
	bottom:-35%;
	width:65%;
	height:75%;
	background:linear-gradient(135deg, rgba(11,95,138,.08), rgba(11,95,138,.18));
	box-shadow: 0 6px 18px rgba(11, 34, 51, .06);
}
.tyler-hero-collage .tile--c{right:58%;top:15%;width:100px;height:100px;background:rgba(155,181,106,.5);box-shadow:none}
.tyler-hero-collage .tile--d{right:26%;top:54%;width:16%;height:16%;background:rgba(130,182,214,.65);box-shadow:none;z-index:0;}
.tyler-hero-collage .tile--e{right: -20px;top: -20px;width: 50px;height: 50px;background: rgba(11, 95, 138, .75);box-shadow: none;}
.tyler-hero-collage .tile--f{right:10%;top:74%;width:35px;height:35px;background:rgba(155,181,106,1);box-shadow:none}
.tyler-hero-collage .tile img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block;}
.tyler-page-hero__media > .tile.tile--g,
.tyler-custom-hero__media > .tile.tile--g {right:-5%;top:-7%;width:100px;height:100px;background:rgba(155,181,106,.5);box-shadow:none;border-radius: 10px;position: absolute; z-index:1;}
.tyler-page-hero__media > .tile.tile--h,
.tyler-custom-hero__media > .tile.tile--h {left:-5%;bottom:0;width:40%;height:40%;background:rgba(130,182,214,.65);box-shadow:none;z-index:0; position: absolute;border-radius:10px;}

/* Interior hero variant */
.tyler-hero--interior{padding:54px 0 36px 0}
.tyler-hero-collage--single{min-height:300px}
.tyler-hero-collage--single .tile--hero-img{right:0;top:0;width:66%;height:74%}
.tyler-hero-collage--single .tile--accent-1{right:52%;top:12%;width:18%;height:18%;background:rgba(155,181,106,.45);box-shadow:none}
.tyler-hero-collage--single .tile--accent-2{right:18%;bottom:6%;width:22%;height:22%;background:rgba(130,182,214,.45);box-shadow:none}

/* Help band */
.tyler-help{
	background:var(--tyler-blue);
	color:#fff;
	padding:56px 0;
}
.tyler-help .tyler-h2{color:#fff;margin-bottom:8px}
.tyler-help .tyler-muted{color:rgba(255,255,255,.78)}
.tyler-search{
	display:flex;
	gap:0;
	background:#fff;
	border-radius:0px;
	overflow:hidden;
	margin-top:22px;
	box-shadow:0 10px 24px rgba(0,0,0,.15);
}
.tyler-search input{
	flex:1;border:0;
	padding:14px 14px;
	font-size:14px;
	outline:none;
}
.tyler-search button{border-radius:0;padding:14px 18px}
.tyler-topic-grid{
	margin-top:18px;
	grid-template-columns:repeat(3, 1fr);
	gap:12px;
}
.tyler-topic{
	display:flex;align-items:center;justify-content:center;
	padding:14px 12px;
	text-decoration:none;
	border-top:1px solid rgba(255,255,255,.18);
	border-left:1px solid rgba(255,255,255,.08);
	background:rgba(255,255,255,.06);
	border-radius:10px;
	font-weight:600;
}
.tyler-topic:hover{background:rgba(255,255,255,.10)}

/* Cards */
.tyler-card-grid{display:grid;gap:20px}
.tyler-card-grid--4{grid-template-columns:repeat(4, 1fr)}
.tyler-card-grid--3{grid-template-columns:repeat(3, 1fr)}
.tyler-card{
	/*background:#fff;*/
	border:1px solid var(--tyler-border);
	border-radius:10px;
	overflow:hidden;
	box-shadow:0 6px 18px rgba(11,34,51,.06);
	display:flex;
	flex-direction:column;
	transition: transform .25s ease;
}
.tyler-card:hover {
	transform:translateY(-4px);
	box-shadow:0 10px 25px rgba(0,0,0,.10);
}
.tyler-card:hover .tyler-card-thumb img{
	transform: scale(1.05);
}
.tyler-card-thumb img,
.tyler-post-card__image img{width:100%;height:160px !important;object-fit:cover;transition: transform .25s ease;}
.tyler-card-thumb--placeholder{display:block;height:160px;background:linear-gradient(135deg, rgba(11,95,138,.08), rgba(155,181,106,.08))}
.tyler-card-body{padding:16px 16px 18px 16px; position: relative; z-index:2;}
.tyler-card-meta{display:flex;align-items:center;gap:8px;color:var(--tyler-muted);font-size:12px;margin-bottom:10px}
.tyler-card-dot{width:22px;height:3px;background:var(--tyler-accent);border-radius:99px}
.tyler-card-title{margin:0 0 10px 0;font-size:16px;line-height:1.2}
.tyler-card-title a{text-decoration:none !important;}
.tyler-card-title a:hover{color:var(--tyler-blue)}
.tyler-card-excerpt{margin:0 0 12px 0;color:var(--tyler-muted);font-size:14px}
.tyler-link{color:var(--tyler-blue);text-decoration:underline;font-weight:700;font-size:13px;display:inline-flex;align-items:center;gap:8px}
.tyler-link-ic svg{display:block}
.tyler-link:hover{text-decoration:underline}
.tyler-card-link::before,
.tyler-card-link::after {
	z-index: 0;
}
a.tyler-card-link {
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none !important;
	color: inherit;
	background: #fff;
	background-image: none;
	-webkit-background-clip: border-box;
	-webkit-text-fill-color: initial;
}
a.tyler-card-link::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 4px;
	background: var(--tyler-blue-900);
	transition: width 0.3s ease-in-out;
	z-index: 3;
}

a.tyler-card-link:hover::before,
a.tyler-card-link:focus-visible::before {
	width: 100%;
}

a.tyler-card-link::after {
	display: none;
	content: none;
}
a.tyler-card-link::after {
	display: none;
	content: none;
}

a.tyler-card-link article {
	display: flex;
	flex-direction: column;
	height: 100%;
	width: 100%;
}

a.tyler-card-link .tyler-card-title,
a.tyler-card-link .tyler-card-excerpt,
a.tyler-card-link .tyler-card-meta {
	-webkit-text-fill-color: initial;
	color: inherit;
}

a.tyler-card-link .tyler-card-title {
	color: var(--tyler-blue);
}

a.tyler-card-link .tyler-card-excerpt,
a.tyler-card-link .tyler-card-meta {
	color: var(--tyler-muted);
}
.card-colored {
	background-image: url("img/bg-circle-overlay.jpg");
	background-color: darkslategray;
	background-size: cover;
	padding: 25px;
	border-radius: 10px;
	text-align: center;
}
/* Clickable card (works inside Elementor columns/containers) */
.ti-card{
	display: flex;
	flex-direction: column;  
	text-decoration: none;
	color: inherit;  
	border-radius: 14px;
	overflow: hidden;
	background: #fff;
	border: 1px solid rgba(0,0,0,.06);
	box-shadow: 0 6px 18px rgba(11, 34, 51, .06) !important;  
	min-height: 420px;
	transition: transform .2s ease, box-shadow .2s ease;
  }
  
  .ti-card:hover{
	transform: translateY(-2px);
	box-shadow: 0 12px 26px rgba(0,0,0,.14) !important;
  }
  
  /* Image */
  .ti-card__media img{
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	display: block;
	transition: transform .25s ease;
  }
  
  .ti-card:hover .ti-card__media img{
	transform: scale(1.05);
  }
  
  /* Content */
  .ti-card__body{
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
  }
  
  /* Accent line */
  .ti-card__accent{
	height: 3px;
	width: 38px;
	border-radius: 999px;
	background: #5cc55c;
  }
  
  .ti-accent--green{ background:#5cc55c; }
  .ti-accent--blue{ background:#1f77d0; }
  .ti-accent--teal{ background:#22b3a6; }
  
  /* Text styles */
  .ti-card__title{
	margin: 0;
	font-size: 18px;
	line-height: 1.2;
	color: #0b3a5a;
  }
  
  .ti-card__text{
	margin: 0;
	font-size: 14px;
	line-height: 1.45;
	color: #4b5563;
  }

  a.ti-card, a.tyler-post-card,
  a.btn.btn-card {
	text-decoration: none !important;
  }

a.btn.btn-card {
	padding: 12px 16px;
    -webkit-text-fill-color: white;
    font-weight: bold;
    -webkit-background-clip: revert;
}
.btn.btn-card:hover,
a.btn.btn-card:hover {
	background: var(--tyler-green) !important;
	background-color: var(--tyler-green) !important;
	border: none;
	color: #fff !important;
	-webkit-text-fill-color: #fff;
}

  a.ti-card > div.ti-card__body > span.ti-card__link {
	text-decoration: underline !important;
  }
  
  /* "Read more" visual at bottom */
  .ti-card__link{
	margin-top: auto; /* pushes to bottom for equal-looking cards */
	font-size: 13px;
	font-weight: 600;
	color: #0b5fa5;
  }
  .ti-card:focus-visible{
	outline: 3px solid rgba(11,95,165,.35);
	outline-offset: 3px;
  }

/* News */
.tyler-news{background:var(--tyler-surface)}
.tyler-news .tyler-section-head{margin-bottom:22px}

/* Capability list */
.tyler-capabilities{background:#fff}
.tyler-capabilities-inner{
	display:grid;
	grid-template-columns: .95fr 1.05fr;
	gap:34px;
	align-items:start;
}
.tyler-capability-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--tyler-border)}
.tyler-capability{
	display:grid;
	grid-template-columns: 64px 1fr 24px;
	gap:16px;
	padding:18px 8px;
	border-bottom:1px solid var(--tyler-border);
	align-items:center;
}
.tyler-capability .num{
	font-size:42px;
	line-height:1;
	color:rgba(11,34,51,.10);
	font-weight:700;
}
.tyler-capability h3{margin:0 0 6px 0;}
.tyler-capability h3 a:hover{color:var(--tyler-blue)}
.tyler-capability p{color:var(--tyler-muted);font-size:13px}
.tyler-capability .go{color:rgba(11,34,51,.35)}
p.sub-heading {font-size: 1.05em;}

/* Interior band and icon row */
.tyler-band{padding-top:56px;padding-bottom:56px}
.tyler-icon-row{
	margin-top:22px;
	display:grid;
	grid-template-columns:repeat(6, 1fr);
	gap:14px;
}
.tyler-icon-pill{
	display:flex;flex-direction:column;align-items:center;justify-content:center;
	padding:14px 10px;
	border-radius:14px;
	border:1px solid var(--tyler-border);
	background:#fff;
	text-align:center;
	font-size:12px;
	color:var(--tyler-text);
	gap:10px;
}
.tyler-icon-pill .ic{font-size:20px}

/* Callout gradient box */
.tyler-callout{
	margin-top:18px;
	display:flex;align-items:center;justify-content:space-between;gap:16px;
	padding:18px 18px;
	border-radius:14px;
	background:linear-gradient(135deg, rgba(155,181,106,.35), rgba(11,95,138,.55));
	color:#fff;
}
.tyler-callout p{margin:0;font-weight:600}
.tyler-callout--center{justify-content:center;text-align:center;flex-direction:column}
.tyler-callout--center p{font-size:16px}

/* Info bar */
.tyler-info-bar{background:var(--tyler-surface);border-top:1px solid var(--tyler-border);border-bottom:1px solid var(--tyler-border)}
.tyler-info-bar-inner{
	display:flex;gap:16px;align-items:flex-start;
	padding:18px 0;
}
.tyler-info-ic{
	width:58px;height:58px;border-radius:14px;
	background:rgba(155,181,106,.35);
	display:flex;align-items:center;justify-content:center;
	font-size:22px;
}

/* Always size cards as if 4 columns exist */
.tyler-card-grid{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	align-items: stretch;
  }
  
  .tyler-post-card{
	display:block;
	text-decoration:none;
	color:inherit;
	background:#fff;
	border-radius:10px;
	overflow:hidden;
	transition:transform .25s ease, box-shadow .25s ease;
	border: 1px solid var(--tyler-border);
    box-shadow: 0 6px 18px rgba(11, 34, 51, .06) !important;
  }
  
  .tyler-post-card:hover{
	transform:translateY(-4px);
	box-shadow: 0 12px 26px rgba(0,0,0,.14) !important;
  }
  
  .tyler-post-card__image img{
	width:100%;
	height:auto;
	display:block;
	transition: transform .25s ease;
  }
  
  .tyler-post-card:hover .tyler-post-card__image img{
	transform: scale(1.05);
  }
  .tyler-post-card__content{
	padding:20px;
  }
  
  .tyler-post-card__title{
	margin:0 0 10px;
  }
  
  .tyler-post-card__excerpt{
	margin:0;
	font-size: 14px;
	-webkit-text-fill-color:var(--tyler-muted);
  }
  .tyler-post-card__content{
	padding: 20px;
	display: flex;
	flex-direction: column;
	height: 100%;
  }
  
  .tyler-post-card__date{
	font-size: 12px;
    margin-bottom: 10px;
  }
  
  .tyler-post-card__title{
	margin: 0 0 10px 0;
    font-size: 16px;
    line-height: 1.2;
  }
  
  .tyler-card-grid--stack{
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
  }
  /* Push Read More to bottom */
  .tyler-post-card__readmore{
	margin-top: auto;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: gap .2s ease;
  }
  
  /* Arrow hover animation */
  .tyler-post-card:hover .tyler-post-card__readmore{
	gap: 10px;
  }

/* Split layout (PayPort) */
.tyler-split{
	margin-top:18px;
	display:grid;
	grid-template-columns: 1.15fr .85fr;
	gap:24px;
	align-items:start;
}
.tyler-video{border-radius:14px;overflow:hidden;border:1px solid var(--tyler-border);background:#e9edf1}
.tyler-video-inner{
	min-height:260px;
	display:flex;flex-direction:column;align-items:center;justify-content:center;
	gap:12px;padding:20px;text-align:center;color:rgba(11,34,51,.65)
}
.tyler-video-inner .play{
	width:64px;height:64px;border-radius:99px;
	background:rgba(11,34,51,.12);
	position:relative;
}
.tyler-video-inner .play:after{
	content:'';
	position:absolute;left:26px;top:20px;
	border-left:18px solid rgba(11,34,51,.55);
	border-top:12px solid transparent;
	border-bottom:12px solid transparent;
}
.tyler-mini-card{
	background:#fff;border:1px solid var(--tyler-border);
	border-radius:14px;overflow:hidden;
	box-shadow:0 6px 18px rgba(11,34,51,.06);
	margin-bottom:14px;
}
.tyler-mini-card .thumb img, .tyler-mini-card .ph{width:100%;height:140px;object-fit:cover;display:block;background:linear-gradient(135deg, rgba(11,95,138,.08), rgba(155,181,106,.08))}
.tyler-mini-card .body{padding:14px}
.tyler-mini-card .meta{display:flex;align-items:center;gap:8px;color:var(--tyler-muted);font-size:12px;margin-bottom:8px}
.tyler-mini-card .dot{width:22px;height:3px;background:var(--tyler-blue);border-radius:99px}
.tyler-mini-card .title{margin:0 0 10px 0;font-size:14px;line-height:1.2}
.tyler-mini-card .title a{text-decoration:none}
.tyler-mini-card .title a:hover{color:var(--tyler-blue)}

/* Feature list */
.tyler-feature-list{margin-top:22px;display:grid;gap:16px}
.tyler-feature{
	display:grid;
	grid-template-columns:44px 1fr;
	gap:14px;
	padding:16px 14px;
	border:1px solid var(--tyler-border);
	border-radius:14px;
	background:#fff;
}
.tyler-feature .ic{
	width:44px;height:44px;border-radius:12px;
	background:rgba(130,182,214,.35);
	display:flex;align-items:center;justify-content:center;
	font-size:18px;
}
.tyler-feature h3{margin:0 0 6px 0;font-size:16px}
.tyler-feature p{margin:0;color:var(--tyler-muted);font-size:13px}

/* WYSIWYG */
.tyler-wysiwyg{margin-top:18px}
.tyler-wysiwyg p{max-width:78ch}

/* Footer */
.tyler-site-footer{background:var(--tyler-blue);color:#fff;padding:54px 0 0 0;margin-top:70px}
.tyler-footer-top{
	display:grid;
	grid-template-columns: 1.05fr 1fr .75fr;
	gap:28px;
	align-items:start;
	padding-bottom:34px;
}
.tyler-footer-logo img{max-height:42px;width:auto;filter:brightness(0) invert(1)}
.tyler-footer-blurb{margin:10px 0 14px 0;color:rgba(255,255,255,.78)}
.tyler-footer-social .tyler-social{
	display:inline-flex;align-items:center;justify-content:center;
	width:34px;height:34px;
	text-decoration:none;font-weight:800;
}
.tyler-footer-cols{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.tyler-footer-title{margin:0 0 12px 0;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.tyler-footer-menu{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.tyler-footer-menu a{text-decoration:underline;color:rgba(255,255,255,.82);font-weight:600;font-size:13px;-webkit-text-fill-color: rgba(255,255,255,.82);}
.tyler-footer-menu a:hover{color:#fff;text-decoration:underline;}
.tyler-footer-ctas{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.tyler-footer-ctas .tyler-btn--outline{color:#fff;border-color:rgba(255,255,255,.35);background:transparent}
.tyler-footer-ctas .tyler-btn--outline:hover{border-color:rgba(255,255,255,.6); background-color:var(--tyler-green);}
.tyler-footer-bottom{
	border-top:1px solid rgba(255,255,255,.14);
	padding:16px 10px 18px 10px;
	display:flex;align-items:center;justify-content:space-between;gap:14px;
	flex-wrap:wrap;
}
.tyler-footer-copy{margin:0;color:rgba(255,255,255,.75);font-size:12px}
.tyler-footer-legal{display:flex;gap:14px;flex-wrap:wrap}
.tyler-footer-legal a{text-decoration:underline;color:rgba(255,255,255,.78);font-size:12px;font-weight:700;-webkit-text-fill-color: rgba(255,255,255,.78);}
.tyler-footer-legal a:hover{color:#fff;text-decoration:underline}


/* Core capabilities icons */
.tyler-capability { display:flex; align-items:flex-start; gap:18px; padding:22px 0; border-bottom:1px solid rgba(0,0,0,0.05); }
.tyler-capability .cap-icon { width:75px; height:75px; flex:0 0 75px; display:flex; align-items:center; justify-content:center; }
.tyler-capability .cap-icon svg { width:30px; height:30px; display:block; }
.tyler-capability .num { display:none; } /* hide numeric badges when using icons */

/* Tyler Topic Grid */
.tyler-topic-grid__buttons {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-auto-rows: 1fr;
	gap: 0;
	width: 100%;
  }
  
  /* Individual buttons */
  .tyler-topic-grid__button {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2.5rem 1.5rem;
	text-align: left;
	color: #fff;
	-webkit-text-fill-color: white;
	text-decoration: underline;
	font-size: 1.125rem;
	font-weight: 500;
	border-right: 1px solid rgba(255, 255, 255, 0.25);
	border-bottom: 1px solid rgba(255, 255, 255, 0.25);
  }
  a.tyler-topic-grid__button {
	display: block;
  }
  a.tyler-topic-grid__button:after { 
	content: "";
	height: 100%; 
	left: 0; 
	top: 0; 
	width: 0px;  
	position: absolute; 
	transition: all 0.3s ease 0s; 
	-webkit-transition: all 0.3s ease 0s; 
	z-index: -1;
  }
  
  /* Remove right border on every 3rd item */
  .tyler-topic-grid__button:nth-child(3n) {
	border-right: none;
  }
  
  /* Remove bottom border on last row */
  .tyler-topic-grid__button:nth-child(n + 4) {
	border-bottom: none;
  }
  
  /* Hover + focus states */
  a.tyler-topic-grid__button:hover,
  a.tyler-topic-grid__button:focus-visible {
	background: rgba(255, 255, 255, 0.4);
	text-decoration: underline;
	outline: none;
	width: 100%;
  }

  /* Custom Header template */
  .tyler-page-hero {
	background: #fff;
	padding: 3rem 0;
  }
  
  .tyler-page-hero__inner {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 2.7rem;
	align-items: center;
  }
  
  .tyler-page-hero__kicker, .tyler-breadcrumbs {
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.75rem;
	margin: 0 0 0.75rem;
	opacity: 0.75;
  }
  
  .tyler-page-hero__title {
	margin: 0;
	line-height: 1.05;
	font-size: clamp(30px, 3.5vw, 62px);
  }
  
  .tyler-page-hero__media img,
  .tyler-custom-hero__img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 10px;
	position: relative;
	z-index: 1;
	border-radius: 14px;
    overflow: hidden;
  }

  .tyler-page-hero__description {
	margin-top:20px;
  }

  /* Hero tile image crossfade */
.tile {
	position: relative;
	overflow: hidden;
}

.tile .tile-img{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 1200ms ease-in-out;
}

.tile .tile-img.is-active{
	opacity: 1;
}
  
/* ==========================================================================
   Navigation (cleaned up)
   - One caret indicator (no extra button)
   - Submenus open via .is-open (set by JS) — not on hover
   - Mobile header: Contact Us + hamburger on same row; menu stacks below
   ========================================================================== */

/* Caret indicator for items with children */
.tyler-menu .menu-item-has-children > a::after{
	content:" ▾";
	display:inline-block;
	margin-left:.35rem;
	font-size:1.5em;
	line-height:1;
	transition:transform .18s ease;
}

/* Rotate caret when submenu is open */
.tyler-menu .menu-item-has-children.is-open > a::after{
	transform:rotate(180deg);
}

/* Base submenu defaults */
.tyler-primary-nav .sub-menu{
	display:none;
	list-style:none;
	margin:0;
	padding:0;
}

/* Disable hover-based dropdowns */
.tyler-primary-nav .menu-item-has-children:hover > .sub-menu {
	display: none;
  }
  
  /* Default submenu state */
  .tyler-primary-nav .sub-menu {
	display: none;
  }
  
  /* Open state (JS controlled) */
  .tyler-primary-nav .menu-item-has-children.is-open > .sub-menu {
	display: block;
  }

  .tyler-custom-hero{
	padding: 48px 0;
  }
  
  .tyler-custom-hero__inner{
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
  
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 32px;
	align-items: center;
  }
  
  .tyler-custom-hero__kicker{
	margin: 0 0 10px;
	font-weight: 600;
	opacity: .75;
  }
  
  .tyler-custom-hero__title{
	margin: 0 0 12px;
  }
  
  .tyler-custom-hero__meta{
	opacity: .75;
	font-size: 14px;
  }
  
  /* Post body wrapper */
  .tyler-post-main__inner{
	margin: 0 auto;
	padding: 0 20px 60px;
  }
  

.alert-warning {
	background-color: #fff3cd;
	border: solid 1px #ffe69c;
}
.alert {
    border-radius: 0.375rem;
    position: relative;
    padding: 1rem;
    margin-bottom: 1rem;
	margin-top: 1rem;
}

/* Search results layout */
.search .site-main article {
  display: grid;
  grid-template-columns: 280px 1fr;
  grid-template-areas:
    "image title"
    "image excerpt";
  gap: 8px 28px;
  align-items: start;
  margin-bottom: 40px;
  padding-bottom: 32px;
  border-bottom: 1px solid #e5e5e5;
}

.search .site-main article .entry-title {
  grid-area: title;
  margin: 0;
  font-size: 1.75rem;
  line-height: 1.2;
}

.search .site-main article .post-thumbnail,
.search .site-main article .entry-thumbnail,
.search .site-main article > a:has(img) {
  grid-area: image;
}

.search .site-main article img {
  width: 280px;
  height: 180px;
  object-fit: cover;
  display: block;
}

.search .site-main article .entry-summary,
.search .site-main article .entry-content {
  grid-area: excerpt;
  margin: 0;
  max-width: 720px;
  font-size: 1rem;
  line-height: 1.6;
}

@media (max-width: 1024px){
.tyler-card-grid{
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
}

/* Desktop (992px+) — dropdown positioned, opens on click via .is-open */
@media (min-width: 992px){
	.tyler-nav-toggle{display:none;}

	.tyler-primary-nav .menu-item-has-children{
		position:relative;
	}

	.tyler-primary-nav .menu-item-has-children > .sub-menu{
		position:absolute;
		left:0;
		top:100%;
		min-width:15rem;
		margin-top:.6rem;
		padding:10px;
		background:var(--tyler-surface);
		border:1px solid var(--tyler-border);
		box-shadow:0 10px 24px rgba(0,0,0,.10);
		border-radius:0px;
		z-index:999;
	}

	/* Only open when JS adds .is-open (or keyboard focus keeps it open) */
	.tyler-primary-nav .menu-item-has-children.is-open > .sub-menu,
	.tyler-primary-nav .menu-item-has-children:focus-within.is-open > .sub-menu{
		display:block;
	}

	 /* 3-column header: logo | centered nav | CTA */
	 .tyler-header-inner{
		display: grid;
		grid-template-columns: auto 1fr auto;
		align-items: center;
	  }
	
	  /* Keep logo on the left */
	  .tyler-brand{
		justify-self: start;
	  }
	
	  /* Center the nav in the middle column */
	  .tyler-primary-nav{
		margin-left: 30px;            /* important: remove any push */
	  }
	
	  /* Make the menu items lay out horizontally + centered */
	  .tyler-primary-nav .tyler-menu{
		display: flex;
		align-items: center;
		gap: 24px;                 /* tweak spacing to taste */
	  }
	
	  /* CTA on the right */
	  .tyler-header-cta{
		justify-self: end;
	  }
	/* Right */
	.tyler-header-actions{
		justify-self: end;
		display: flex;
		align-items: center;
		gap: 16px;
	}
	/* No hamburger on desktop */
	.tyler-nav-toggle{
		display: none;
	  }
}
  

/* Mobile (991px and below) — hamburger + CTA on top row, menu stacks below */
@media (max-width: 991px){
	.tyler-nav-toggle {
		font-size: 1.5rem;
		color: var(--tyler-blue);
	}

	/* Header row can wrap; nav becomes full-width on next line */
	.tyler-header-inner{
		display: flex;
	}

	/* Keep brand on the left */
	.tyler-brand{
		flex:1 1 auto;
	}

	/* Put CTA + hamburger together on the right */
	.tyler-header-cta{
		display:inline-block;
		align-items:center;
		gap:.75rem;
	}

	.tyler-nav-toggle{
		display:inline-block;
		align-items:center;
		justify-content:center;
		padding:.5rem .65rem;
		border:1px solid var(--tyler-border);
		border-radius:10px;
		background:#fff;
		line-height:1;
		cursor:pointer;
	}

	/* Nav block drops below the top row and spans full width */
	.tyler-primary-nav{
		flex:1 0 100%;
		order:3;
		margin-left:0;
		justify-content:flex-start;
	}

	/* Ensure nav exists even when collapsed */
	#site-navigation{
		display:block !important;
		width:100%;
		max-height:0;
		overflow:hidden;
		transition:max-height .28s ease;
		position: absolute;
        margin-left: -200px;
        margin-top: 40px;
	}

	/* Expanded when menu is open (class may be on header or html) */
	.tyler-nav-open #site-navigation{
		max-height:80vh;
	}

	/* Stack top-level menu vertically on mobile */
	.tyler-menu{
		flex-direction:column;
		align-items:flex-start;
		gap:0;
		width:100%;
		padding:10px;
		background: var(--tyler-surface);
	}

	.tyler-menu > li{
		width:100%;
		border-top:1px solid var(--tyler-border);
		padding:0;
	}

	.tyler-menu > li:first-child{
		border-top:0;
	}

	/* Submenus as accordion blocks */
	.tyler-primary-nav .sub-menu{
		display:none;
		padding:0 0 .75rem 1rem;
		margin-top:.15rem;
		width:100%;
	}

	.tyler-primary-nav .menu-item-has-children.is-open > .sub-menu{
		display:block;
	}
}

@media (max-width: 980px){
	.tyler-hero-inner{grid-template-columns:1fr;gap:20px}
	.tyler-hero-media{min-height:260px}
	.tyler-topic-grid{grid-template-columns:repeat(2,1fr)}
	.tyler-card-grid--4{grid-template-columns:repeat(2,1fr)}
	.tyler-card-grid--3{grid-template-columns:repeat(2,1fr)}
	.tyler-capabilities-inner{grid-template-columns:1fr}
	.tyler-icon-row{grid-template-columns:repeat(3,1fr)}
	.tyler-split{grid-template-columns:1fr}
	.tyler-footer-top{grid-template-columns:1fr;gap:20px}
	.tyler-footer-ctas{flex-direction:row;flex-wrap:wrap}
}

@media (max-width: 900px) {
	.tyler-page-hero__inner {
	  grid-template-columns: 1fr;
	}
	.tyler-custom-hero__inner{
		grid-template-columns: 1fr;
	}
	
	/* Make sure the media appears after the content */
	.tyler-custom-hero__content{ order: 1; }
	.tyler-custom-hero__media{ order: 2; }
	
	/* Optional: tighten spacing on mobile */
	.tyler-custom-hero{
		padding: 32px 0;
	}
  } 

  /* Responsive */
  @media (max-width: 768px) {
	.tyler-topic-grid__buttons {
	  grid-template-columns: repeat(2, 1fr);
	}
	.tyler-topic-grid__button:nth-child(3n) {
	  border-right: 1px solid rgba(255, 255, 255, 0.25);
	}
	.tyler-topic-grid__button:nth-child(2n) {
	  border-right: none;
	}
	.tyler-topic-grid__button:nth-child(n + 5) {
	  border-bottom: none;
	}
	.tyler-hero-collage, .tyler-page-hero__media, .tyler-custom-hero__media {
		min-height: 275px;
	}
	.search .site-main article {
		display: block;
	}

	.search .site-main article img {
		width: 100%;
		height: auto;
		margin: 12px 0;
	}
  }

  @media (max-width: 640px){
	.tyler-card-grid{
	  grid-template-columns: 1fr;
	}
  }

@media (max-width: 560px){
	.tyler-topic-grid{grid-template-columns:1fr}
	.tyler-card-grid--4{grid-template-columns:1fr}
	.tyler-card-grid--3{grid-template-columns:1fr}
	.tyler-icon-row{grid-template-columns:repeat(2,1fr)}
	.tyler-callout{flex-direction:column;align-items:flex-start}
}
  @media (max-width: 480px) {
	.tyler-topic-grid__buttons {
	  grid-template-columns: 1fr;
	}
  
	.tyler-topic-grid__button {
	  border-right: none;
	}
  
	.tyler-topic-grid__button:not(:last-child) {
	  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
	}
  }