/* CSS Document */

/*	FORTHEA CORE PACKAGE
=================================================================================================
  jskaggs@forthea.com
  rmayo@forthea.com
*/


/*	Resets
============================================================================================== */
:root {
  --color-black:#030304;
  --color-navy:#102F53;
  --color-md-blue:#1F496E;
  --color-blue:#285F8E;
  --color-lt-blue:#27AADF;  
  --color-gray-10:#231f20;
  --color-gray-30:#4d4d4d;
  --color-gray-50:#808080;
  --color-gray-70:#b3b3b3;
  --color-gray-90:#e5e5e5;
  --color-gray-98:#f2f2f2;
  --color-white:#ffffff;

  --color-primary:var(--color-navy);
  --color-secondary:var(--color-lt-blue);
  --color-accent:var(--color-blue);

  --units-1:18px;
  --units-2:calc(var(--units-1) * 2);
  --units-3:calc(var(--units-1) * 3);
  --units-4:calc(var(--units-1) * 4);
  --units-5:calc(var(--units-1) * 5);
  --units-6:calc(var(--units-1) * 6);

  --radius-default:calc(var(--units-1) * 1.5);

  --typeface-display:"Rubik", Helvetica, Arial, sans-serif;
  --typeface-default:"Source Sans 3", Helvetica, Arial, sans-serif;

  --font-size-1:var(--units-1);
  --font-size-2:calc(var(--font-size-1) * 1.200);
  --font-size-3:calc(var(--font-size-1) * 1.440);
  --font-size-4:calc(var(--font-size-1) * 1.728);
  --font-size-5:calc(var(--font-size-1) * 2.000);
  --font-size-6:calc(var(--font-size-1) * 2.488);
  --font-size-7:calc(var(--font-size-1) * 2.986);
  --font-size-neg-1:calc(var(--font-size-1) * 0.875);
  --font-size-neg-2:calc(var(--font-size-1) * 0.750);
}
html, body, h2, h3, h4, p, ul, li, form, fieldset, label, img, div {
  margin:0;
  padding:0;
  border:none;
  -webkit-text-size-adjust:none;
}
html, body {
  height:100%;
  min-height:100%;
  font-family:var(--typeface-default);
  font-size:var(--font-size-1);
  line-height:1.6;
  color:var(--color-gray-10);
}
html { background:var(--color-gray-98); }
.panel *::selection,
.header *::selection,
.footer *::selection,
.banner *::selection,
.mainNav *::selection,
.excerpt .simplesearch-highlight {
  color:var(--color-gray-10);
  background:rgba(39, 170, 223, 0.5);
  /* WebKit/Blink Browsers */
}
.panel *::-moz-selection,
.header *::-moz-selection,
.footer *::-moz-selection,
.banner *::-moz-selection,
.mainNav *::-moz-selection,
.excerpt .simplesearch-highlight {
  color:var(--color-gray-10);
  background:rgba(39, 170, 223, 0.5);
  /* Gecko Browsers */
}
a[href^="tel"] { cursor:pointer; }
.centre {
  position:relative;
  margin:0 auto 0;
  padding:var(--units-5) var(--units-2) var(--units-5);
  max-width:1120px;
  z-index:10;
}
.panel_accordion .centre { max-width:920px; }
.panel_buckets.home .centre { 
  padding-top:0; 
  padding-bottom:0; 
}

.clearfix, .centre { zoom:1; }
.clearfix:before, .centre:before,.sd-clearfix:before  { content:"\0020"; display:block; height:0; overflow:hidden; }
.clearfix:after, .centre:after,.sd-clearfix:after { content:"\0020"; display:block; height:0; overflow:hidden; clear:both; }
.csst,
.csst:hover,
.csst *,
.csst *:hover,
.btn,
.btn:hover {
  -webkit-transition:all 0.165s ease;
  -moz-transition:all 0.165s ease;
  -ms-transition:all 0.165s ease;
  -o-transition:all 0.165s ease;
  transition:all 0.165s ease;
}
.border-box {
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
}
.fauxlink, .fauxlink:hover { cursor:pointer; }
.elem-flip {
  -moz-transform:scaleX(-1);
  -o-transform:scaleX(-1);
  -webkit-transform:scaleX(-1);
  transform:scaleX(-1);
  filter:FlipH;
  -ms-filter:"FlipH";
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  display:block;
  margin:0 auto 0.6em;
  font-family:var(--typeface-default);
  font-weight:600;
  letter-spacing:-0.025em;
  color:var(--color-gray-10);
}
h1, h2, .h1, .h2 { font-family:var(--typeface-display); }
h1, .h1 { font-size:var(--font-size-7); font-weight:300; line-height:1; }
h2, .h2 { font-size:var(--font-size-5); line-height:1.2; position:relative; }
h3, .h3 { font-size:var(--font-size-3); line-height:1.4; }
h4, .h4 { font-size:var(--font-size-2); }
h5, .h5 { font-size:var(--font-size-1); }
h6, .h6 { font-size:var(--font-size-1); font-weight:400; }
p + h2, p + h3, p + h4, p + h5, p + h6,
p + .h2, p + .h3, p + .h4, p + .h5, p + .h6,
ul + h2, ul + h3, ul + h4, ul + h5, ul + h6,
ul + .h2, ul + .h3, ul + .h4, ul + .h5, ul + .h6,
ol + h2, ol + h3, ol + h4, ol + h5, ol + h6,
ol + .h2, ol + .h3, ol + .h4, ol + .h5, ol + .h6
{ margin-top:40px; }
ol li + li,
ol ul { margin-top:5px !important; }
.centre a,
.centre a:hover {
  text-decoration:none;
  -webkit-transition:all 0.165s ease;
  -moz-transition:all 0.165s ease;
  -ms-transition:all 0.165s ease;
  -o-transition:all 0.165s ease;
  transition:all 0.165s ease;
}
input[type=text],
input[type=email],
input[type=number],
input[type=tel],
input[type=password],
select,
textarea {
  font-family:inherit;
  font-size:inherit;
  color:inherit;
}
.center { text-align:center; }
img, iframe { max-width:100%;border:none; }
img.framed {
  background:var(--color-white);
  padding:var(--units-1);
  border:1px solid var(--color-gray-70);
  box-shadow:3px 3px 7px rgba(0,0,0,0.10);
}
.sep {
  margin:0 3px;
  display:inline-block;
}
.wrapper { min-height:100%; }
/* .wrapper > div:last-child {padding-bottom:184px;} /*	/*  Sticky footer fix  */

hr {
  border:0;
  border-bottom:1px solid var(--color-gray-90);
  margin:var(--units-2) auto;
  padding:0;
}
.panel .content:empty { display:none; }

/*	Base Classes
============================================================================================== */
.btn {
  font-family:var(--typeface-default);
  font-size:0.85em;
  font-weight:600;
  text-transform:uppercase;
  text-align:center;
  text-wrap:balance;
  letter-spacing:0.15em;
  border-radius:var(--radius-default);
  min-width:9em;
  margin:1.618em auto 0;
  padding:0.9em 2em 0.85em;
  display:inline-block;
  position:relative;
  cursor:pointer;
}
.btn:hover {
  cursor:pointer;
}
.btn.navy {
  color:var(--color-white) !important;
  background:var(--color-navy);
}
.btn.navy:hover {
  color:var(--color-white) !important;
  background:var(--color-md-blue);
}
.btn.blue {
  color:var(--color-white) !important;
  background:var(--color-blue);
}
.btn.blue:hover {
  color:var(--color-white) !important;
  background:var(--color-lt-blue);
}
.btn.lt-blue {
  color:var(--color-white) !important;
  background:var(--color-lt-blue);
}
.btn.lt-blue:hover {
  color:var(--color-lt-blue) !important;
  background:var(--color-white);
}
.bg-white .btn.lt-blue:hover {
  color:var(--color-white) !important;
  background:var(--color-blue);
}
.btn.default {
  color:var(--color-white) !important;
  background:var(--color-md-blue);
}
.btn.default:hover {
  color:var(--color-white) !important;
  background:var(--color-navy);
}
.btn.white {
  color:var(--color-blue) !important;
  background:var(--color-white);
}
.btn.white:hover {
  color:var(--color-white) !important;
  background:var(--color-blue);
}
.btn.ghost {
  color:var(--color-secondary) !important;
  background:transparent;
  border:1px solid var(--color-secondary);
}
.btn.ghost:hover {
  color:var(--color-white) !important;
  background:var(--color-secondary);
}
.panel.dark .btn.ghost {
  color:var(--color-white) !important;
  background:transparent;
  border:1px solid var(--color-white);
}
.panel.dark .btn.ghost:hover {
  color:var(--color-secondary) !important;
  background:var(--color-white);
}
.btn.mini {
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:1px;
}
p + .btn,
ol + .btn,
ul + .btn { margin-top:0; }
.btn .fa,
.btn .fas,
.btn .fab {
  margin:0 0.33em;
  font-size:0.9em;
  vertical-align:baseline;
}
.btn .fa:last-child,
.btn .fas:last-child,
.btn .fab:last-child { margin-right:0; }


/*	LAYOUT
============================================================================================== */

/*	Header
============================================================================================== */
.header {
  background:var(--color-white);
  height:124px;
  padding-top:34px;
  position:fixed;
  top:0;
  width:100%;
  z-index:202;
  opacity:1;
  -webkit-transition:all 0.165s ease;
  -moz-transition:all 0.165s ease;
  -ms-transition:all 0.165s ease;
  -o-transition:all 0.165s ease;
  transition:all 0.165s ease;
  -moz-box-sizing:border-box;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
}
.header.fixed {
  box-shadow:0 4px 10px rgba(0,0,0,0.1);
  -webkit-transition:all 0.165s ease;
  -moz-transition:all 0.165s ease;
  -ms-transition:all 0.165s ease;
  -o-transition:all 0.165s ease;
  transition:all 0.165s ease;
}
.header:hover,
.header.fixed:hover {
  opacity:1;
  -webkit-transition:all 0.165s ease;
  -moz-transition:all 0.165s ease;
  -ms-transition:all 0.165s ease;
  -o-transition:all 0.165s ease;
  transition:all 0.165s ease;
}
.header:before {
  content:"";
  background:linear-gradient(to right,  #29abdf 0%,#285f8e 30%,#102f53 60%);
  height:6px;
  width:100%;
  display:block;
  position:absolute;
  top:0;
  left:0;
}
.header .centre {
  height:100%;
}
.header .logo {
  position:absolute;
  top:50%;
  left:2em;
  transform:translateY(-48%);
  display:block;
}
.header .logo img {
  display:block;
  width:auto;
  height:64px;
}
.header .logo:hover img { }

.header #jbmodal-search-form {
  height:86px;
  line-height:86px;
  margin:0 2em;
  display:block !important;
  float:right;
}
.jbmodal-search,
#lookup { position:relative; }
.header .jbmodal-search,
#lookup {
  width:240px;
  vertical-align:middle;
  display:inline-block;
}
.jbmodal-search input[type=text],
#lookup .zip_lookup {
  color:var(--color-black);
  font-family:inherit;
  font-size:0.85em;
  line-height:1.2em;
  background:var(--color-gray-98);
  border:1px solid transparent;
  border-radius:20px;
  height:40px;
  width:100%;
  margin:0;
  padding:0.75em 2.5em 0.75em 1em;
  outline:none;
  display:block;
  -moz-box-sizing:border-box;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
}
.jbmodal-search input[type=text]:focus,
#lookup .zip_lookup:focus {
  border:1px solid var(--color-secondary);
}
.jbmodal-search input[type=submit],
#lookup input[type=submit] {
  color:transparent;
  text-align:center;
  background:transparent;
  border-radius:20px;
  border:0;
  line-height:38px;
  height:40px;
  width:40px;
  padding:0;
  position:absolute;
  top:0;
  left:auto;
  right:0;
  opacity:0;
  z-index:2;
  cursor:pointer;
}
.jbmodal-search i.fa,
#lookup i.fa {
  color:var(--color-blue);
  font-size:20px;
  text-align:center;
  border:0;
  border-radius:20px;
  line-height:38px;
  height:40px;
  width:40px;
  padding:0 4px 0 0;
  position:absolute;
  top:0;
  left:auto;
  right:0;
  -webkit-transition:all 0.165s ease;
  -moz-transition:all 0.165s ease;
  -ms-transition:all 0.165s ease;
  -o-transition:all 0.165s ease;
  transition:all 0.165s ease;
}
.jbmodal-search input[type=submit]:hover+i.fa,
#lookup input[type=submit]:hover+i.fa {
  color:var(--color-lt-blue);
  -webkit-transition:all 0.165s ease;
  -moz-transition:all 0.165s ease;
  -ms-transition:all 0.165s ease;
  -o-transition:all 0.165s ease;
  transition:all 0.165s ease;
}
.header > .mt, 
.header > .fa-search,
.header > .fa-phone {
  text-align:center;
  text-decoration:none !important;
  line-height:50px;
  height:50px;
  width:50px;
  margin:0;
  position:absolute;
  top:47px;
  cursor:pointer;
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
}
.header > .mt {
  color:var(--color-navy);
  font-size:25px;
  right:1em;
}
.header > .mt.active:before {
  content:"\f00d";
  font-size:34px;
  font-weight:400;
}
.header > .fa-search {
  color:var(--color-blue);
  font-size:22px;
  right:95px;
  right:calc(1em + 65px);
}
.header > .fa-phone {
  color:var(--color-lt-blue);
  font-size:22px;
  right:150px;
  right:calc(1em + 125px);
}


/*	Navs
============================================================================================== */
.topNav {
  background:var(--color-blue);
  height:34px;
  line-height:33px;
  padding-left:1.75em;
  position:absolute;
  top:0;
  right:0;
}
.topNav:before,
.topNav:after {
  content:"";
  width:28px;
  height:34px;
  transform:skew(15deg);
  background:var(--color-md-blue);
  position:absolute;
  top:0;
  left:-20px;
}
.topNav:after {
  background:var(--color-navy);
  left:-46px;
}
.topNav a {
  color:var(--color-white);
  font-size:0.8em;
  letter-spacing:0.05em;
  text-decoration:none;
  text-transform:uppercase;
  line-height:1;
  vertical-align:middle;
  padding:0 10px 0 12px;
  display:inline-block;
}
.topNav a + a {
  border-left:1px solid rgba(255,255,255,0.5);
}
.topNav a:hover {
  color:var(--color-lt-blue);
}
.topNav .phone {
  font-family:var(--typeface-display);
  font-size:20px;
  line-height:33px;
  background:var(--color-lt-blue);
  border:none;
  height:100%;
  margin:-1px 0 0 1.75em;
  padding:0 2em 0 1.75em;
  position:relative;
}
.topNav .phone:hover { color:var(--color-navy); }
.topNav .phone:before {
  content:"";
  width:0;
  height:0;
  border-left:12px solid transparent;
  border-right:12px solid transparent;
  border-top:34px solid var(--color-lt-blue);
  position:absolute;
  top:0;
  left:-12px;
}
.topNav .phone i { display:none;}

/* Main Nav */
.mainNav {
  position:relative;
  margin:0;
  float:right;
  z-index:1000;
}
.mainNav ul,
.mainNav li { list-style:none; }
/* First Level Nav */
.mainNav ul {
  font-size:0;
  font-family:var(--typeface-default);
  font-weight:400;
  margin:0;
}
.mainNav>ul>li {
  font-size:var(--font-size-1);
  display:inline-block;
  margin:0 0px;
  position:relative;
}
.mainNav li.id_1,
.mainNav li.id_20,
.mainNav li.id_62,
.mainNav li.id_10 { display:none; }
.mainNav>ul>li>a,
.mainNav>ul>li>span {
  color:var(--color-gray-10);
  font-weight:600;
  text-decoration:none;
  height:90px;
  line-height:88px;
  margin:0;
  padding:0 1.5em;
  display:inline-block;
  position:relative;
}
.mainNav a:hover {
  color:var(--color-lt-blue) !important;
}
/* Second Level Nav */
.mainNav>ul>li>ul {
  background:var(--color-white);
  border-radius:0 0 10px 10px;
  box-shadow:inset 0 10px 10px -10px rgba(0,0,0,0.25),0 2px 4px rgba(0,0,0,0.25);
  width:220px;
  padding:10px 0;
  position:absolute;
  top:90px;
  left:-1px;
  z-index:10;
  display:none;
}
.mainNav>ul>li:hover>ul {
  display:grid;
}
.mainNav>ul>li:last-child>ul {
  left:auto;
  right:-1px;
}
.mainNav>ul>li>ul>li {
  position:relative;
  margin:0;
  border-top:1px solid rgba(255,255,255,0.1);
  line-height:1em;
}
.mainNav>ul>li>ul>li:first-child {
  border-top:0;
}
.mainNav>ul>li>ul>li>a {
  color:var(--color-gray-50);
  font-size:15px;
  font-weight:600;
  line-height:1.3;
  text-decoration:none;
  display:block;
  padding:10px 20px;
}
.mainNav li .trigger { display:none; }

/* Mega Subnav */
@media only screen and (min-width:1200px) {
.mainNav li.id_63>a {
	color:#fff !important;
	font-size: 0.85em;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	border:1px solid transparent;
	border-radius:10rem;
	line-height:40px;
	height:40px;
	margin-left:15px;
	overflow:hidden;
	top: 15px;
}
.mainNav li.id_63>a:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #ef4136;
	border-radius: 10rem;
	z-index: -2;
}
.mainNav li.id_63>a:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0%;
	height: 100%;
	background-color: #bf190d;
	transition: all .3s;
	-moz-transition: all .3s;
	-webkit-transition: all .3s;
	border-radius: 10rem;
	z-index: -1;
}
.mainNav li.id_63>a:hover:before {
	width: 100%;
}   
  .mainNav>ul>li.id_65>ul {
    width:800px;
    padding:10px 25px;
    grid-template-columns:repeat(4, 1fr);
    gap:20px;
    left:-15px;
  }
  .mainNav>ul>li.id_65>ul>li>a {
    color:var(--color-black);
    border-bottom:1px solid rgba(0,0,0,0.1);
    padding:10px 0;
  }
  .mainNav>ul>li.id_65>ul>li>ul {
    display:block;
  }
  .mainNav>ul>li.id_65>ul>li>ul>li>a {
    color:var(--color-gray-50);
    font-size:15px;
    font-weight:600;
    line-height:1.3;
    text-decoration:none;
    display:block;
    padding:10px 0;
  }
}


/*	Footer
============================================================================================== */
.footer {
  color:var(--color-white);
  line-height:1.3;
  background:var(--color-navy);
  position:relative;
}
.footer .top,
.footer .bottom {
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;  
}
.footer .top { padding:40px 2em; }
.footer .bottom {
  font-size:0.8em;
  background:var(--color-gray-10);
  padding:20px 2em;
}
.footer .left,
.footer .credits { float:left; }
.footer .right,
.footer .links { float:right; }

.footer .logo,
.footer .contact {
  vertical-align:middle;
  display:inline-block;
}
.footer .contact {
  border-left:1px solid rgba(255,255,255,0.25);
  margin-left:40px;
  padding-left:40px;
}
.footer .phone {
  color:var(--color-white);
  font-family:var(--typeface-display);
  font-size:20px;
  text-decoration:none;
  margin-bottom:10px;
  display:block;
}
.footer .phone:hover {
  color:var(--color-lt-blue);
}
.footer .social i {
  color:var(--color-white);
  font-size:16px;
  text-align:center;
  background:var(--color-blue);
  border-radius:100%;
  width:32px;
  height:32px;
  line-height:32px;
  margin:0 10px 0 0;
  display:inline-block;
}
.footer .social i:hover {
  color:var(--color-blue);
  background:var(--color-white);
}
.footer .right {
  line-height:100px;
  height:100px;
}
.footer .right img {
  vertical-align:middle;
  display:inline-block;
}
.footer .right img + img { margin-left:20px; }
.footer .links a {
  color:var(--color-white);
  text-transform:uppercase;
  text-decoration:none !important;
  letter-spacing:0.05em;
  border-right:1px solid rgba(255,255,255,0.2);
  padding:0 1em;
  display:inline-block;
}
.footer .links a:hover {
  color:var(--color-lt-blue);
}
.footer .links a:last-of-type {
  padding-right:0;
  border-right:0;
}
@keyframes rotate--footer {
  to {
    transform:translate(-50%, -30%) rotate(1turn)
  }
}

/*	Banner
============================================================================================== */
.banner {
  background:var(--color-navy);
  margin:0;
  padding:124px 0 0;
  overflow:hidden;
  position:relative;
  z-index:2;
}
.banner-home { height:700px; }
.banner .centre { padding:var(--units-6) var(--units-2) var(--units-3); }
.banner-home .centre {
  text-align:center;
  width:100%;
  padding:0;
  position:absolute;
  bottom:150px;
  left:50%;
  transform:translateX(-50%);
}
.banner .bg,
.banner iframe,
.banner video {
  display:block;
  position:absolute;
  top:0;
  left:0;
  bottom:0;
  right:0;
  opacity:0.3;
  z-index:-2;
}
.banner .bg {
  background:none center center;
  -webkit-background-size:cover;
  -moz-background-size:cover;
  -o-background-size:cover;
  background-size:cover;  
}
.banner-home .bg { display:none; }
.banner iframe,
.banner video {
  min-height:150%;
  min-width:150%;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
}
.banner .angle,
.panel_callout .angle {
  content:"";
  height:824px; /* banner + header height */
  transform:skew(10deg);
  position:absolute;
  top:0;
  z-index:1;
}
.banner-home .angle {
  animation:none !important;
}
.banner .angle1,
.panel_callout .angle4 { 
  background:rgba(16,47,83,0.65);
  width:50%;
  left:-200px; 
  z-index:2;
  animation:115s infinite 0s linear wave1;
}
.banner .angle2,
.panel_callout .angle5 { 
  background:rgba(16,47,83,0.4);
  width:55%;
  left:0;
  animation:90s infinite 0s linear wave2;
}
.banner .angle3,
.panel_callout .angle6 { 
  background:rgba(39,170,223,0.15);
  width:50%;
  left:-150px;
  z-index:0;
  animation:50s infinite 0s linear wave3;
}
/* .panel_callout .angle4 {
  background:#004874;
  width:160px;
  right:-80px;
  z-index:2;
  animation:wave4 12s infinite;
}
.panel_callout .angle5 {
  background:#00365D;
  width:360px;
  right:0;
  animation:wave5 12s infinite;
}
.panel_callout .angle6 {
  background:#003C65;
  width:180px;
  right:-40px;
  z-index:1;
} */

/* Custom Animations */
@keyframes wave1 {
  0% {
    left:-200px;
  }
  50% {
    left:1200px;
  }
  100% {
    left:-200px;
  }
}
@keyframes wave2 {
  0% {
    left:0;
  }
  25% {
    left:-300px;
  }
  50% {
    left:-100px;
  }
  75% {
    left:-400px;
  }  
  100% {
    left:0;
  }
}
@keyframes wave3 {
  0% {
    left:-150px;
  }
  25% {
    left:500px;
  }
  50% {
    left:150px;
  }
  75% {
    left:700px;
  }
  100% {
    left:-150px;
  }
}
@keyframes wave4 {
  0% {
    right:-100px;
  }
  50% {
    right:-80px;
  }
  100% {
    right:-100px;
  }
}
@keyframes wave5 {
  0% {
    right:0px;
  }
  25% {
    right:-20px;
  }
  50% {
    right:-10px;
  }
  75% {
    right:-30px;
  }  
  100% {
    right:0px;
  }
}

.banner-home .angle1 {
  width:160px;
  left:-80px; 
}
.banner-home .angle2 {
  width:160px;
  left:80px; 
}
.banner-home .angle3 {
  width:340px;
  left:auto;
  right:-60px;  
}


.banner h1,
.banner .h1 {
  color:var(--color-white);
  margin:0;
}
.banner-home h1,
.banner-home .h1 {
  font-size:80px;
  text-align:left;
  width:700px;
  margin-left:30px;
  padding:10px 0 10px 30px;
  position:relative;
}
.banner-home h1:before,
.banner-home .h1:before {
  content:"";
  background:var(--color-white);
  border-radius:4px;
  width:5px;
  height:100%;
  display:block;
  position:absolute;
  top:0;
  left:0;
}
.banner-home h1,
.banner-home .h1,
.banner-home .intro {
  text-shadow:0 0 10px rgba(0,0,0,0.25);
  vertical-align:middle;
  display:inline-block;
  z-index:3;
}
.banner-home .intro {
  color:var(--color-white);
  font-size:var(--font-size-3);
  text-align:right;
  width:260px;
  position:relative;
}

/* Breadcrumbs */
.crumbContainer {
  font-size:0;
  margin-bottom:5px;
}
.crumbContainer .crumb {
  color:var(--color-white);
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:0.05em;
}
.crumbContainer .crumb:after {
  content:"\f054";
  font-family:"Font Awesome 7 Pro";
  font-size:9px;
  font-weight:900;
  font-style:normal;
  font-variant:normal;
  text-rendering:auto;
  display:inline-block;
  -moz-osx-font-smoothing:grayscale;
  -webkit-font-smoothing:antialiased;
  position:relative;
  top:-1px;
}
.crumbContainer .crumb.current:after {
  content:"";
}
.crumbContainer .crumb a,
.crumbContainer .crumb.current {
  color:var(--color-white);
  padding:0 10px 0 11px;
  text-decoration:none;
}
.crumbContainer .crumb:first-child a { padding-left:2px; }
.crumbContainer .crumb a:hover {
  color:var(--color-lt-blue);
}

/* ScrollNav */
.scrollNav {
  text-align:center;
  background:var(--color-blue);
  width:100%;
  padding:0 2em;
  position:relative;
  z-index:99;
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
}
.scrollNav.fixed {
  border-bottom:1px solid rgba(0,0,0,0.25);
  position:fixed;
  top:90px;
}
.scrollNav .inner {
  text-align:left;
  padding:20px 0 16px;
  overflow-x:scroll;
  white-space:nowrap;
}
.scrollNav .inner::-webkit-scrollbar {
  height:3px;
  border-radius:20px;
}
.scrollNav .inner::-webkit-scrollbar-thumb {
  background-color:var(--color-lt-blue);
}
.scrollNav .inner::-webkit-scrollbar-thumb:hover {
  background-color:var(--color-lt-blue);
}
.scrollTo {
  color:var(--color-white);
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.05em;
  white-space:nowrap;
  cursor:pointer;
}
.scrollTo + .scrollTo { margin-left:15px; }
.scrollTo:hover { color:var(--color-lt-blue); }


/*	Template Panels
============================================================================================== */
.content-wrapper {
  position:relative;
  margin:-1px auto;
  padding:1px 0;
  background:transparent;
  z-index:1;
}
.banner-buckets + .content-wrapper { padding-top:150px; }
.panel {
  position:relative;
}
.panel .bg {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  z-index:0;
}

/* Panel Backgrounds */
.panel				{ background:var(--color-gray-98); }
.panel.bg-navy		{ background:var(--color-navy); }
.panel.bg-white		{ background:var(--color-white); }
.panel.bg-black		{ background:var(--color-gray-10); }
.panel.bg-gray		{ background:var(--color-gray-98); }

.panel_content_plain.bg-img .bg,
.panel_accordion.bg-img .bg,
.panel_tabs.bg-img .bg	{ opacity:0.2; }


/* Panel Color Modes */
.panel .content,
.panel .content h1, .panel .content .h1,
.panel .content h3, .panel .content .h3,
.panel .content h5, .panel .content .h5,
.panel .content h6, .panel .content .h6 { color:var(--color-gray-10); }
.panel .content h4, .panel .content .h4 { color:var(--color-gray-30); }
.panel .content h2, .panel .content .h2,
.panel .media + h2 { color:var(--color-blue); }
.panel.dark .content,
.panel.dark h2, .panel.dark .h2, .panel.dark .media + h2,
.panel.dark .content h3, .panel.dark .content .h3,
.panel.dark .content h4, .panel.dark .content .h4,
.panel.dark .content h5, .panel.dark .content .h5,
.panel.dark .content h6, .panel.dark .content .h6 { color:var(--color-gray-98); }

/* Panel Text Alignment */
.panel.content-left .content h1, .panel.content-left .content .h1,
.panel.content-left .content h2, .panel.content-left .content .h2 { text-align:left; }
.panel_content_plain.content-right .content h1, .panel_content_plain.content-right .content .h1,
.panel_content_plain.content-right .content h2, .panel_content_plain.content-right .content .h2 { text-align:right; }
.panel_content_plain.content-right ul, .panel.content-right ol { display:inline-block; text-align:left; }

.panel.withOverlap .content { padding-bottom:5.5em; }
.panel h1,
.panel .h1,
.panel h2:not(.h3),
.panel .h2 { text-align:center; }
.panel .ctas { text-align:center; }
.panel_media_floated .content .ctas,
.panel_map .content .ctas,
.panel_before_after .content .ctas { text-align:left; }
.panel_locations_all h2 { text-align:left !important; }
.panel_map .content,
.panel_media_floated .content,
.panel_before_after .content,
.panel_form .content { max-width:50%; margin-left:0 !important; }
.panel_map.content-right .content,
.panel_media_featured.content-right .content,
.panel_media_floated.content-right .content,
.panel_before_after.content-right .content,
.panel_form .form-wrap { 
  max-width:50%; 
  margin-left:auto !important; 
  margin-right:0 !important; 
}
.panel_map .content h2, .panel_map .content .h2,
.panel_media_featured .content h2, .panel_media_featured .content .h2,
.panel_media_floated  .content h2, .panel_media_floated  .content .h2,
.panel_before_after .content h2, .panel_before_after .content .h2,
.panel_form .content h2, .panel_form .content .h2,
.panel_locations_all h2, .panel_locations_all .h2 { text-align:left; }

.panel .h2:first-child,
.panel h2:first-child:not(.h3),
.panel_media_featured .media + h2 {
  text-wrap:balance;
  margin-bottom:40px;
  padding-bottom:15px;
}
.panel_media_featured .media + h2,
.panel_buckets.home .heading:first-child { 
  max-width:800px;
  margin-top:-48px !important; 
  margin-bottom:0; 
}
.panel_content_plain h2:first-child:not(.h3) { margin-top:-60px; }
.panel_content_plain .content .ctas:last-child,
.panel_media_featured .content .ctas:last-child,
.form .ctas { margin-bottom:-65px; }
.panel_media_floated .h2:first-child,
.panel_media_floated h2:first-child,
.panel_form h2:first-child,
.panel_map h2:first-child,
.panel_before_after h2:first-child,
.panel_locations_all h2:first-child {
  margin-bottom:0.6em !important;
  padding-top:25px;
  padding-bottom:0;
}
.panel .h2:first-child:before,
.panel h2:first-child:not(.h3):before,
.panel .media + h2:before {
  content:"";
  background:linear-gradient(to right, var(--color-md-blue) 0%,var(--color-lt-blue) 100%);
  border-radius:3px;
  height:5px;
  width:170px;
  display:block;
  position:absolute;
  bottom:1px;
  left:50%;
  transform:translateX(-50%);
}
.panel_media_floated .h2:first-child:before,
.panel_media_floated h2:first-child:before,
.panel_form h2:first-child:before,
.panel_map h2:first-child:before,
.panel_before_after h2:first-child:before,
.panel_locations_all h2:first-child:before {
  bottom:auto;
  top:0;
  left:0 !important;
  transform:none !important;
}
.panel_buckets.home .heading:before { content:none; }

.panel_media_featured .media {
  border-radius:var(--radius-default);
  aspect-ratio:16 / 8;
  overflow:hidden;
  position:relative;
  z-index:0;
}
.panel_buckets .media {
  height:220px;
  overflow:hidden;
  position:relative;
}
.panel_media_featured .media img,
.panel_content_columns .media img,
.panel_gallery .media img,
.panel_buckets .media img,
.panel_rel_articles .media img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.tpl_7 .panel_media_featured .media img {
  height:120%;
}
.panel .media.jbmodal .fa-play {
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:var(--units-5);
  height:var(--units-5);
  line-height:var(--units-5);
  text-align:center;
  border:2px solid var(--color-white);
  background:rgba(255,255,255,0.25);
  border-radius:var(--units-5);
  color:var(--color-white);
  font-size:2.5em;
  text-indent:0.15em;
  backdrop-filter:blur(calc(var(--units-1) * 0.25));
}
.panel .media.jbmodal:hover .fa-play,
.panel .media.jbmodal .fa-play:hover {
  color:var(--color-aqua);
  border:2px solid var(--color-aqua);
  background:rgba(255,255,255,1);
}
.banner .columns,
.panel .columns {
  display:grid;
  column-gap:var(--units-2);
  row-gap:var(--units-3);
  margin:0 auto 0;
}
.columns.count-2 { grid-template-columns:repeat(2, 1fr); }
.columns.count-3 { grid-template-columns:repeat(3, 1fr); }
.columns.count-4 { grid-template-columns:repeat(4, 1fr); }
.panel .columns h2,
.panel .columns .h2,
.panel .columns h3,
.panel .columns .subheading,
.panel .columns .ctas {
  width:auto;
  text-align:left;
}
.panel_content_columns .item,
.panel_buckets .item,
.panel_rel_articles .item,
.simplesearch-results-list .item  {
  border-radius:var(--radius-default) var(--radius-default) 0 0;
  padding-bottom:100px;
  overflow:hidden;
  position:relative;
}
.simplesearch-results-list .item {
  padding-bottom:70px;
}
.panel_buckets.home .item {
  height:180px;
}
.panel_content_columns .item:before,
.panel_buckets .item:before,
.panel_rel_articles .item:before,
.simplesearch-results-list .item:before,
.panel_buckets.home .item .mask {
  content:"";
  --r:20px; /* the radius */
  --s:40px; /* size of inner curve */
  --x:20px; /* horizontal offset (no percentage) */
  --y:20px; /* vertical offset (no percentage) */
  width:100%;
  height:100%;
  background:var(--color-gray-98);
  border-radius:var(--r);
  --_m:/calc(2*var(--r)) calc(2*var(--r)) radial-gradient(#000 70%,#0000 72%);
  --_g:conic-gradient(from 180deg at var(--r) calc(100% - var(--r)),#0000 25%,#000 0);
  --_d:(var(--s) + var(--r));
  mask:
    calc(var(--_d) + var(--x)) 100% var(--_m),
    0 calc(100% - var(--_d) - var(--y)) var(--_m),
    radial-gradient(var(--s) at 0 100%,#0000 99%,#000 calc(100% + 1px)) 
     calc(var(--r) + var(--x)) calc(-1*var(--r) - var(--y)),
    var(--_g) calc(var(--_d) + var(--x)) 0,
    var(--_g) 0 calc(-1*var(--_d) - var(--y));
  mask-repeat:no-repeat;
  position:absolute;
  bottom:0;
  left:0;
  z-index:-1;
}
.panel_buckets.home .item:before { content:none; }
.panel_buckets.home .item .mask {
  -webkit-background-size:cover !important;
  -moz-background-size:cover !important;
  -o-background-size:cover !important;
  background-size:cover !important;  
}
.panel_buckets.home .item .mask:before {
  content:"";
  background:linear-gradient(to bottom,  rgba(16,47,83,0) 50%,rgba(16,47,83,1) 100%);
  height:80%;
  width:100%;
  position:absolute;
  bottom:0;
  left:0;
  -webkit-transition:all 0.165s ease;
  -moz-transition:all 0.165s ease;
  -ms-transition:all 0.165s ease;
  -o-transition:all 0.165s ease;
  transition:all 0.165s ease;
}
.panel_buckets.home .item:hover .mask:before {
  height:100%;
  background:linear-gradient(to bottom,  rgba(16,47,83,0) 50%,rgba(14,41,71,1) 100%);
}
.panel_content_columns .columns .content,
.panel_buckets .columns .content,
.panel_rel_articles .bucket .content,
.simplesearch-results-list .bucket .content { 
  background:var(--color-gray-98);
  margin-top:0; 
  padding:30px 30px 10px;
}
.panel_rel_articles .bucket .content { padding-right:60px; }
.simplesearch-results-list .bucket .content { 
  background:none;
  padding-right:30px;
  padding-bottom:40px; 
}
.panel_content_columns .columns h3,
.panel_buckets .columns h3,
.panel_rel_articles .columns h3,
.panel_rel_articles .columns .h3 {
  color:var(--color-gray-10);
  line-height:1.2;
  margin-bottom:1em;
}
.panel_rel_articles .columns .h3 { color:inherit; }
.panel_content_columns .cta-row,
.panel_buckets .cta-row,
.panel_rel_articles .cta-row,
.simplesearch-results-list .cta-row {
  width:100%;
  position:absolute;
  bottom:0;
  left:0;
}
.panel_content_columns .cta-row .icon,
.panel_content_columns .cta-row .ctas,
.panel_buckets .cta-row .icon,
.panel_buckets .cta-row .ctas,
.panel_rel_articles .cta-row .icon,
.panel_rel_articles .cta-row .ctas,
.simplesearch-results-list .cta-row .icon,
.simplesearch-results-list .cta-row .ctas {
  vertical-align:middle;
  display:inline-block;
}
.panel_content_columns .cta-row .icon,
.panel_buckets .cta-row .icon,
.panel_rel_articles .cta-row .icon,
.simplesearch-results-list .cta-row .icon {
  color:var(--color-white);
  font-size:0;
  font-weight:normal;
  text-align:center;
  background:var(--color-gray-98);
  border-radius:100%;
  line-height:58px;
  height:60px;
  width:60px;
}
.panel_icon_tiles .item .icon {
  color:var(--color-white);
  font-size:32px;
  font-weight:normal;
  text-align:center;
  background:var(--color-lt-blue);
  border-radius:100%;
  line-height:74px;
  height:80px;
  width:80px;
  margin:0 auto;
}
.panel_icon_tiles .item.fauxlink:hover .icon {
  background:var(--color-md-blue);
}
.panel_icon_tiles .item.fauxlink a {
  color:var(--color-md-blue);
  display:none;
}
.panel_content_columns .cta-row.numbered .icon {
  font-size:28px;
  background:var(--color-gray-50) !important;
  line-height:62px;
}
.panel_content_columns .cta-row.fauxlink .icon,
.panel_buckets .cta-row .icon,
.panel_rel_articles .cta-row .icon,
.simplesearch-results-list .cta-row .icon {
  font-size:28px;
  background:var(--color-lt-blue);
}
.panel_content_columns .cta-row.fauxlink:hover .icon,
.panel_buckets .item:hover .cta-row .icon,
.panel_rel_articles .item:hover .cta-row .icon,
.simplesearch-results-list .item:hover .cta-row .icon {
  background:var(--color-navy);
}
.icon i { 
  font-weight:600;
  vertical-align:middle; 
}
.panel_content_columns .cta-row.fauxlink:hover a,
.panel_buckets .item:hover .cta-row a {
  color:var(--color-navy);
}
.panel_content_columns .number { 
  display:inline-block; 
  position:relative; 
  left:2px;
}
.panel_content_columns .cta-row .ctas,
.panel_buckets .cta-row .ctas,
.panel_rel_articles .cta-row .ctas,
.simplesearch-results-list .cta-row .ctas { margin-left:40px; }

.panel_icon_tiles .columns .content {
  text-align:center;
  margin-top:var(--units-1);
}
.panel_icon_tiles .columns h3,
.panel_icon_tiles .columns .ctas {
  text-align:center;
}
.panel_icon_tiles .columns h3 { text-wrap:balance; }

.panel_callout .content {
  color:var(--color-white);
  font-family:var(--typeface-display);
  font-size:var(--font-size-1);
  line-height:1.6;
  background:var(--color-navy);
  border-radius:var(--radius-default);
  padding:40px 40px 50px;
  display:grid;
  gap:40px;
  align-items:center;
  grid-template-columns:auto 25%;
  position:relative;
  overflow:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.panel_callout.no-heading .content {
  padding:60px 40px;
}
.panel_callout .left,
.panel_callout .ctas { position:relative; z-index:2; }
.panel_callout .content h2:first-child {
  color:var(--color-lt-blue);
  font-size:var(--font-size-1); 
  font-family:var(--typeface-default);
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:0.15em;
  text-align:left;
  margin:0 0 1.618em;
  padding:0;
}
.panel_callout .content h2:first-child:before,
.panel_callout .content h2 span {
  vertical-align:middle;
  display:inline-block;
}
.panel_callout .content h2:first-child:before {
  margin-right:40px;
  position:relative;
  top:auto;
  left:auto;
  transform:none;
}
.panel_callout .ctas { 
  font-size:var(--font-size-1); 
  line-height:1.4;
}
.panel_callout .content .ctas a {
  color:var(--color-white);
  background:var(--color-lt-blue);
  margin:0;
}
.panel_callout .content .ctas a:hover {
  color:var(--color-lt-blue);
  background:var(--color-white);
}

.panel_rel_articles .cta-row .ctas,
.simplesearch-results-list .cta-row .ctas {
  color:var(--color-gray-50);
  font-size:0.9em;
  font-style:italic;
  font-weight:normal;
  text-transform:none;
  letter-spacing:normal;
  text-align:left;
  border-top:1px solid rgba(0, 0, 0, 0.15);
  max-width:60%;
  padding:15px 30px 15px 0;
}
.simplesearch-results-list .cta-row .ctas {
  color:var(--color-lt-blue);
  border-top:0;
  margin-bottom:0 !important;
}

/* Related Articles pre-mobile customization */
@media only screen and (min-width:768px){
  .panel_rel_articles .media {
    height:100%;
    width:300px;
    position:absolute;
    top:0;
    left:0;
    z-index:1;
  }
  .panel_rel_articles .item,
  .simplesearch-results-list .item {
    border-radius:var(--radius-default) var(--radius-default) 0 var(--radius-default);
    padding-left:300px; /* width of the image */
    position:relative;
  }
  .simplesearch-results-list .item { padding-left:0; }
  .panel_rel_articles .item:before,
  .simplesearch-results-list .item:before {
    content:"";
    --r:20px; /* the radius */
    --s:40px; /* size of inner curve */
    --x:20px; /* horizontal offset (no percentage) */
    --y:20px; /* vertical offset (no percentage) */
    width:100%;
    height:100%;
    background:var(--color-gray-98);
    border-radius:var(--r);
    --_m:/calc(2*var(--r)) calc(2*var(--r)) radial-gradient(#000 70%,#0000 72%);
    --_g:conic-gradient(from 90deg at calc(100% - var(--r)) calc(100% - var(--r)),#0000 25%,#000 0);
    --_d:(var(--s) + var(--r));
    mask:
      calc(100% - var(--_d) - var(--x)) 100% var(--_m),
      100% calc(100% - var(--_d) - var(--y)) var(--_m),
      radial-gradient(var(--s) at 100% 100%,#0000 99%,#000 calc(100% + 1px)) 
       calc(-1*var(--r) - var(--x)) calc(-1*var(--r) - var(--y)),
      var(--_g) calc(-1*var(--_d) - var(--x)) 0,
      var(--_g) 0 calc(-1*var(--_d) - var(--y));
    mask-repeat:no-repeat;
    position:absolute;
    bottom:0;
    left:0;
    z-index:-1;
  }
  .panel_rel_articles .cta-row,
  .simplesearch-results-list .cta-row {
    height:60px;
    width:calc(100% - 300px);
    padding-right:100px;
    padding-left:30px;
    left:auto;
    right:0;
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    box-sizing:border-box;
  }
  .simplesearch-results-list .cta-row { width:100%; }
  .panel_rel_articles .cta-row .icon,
  .simplesearch-results-list .cta-row .icon {
    position:absolute;
    bottom:0;
    right:0;
  }
  .panel_rel_articles .cta-row .ctas,
  .simplesearch-results-list .cta-row .ctas {
    line-height:1.2;
    max-width:none;
    margin-left:0;
    padding:15px 0 0 0;
  }
  
  .simplesearch-results-list .bucket .content { 
    padding-right:120px;
    padding-bottom:0; 
  }
  
}


/*	Element Blocks
============================================================================================== */
.video169 {
  width:100%;
  max-width:100%;
  height:0;
  padding-bottom:56.25%;
  position:relative;
}
.video169 iframe {
  border:none;
  outline:none;
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}
.panel .content p,
.panel .content ul,
.panel .content ol {
  margin:0 auto 1em;
}
.panel .content p:last-child,
.panel .content ul:last-child,
.panel .content ol:last-child {
  margin-bottom:0;
}
.panel .content ul,
.panel .content ol {
  padding-left:1.15em;
}
a,
.panel .content a,
.panel .link,
.banner .link {
  color:var(--color-lt-blue);
}
a:hover,
.panel .content a:hover,
.panel .link:hover,
.banner .link:hover {
  color:var(--color-navy);
}
.panel.dark .content a:hover,
.panel.dark .link:hover {
  color:#2e7092;
}
.panel .content .ctas + .ctas .btn { margin-top:0; }

.panel .content,
.panel_rel_articles .buckets {
  width:800px;
  max-width:100%;
  margin:0 auto;
}
.panel_content_columns .columns .content,
.panel_icon_tiles .columns .content,
.panel_callout .content,
.panel_buckets .columns .content,
.panel_rel_articles .bucket .content,
.panel_form .content,
.simplesearch-results-list .content { width:auto; }

.panel .content,
.panel .repeater {
  margin:var(--units-3) auto 0;
  position:relative;
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
}
.panel .centre > .content:first-child,
.panel .fauxTable > .content:first-child,
.panel .content_pre { margin-top:0; }
.panel .fauxTable > .content:first-child {
  margin-bottom:var(--units-3);
}
.panel_content_plain .content { padding:60px 40px; }
.page-query .panel_content_plain .centre > .content { padding:0; }
.panel_testimonials .content { padding:10px 40px; }
.panel_media_featured .content { 
  margin-top:0;
  padding:50px 40px 60px; 
}
.panel_content_plain .content:before,
.panel_media_featured .content:before,
.panel_testimonials .content:before {
  content:"";
  border:1px solid rgba(0,0,0,0.25);
  border-radius:40px;
  height:100%;
  height:calc(100% - 40px);
  width:100%;
  display:block;
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  z-index:-1;
}
.page-query .panel_content_plain .content:before { content:none; }
.panel_media_featured .content:before { 
  border-top:0; 
  border-top-left-radius:0;
  border-top-right-radius:0;
}
.panel_content_plain.dark .content:before,
.panel_media_featured.dark .content:before {
  border-color:rgba(255,255,255,0.2);
}
.panel_content_plain h2 span,
.panel_content_plain .ctas span,
.panel_media_featured .ctas span,
.panel_testimonials h2 span,
.form .submit-wrap { 
  padding:0 20px;
  display:inline-block; 
}
.panel_media_featured h2 span,
.panel_buckets.home .heading span {
  background:var(--color-white);
  border-radius:var(--radius-default);
  padding:25px 60px 5px;
  display:inline-block;
  position:relative;
}
.panel_content_plain.bg-default h2 span,
.panel_content_plain.bg-default .ctas span,
.panel_media_featured.bg-default h2 span,
.panel_media_featured.bg-default .ctas span,
.panel_testimonials.bg-default h2 span {
  background:var(--color-gray-98);
}
.panel_content_plain.bg-gray h2 span,
.panel_content_plain.bg-gray .ctas span,
.panel_media_featured.bg-gray h2 span,
.panel_media_featured.bg-gray .ctas span,
.panel_media_featured.bg-gray h2 span:before,
.panel_media_featured.bg-gray h2 span:after,
.panel_testimonials.bg-gray h2 span {
  background:var(--color-gray-98);
}
.panel_content_plain.bg-white h2 span,
.panel_content_plain.bg-white .ctas span,
.panel_media_featured.bg-white h2 span,
.panel_media_featured.bg-white .ctas span,
.panel_media_featured.bg-white h2 span:before,
.panel_media_featured.bg-white h2 span:after,
.panel_testimonials.bg-white h2 span,
.form .submit-wrap {
  background:var(--color-white);
}
.panel_content_plain.bg-navy h2 span,
.panel_content_plain.bg-navy .ctas span,
.panel_media_featured.bg-navy h2 span,
.panel_media_featured.bg-navy .ctas span,
.panel_media_featured.bg-navy h2 span:before,
.panel_media_featured.bg-navy h2 span:after {
  background:var(--color-navy);
}
.panel_media_featured h2 span:before,
.panel_media_featured h2 span:after,
.panel_buckets.home .heading span:before,
.panel_buckets.home .heading span:after {
  content:"";
  --r:25px;
  --s:25px;
  --x:0px;
  --y:0px;
  width:80px;
  height:50px;
  background:var(--color-gray-98);
  display:block;
  position:absolute;
  top:0;
}
.panel_buckets.home .heading span:before,
.panel_buckets.home .heading span:after { background:var(--color-white); }
.panel_media_featured h2 span:before,
.panel_buckets.home .heading span:before {
  --_m:/calc(2*var(--r)) calc(2*var(--r)) radial-gradient(#000 70%,#0000 72%);
  --_g:conic-gradient(at var(--r) var(--r), #000 75%, #0000 0);
  --_d:(var(--s) + var(--r));
  mask:calc(var(--_d) + var(--x)) 0 var(--_m), 0 calc(var(--_d) + var(--y)) var(--_m), radial-gradient(var(--s) at 0 0, #0000 99%, #000 calc(100% + 1px)) calc(var(--r) + var(--x)) calc(var(--r) + var(--y)), var(--_g) calc(var(--_d) + var(--x)) 0, var(--_g) 0 calc(var(--_d) + var(--y));
  mask-repeat:no-repeat;
  left:-55px;
}
.panel_media_featured h2 span:after,
.panel_buckets.home .heading span:after {
  --_m:/calc(2*var(--r)) calc(2*var(--r)) radial-gradient(#000 70%,#0000 72%);
  --_g:conic-gradient(at calc(100% - var(--r)) var(--r), #0000 25%, #000 0);
  --_d:(var(--s) + var(--r));
  mask:calc(100% - var(--_d) - var(--x)) 0 var(--_m), 100% calc(var(--_d) + var(--y)) var(--_m), radial-gradient(var(--s) at 100% 0, #0000 99%, #000 calc(100% + 1px)) calc(-1 * var(--r) - var(--x)) calc(var(--r) + var(--y)), var(--_g) calc(-1 * var(--_d) - var(--x)) 0, var(--_g) 0 calc(var(--_d) + var(--y));
  mask-repeat:no-repeat;
  right:-55px;
}


.fauxTable { width:100%; display:table; }
.fauxTable > div { display:table-cell; }
.panel_media_floated .fauxTable > div,
.panel_map .fauxTable > div,
.panel_before_after .fauxTable > div,
.panel_form .fauxTable > div { vertical-align:middle; width:50%; }
.panel_form .fauxTable > .content { vertical-align:top; padding-top:60px; }
.panel_map .fauxTable > .content,
.panel_before_after .fauxTable > .content { width:33.33%; }
.panel_map .fauxTable > .media,
.panel_before_after .fauxTable > .media { 
  width:66.66%; 
  height:460px;
  position:relative;
}
.panel_media_floated.content-default .content, 
.panel_media_floated.content-left .content,
.panel_map.content-default .content, 
.panel_map.content-left .content,
.panel_before_after.content-default .content, 
.panel_before_after.content-left .content,
.panel_form .form-wrap { padding-right:var(--units-3); }
.panel_media_floated.content-default .media, 
.panel_media_floated.content-left .media,
.panel_map.content-default .media,
.panel_before_after.content-default .media,
.panel_form .content { padding-left:var(--units-3); }
.panel_media_floated.content-right .content,
.panel_map.content-right .content,
.panel_before_after.content-right .content { padding-left:var(--units-3); }
.panel_media_floated.content-right .media { padding-right:var(--units-3); }
.panel_media_floated .media img { border-radius:var(--radius-default); }
.mapwrap {
  border:1px solid var(--color-gray-90);
  border-radius:var(--radius-default);
  height:100%;
  width:100%;
  overflow:hidden;
}
.bg-gray .mapwrap { border:2px solid #fff; }
.mapwrap iframe { width:100%; height:100%; }
.panel_map .content a {
  font-family:var(--typeface-display);
  font-weight:500;
}

/* Before/After Slider */
.panel_before_after .media {
  border-radius:var(--radius-default);
  overflow:hidden;
}
.twentytwenty-handle { 
  border:none; 
  box-shadow:none;
  height:40px;
  width:40px;
}
.twentytwenty-overlay:hover { background:none; }
.twentytwenty-handle:before,
.twentytwenty-handle:after {
  background:var(--color-black) !important;
  box-shadow:none !important; 
}
.twentytwenty-handle:before { margin-bottom:0 !important; }
.twentytwenty-handle:after { margin-top:0 !important; }
.twentytwenty-left-arrow { border-right:6px solid var(--color-black); }
.twentytwenty-right-arrow { border-left:6px solid var(--color-black); }
.twentytwenty-before-label:before, 
.twentytwenty-after-label:before {
  background:rgba(0,0,0,0.5);
}

.accordion {
  margin:0 auto 3em;
}
.panel .filters,
.panel .paging {
  color:var(--color-gray-50);
  margin:0 auto 2em;
}
.panel .paging {
  margin:1.5em auto 0;
}
.panel.dark .filters {
  color:var(--color-gray-70);
}
.panel .filters span,
.panel .filters a,
.panel .paging span,
.panel .paging a {
  text-transform:uppercase;
}
.panel .filters .label,
.panel .paging .label {
  margin:0 1em 0 0;
  font-size:var(--font-size-neg-1);
  color:inherit;
  letter-spacing:0.02em;
}
.panel .filters .filter,
.panel .paging a {
  display:inline-block;
  padding:0 1.5em;
  font-size:var(--font-size-neg-1);
  letter-spacing:0.05em;
  color:inherit;
  border-right:1px solid var(--color-gray-70);
  cursor:pointer;
}
.panel .filters .filter:last-child,
.panel .paging a:last-child {
  border-right:0;
}
.panel .filters .filter:hover,
.panel .paging a:hover {
  color:var(--color-accent);
}
.panel .filters .filter.active,
.panel .paging a.active {
  color:var(--color-secondary);
}
.panel.dark .filters .filter.active {
  color:var(--color-secondary);
}
.accordion .item {
  background:var(--color-white);
  border:1px solid var(--color-gray-90);
  border-radius:20px;
  box-shadow:0 0 10px rgba(0,0,0,0.1);
  margin:0 0 1em;
  position:relative;
  overflow:hidden;
  -webkit-transition:border 0.165s ease;
  -moz-transition:border 0.165s ease;
  -ms-transition:border 0.165s ease;
  -o-transition:border 0.165s ease;
  transition:border 0.165s ease;
}
.accordion .item:last-child { margin-bottom:0; }
.accordion .heading {
  position:relative;
  margin:0;
  padding:0.65em 1em 0.5em 60px;
  cursor:pointer;
}
.accordion .item:has(.heading:hover) {
  border:1px solid var(--color-secondary);
  -webkit-transition:border 0.165s ease;
  -moz-transition:border 0.165s ease;
  -ms-transition:border 0.165s ease;
  -o-transition:border 0.165s ease;
  transition:border 0.165s ease;
}
.accordion .item .heading:after {
  -moz-osx-font-smoothing:grayscale;
  -webkit-font-smoothing:antialiased;
  display:inline-block;
  font-style:normal;
  font-variant:normal;
  text-rendering:auto;
  font-family:"Font Awesome 7 Pro";
  font-weight:900;
  content:"\2b";
  display:block;
  width:55px;
  height:34px;
  line-height:34px;
  text-align:center;
  position:absolute;
  top:9px;
  left:0px;
  color:var(--color-blue);
  font-size:23px;
}
.accordion .item.active .heading:after {
  content:"\f068";
}
.accordion .item .heading:hover:after {
  color:var(--color-secondary);
}
.accordion .heading .headline {
  display:block;
  margin:0;
  font-size:var(--font-size-2);
  font-weight:600;
  line-height:1.4;
  vertical-align:middle;
}
.accordion .content {
  display:none;
  width:auto;
  margin:0;
  padding:1em 3em 1.5em 60px;
}
.accordion .content p,
.accordion .content .description {
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
  font-size:16px;
  line-height:1.6em;
  margin:0 auto 1em;
}
.accordion .content .ctas,
.tabContent .ctas,
.columns .ctas { 
  font-size:0.9em;
  font-weight:600;
  text-align:left; 
  text-transform:uppercase;
  letter-spacing:0.15em;
}
.panel_buckets.home .ctas {
  font-family:var(--typeface-display);
  font-size:1em;
  text-transform:none;
  letter-spacing:0.05em;
}
.panel_buckets.home .ctas a { color:var(--color-white); }
.panel_buckets.home .item:hover .ctas a { color:var(--color-lt-blue); }
.accordion .content .ctas a:after,
.tabContent .ctas a:after,
.panel_icon_tiles .columns .ctas a:after {
  content:"\00bb";
  margin-left:5px;
  display:inline-block;
  position:relative;
  top:-1px;
}
.accordion .heading .headline,
.accordion .content p,
.accordion .content .description,
.accordion .content > * { color:#333; }
.tabs { margin:0 auto 3em; }
.tabs .triggers {
  float:left;
  width:25%;
  position:relative;
  margin:var(--units-2) 0 0 0;
}
.tabs .triggers .trigger {
  font-weight:600;
  background:var(--color-white);
  border:1px solid var(--color-gray-90);
  border-right:1px solid transparent;
  border-radius:20px 0 0 20px;
  box-shadow:0 0 10px rgba(0,0,0,0.1);
  margin:0 -1px var(--units-1) 0;
  padding:0.75em 1em 0.75em 1.25em;
  display:block;
  cursor:pointer;
}
.tabs .triggers .trigger:hover {
  background:var(--color-white);
  border-color:var(--color-secondary);
}
.tabs .triggers .trigger.active {
  color:var(--color-white) !important;
  background:var(--color-lt-blue);
  border-color:var(--color-lt-blue);
  border-right:1px solid var(--color-white);
}
.tabs .mobileTriggers select {
  color:var(--color-white);
  background:var(--color-lt-blue);
  border:1px solid var(--color-lt-blue);
  border-radius:8px;
  font-family:var(--typeface-default);
  font-size:var(--font-size-1);
  line-height:1.618em;
  min-width:250px;
  padding:0.25em 0.5em;
  display:inline-block;
  outline:none;
}
.tabs .tabContent {
  border:1px solid var(--color-gray-90);
  background:var(--color-white);
  border-radius:20px;
  box-shadow:0 0 10px rgba(0,0,0,0.1);
  margin:0 auto 0 25%;
  position:relative;
  z-index:1;
}
.tabs .tabContent .item {
  display:none;
  padding:2em 2.5em;
}
.tabs .tabContent .item:first-child { display:block; }
.tabs .tabContent .item p + p { margin-top:1em; }

/* Testimonials */
.panel_testimonials { text-align:center; }
.panel_testimonials h2:first-child,
.panel_buckets.home .heading:first-child {
  color:var(--color-gray-50);
  font-size:var(--font-size-2);
  font-family:var(--typeface-default);
  font-weight:300;
  text-transform:uppercase;
  letter-spacing:0.15em;
  text-align:center;
  margin:0 auto;
  padding:0;
}
.panel_testimonials h2:first-child:before,
.panel_buckets.home .heading:first-child:before { content:none; }

.testimonials { position:relative; }
.testimonials:before {
  content:"";
  content:"\f10d";
  font-family:"Font Awesome 7 Pro";
  font-size:32px;
  font-weight:600;
  font-style:normal;
  font-variant:normal;
  color:var(--color-lt-blue);
  line-height:1;
  text-rendering:auto;
  display:inline-block;
  -moz-osx-font-smoothing:grayscale;
  -webkit-font-smoothing:antialiased;
  display:block;
  position:absolute;
  top:15px;
  left:50%;
  transform:translateX(-50%);
}
.testimonials .slick-list {
  padding:55px 0 25px;
}

.testimonials .quote {
  font-family:var(--typeface-display);
  font-size:21px;
  font-weight:200;
  line-height:2;
  -moz-osx-font-smoothing:grayscale;
  -webkit-font-smoothing:antialiased;
}
.testimonials .source {
  font-family:var(--typeface-display);
  font-size:1em;
  font-weight:bold;
  text-transform:uppercase;
  margin:25px auto 0 !important;
}
.testimonials .slick-dots {
  background:var(--color-gray-98);
  padding:0 20px;
}

.slick-track { 
  align-items:center;
  display:flex !important; 
}
.slick-track .slick-slide {
  height:auto;
  align-items:center;
  justify-content:center;
  display:flex;
  flex-wrap:wrap;
}
.slick-dots,
.slick-dots li,
.slick-dots button {
  list-style:none;
  text-align:center;
  vertical-align:middle;
  display:inline-block;
}
.slick-dots li {
  padding:0 5px;
}
.slick-dots button {
  font-size:0;
  background:var(--color-white);
  border:1px solid var(--color-gray-70);
  border-radius:100%;
  line-height:18px;
  height:18px;
  width:18px;
  padding:0;
  outline:none;
  cursor:pointer;
  -webkit-transition:all 0.165s ease;
  -moz-transition:all 0.165s ease;
  -ms-transition:all 0.165s ease;
  -o-transition:all 0.165s ease;
  transition:all 0.165s ease;
}
.slick-dots .slick-active button {
  background:var(--color-blue);
}
.slick-dots button:hover {
  background:var(--color-navy);
}
.slick-arrow {
  color:var(--color-white);
  font-size:0;
  background:var(--color-lt-blue);
  border:none;
  border-radius:100%;
  line-height:48px;
  height:50px;
  width:50px;
  padding:0;
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  outline:none;
  cursor:pointer;
  -webkit-transition:all 0.165s ease;
  -moz-transition:all 0.165s ease;
  -ms-transition:all 0.165s ease;
  -o-transition:all 0.165s ease;
  transition:all 0.165s ease;
}
.slick-arrow:hover { background:var(--color-navy); }
.bg-navy .slick-arrow:hover { 
  color:var(--color-lt-blue);
  background:var(--color-white); 
}
.slick-prev { left:-60px; }
.slick-next { right:-60px; }

.slick-arrow:before {
 content:"";
 font-family:"Font Awesome 7 Pro";
 font-size:28px;
 font-weight:400;
 font-style:normal;
 font-variant:normal;
 line-height:1;
 text-rendering:auto;
 -moz-osx-font-smoothing:grayscale;
 -webkit-font-smoothing:antialiased;
 vertical-align:middle;
 display:inline-block;
}
.slick-prev:before { content:"\f053"; }
.slick-next:before { content:"\f054"; }

/* Gallery */
.gallery { margin:var(--units-4) auto 0; }
.gallery .item { padding:0 10px; }
.gallery .item .inner,
.gallery .media {
  border-radius:var(--radius-default);
  overflow:hidden;
  position:relative;
}
.gallery .caption {
  font-size:0.9em;
  background:var(--color-gray-98);
  background:rgba(242,242,242,0.95);
  width:100%;
  padding:25px;
  position:absolute;
  bottom:0;
  left:0;
  -moz-box-sizing:border-box;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
}
@media only screen and (max-width:1299px){
  .gallery { padding:0 60px; }
  .slick-prev { left:0; }
  .slick-next { right:0; }
    .footer .links, 
    .footer .credits {
    	text-align: center;
    	float: none;
    }
    .footer .links {
    	margin-bottom: 10px;
    }  
}

/* Blog */
.tpl_5 .panel_content_plain .centre { padding-bottom:0; }
.articles_list .item,
.simplesearch-results-list .item {
  margin:0 0 var(--units-3);
}

/* Locations */
.panel_locations_lookup .centre {
  background:none center center no-repeat;
}
.panel_locations_lookup .content { text-align:center; }
.panel_locations_lookup .content p {
  width:500px;
  max-width:100%;
  margin:0 auto;
}
#lookup {
  margin:30px auto 50px;
}
#lookup .zip_lookup { 
  font-style:italic;
  background:#fff; 
  -webkit-appearance:none;
  -moz-appearance:textfield;
  appearance:none;
}
#lookup input::-webkit-outer-spin-button,
#lookup input::-webkit-inner-spin-button {
  -webkit-appearance:none;
  margin:0;
}
.success .zip,
.success .city { font-weight:bold; }
.success .serving span { position:relative; }
.success .serving span:after {
  content:",";
  display:inline-block;
}
.success .serving span:last-child:after { content:none; }

.panel_locations_lookup .buttons {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
  width:640px;
  max-width:100%;
  margin:30px auto 0; 
}
.buttons .link,
.locations .link {
  text-align:left;
  background:var(--color-white);
  border-radius:var(--radius-default);
  border:1px solid var(--color-gray-90);
  line-height:72px;
  height:74px;
  width:300px;
  margin:0 auto;
  padding:0 60px 0 25px;
  display:inline-block;
  vertical-align:middle;
  position:relative;
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
}
.buttons .link.blue {
  color:var(--color-white);
  background:var(--color-blue);
}
.buttons .link.blue:after {
  color:var(--color-blue);
  background:var(--color-white);
}
.locations .link { 
  font-size:var(--font-size-2);
  width:100%; 
}
.buttons .link .inner,
.locations .link .inner { 
  line-height:1.3;
  vertical-align:middle;
  display:inline-block;
}
.buttons .link:after,
.locations .link:after {
  content:"\f054";
  color:var(--color-white);
  font-family:"Font Awesome 7 Pro";
  font-size:12px;
  font-weight:900;
  font-style:normal;
  font-variant:normal;
  text-rendering:auto;
  text-align:center;
  background:var(--color-blue);
  border-radius:100%;
  line-height:24px;
  height:24px;
  width:24px;
  display:block;
  -moz-osx-font-smoothing:grayscale;
  -webkit-font-smoothing:antialiased;
  position:absolute;
  top:50%;
  right:20px;
  transform:translateY(-50%);
}
.buttons .link:hover,
.locations .link:hover {
  color:var(--color-white) !important;
  background:var(--color-lt-blue);
}
.buttons .link:hover:after,
.locations .link:hover:after {
  color:var(--color-lt-blue);
  background:var(--color-white);
}
.cs .city,
.cs .state { 
  display:block; 
  position:relative;
  z-index:1;
}
.cs .state {
  color:var(--color-gray-50);
  font-size:0.75em;
  text-transform:uppercase;
  letter-spacing:0.1em;
  -webkit-transition:all 0.165s ease;
  -moz-transition:all 0.165s ease;
  -ms-transition:all 0.165s ease;
  -o-transition:all 0.165s ease;
  transition:all 0.165s ease;
}
.buttons .cs:hover .state,
.locations .link:hover .state { color:var(--color-white) !important; }
.cs .icon-wrap {
  color:#eff1f7;
  position:absolute;
  width:65px;
  height:55px;
  right:60px;
  top:51%;
  transform:translateY(-50%);  
  overflow:hidden;
  -webkit-transition:all 0.165s ease;
  -moz-transition:all 0.165s ease;
  -ms-transition:all 0.165s ease;
  -o-transition:all 0.165s ease;
  transition:all 0.165s ease;
}
.cs:hover .icon-wrap { color:rgba(0,0,0,0.1); }
.cs .icon-wrap .icon {
  stroke-width:0;
  stroke:currentColor;
  fill:currentColor;
  width:65px;
  height:65px;
  display:block;
  margin:0 auto;
  -webkit-transition:all 0.165s ease;
  -moz-transition:all 0.165s ease;
  -ms-transition:all 0.165s ease;
  -o-transition:all 0.165s ease;
  transition:all 0.165s ease;
}

.panel_locations_all .centre { max-width:1299px; }
.panel_locations_all .content { width:auto; }
.panel_locations_all h2 { padding-right:200px; }
.panel_locations_all .dropdown {
  background:var(--color-gray-98);
  border:1px solid var(--color-gray-70);
  border-radius:30px;
  position:absolute;
  top:20px;
  right:0;
  overflow:hidden;
}
.panel_locations_all .dropdown:hover {
  border-color:var(--color-lt-blue);
  cursor:pointer;
}
.panel_locations_all .dropdown select,
.form .dropdown select {
  font-size:16px;
  line-height:1;
  background:transparent;
  width:170px;
  padding:15px 40px 15px 20px;
  border:none;
  outline:none;
  appearance:none;
  -moz-appearance:none;
  -webkit-appearance:none;  
  position:relative;
  z-index:1;
}
.form .dropdown select { width:100%; }
.panel_locations_all .dropdown:after,
.form .dropdown:after {
  content:"\f078";
  color:var(--color-gray-50);
  font-family:"Font Awesome 7 Pro";
  font-size:12px;
  font-weight:900;
  font-style:normal;
  font-variant:normal;
  text-rendering:auto;
  text-align:center;
  border-radius:100%;
  line-height:24px;
  height:24px;
  width:24px;
  display:block;
  -moz-osx-font-smoothing:grayscale;
  -webkit-font-smoothing:antialiased;
  position:absolute;
  top:50%;
  right:15px;
  transform:translateY(-50%);
  z-index:0;
  -webkit-transition:all 0.165s ease;
  -moz-transition:all 0.165s ease;
  -ms-transition:all 0.165s ease;
  -o-transition:all 0.165s ease;
  transition:all 0.165s ease;
}
.form .dropdown:after {
  color:var(--color-gray-70);
  top:auto;
  bottom:28px;
  right:25px;
  z-index:1;
}
.panel_locations_all .dropdown:hover:after,
.form .dropdown:hover:after { color:var(--color-black); }

.panel_locations_all .locations {
  margin-top:40px;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:20px;
}
@media only screen and (max-width:1299px) {
  .panel_locations_all .locations { grid-template-columns:repeat(3, 1fr); }
}


/*	Forms
============================================================================================== */
.cd-form { position: relative; }
.cd-form:before {
  content:"";
  background: none center center/50px 50px no-repeat;
  height:50px;
  width:50px;
  position:absolute;
  top:25px;
  left:50%;
  transform:translateX(-50%);
  z-index: -1;
}
.form {
  position:relative;
  width:960px;
  max-width:100%;
  margin:var(--units-2) 0 0;
}
.panel_form .form { 
  border:1px solid rgba(0,0,0,0.15);
  border-radius:var(--radius-default);
  width:100%;
  margin:0 auto; 
  padding:2em;
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
}
.form .row,
.cd-form .sd-page__row { 
  margin:0 -1em !important; 
  display:block;
  row-gap:0;
  flex-wrap:inherit;
}
.cd-form .sd-page__row {
  width:auto !important;
}
.form .row .input,
.cd-form .sd-page__row.sd-row--multiple > div {
  display:block;
  position:relative;
  float:left;
  margin:0;
  padding:0 0.75em;
  width:50%;
  -moz-box-sizing:border-box;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
}
.cd-form .sd-page__row > div {
  padding:0 0.75em;
}
.cd-form .sd-page__row.sd-row--multiple > div {
  flex:none !important;
  min-width:0 !important;
  --animation-padding-left:0;
}
.form .row .input.w33 {
  width:33%;
}
.form .row .input.full { width:100%; }
.form .input label,
.cd-form .sd-title.sd-element__title {
  font-size:0.9em;
  font-weight:500;
  position:absolute;
  top:12px;
  left:30px;
  z-index:2;
  -webkit-transition:all 0.165s ease;
  -moz-transition:all 0.165s ease;
  -ms-transition:all 0.165s ease;
  -o-transition:all 0.165s ease;
  transition:all 0.165s ease;
}
.cd-form .sd-title.sd-element__title {
  font-family:var(--typeface-default);
  letter-spacing:0.015em;
  display:inline-block !important;
  position:relative;
  top:0;
  left:0;
}
.form .input label.focus,
.form .input.dropdown label,
.cd-form .sd-question__header {
  color:var(--color-gray-30);
  font-size:0.8em;
  top:-21px;
  left:2em;
  -webkit-transition:all 0.165s ease;
  -moz-transition:all 0.165s ease;
  -ms-transition:all 0.165s ease;
  -o-transition:all 0.165s ease;
  transition:all 0.165s ease;
  font-style:normal;
}
.cd-form .sd-question__header {
  width:auto;
  position:absolute;
  top:-26px;
  left:20px;
}
.form .input label.focus:after,
.form .input.dropdown label:after,
.cd-form .sd-question__header:after {
  content:"\f0d7";
  font-family:"Font Awesome 7 Pro";
  font-weight:900;
  font-size:inherit;
  text-rendering:auto;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  margin-left:0.5em;
  display:inline-block;
}
.cd-form .sd-question__header:after { color:var(--color-gray-90); }
.form .input label.hidden { opacity:0.0; }
.form label.error { display:none !important; }
.cd-form .sd-title.sd-element__title * { display:inline-block !important; }
.form .input label .req,
.cd-form .sd-question__required-text { color:var(--color-lt-blue); }
.form .input input[type=text],
.form .input input[type=email],
.form .input input[type=number],
.form .input input[type=tel],
.form .input input[type=date],
.form .input input[type=password],
.form .input select,
.form .input textarea,
.cd-form .sd-input,
.cd-form .sd-input[type=time], 
.cd-form .sd-input[type=date], 
.cd-form .sd-input[type=datetime-local], 
.cd-form .sd-input[type=week], 
.cd-form .sd-input[type=month], 
.cd-form .sd-input[type=tel], 
.cd-form .sd-input[type=password], 
.cd-form .sd-input[type=url], 
.cd-form .sd-input[type=email], 
.cd-form .sd-input[type=color], 
.cd-form .sd-input[type=range] {
  display:block;
  height:2.75em;
  width:100% !important;
  margin:0 0 30px;
  padding:0.75em 1em;
  outline:none;
  background:var(--color-gray-98);
  border:1px solid transparent;
  border-radius:var(--radius-default);
  font-family:inherit;
  font-size:1em;
  --sjs-internal-font-editorfont-size:1em;
  line-height:1.2em;
  -moz-box-sizing:border-box;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
  position:relative;
}
.cd-form .sd-input:focus { box-shadow:none; }
.form .input input[type=text].error,
.form .input input[type=email].error,
.form .input input[type=number].error,
.form .input input[type=tel].error,
.form .input input[type=date].error,
.form .input input[type=password].error,
.form .input select.error,
.form .input textarea.error {
  background:#FFB5B5 !important;
  border:1px solid #900 !important;
}
.form .input select {}
.form .input textarea,
.cd-form textarea {
  min-width:100%;
  width:100%;
  max-width:100%;
  min-height:100px;
  height:100px;
  max-height:200px;
  resize:vertical;
}
.form .input .radCheck {}
.form .input .radCheck:last-child {}
.form .input label + .radCheck {}
.form .input input[type=radio],
.form .input input[type=checkbox] {}
.form .btn { margin-top:0; }
.form p.error {
  color:#900;
  background:#FFB5B5 !important;
  border:1px solid #900 !important;
  margin:0 0 1.5em;
  padding:0.75em 1em;
  outline:none;
  border-radius:4px;
  -moz-box-sizing:border-box;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
}
.token { color:transparent !important; }
.form .note { 
  color:var(--color-gray-50);
  font-size:0.8em; 
  margin:0 0 30px;
}
.panel_form .content a { font-weight:600; }

/* ClickDimensions custom styling */
.cd-form .sd-container-modern,
.cd-form .sv-components-column--expandable,
.cd-form .sd-root-modern--mobile .sd-body.sd-body--responsive, 
.cd-form .sd-root-modern--mobile .sd-body.sd-body--static {
  background:#fff;
}
.cd-form .sv-components-column--expandable {
  border:none;
  box-shadow:none;
}
.cd-form .sd-root-modern .sd-container-modern__title { display:none !important; }
.cd-form .sd-body.sd-body--responsive, 
.cd-form .sd-body.sd-body--static {
  border:1px solid rgba(0, 0, 0, 0.15);
  border-radius:var(--radius-default);
  padding:3em 2em 2em !important;
}
.cd-form .sd-page,
.cd-form .sd-page * { 
  font-family:var(--typeface-default);
  min-width:0 !important;
  display:block; 
}
.cd-form .sd-row.sd-page__row:not(.sd-row--compact) ~ .sd-row.sd-page__row:not(.sd-row--compact) {
  margin-top:0;
  --animate-margin:inherit;
}
.cd-form .sd-element--with-frame.sd-question--title-top {
  background:none;
  border:none;
  box-shadow:none;
  padding:0 !important;
  display:block;
}
.cd-form .sd-question__header--location-top { 
  font-size:var(--font-size-1);
  padding:0 !important; 
}
.cd-form .sd-element__title span {
  font-size:inherit;
  font-weight:500;
  line-height:1;
}
.cd-form .sv-popup__container { max-height:300px !important; }
.cd-form .sd-dropdown__value { 
    line-height:1.2; 
    margin:0;
}
.sd-dropdown-action-bar {
    border-radius:100%;
    height:40px;
    width:40px;
    overflow:hidden;
    position:absolute !important;
    top:5px;
    right:0;
    display:none !important; /* hide caret */
}
.cd-form .sd-dropdown__filter-string-input { top:-5px; }
.cd-form .sd-dropdown_chevron-button-svg, 
.cd-form .sd-dropdown_clean-button-svg {
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
}
.cd-form .sd-action-bar { display:block; }
.cd-form #sv-nav-complete { margin-bottom:20px; }

/* Search Results */
.id_7 .panel_content_plain .centre > .content:before { content:none; }

.simplesearch-results {
  margin-bottom:2em !important;
}
.simplesearch-highlight {
  font-weight:bold;
  letter-spacing:0.01em;
  -webkit-font-smoothing:antialiased;
}
.simplesearch-result {
  border-bottom:1px solid var(--color-gray-90);
  padding:25px 0;
}
.simplesearch-result:first-child {
  border-top:1px solid var(--color-gray-90);
}
.simplesearch-result h3 {
  font-style:normal;
  text-align:left;
  margin-bottom:15px;
}
.panel .simplesearch-result h3 a {
  color:var(--color-secondary);
  font-style:normal;
  border-bottom:none;
}
.simplesearch-result .link {
    font-size:0.9em;
    font-weight:600;
    text-align:left;
    text-transform:uppercase;
    letter-spacing:0.15em;
}
.panel .simplesearch-result:hover {
  cursor:pointer;
}
.panel .simplesearch-result:hover a,
.panel .simplesearch-result:hover .link {
  color:var(--color-accent);
  -webkit-transition:all 0.165s ease;
  -moz-transition:all 0.165s ease;
  -ms-transition:all 0.165s ease;
  -o-transition:all 0.165s ease;
  transition:all 0.165s ease;
  cursor:pointer;
}

.simplesearch-paging {
  font-size:0;
  margin:30px 0;
}
.simplesearch-result h3:last-child,
.simplesearch-paging:last-child {
  margin-bottom:0;
}
.pageList li,
.simplesearch-paging span {
  font-size:14px;
  vertical-align:middle;
  display:inline-block;
}
.simplesearch-page {
  margin:0 10px;
}
.pageList li+li {
  margin-left:10px;
}
.pageList li.prev {
  margin-right:3px;
}
.pageList li.next {
  margin-left:13px;
}
.pageList li.first,
.pageList li.last {
  display:none;
}
.pageList li a,
.simplesearch-page a,
.simplesearch-current-page {
  color:var(--color-gray15) !important;
  font-weight:normal !important;
  font-style:normal !important;
  text-align:center;
  border:1px solid var(--color-lt-blue) !important;
  border-radius:var(--radius-default);
  line-height:39px;
  height:40px;
  width:40px;
  display:inline-block;
}
.pageList li a.active,
.simplesearch-current-page {
  color:var(--color-white) !important;
  font-weight:bold;
  background:var(--color-lt-blue);
  pointer-events:none;
}
.pageList li a:hover,
.simplesearch-page a:hover {
  color:var(--color-white) !important;
  background:var(--color-lt-blue);
  border-color:var(--color-lt-blue) !important;
  cursor:pointer;
}
.pageList li.control a {
  line-height:43px;
}
.pageList li i {
  font-size:20px;
}
.pageList li.control i:before,
.pageList li.control i:after {
  color:var(--color-navy) !important;
}
.pageList li a:hover i:before,
.pageList li a:hover i:after {
  color:var(--color-white) !important;
}

/*	Misc
============================================================================================== */
.progressBar {
  position:fixed;
  top:124px;
  left:0;
  height:6px;
  background:var(--color-lt-blue);
  width:0%;
  max-width:100%;
  z-index:201;
}
@media only screen and (max-width:1199px) {
  .progressBar { height:4px; top:110px; }
}
@media only screen and (max-width:767px) {
  .progressBar { height:4px; top:90px; }
}
.jbmodal-box {
  background:var(--color-white);
  width:1200px;
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
}
.jbmodal-box h2,
.jbmodal-box h3,
.jbmodal-box h4,
.jbmodal-box h5 {}
.jbmodal-box .jbmodal-title {}
.screenType {
  color:transparent;
  width:1px;
  height:1px;
  border:0;
  position:fixed;
  bottom:0;
  overflow:hidden;
}
.accessibe {
  position:fixed;
  display:block !important;
  inset:auto 20px 20px auto;
  border-radius:50%;
  width:30px;
  height:30px;
  font-size:30px;
  line-height:30px;
  text-align:center;
  visibility:visible;
  cursor:pointer;
  box-sizing:border-box;
  opacity:0.5;
  line-height:1;
  outline:none 0 !important;
  overflow:visible !important;
  color:var(--color-accent);
  background:var(--color-white);
  z-index:999999999999;
  -webkit-transition:all .15s ease;
  -moz-transition:all .15s ease;
  -o-transition:all .15s ease;
  transition:all .15s ease;
}
.accessibe:hover {
  opacity:1;
  -webkit-transition:all .15s ease;
  -moz-transition:all .15s ease;
  -o-transition:all .15s ease;
  transition:all .15s ease;
}
.modx_edit {
  position:fixed;
  display:block !important;
  inset:auto 20px 60px auto;
  border-radius:50%;
  width:30px;
  height:30px;
  font-size:1em;
  line-height:30px !important;
  text-align:center;
  visibility:visible;
  cursor:pointer;
  box-sizing:border-box;
  opacity:0.75;
  line-height:1;
  outline:none 0 !important;
  overflow:visible !important;
  background:var(--color-lt-blue);
  color:var(--color-white);
  z-index:999999999999;
  transition:all 0.15s ease;
}
.modx_edit:hover {
  opacity:1;
}

.cc-nb-okagree,
.cc-cp-foot-save{ background:var(--color-lt-blue) !important; }
.cc-nb-okagree:hover,
.cc-cp-foot-save:hover { background:var(--color-navy) !important; }
.termsfeed-com---palette-light.termsfeed-com---nb { background:#e2e2e2 !important; }
.termsfeed-com---palette-light .cc-nb-changep { color:#fff !important; background:var(--color-gray-70) !important; }
.termsfeed-com---palette-light .cc-nb-changep:hover { background:var(--color-gray-30) !important; }


/*	RESPONSIVE
============================================================================================== */

/*	Desktop			--	1024+
============================================================================================== */
@media only screen and (min-width:1024px){

}


/*	Small Desktop	--	1024-1199
============================================================================================== */
@media only screen and (max-width:1199px) {
  .mainNav { display:none; }
  .mainNav li.id_1 { display:block; }
  .header .mt { display:block; }
  .header #jbmodal-search-form { display:none !important; }
  
  .header { height:110px; }
  
  .mainNav {
    width:440px;
    max-width:100%;
    position:absolute;
    top:110px;
    right:0;
    margin:0;
    background:rgba(7, 44, 82, 0.98);
    background:var(--color-navy);
    box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);
    overflow-y:scroll;
    transition:none !important;
  }
  .mainNav ul { border-radius:0 !important; }
  .mainNav ul li { font-size:16px; }
  .mainNav>ul>li,
  .mainNav>ul>li>ul>li,
  .mainNav>ul>li>ul>li>ul>li {
    display:block !important;
    margin:0 0 -1px 0;
    height:auto;
    border-left:0 !important;
    border-bottom:1px solid rgba(255,255,255,0.1);
  }
  .mainNav>ul>li>a,
  .mainNav>ul>li>span,
  .mainNav>ul>li>ul>li>a,
  .mainNav>ul>li>ul>li>span,
  .mainNav>ul>li>ul>li>ul>li>a,
  .mainNav>ul>li>ul>li>ul>li>span {
    color:var(--color-white);
    font-weight:400;
    text-transform:uppercase;
    letter-spacing:1px;
    font-size:18px;
    line-height:1em;
    height:auto;
    margin:0;
    padding:16px 50px 14px 25px;
    display:block;
    position:relative;
    z-index:1;
  }
  .mainNav a { text-decoration:none !important; }
  .mainNav a:hover,
  .mainNav li:hover>a {
    color:white !important;
    background:inherit;
  }
  .mainNav li.parent>a:after,
  .mainNav li.parent>span:after {
    display:none !important;
  }
  .mainNav>ul li.parent .trigger,
  .nav-go-back i {
    display:block;
    color:var(--color-gray-90);
    font-size:16px;
    text-align:center;
    height:48px;
    line-height:48px;
    width:50px;
    position:absolute;
    top:0;
    right:0;
    z-index:2;
  }
  .nav-go-back i {
    left:0;
    right:auto;
  }
  .mainNav>ul li.parent.id_20 .trigger { display:none; }
  .mainNav>ul>li:hover>ul { display:block; }
  .mainNav>ul>li>ul,
  .mainNav>ul>li>ul>li>ul {
    background:var(--color-navy);
    height:calc(100% - 90px);
    max-height:unset;
    width:440px !important;
    max-width:100% !important;
    padding:0;
    display:block;
    position:fixed;
    top:110px;
    left:auto;
    right:-440px;
    opacity:1;
    -webkit-transition:all 0.165s ease;
    -moz-transition:all 0.165s ease;
    -ms-transition:all 0.165s ease;
    -o-transition:all 0.165s ease;
    transition:all 0.165s ease;
  }
  .mainNav>ul>li.open>ul,
  .mainNav>ul>li>ul>li.open>ul {
    right:0;
    opacity:1;
    z-index:9;
  }
  .mainNav>ul>li>ul>li { border-top:0; }
  .nav-go-back {
    background:var(--color-blue);
  }
  .nav-go-back span,
  .nav-go-back i { color:rgba(255,255,255,0.75) !important; }
  .nav-go-back span {
    padding:16px 25px 14px 50px !important;
  }
  
  .banner-home h1, 
  .banner-home .h1 {
    font-size:70px;
    width:640px;
  }
  
  .panel_callout .centre {
    padding:var(--units-2);
  }
  
  .panel-media_featured .bg {
    aspect-ratio:16 / 8;
  }
  
  .columns.count-3,
  .columns.count-4 {
    grid-template-columns:repeat(2, 1fr);
  }
}




/*	Tablets			--	768-1023
============================================================================================== */
@media only screen and (max-width:1023px){
  
  .topNav { padding-right:30px; }
  .topNav .phone { display:none !important; }
  
  .banner-home iframe,
  .banner-home video { display:none; }
  .banner-home .bg { display:block; }
  .banner-home h1, 
  .banner-home .h1, 
  .banner-home .intro {
    text-align:left;
    width:auto;
    display:block;
  }
  .banner-home .intro { 
    margin-bottom:15px;
    padding-left:64px; 
  }
  
  .footer .logo,
  .footer .right { height:70px; }
  .footer .right { line-height:70px; }

  .tabs .mobileTriggers { 
    margin:0 0 1.5em; 
    display:block; 
  }
  .tabs .tabContent { margin-left:0; min-height:0 !important; }
  
  .columns.count-4 { grid-template-columns:repeat(2, 1fr); }

  .panel_callout .content { grid-template-columns:65% 35%; }
  
  .panel_before_after .fauxTable > div {
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
    display:block;
  }
  
  .panel_form .fauxTable > .form-wrap { width:60%; padding-right:0; }
  .panel_form .fauxTable > .content { width:40%; }
  
  .panel_locations_all .locations { grid-template-columns:repeat(2, 1fr); }

  .form .row { margin:0; }
  .form .row .input,
  .form .label {
    padding:0;
    width:100% !important;
  }
  .form .input label { left:1em !important; }


}




/*	Phones			--	under 768
============================================================================================== */
@media only screen and (max-width:767px){
  :root { --units-1:16px; }
  h1,.h1 { font-size:var(--font-size-5); }
  h2,.h2 { font-size:var(--font-size-4); }
  
  .panel h2:first-child:before, 
  .panel .media + h2:before {
    width:120px;
  }
  .panel_content_plain h2:first-child { margin-top:-55px; }
  
  .header { 
    height:90px;
    padding-top:0; 
  }
  .topNav { display:none; }
  .header .logo,
  .header > .mt, 
  .header > .fa-search, 
  .header > .fa-phone {
    top:52%;
    transform:translateY(-50%);
  }
  .header .logo { left:1em; }
  .header .logo img { height:50px; }
  .header > .mt { right:0.5em; }
  .header > .fa-search { right:calc(0.5em + 61px); }
  .header > .fa-phone { right:calc(0.5em + 120px); }
  
  .mainNav,
  .mainNav>ul>li>ul,
  .mainNav>ul>li>ul>li>ul { top:90px; }
  
  .banner { padding-top:90px; }
  .banner-home { height:600px; }
  .centre,
  .banner .centre { padding:2.5em 1em 2.75em; }
  
  .banner-home h1, 
  .banner-home .h1 { font-size:54px; }

  .scrollNav { padding:0 1em; }
  .wrapper { min-height:60%; }
  /* .wrapper > div:last-child { padding-bottom:0; } */

  .footer .left,
  .footer .right { 
    text-align:center;
    float:none; 
  }
  .footer .left { margin-bottom:30px; }
  .footer .right {
    height:auto;
    line-height:1;
  }
  .footer .links a { margin-bottom:5px; }
  
  .panel_content_plain .content:before { border-radius:var(--radius-default); }

  .panel_media_featured .media + h2, 
  .panel_buckets.home .heading:first-child {
    margin-top:-30px !important;
  }
  .panel_media_featured h2 span, 
  .panel_buckets.home .heading span {
    padding:15px 30px;
  }
  .panel_media_featured .media + h2 { 
    max-width:100%;
    margin-top:0 !important; 
  }
  .panel_buckets.home h2:first-child { 
    max-width:100%;
    margin-top:40px !important; 
  }
  .panel_media_featured h2 span { padding:30px 20px 0; }
  .panel_media_featured h2 span:before, 
  .panel_media_featured h2 span:after,
  .panel_buckets.home .heading span:before,
  .panel_buckets.home .heading span:after { content:none; }
  .panel_media_featured .content {
    margin-top:-70px;
    padding:110px 40px 0;
  }
  .panel_media_featured .content:before {
    height:calc(100% + 80px);
  }
  
  .panel_form .fauxTable { margin-bottom:1em; }
  .panel_media_featured .content { margin-bottom:3em; }
  .panel_media_featured .content,
  .panel_media_floated .content,
  .panel_map .content,
  .panel_before_after .content { max-width:100% !important; }
  .panel_media_floated .fauxTable,
  .panel_map .fauxTable,
  .panel_before_after .fauxTable,
  .panel_form .fauxTable { display:grid; }
  .panel_media_floated .fauxTable > div,
  .panel_map .fauxTable > div,
  .panel_before_after .fauxTable > div,
  .panel_form .fauxTable > div { 
    max-width:100%;
    margin:0 auto 1.5em; 
    padding:0 !important;
    display:block;
  }
  .panel_media_floated .fauxTable .media,
  .panel_map .fauxTable .media,
  .panel_before_after .fauxTable .media,
  .panel_form .fauxTable .content { order:1; width:100%; }
  .panel_media_floated .fauxTable .content,
  .panel_map .fauxTable .content,
  .panel_before_after .fauxTable .content,
  .panel_form .fauxTable .form-wrap { order:2; width:100%; margin-bottom:0 !important; }

  .accordion .content { padding:8px 16px 16px; }

  .columns.count-3,
  .columns.count-4 {
    grid-template-columns:repeat(1, 1fr);
  }
  
  .panel_callout .content {
    line-height:1.6; 
    display:block; 
  }
  .panel_callout .content .ctas a { margin-top:30px; }
  .testimonials .quote { 
    font-size:var(--font-size-1);
    line-height:1.6; 
  }
  .panel_callout .left { margin-bottom:20px; }
  .panel_callout .content h2:first-child:before, 
  .panel_callout .content h2 span {
    display:block;
  }
  .panel_callout .content h2 span { margin-top:20px; }
  .panel_callout .ctas { text-align:left; }
  
  .gallery .caption { font-size:1em; }
  
  .panel_locations_lookup .buttons {
    grid-template-columns:1fr;
  }
  .buttons .link,
  .locations .link { font-size:var(--font-size-2); }
  
  
}


/*	Phones Portrait	--	under 540
============================================================================================== */
@media only screen and (max-width:539px){
  
  h2 { font-size:26px; }
  
  .header .logo img { height:46px; }
  
  .mainNav { width:100%; }
  .mainNav>ul>li>ul,
  .mainNav>ul>li>ul>li>ul {
    width:100% !important;
    right:-100%;
  }

  .footer .logo, 
  .footer .contact {
    text-align:center;
    margin-left:auto;
    margin-right:auto;
    display:block;
  }
  .footer .contact {
    border:none;
    margin:20px auto 0;
    padding:0;
  }
  .footer .phone { margin-bottom:20px; }
  .footer .links a {
    border-right:none !important;
    margin:0 auto;
    padding:5px 1em !important;
    display:block; 
  }

  .panel_media_featured .content { padding:110px 30px 0; }
  
  .panel_media_floated .fauxTable .media { width:100%; }
  .panel .filters .label {
    display:block;
    margin:0 0 0.5em;
  }
  .panel .filters .filter {
    padding:0.33em 1em;
    margin:0 1em 0.5em 0;
    border:1px solid #999;
    border-radius:4px;
  }
  .panel .filters .filter:last-child { border-right:1px solid #999; }
  .panel .filters .filter:hover,
  .panel .filters .filter.active {
    background:#fafafa;
  }
  .panel.dark .filters .filter {}
  .panel.dark .filters .filter:hover,
  .panel.dark .filters .filter.active {
    background:#232b33;
    color:#88abb8;
  }
  .columns.count-2,
  .columns.count-3,
  .columns.count-4 {
    grid-template-columns:repeat(1, 1fr);
  }

  .slick-arrow {
    line-height:38px;
    height:40px;
    width:40px; 
  }
  .slick-arrow:before { font-size:20px; }
  .gallery { padding:0 50px; }
  .gallery .caption { position:relative; }
  
  .buttons .link { 
    max-width:300px;
    display:block; 
  }
  .panel_locations_all .locations { grid-template-columns:1fr; }
  
  p img { height:auto !important; }
  
  .form .row .input, 
  .cd-form .sd-page__row.sd-row--multiple > div {
    width:100%;
    float:none;
  }
  
}




/*	Small Phones	--	under 375
============================================================================================== */
@media only screen and (max-width:374px){

}




/*	SCREEN SIZE GLOBALS
============================================================================================== */
@media only screen and (min-width:1024px){ /* desktop only */ .desktop { display:none; } }
@media only screen and (min-width:768px) and (max-width:1023px) { /* tablets */ .tablet { display:none; } }
@media only screen and (max-width:767px) { /* phones */ .mobile { display:none; } }

