/**
Theme Name: Astra Child, customized for Tetra Tech
Author: Sylvia L.
Text Domain: astra-child
Template: astra
*/

/* global header */
.tt-logo a img[src$=".svg"]{width:150px !important;}

/* animation toggle */
#vid-controls {display:flex; align-items:center; justify-content:center; flex-direction:column; gap:.2em;}
.autoplay-toggle, .autoplay-label {display:flex; align-items:center; justify-content:center; height:1.05em;}
.switch-label {font-size:1rem; font-weight:700; font-size:.8rem;}
.switch-text {font-size:1rem; cursor:pointer;}
.switch-text:hover {color:#0065BD;}
button.switch, button.switch:hover, button.switch:active {background-color: transparent;}
.switch {position:relative; display:inline-block; box-sizing:border-box; width:28px; height:16px; margin-left:.4em; margin-right:.4em;}
.switch input {opacity:0; width:0; height:0;}
.slider {position:absolute;  cursor:pointer; top:0; left:0; right:0; bottom:0; background-color:#747678; -webkit-transition:.4s; transition:.4s;}
.slider:before {position: absolute; content: ""; height:12px; width:12px; left:2px; bottom:2px; background-color:white; -webkit-transition:.4s; transition:.4s;}
input:checked + .slider {background-color:#0065BD;}
input:checked + .slider:before {-webkit-transform: translateX(12px);  -ms-transform: translateX(12px);  transform: translateX(12px);}
.slider.round {border-radius:10px;}
.slider.round:before {border-radius:50%;}
#vid-controls .visually-hidden {position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0, 0, 0, 0); white-space:nowrap; border-width: 0;}

/* content */
.tt-subnav-container {display:block;}
.tt-subnav {border-top:1px solid #E8E9E9; border-bottom:1px solid #E8E9E9;}
.subnav-heading {font-size:1.5rem; font-weight:700; color:#003478;}
p {margin-bottom:1.25em;}
p:last-child,
	ul:last-child,
	ol:last-child {margin-bottom:0;}
.tt-copy p + h2,
	.tt-copy p + h3,
	.tt-copy p + h4,
	.tt-copy p + h5,
	.tt-copy p + h6,
	.tt-copy ul + h2,
	.tt-copy ul + h3,
	.tt-copy ul + h4,
	.tt-copy ul + h5,
	.tt-copy ul + h6,
	.tt-copy h2 + h3,
	.tt-copy h3 + h4,
	.tt-copy h5 + h6 {margin-top:1.25em; margin-bottom:.5em;}
.tt-copy h2,
	.tt-copy h2:first-child,
	.tt-copy h3,
	.tt-copy h4,
	.tt-copy h5,
	.tt-copy h6 {margin-bottom:.5em;}
.expert-qa h2:first-child {margin-bottom:0;}
h2.elementor-heading-title {margin-bottom:0 !important;}

.tt-copy ol[type="a"] {list-style-type:lower-alpha;}
.solutions-list-vertical ul, .solutions-list-horizontal ul {list-style:none; padding:0; margin:0;}
.solutions-list-vertical ul li {margin: 1.25em 0 1.25em;}
.solutions-list-vertical ul li:first-child {margin: .5em 0 1.25em;}
.solutions-list-vertical ul li:last-child {margin: 1.25em 0 1em;}
.solutions-list-horizontal ul {display:flex; flex-flow: row wrap; gap:1rem;}
.solutions-list-horizontal ul li {border:1px solid #E8E9E9; border-radius:5px; background-color:#fff;}
.solutions-list-horizontal ul li a {padding:10px 15px; display:inline-block;}
.tt-icon-list .elementor-icon-list-icon {margin:1em;}
.tt-icon-list .elementor-icon-list-text {margin-right:1em;}
.tt-content-grid .elementor-widget-image a {display:block !important;}
.q-icon img[src$=".svg"]{width:6em !important;}
blockquote {padding:0; margin:0; font-size:1.5rem; line-height:1.5; color:#00234E;}
.tt-copy blockquote {font-size:1rem; margin-bottom:1.25em; margin-left:1.5em; padding-left:1.5em; border-left:1px solid #ccc;}
table {border:1px solid #94949E; border-collapse:collapse; padding:1em;}
table th {border:1px solid #94949E;background: #EFEFF0;	text-align: left; padding: 1em;}
table td {border:1px solid #94949E; padding:1em; background:#FCFCFC;}
.elementor-image-gallery figure img {border:1px solid transparent !important; width:100%;}
.elementor-image-gallery figure img:hover,
	.elementor-image-gallery figure img:active {border:1px solid #0065BD !important;}
.gallery-caption {border:1px solid transparent !important;}
.title-image .wp-caption-text,
	.gallery-caption {font-size:0.875rem !important; padding:1em 1em 0 1em !important; margin:0 !important}
.tt-image.image-carousel .elementor-image-carousel-caption,
	.tt-image.image-large .wp-caption-text,
	.tt-image.image-medium .wp-caption-text {padding:1em 1em 0 1em; margin:0 !important;}
.qutoe-attribution cite:before, .quote-attribution cite:before {content: '—';}

/* archive */
.elementor-post__badge {padding:5px 10px !important; text-transform:none !important;}
.elementor-post__thumbnail, .elementor-post__card {border-top-right-radius:1em !important;}

/* hero animations */
.hero-animation-parent {overflow:hidden; min-width:100vw; min-height:150vw}
.hero-animation-parent video {height:100%; width: 100%; object-fit:cover; object-position:center -16.5vh;}
.animation-item {position:relative;}
.animation-item video {z-index:0;}
.tt-hero.hero-image-fallback .hero-title, .tt-hero.hero-image-fallback a.elementor-button, .tt-hero.hero-animation .tt-hero-title-box {position:relative; z-index:1;}
.feature-tiles {z-index:2;}
.feature-item {position:relative;}
.feature-item .feature-item-button {position:absolute; bottom:2.5em;}
.animation-controls {position:absolute; right:1em; top:1em; z-index:10 !important; font-size:1rem !important; padding:5px 10px !important; border-radius:5px; background-color:#fff !important; color:#0065BD !important; font-weight:600 !important; min-width:9em;}
.animation-controls:hover {background-color:#E8E9E9 !important;}
.animation-controls:active {background-color:#fff !important;}

/* exposure */
#exposure-feed {display:grid; grid-template-columns:repeat(3, 1fr); gap:2em;}
.ex-story {background-color:#EFEFF0; border-top-right-radius:1em;}
.ex-story-meta {padding:2em;}
.ex-story-title {font-size:1.5rem !important; line-height:1.3em !important; margin:0 !important; color:#001E53 !important;}
img.ex-story-img {border-top-right-radius:1em; aspect-ratio:16 / 9; object-fit:cover}

/* posts filter */
.tt-posts-filter form ul {margin:0;}
.tt-posts-filter .searchandfilter ul li {padding:0;}
.tt-posts-filter select {border-color:#747678; padding:.75em; border-radius:5px; line-height:1.5;
	appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right .75em center;
    background-size: 1em;}

/* global footer */
.elementor-kit-10 a.elementor-social-icon:hover {font-size:1.3rem !important;}

/* links for content */
.site-content a:link,
	a:link .loop-link {text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.25em; color:#0065BD; text-decoration-skip-ink:none;}
.site-content a:hover,
	a:hover .loop-link {text-decoration-thickness:4px; color:#003478;}
.site-content a:active,
	a:active .loop-link {text-decoration-thickness:4px; color:#6639B7;}
.site-content a:visited,
	a:visited .loop-link {text-decoration-thickness:1px; color:#6639B7;}
.solutions-list-horizontal ul li:hover {border:1px solid #0065BD;}

.light-links a:link,
	.light-links a:hover,
	.light-links a:active,
	.light-links a:visited {color:#fff !important;}

.title-chip a:link,
	.solutions-list-vertical a:link {text-decoration:none;}
.title-chip a:hover,
	.solutions-list-vertical a:hover {text-decoration:underline; text-decoration-thickness:1px;}
.title-chip a:active,
	.solutions-list-vertical a:active {text-decoration:underline; text-decoration-thickness:1px;}
.title-chip a:visited,
	.solutions-list-vertical a:visited {text-decoration:none;}

/* links for navigation */
nav a:link,
	.site-content nav a:link,
	.footer-lws a:link,
	.site-content h2 a:link,
	.site-content h3 a:link,
	.site-content a:link.tt-content-grid-loop-item,
	.site-content a:link.ex-stoy-link {text-decoration:none;}
nav a:hover,
	.site-content nav a:hover,
	.footer-lws a:hover,
	.site-content h2 a:hover,
	.site-content h3 a:hover,
	.site-content a:hover.tt-content-grid-loop-item,
	.site-content a:hover.ex-stoy-link {text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.25em;}
nav a:active,
	.site-content nav a:active,
	.footer-lws a:active,
	.site-content h2 a:active,
	.site-content h3 a:active,
	.site-content a:active.tt-content-grid-loop-item,
	.site-content a:active.ex-stoy-link {text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.25em;}
nav a:visited,
	.site-content nav a:visited,
	.footer-lws a:visited,
	.site-content h2 a:visited,
	.site-content h3 a:visited,
	.site-content a:visited.tt-content-grid-loop-item,
	.site-content a:visited.ex-stoy-link {text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.25em;  color:#6639B7;}

/* links, remove underlines for nonrelevant content */
a.elementor-button,
.solutions-list-horizontal ul li a {text-decoration:none !important;}
a.elementor-button {color:#fff !important;}

/* focus indicators */
.skip-link.screen-reader-text {top:1em; left:1em;}
a:focus-visible,
	input:focus-visible,
	select:focus-visible,
	button:focus-visible,
	#ast-scroll-top:focus-visible,
	.feature-item:focus-within,
	.ex-story:focus-within,
	.tt-image.image-gallery .gallery-icon:focus-within {outline:4px solid #008ED4 !important; outline-offset:3px !important;}
input:focus + .slider {outline:4px solid #008ED4; outline-offset:3px;}

/* focus indicators, remove extra outlines */
input:focus:not(:focus-visible) + .slider {outline:0;}
.feature-item:focus-within a {outline:0 !important;}

/* skip link */
.skip-link {background-color:#F8F8F8 !important; color:#0065BD !important; top:1em !important; left:1em !important;}

/* visually hidden */
.visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

@media (max-width: 767px) {
	
	/* content */
	.solutions-list-horizontal ul li a {padding: 5px 10px;}
	blockquote {font-size:1.25rem;}
	
	/* hero animations */
	.feature-item .feature-item-button {position:static;}
	.feature-tiles {z-index:0;}
	.tt-hero.hero-image-fallback .hero-title, .tt-hero.hero-image-fallback a.elementor-button {position:relative; z-index:0;}

	/* posts filter */
	.tt-posts-filter .searchandfilter select.sf-input-select {width: 100%;}
	
	/* exposure */
	#exposure-feed {display:grid; grid-template-columns:repeat(1, 1fr); gap:1em;}
}

@media (min-width: 768px) and (max-width: 1024px) {
	
	/* content */
	.solutions-list-horizontal ul li a {padding: 5px 10px;}
	
	/* hero animations */
	.feature-item .feature-item-button {position:absolute; bottom:2em;}
	
	/* exposure */
	#exposure-feed {display:grid; grid-template-columns:repeat(2, 1fr); gap:2em;}

}

@media (min-width: 768px) and (max-width: 1200px) {
	
	/* hero animations */
	.hero-animation-parent video {height:100%; width: 100%; object-fit:cover; object-position:center center;}
	
}