/*
Theme Name: BlankSlate
Theme URI: https://github.com/tidythemes/blankslate
Author: TidyThemes
Author URI: https://github.com/tidythemes
Description: Donations: https://calmestghost.com/donate. BlankSlate is the definitive WordPress boilerplate starter theme. We've carefully constructed the most clean and minimalist theme possible for designers and developers to use as a base to build websites for clients or to build completely custom themes from scratch. Clean, simple, unstyled, semi-minified, unformatted, and valid code, SEO-friendly, jQuery-enabled, no programmer comments, standardized and as white label as possible, and most importantly, the CSS is reset for cross-browser-compatability and no intrusive visual CSS styles have been added whatsoever. A perfect skeleton theme. For support and suggestions, go to: https://github.com/tidythemes/blankslate/issues. Thank you.
Tags: accessibility-ready, one-column, two-columns, custom-menu, featured-images, microformats, sticky-post, threaded-comments, translation-ready
Version: 2023
Requires at least: 5.2
Tested up to: 6.1
Requires PHP: 7.0
License: GNU General Public License v3 or Later
License URI: https://www.gnu.org/licenses/gpl.html
Text Domain: blankslate

BlankSlate WordPress Theme © 2011-2023 TidyThemes
BlankSlate is distributed under the terms of the GNU GPL
*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
html {
  scroll-behavior: smooth;
}
body {
  line-height: 1;
}
a {
  text-decoration-skip-ink: auto;
}
a[href^="tel"] {
  color: inherit;
  text-decoration: none;
}
button {
  outline: 0;
}
ol,
ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}
q {
  display: inline;
  font-style: italic;
}
q:before {
  content: '"';
  font-style: normal;
}
q:after {
  content: '"';
  font-style: normal;
}
textarea,
input[type="text"],
input[type="button"],
input[type="submit"],
input[type="reset"],
input[type="search"],
input[type="password"] {
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
}
input[type="search"] {
  -webkit-appearance: textfield;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
th,
td {
  padding: 2px;
}
big {
  font-size: 120%;
}
small,
sup,
sub {
  font-size: 80%;
}
sup {
  vertical-align: super;
}
sub {
  vertical-align: sub;
}
dd {
  margin-left: 20px;
}
kbd,
tt {
  font-family: courier;
  font-size: 12px;
}
ins {
  text-decoration: underline;
}
del,
strike,
s {
  text-decoration: line-through;
}
dt {
  font-weight: bold;
}
address,
cite,
var {
  font-style: italic;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}
/*.sticky {
}
.bypostauthor {
}
.wp-caption {
}
.wp-caption-text {
}
.gallery-caption {
}
.alignright {
}
.alignleft {
}
.aligncenter {
}*/
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  word-break: normal;
}
.screen-reader-text:focus {
  background-color: #f7f7f7;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  -webkit-clip-path: none;
  clip-path: none;
  color: #007acc;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  right: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}
.skip-link {
  left: -9999rem;
  top: 2.5rem;
  z-index: 999999999;
  text-decoration: underline;
}
.skip-link:focus {
  display: block;
  left: 6px;
  top: 7px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  line-height: normal;
  padding: 15px 23px 14px;
  z-index: 100000;
  right: auto;
}
.visually-hidden:not(:focus):not(:active),
.form-allowed-tags:not(:focus):not(:active) {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}
.skip-to-main-content-link {
  position: absolute; 
  left: -9999px; 
  z-index: 999; 
  padding: 1em;
  background-color: black;
  color: white;
  opacity: 0; 
}

.skip-to-main-content-link:focus {
  left: 50%; 
  transform: translateX(-50%); 
  opacity: 1; 
}
/* screen readers */
.sr-only {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important; /* 1 */
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important; /* 2 */
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important; /* 3 */
}
.sr-only-focusable:focus,
.sr-only-focusable:active {
  clip: auto !important;
  -webkit-clip-path: none !important;
  clip-path: none !important;
  height: auto !important;
  margin: auto !important;
  overflow: visible !important;
  width: auto !important;
  white-space: normal !important;
}
/* my styles */
/* root */
:root {
  --white: #FFF;
  --black: #171717;
  --dark-grey: #4E5055;
	--light-grey:#D3D3D3;
	--grey:#EBEBEB;
	--blue:#146BBA;
  --button-background: ;
  --button-border: ;
  --heading-one-font-size: clamp(2rem, 10vw + .5rem, 10.875rem);
  --heading-two-font-size: 3.75rem;
  --heading-three-font-size: 3rem;
  --heading-four-font-size: 2.175rem;
	 --heading-five-font-size: 1.125rem;
  --paragraph-font-size: 1.125rem;
	--meta-font-size:.9rem;
  --button-font-size: 1.125rem;
  --navigation-font-size: 1.125rem;
  --font-one:familjen-grotesk,sans-serif;
  --font-two: kinesis-pro-3,serif;
  --site-spacing:2.5rem;
  --vertical-site-spacing:5rem;
  --mobile-vertical-site-spacing:10rem;
  --menu-vertical-spacing:.5rem;
	--max-width:900px;
	--my-space:1.25rem;
	--small-spacing:1.25rem;
}
/* page transitions */
@view-transition{
	navigation:auto;
}
::view-transition-group(*){
	animation-duration:.5s;
}
[data-direction="forward"]::view-transition-old(root){
	animation: slide-out-left 1s cubic-bezier(0,.71,.59,1);
}
[data-direction="forward"]::view-transition-new(root){
	animation: slide-in-right 1s cubic-bezier(0,.71,.59,1);
}
[data-direction="backward"]::view-transition-old(root){
	animation: slide-out-right 1s cubic-bezier(0,.71,.59,1);
}
[data-direction="backward"]::view-transition-new(root){
	animation: slide-in-left 1s cubic-bezier(0,.71,.59,1);
}
@keyframes slide-out-left{
	from {
		transform:translatex(0);
	}
	to{
		transform:translatex(-100%);
	}
}
@keyframes slide-in-right{
	from {
		transform:translatex(100%);
	}
	to{
		transform:translatex(0);
	}
}
@keyframes slide-out-right{
	from {
		transform:translatex(0);
	}
	to{
		transform:translatex(100%);
	}
}
@keyframes slide-in-left{
	from {
		transform:translatex(-100%);
	}
	to{
		transform:translatex(0);
	}
}
/* end page transitions */
html{
	/* font-size:16px; */
	 -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
	        scrollbar-gutter: stable; /* Or 'stable' for just the scrollbar side */

}
.accent{
	color:var(--blue);
}

.h1,#menu-main-1 li a {
  font-size: var(--heading-one-font-size);
	
  line-height: 0.85;
  letter-spacing: 0;
  font-family: var(--font-one);
  font-weight: 400;
	text-transform:uppercase;
}

.h2,.marquee__content li,#menu-main .sub-menu li a {
  font-size: var(--heading-two-font-size);
  line-height: .95;
  letter-spacing: 0;
  font-family: var(--font-one);
  font-weight: 400;
	text-transform:uppercase;
}

.h3 {
  font-size: var(--heading-three-font-size);
  line-height: 1;
  letter-spacing: 0px;
  font-family: var(--font-two);
  font-weight: 300;
	font-style:italic;
}

.h4,.form-embed h4,#menu-main-1 .sub-menu li a {
  font-size: var(--heading-four-font-size);
  line-height: 1.15;
  letter-spacing: 0;
  font-family: var(--font-one);
  font-weight: 400;
}

h5,.h5,.blue-button a,#menu-main li a, #container .project-details__right li,.form-embed .nf-form-content label,.form-embed input[type=submit],#menu-footer-menu li a {
  font-size: var(--heading-five-font-size);
  line-height: 1.2;
  letter-spacing: 0;
  font-family: var(--font-one);
  font-weight: 400;
	text-transform:uppercase;
}
p,
.p,#container li,.form-embed input[type=text],.form-embed input[type=email],.form-embed input[type=tel],.form-embed textarea,.form-embed select,.nf-form-fields-required {
  font-size: var(--paragraph-font-size);
  line-height: 1.75;
  letter-spacing: 0;
  font-family: var(--font-one);
  font-weight: 400;
}
.meta,
h6 {
  font-size: var(--meta-font-size);
  line-height: 1.25;
  letter-spacing: 0;
  font-family: var(--font-one);
  font-weight: 400;
}
/*text*/

a:hover {
  cursor: pointer;
}
.button a {
  color: inherit;
  text-decoration: none;
  font-size: var(--button-font-size);
  letter-spacing: 0;
  font-family: var(--font-one);
  text-align: center;
  z-index: 2;
  position: relative;
  transition: all 0.5s ease;
}
	.button{
		display:inline-block;
	}
.button:not(:last-of-type){
	margin-right:2.5rem;
}
	.button.link a{		
    text-decoration: underline;
    transition: all 0.5s ease;
	}
@media only screen and (max-width: 480px){
	:root {
  --heading-one-font-size: 2.625rem;
		--heading-one-font-size:3rem;
  --heading-two-font-size: 2rem;
  --heading-three-font-size: 2rem;
 --heading-four-font-size: 1.5rem;
}
}
@media only screen and (max-width: 400px){
	:root{
		--heading-five-font-size: 1rem !important;
	}
	 
}
@media only screen and (max-width: 370px){
	:root {
  --heading-one-font-size: 2.625rem;
		--heading-one-font-size:3rem;
  --heading-two-font-size: 2rem;
  --heading-three-font-size: 1.5rem;
 --heading-four-font-size: 1rem;
}
}
h1,h2,h3,h4,h5,h6,p{
    margin:0;
	color:inherit;
}
.h1+*,.h3+*,.h4+*,.h5+*,.h6+*,h1+*,h2+*,h3+*,h4+*,h5+*,h6+* {
    margin-top: 1.5em;
}
*+.hr, *+blockquote, *+dl, *+form, *+hr, *+iframe, *+img.aligncenter, *+ol, *+p, *+pre, *+table, *+ul, *+video, img.aligncenter+* {
    margin-top: 1em;
}
.button-wrapper{
	margin-top:1.5rem;
}
/* colors */
.text-color--white {
  color: var(--white);
}
.text-color--dark-grey {
  color: var(--dark-grey);
}
.text-color--black {
  color: var(--black);
}
.text-color--blue {
  color: var(--blue);
}
/* background */
.background-color--white {
  background: var(--white);
}
.background-color--grey {
  background: var(--grey);
}
.background-color--black {
  background: var(--black);
}

.background-color--blue {
  background: var(--blue);
}
/*format / formatting / layout*/
#sidebar,#branding{
	display:none;
}
img{
	max-width:100%;
	display:block;
	/*height:100%; */
}
/* image wrappers */
.image-wrapper,.img-wrapper.image-wrapper{
  height: 0;
  overflow: hidden;
  position: relative;
	/*border-radius:6px;*/
}
.image-wrapper img,.img-wrapper.image-wrapper img{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
	object-fit:cover;
}
.square-wrapper{
	padding-top:100%;
}
.two-by-three-wrapper{
  padding-top: 66%;
}
.sixteen-by-nine-wrapper{
  padding-top: 56%;
}
.five-by-four-wrapper{
	padding-top:80%;
} 
.four-by-five-wrapper{
	padding-top:125%;
}
@media only screen and (max-width: 899px){
	.five-by-four-wrapper-mobile{
	padding-top:80%;
}
}
/* end image wrappers */
.text-centered {
  text-align: center;
}
em {
  font-style: italic;
}
strong {
  font-weight: 700 !important;
}
.pointer {
  cursor: pointer;
}
body {
  overflow-x: hidden;
  width: 100%;
  background: white;
}
.between{
	justify-content:space-between;
}
.flexed{
	display:flex;
}
.grid{
	display:grid;
}
.grid-gap{
	grid-gap:50px;
}
.grid-two-fit{
	 grid-template-columns: repeat(auto-fit, 186px);
}
.grid-two-fill{
	 grid-template-columns: repeat(auto-fill, 50%);
}
.flexed--stack--large{
	display:flex;
	flex-direction:column;
}
@media only screen and (min-width: 900px){
	.flexed--large{
		display:flex;
	}
	.flexed--stack--large{
		flex-direction:row;
	}
	.grid-three-column,.grid-two-column{
		   grid-template-columns: 1fr 1fr;
	}
}
@media only screen and (min-width: 900px){
	.grid-three-column{
		   grid-template-columns: 1fr 1fr 1fr;
	}
}
@media only screen and (min-width: 769px){
	.flexed--medium{
		display:flex;
	}	
}
/* padding */
.page-template-pretest .entry-content{
	padding-top:10rem;
}
.padding,.padding.padding--medium,.padding.padding--small{
	padding:var(--site-spacing);
}
.padding.no-vertical-padding{
	padding-top:0 !important;
	padding-bottom:0 !important;
}
section,.section{
	padding-bottom:var(--section-spacing);
}
.first-section.section{
	padding-top:var(--section-spacing);
}
.padding.vertical{
	padding:var(--vertical-site-spacing) var(--site-spacing);
}
.padding.padding_no{
padding:0;
}
 .off-the-edge{
		  padding-inline:var(--my-space);
	  }
@media only screen and (max-width:1024px){
	.padding.mobile_vertical{
		padding:var(--mobile-vertical-site-spacing) var(--site-spacing);
	}	
}
@media only screen and (max-width: 768px){
	.padding.mobile_vertical{
		padding:var(--mobile-vertical-site-spacing) var(--site-spacing);
	}	
}
@media only screen and (max-width: 600px){
	.padding.mobile_vertical{
		padding:var(--mobile-vertical-site-spacing) var(--site-spacing);
	}	
}
  @media only screen and (max-width: 599px) { 
 :root {
	--section-spacing:7.5rem;	
	--site-spacing:7.5rem 1.25rem;
	 --small-spacing:1.25rem;
	}
	  .spacer.spacer-1,.spacer.spacer-2{
	padding-inline:1.25rem;
}
	  	  .vertical-spacer.vertical-spacer-1,.vertical-spacer.vertical-spacer-2{
	padding-block:2.5rem;
} 
}
  @media only screen and  (min-width: 600px) { 
:root {
	--section-spacing:10rem;	
	--site-spacing:7.5rem 2.5rem;	
	--my-space: 2.5rem;
	 --small-spacing:2.5rem;
	}
	  .spacer.spacer-1,.spacer.spacer-2{
	padding-inline:2.5rem;
}
	  	  .vertical-spacer.vertical-spacer-1,.vertical-spacer.vertical-spacer-2{
	padding-block:2.5rem;
} 
}

  @media only screen and (min-width: 900px) {
:root {
	--section-spacing:10rem;	
	--site-spacing:5rem;	
	--small-spacing:2.5rem;
	--my-space: 5rem;
	}
	  .spacer.spacer-1,.spacer.spacer-2{
		  padding-inline:2.5rem;
	  }
	  .vertical-spacer.vertical-spacer-1,.vertical-spacer.vertical-spacer-2{
	padding-block:2.5rem;
} 
}
  @media only screen and (min-width: 1200px) { 
:root {
	--section-spacing:10rem;	
	--site-spacing:7.5rem;
	--my-space: 7.5rem;
	}

}
  @media only screen and (min-width: 1600px) { 
:root {
	--section-spacing:10rem;	
	--site-spacing:10rem;	
	--my-space: 10rem;
	}
}
.max-width{
	max-width:var(--max-width);
	margin:auto;
}

.action-bar{
	text-align:center;
	padding:2.5px var(--small-spacing);
	width:100%;
	min-height:35px;
	z-index:9999;
	display:flex;
	justify-content:center;
	align-items:center;
	background:var(--black);
}
.action-bar p{
	margin-bottom:0;
}
.action-bar p a{
	color:var(--white);
}
/* hovers */
@media (hover: hover){
	
}
/* end hovers */
/* my styles */
/* background cta */
	#banner:after{
			content:'';
		position:absolute;
		left:0;
		top:0;
		height:100%;
		width:100%;
		background-position:center;
		background-repeat:no-repeat;
		background-size:cover;
		opacity:.7;
		  background: var(--black);
}
#banner{
	position:relative;
	padding:15% 5%;
}
.banner-text{
	position:relative;
	z-index:2;
}	
/* end background cta */
/* form styling */
	.nf-form-title{
		display:none;
	}
.form-embed{
	position:relative;
	z-index:4;
}
.form-embed input[type=text],.form-embed input[type=email],.form-embed input[type=tel],.form-embed textarea{
	background:var(--dark-grey) !important;
	border:none !important;
	color:var(--white) !important;
}
/* end form styling */
/* Marquee styles */

.marquee {
  --gap: 2.5rem;
  position: relative;
  display: flex;
  overflow: hidden;
  user-select: none;
  gap: var(--gap);
}
.marquee__content {
  flex-shrink: 0;
  display: flex;
	align-items:center;
  justify-content: space-around;
  gap: var(--gap);
  min-width: 100%;
  font-size:2em;
	margin:0 !important;
}
@keyframes scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc(-100% - var(--gap)));
  }
}
/* Pause animation when reduced-motion is set */
@media (prefers-reduced-motion: reduce) {
  .marquee__content {
    animation-play-state: paused !important;
  }
}
/* Enable animation */
.enable-animation .marquee__content {
  animation: scroll 35s linear infinite;
}
/* Other page demo styles */
.marquee__content > * {
  flex: 0 0 auto;
  margin: 2px 0;
  padding: 1rem 0;
  text-align: center;
}
.move-right .marquee__content{
			animation-direction:reverse;
	animation-duration:90s;
		}
/* End Marquee styles */
/* two column */
	.image-right .two-column-image{
		order:3;
	}	
	@media screen and (min-width: 769px) {
  .two-column-image{
		width:50%;
	}
	.two-column-text{
		width:50%;
	}
}
.two-column.large{
	align-items:initial;
}
/* */
/* */
.normal .two-column__image,.normal .two-column__text{
	width:100%;
}
@media ( max-width: 899px ) {
.two-column__text.padding{
padding-top:2.5rem;		
	}
}
@media ( min-width: 900px ) {
	.normal .two-column__text{
	padding-top:0;
	padding-bottom:0;
}
	.normal.flexed--stack--large{
	justify-content:space-between;
}
.normal .two-column__image{
	width:47.5%;
}
.normal .two-column__text{
	width:47.5%;
}
	.normal.image-right .two-column__image{
		order:2;
	}
}
.two-column{
	align-items:center;
}
/* */
/* end two column */
/* end my styles */
/* media queries */
@media (max-width: 599px) { 

}

@media (min-width: 600px) { 

}

@media (min-width: 900px) { 

}
@media (min-width: 1200px) { 

}

@media (min-width: 1800px) { 

}
/* end media queries */
/* grain */
.grain {
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
     opacity: .25; 
    pointer-events: none;
    transform: translateZ(0);
}
.grain::after {
    content: "";
    position: absolute;
    top: -10rem;
    left: -10rem;
    width: calc(100% + 20rem);
    height: calc(100% + 20rem);
    animation: noise 1s steps(2) infinite;
    background: url(/wp-content/uploads/2025/02/Grainy-Grain-1.png);
    background-position: 50%;
    will-change: transform;
}
@keyframes noise {
  0% {
    transform: translate3d(0, 9rem, 0);
  }
  10% {
    transform: translate3d(-1rem, -4rem, 0);
  }
  20% {
    transform: translate3d(-8rem, 2rem, 0);
  }
  30% {
    transform: translate3d(9rem, -9rem, 0);
  }
  40% {
    transform: translate3d(-2rem, 7rem, 0);
  }
  50% {
    transform: translate3d(-9rem, -4rem, 0);
  }
  60% {
    transform: translate3d(2rem, 6rem, 0);
  }
  70% {
    transform: translate3d(7rem, -8rem, 0);
  }
  80% {
    transform: translate3d(-9rem, 1rem, 0);
  }
  90% {
    transform: translate3d(6rem, -5rem, 0);
  }
  to {
    transform: translate3d(-7rem, 0, 0);
  }
}
/* grain */