/* -----------------------------------------
 FONTS & GLOBAL ELEMENTS
----------------------------------------- */

:root {
  --headerfont: "trade-gothic-next-condensed", serif;
  --bodyfont: "trade-gothic-next", sans-serif;
  --bodyTextColor: #092238;
  --highlightColor: #dd522d;
}	

/* -----------------------------
	TYPOGRAPHY
-------------------------------- */
h1, h2, h3, h4 { font-family: var(--headerfont); line-height: 1.2; margin-bottom: 20px; font-weight: 700; color: var(--bodyTextColor) }
h1 { font-size: 3.5rem; line-height: 1; margin-bottom: 15px; margin-left: 15px; font-weight: 500; font-family: 'Bitter', serif }
#feature h1 { color: #FFF; margin-bottom: 0; margin-left: 0 }
h2 { font-size: 2rem; color: var(--highlightColor); text-transform: uppercase }
h3 { font-size: 1.7rem; color: var(--highlightColor); text-transform: uppercase }
h4 { margin: 8px 0 3px }
p { font-size: 1.1rem; color: var(--bodyTextColor); font-family: var(--bodyfont); font-weight: 400; line-height: 1.7rem }
li { font-family: var(--bodyfont) }
.intro p { font-size: 1.3rem; line-height: 1.6em; color: var(--bodyTextColor) }
a { cursor: pointer; -webkit-tap-highlight-color: rgba(255, 255, 255, 0); color: var(--highlightColor); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; text-decoration-style: solid; text-decoration-color: #CACACA }
a:hover { text-decoration-thickness: 1px; color: var(--highlightColor); text-decoration-color: var(--highlightColor) }
a.btn { color: white; background: var(--bodyTextColor); text-decoration: none; font-weight: 600; border: 1px solid var(--bodyTextColor); padding: 8px 25px; display: inline-block; border-radius: 4px; margin: 10px 15px 10px 0 }
a.btn.light { color: var(--bodyTextColor); background: transparent }
a.btn:hover, a.btn.solid:hover { background: var(--highlightColor); border-color: var(--highlightColor); color: #FFF }
ul.breadcrumbs { margin-bottom: 30px; margin-left: 15px }
ul.breadcrumbs a { color: var(--bodyTextColor); text-decoration-color: #CACACA }
ul.breadcrumbs a:hover { text-decoration-color: var(--highlightColor) }

#sidebar p, #sidebar li { line-height: 1.3 }

p::selection, h1::selection, h2::selection, h3::selection, a::selection { color: #fff; background: var(--highlightColor) }


/* -----------------------------
   LAYOUT
-------------------------------- */
body { -webkit-overflow-scrolling: touch; background: #f3f3f3 }
.row .row { width: 100% }
.row#main { margin-top: 96px }
#feature { min-height: 400px; margin-bottom: 45px }
.panel { margin-bottom: 60px }

/* SIDEBAR */
.block { background: #FFF; padding: 30px; margin-bottom: 30px }
@media only screen and (min-width: 40.063em) {

}

.search-highlight { background-color: #ffeb3b90; padding: 0 0 2px }
#primary .search-highlight, a.btn .search-highlight, #footer .search-highlight, h1 .search-highlight, ul.breadcrumbs .search-highlight { background-color: transparent; padding: 0 }

/* -----------------------------
	CONTENT BLOCKS
-------------------------------- */

/* ACCORDION */
.accordion-block { margin: 0 .9375rem }
.accordion { list-style-type: none; background: transparent }
.accordion[disabled] .accordion-title { cursor: not-allowed }
.accordion-item { width: 100%; border-bottom: 1px solid var(--lightBackground) }
.accordion-item span { font-size: 1.1em; padding-right: 50px; display: block; line-height: 1.2 }
.accordion-item:first-child > :first-child { border-radius: 0 }
.accordion-item:last-child > :last-child { border-radius: 0 }
.accordion-title { position: relative; display: block; padding: 8px; border: 0; font-size: inherit; font-weight: 600; line-height: inherit; color: var(--bodyTextColor); transition: all .2s; text-decoration: none; border-bottom: 1px solid #cacaca }
.accordion-title p { margin-bottom: 10px; font-size: 1.2rem; transition: all .3s }
a.accordion-title:hover, .accordion-title:focus { color: var(--accent); text-decoration: none; opacity: 1; background: transparent }
.accordion-item.is-active .accordion-title { opacity: 1; color: var(--accent); margin-bottom: 10px }
.accordion-item:not(:first-of-type).is-active .accordion-title { margin-top: 8px }
.accordion-item.is-active .accordion-title p { font-size: 1.6rem }
.accordion-title::before { margin-top: -1.9rem;	font-size: 2rem; color: var(--accent); font-weight: 400 }
.accordion-content { display: none; padding: 5px 20px 20px 10px; border: 0; border-bottom: 0; color: inherit; background-color: transparent }
.accordion-content ul { margin-bottom: 25px }
p + ul { margin-top: -10px }
:last-child:not(.is-active) > .accordion-title { border-bottom: 0; border-radius: 0 }


.text-image-block img { margin-bottom: 30px }
img.float-left { margin-right: 30px }
img.float-right { margin-left: 30px }
@media print, screen and (min-width: 40.025em) { 
  .text-image-block img { max-width: 50% }
}


/* TEAM GRID */
.reveal.ppl.large { max-width: 60rem; padding: 50px 35px }
.reveal h4 { color: var(--highlightColor) }
.photo img { max-width: 300px }
.team a { text-decoration: none }
.team p.bio { line-height: 1.3 }
.team p.readBio { position: absolute; bottom: 0 }
.teamMember { position: relative; padding-bottom: 50px !important }
.teamMember:hover img { transition: .2s opacity }
.teamMember:hover img { opacity: .6 }
.teamMember:hover .headshot span { font-size: 1.4rem }
.teamMember:hover h4 { color: var(--highlightColor) }
.headshot { position: relative; background: #0A2138 }
.headshot span { position: absolute; bottom: 0; display: block; background: #467C3B; padding: 3px 10px 5px; font-family: var(--headerfont); color: white; font-weight: 700; transition: .2s all }
html.is-reveal-open, html.is-reveal-open body { width: 100% }


#search-form { margin-bottom: 30px }
button#advSearchSubmit { display: inline-block; margin-left: 10px }
button#advSearchSubmit i { color: white; font-size: 1.3rem }
button#advSearchSubmit:hover { cursor: pointer }
input[type="search"] { width: 100% }
.result { border-bottom: 1px solid #E5E5E5; padding: 12px; position: relative }
.result:hover { background: #E3EAF150 }
.result p { line-height: 1.3 }
.result p span { font-size: .8rem; color: rgba(54,90,115,.70); display: block; margin-bottom: 8px }


/* -----------------------------
   SIDEBAR
-------------------------------- */
#sidebar p { margin-bottom: 10px }
#sidebar p a, #sidebar li a { color: var(--bodyTextColor); text-decoration-color: #CACACA }
#sidebar p a:hover, #sidebar li a:hover { text-decoration-color: var(--highlightColor) }
#sidebar ul li { color: var(--bodyTextColor) }
#sidebar ul.contact li { margin-bottom: 8px; color: var(--bodyTextColor) }
#sidebar ul.contact li:before { width: 16px; display: inline-block; text-align: center }
#sidebar ul.contact li.phone:before { font-family: "Font Awesome 6 Pro"; content: "\f095"; font-size: 1rem; margin-right: 8px; font-weight: 300; color: #AFB8C3 }
#sidebar ul.contact li.location:before { font-family: "Font Awesome 6 Pro"; content: "\f3c5"; font-size: 1rem; margin-right: 8px; font-weight: 300; color: #AFB8C3 }
#sidebar ul.contact li.email:before { font-family: "Font Awesome 6 Pro"; content: "\f0e0"; font-size: 1rem; margin-right: 8px; font-weight: 300; color: #AFB8C3 }
#sidebar ul.contact li.phone a { text-decoration: none }
#sidebar .btn { margin-top: 20px }
#sidebar .btn.light.highlight { border: 1px solid var(--highlightColor); width: 100%; margin-right: 0; text-align: center; padding: 12px 25px }

@media only screen and (min-width: 40.063em) {
  body.no-feature #sidebar { padding-top: 50px }
}


/* -----------------------------
   FOOTER
-------------------------------- */
#footer { background: #092238; padding: 60px 20px 80px; margin-top: 40px }
#footer img.logo { width: 240px }
#footer p, #footer ul li, #footer a { color: white }
#footer a { text-decoration-color: rgba(255,255,255,.25) }
#footer ul li { margin-bottom: 5px }
#footer ul li a:hover { text-decoration-color: white }

/* VIDEO */
.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100% } 
.embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100% }


/* DESKTOP ONLY */
@media only screen and (min-device-width: 1025px) { 

}

/* 641px */
@media only screen and (min-width: 40.063em) {
	
}

/* 1025px */
@media only screen and (min-width: 64.063em) {
	
}