/*
Theme Name: SB Law WordPress Theme
Author: Gragg Advertising
Version: 0
*/

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type="button"],[type="reset"],[type="submit"],button{-webkit-appearance:button}[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checklist"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}

/* screenreader */
.sr-only, .m-sr-only {border:0; clip:rect(0, 0, 0, 0); height:1px; overflow:hidden; padding:0; position:absolute; white-space:nowrap; width:1px}
.sr-only-focusable:active,.sr-only-focusable:focus {clip:auto; height:auto; overflow:visible; position:static; white-space:normal; width:auto}
#skipnav {background-color: #2c713c; display: inline-block; color: #fff; left: 0; padding: 0.5em 1em; position: absolute; text-decoration: none; top: 0; z-index: 10}

:root {
	--primary: #1267c8;
	--secondary: #000000;
	--secondary2: #363839;
	--neutral: #ffffff;
	--neutral2: #363839;
	--neutral3: #f1f1f1;
	--font: sans-serif;
	--font2: sans-serif;
	--shadow: 1px 1px 0 #000000, 1px -1px 0 #000000, -1px 1px 0 #000000, -1px -1px 0 #000000, 2px 2px 3px #3a3c3d;
	--shadow-inv: 1px 1px 0 #ffffff, 1px -1px 0 #ffffff, -1px 1px 0 #ffffff, -1px -1px 0 #ffffff, 2px 2px 3px #c5c3c2
}

/* basic */
html {background-color: var(--neutral3); height: 100%; scroll-behavior: smooth}
body {background-color: var(--neutral); color: var(--secondary2); display: flex; flex-direction: column; font-family: var(--font); overflow-x: hidden; margin: 0 auto; max-width: 1920px; min-height: 100%; position: relative}
body.menu_open {overflow: hidden}
h1, h2, h3, h4, h5, h6, p, li {margin: 1rem 0}
h2 {font-size: 1.75rem}
h3 {font-size: 1.4rem}
a {color: var(--primary); text-decoration: none}
a:hover {text-decoration: underline}
#header a:hover, #footer a:hover {text-decoration: underline}
#header a, #footer a, .services_links a, .viewall a, .sub_section_attorneys a.attorney, .sub_section_post_boxes a.box{color: inherit}
img {height: auto; object-fit: contain; max-width: 100%}
pre {text-align: left !important; white-space: pre-wrap}
hr {border-color: var(--primary)}
figure {margin: 1rem 0}
#nojs_warning {background-color: red; border: 3px double white; color: white; display: block; font-weight: bold; padding: 1rem; text-align: center}
.container {padding: 0 1em; position: relative; z-index: 0}
.social-links {margin: 0.5rem 0}
.social-links li {display: inline-block; margin: 0.5rem 1rem 0.5rem 0; vertical-align: middle}
.social-links li a, .social-links li img {display: block}
.subheading {font-family: var(--font2); font-size: 125%; font-weight: bold}
.button {background-color: rgba(255,255,255,0.75); border: 2px solid var(--primary); color: var(--secondary); display: inline-block; margin: 0.5rem 2rem 0.5rem 0; padding: 1rem 2rem; margin: 0.5rem 2rem 0.5rem 0; text-decoration: none}
.button:last-child {margin-right: 0}
.viewall {margin-top: 2rem; text-align: center}
.viewall a {border-bottom: 2px solid var(--primary); display: inline-block; font-weight: bold; padding-bottom: 0.5rem; text-decoration: none}
.accordion {box-shadow: 0 2px 0 var(--primary), 0 -2px 0 var(--primary); margin: 2px 0; padding: 0.5rem 0}
.accordion .accordion_toggle {margin: 0; padding: 0.5rem 2rem 0.5rem 0; position: relative}
.accordion_toggle::after {content: '+'; font-size: 3rem; font-weight: lighter; color: var(--primary); line-height: 1; cursor: pointer; position: absolute; right: 0; top: -0.25rem}
.accordion_toggle[aria-expanded='true']::after {content: '-'; top: -0.5rem}
body.js .accordion_content{display: none}
img.aligncenter {display: block; margin: 1rem auto}
.map_wrapper {height: 0; padding-bottom: 50%; position: relative}
.map_wrapper iframe {height: 100%; left: 0; position: absolute; top: 0; width: 100%}

/* form */
.theme-form label {display: block}
.theme-form input[type="email"], .theme-form input[type="tel"], .theme-form input[type="text"], .theme-form input[type="search"], .theme-form input[type="submit"], .theme-form select, .theme-form textarea, .theme-form .button {background-color: var(--neutral); border: 2px solid var(--secondary); box-sizing: border-box; color: var(--secondary); display: block; padding: 0.5rem; width: 100%}
.theme-form input[type="submit"] {cursor: pointer}
.theme-form .field {margin: 1rem 0}
.theme-form .field.submit input[type="submit"] {background-color: var(--neutral3); border-color: var(--primary); color: var(--primary); padding: 1rem 4rem; width: auto}
.theme-form textarea {min-height: 4rem; resize: vertical}
.theme-form .button {text-align: center}
.theme-form .field.cb {display: table}
.theme-form .field.cb input, .field.cb label {display: table-cell; vertical-align: baseline}
.theme-form .field.cb label {padding-left: 0.5rem}
.theme-form .comments {display: none}
.theme-form .map_holder {margin-top: 2rem}


/* header */
#header {background-color: var(--neutral); position: sticky; top: 0; z-index: 5}
#logomenu_bar {display: table; table-layout: fixed; width: 100%}
#top_logo, #side_menu_wrap {display: table-cell; vertical-align: middle}
#top_logo {padding: 0.5rem 0.5rem 0.5rem 0}
#side_menu_wrap {padding: 0.5rem 0 0.5rem 0.5rem}
#side_menu_wrap {width: 33%; text-align: right}
.header_logo {
  width: auto;
  max-width: 500px;
  height: auto;
	display: inline-block
}
/*menu*/
#side_menu_open {background: transparent; border: none; color: var(--primary); cursor: pointer; display: none; font-size: 400%; line-height: 0.25; padding: 1rem 0 1.5rem 0; text-align: right; width: 100%}
#side_menu_close {background-color: var(--secondary); border: none; color: var(--neutral3); cursor: pointer; display: none; font-size: 1.25rem; font-weight: bold; padding: 0.5rem 1rem; position: sticky; text-align: right; top: 0; width: 100%}
#side_menu .menu, #side_menu .sub-menu {list-style: none; margin: 0; padding: 0}
#side_menu .menu-item {margin: 0}
#side_menu .menu > .menu-item {border-bottom: 1px solid var(--neutral); padding: 0.5rem 0}
#side_menu .menu > .menu-item:last-child {border-bottom: none; padding-bottom: 0}
#side_menu .menu-item a {color: var(--neutral); padding: 0.5rem 1rem; display: block; text-decoration: none; font-weight:bold}
#side_menu .menu-item a:hover {background: var(--primary)}
#side_menu .sub-menu a {padding-left: 1.5rem}
#side_menu .sub-menu .submenu a {padding-left: 2rem}
#side_menu .sub-menu .submenu .submenu a {padding-left: 2.5rem}
body.js #side_menu_open, body.js #side_menu_close {display: block}
body.js #side_menu {text-align: left}
body.js #side_menu_inner {border:0; clip:rect(0, 0, 0, 0); height:1px; overflow:hidden; padding:0; position:absolute; white-space:nowrap; width:1px}
body.js.menu_open #side_menu_inner {background-color: var(--secondary2); border: 2px solid var(--secondary); border-right: none; border-top: none; box-sizing: border-box; clip:auto; color: var(--neutral3); height:auto; margin: 0 0 0 auto; max-width: 100%; min-height: 100%; position:static; white-space:normal; width:360px}
body.menu_open {overflow: hidden}
body.menu_open #side_menu_overlay {background-color: rgba(0,0,0,0.5); bottom: 0; left: 0; overflow-y: auto; position: fixed; right: 0; top: 0}
.menu-item.search > a::before {content: '\002315'; display: inline-block; margin-right: 0.125rem; transform: scaleX(-1)}

/* footer */
#footer {background-color: var(--neutral2); color: var(--neutral); padding: 2rem 0 1rem 0}
.footer_logo {width: auto}
#footer_menu, #footer_social {margin: 3rem 0}
.footer_logo_2 {display: block; margin: 3rem 0}
#footer h2 {color: inherit; font-size: 1.5rem}
#footer h2::after {border-bottom: 3px solid var(--primary); content: ''; display: block; margin: 1rem 0; width: 2rem}
#footer ul, #copyright ul {list-style: none; padding: 0}
#footer a, #copyright a {text-decoration: none}
#footer ul a, #copyright ul a {font-weight: bold}

/* hero */
#page_top {padding: 1rem 0; position: relative}
#page_top_hero {background-color: var(--secondary); background-size: cover; filter: grayscale(100%); height: 100%; left: 0; position: absolute; top: 0; width: 100%}
#page_top_hero video {height: 100%; left: 0; object-fit: cover; position: absolute; top: 0; width: 100%}
#page_top_copy {color: var(--neutral); min-height: 2rem; padding: 11rem 0 1rem; position: relative; text-shadow: var(--shadow); z-index: 1}
#page_top_copy .button {text-shadow: none}
#page_top_copy .container > :first-child{margin-top: 0}
#page_top_copy .container > :last-child{margin-bottom: 0}
.pdf-output {background-color: rgba(255,255,255,0.75); border: 1px solid var(--primary); display: block; padding: 0.25rem; width: 2rem}

/* breadcrumbs */
#breadcrumbs {color: var(--primary); font-family: var(--font2); font-weight: bold; margin: 2rem auto}
#breadcrumbs a {text-decoration: none}
#breadcrumbs + .section {margin-top: 2rem}

/* sections */
#main {flex-grow: 1}
.section {margin: 4rem 0}
.section.altcol, .section.hasBG {margin: 0; padding: 3rem 0}
.section.altcol {background-color: var(--neutral3)}
.section.hasBG {background-color: var(--secondary); background-size: cover; color: var(--neutral)}
.section.hasBG.textshadow {text-shadow: var(--shadow)}
.section.textshadow .button {text-shadow: none}

.attorney .imgholder {background-color: var(--neutral3); position: relative}
.attorney .img {
	aspect-ratio: 1;
  background-size: cover;
	filter: grayscale(100%);
	width: 100%;
}
.sidebar h2{color: var(--primary)}
.sidebar .attorney .img {filter: none}
.attorney .imgholder.empty {background-color: transparent}
.attorney .imgholder.empty .img {
  background-image: url('img/nophoto.png');
  background-size: auto;
  background-position: center;
  background-repeat: no-repeat;
}
.attorney:hover .img{filter: grayscale(0%)}
.attorney {
	margin-bottom: 2rem;
  text-decoration: none;
}
.attorney a {text-decoration: none;}
.attorney .imgholder::after, .box::after {
  content: url(img/arrow.svg);
  position: absolute;
  display: block;
  background-color: var(--primary);
  color: var(--neutral);
  padding: 1rem;
  font-size: 2rem;
  bottom: 0;
  right: 0;
	height: 38px;
  width: 39px;
}
.attorney .name, .attorney .title {
  font-weight: bold;
}
.attorney .name {
  font-size: 1.5rem;
}
.attorney .contact {margin-top: 2rem}
.sidebar_attorney h2.name {color: inherit}
.sidebar_attorney:hover h2.name, .sidebar_attorney:hover .title {color: var(--primary)}

.box {
  display: block;
  aspect-ratio: 1;
  position: relative;
  text-decoration: none;
  padding: 2rem;
  margin: 2rem 0;
}
.box, .box.d-tbl_cell {
  border: 2px solid var(--primary);
}
.box_heading {
  margin: 0;
  font-size: 1.5rem;
  font-weight: bold;
  padding-bottom: .5em;
}
.box_postdate {
  position: absolute;
  bottom: 1.5rem;
  left: 2rem;
  right: 5rem;
	margin: 0;
}

.services_links {margin: 1rem 0}
.service_link {
  text-decoration: none;
  display: block;
  padding: 1rem 0;
  box-shadow: 0 2px 0, 0 -2px 0;
  margin: 0 0 2px;
}

.sub_section_services_searchlist .service_link {box-shadow: 0 2px 0 var(--primary), 0 -2px 0 var(--primary)}
.service_link_link {font-weight: bold; font-size: 125%}
.sub_section_services_searchlist .service_link {padding-right: 2rem; position: relative}
.service_link .accordion_toggle {position: absolute; right: 0; top: 0; min-width: 25%; text-align: right;}
.service_link .accordion_toggle::after {position: static}

.service_link a {display: block; text-decoration: none}
.indiv_services_links {padding: 0 0 0 1rem}
.indiv_services_links p {margin: 0.75rem 0 0 0}

.stat {
  border-bottom: 2px solid var(--primary);
  padding: 1rem 0;
}
.stat:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.stat_number {
  font-size: 3rem;
  font-weight: bold;
  margin: 0;
}
/* .stat_number .countup {font-size: 3rem} */
.stat_desc {
  margin: 0;
  font-family: var(--font2);
  font-weight: bold;
  font-size: 1.75rem;
}
.stat:first-child {
  padding-top: 0;
}

.sub_section_stats .stat_desc {font-size: 1.25rem}

.testimonial .imgholder {margin: 1rem auto; max-width: 640px}
.testimonial .imgholder .img {background-size: cover; padding-bottom: 100%}
.testimonial .copyholder {margin: 1rem 0; padding: 0 3rem}
.testimonial_name {font-weight: bold; font-size: 1.25rem; margin: 0}
.testimonial_title {margin: 0.5rem 0}

.testimonials .swiper-pagination {
  top: auto;
  bottom: 0;
}
.testimonials.swiper {
  padding-bottom: 2rem;
}

.testimonials .swiper-pagination-bullet {
  background-color: transparent;
  width: auto;
}

/* search forms */
.search_fields {position: relative}
.search_fields input[type='text'] {
  box-sizing: border-box;
  border: 2px solid var(--secondary);
  width: 100%;
  padding: 0.5rem 2rem 0.5rem 1rem;
}
.search_fields input[type="submit"] {
  border: none;
  background-color: transparent;
  font-size: 200%;
  padding: 0;
  cursor: pointer;
  position: absolute;
  top: 0;
  margin: 0;
  right: 0.25rem;
  width: auto;
}
#services_search_expandall .expand-all {
  padding: 0.5rem 1rem;
  border-radius: 0;
  border: 2px solid;
  background-color: transparent;
  color: var(--primary);
  font-weight: bold;
	margin: 1rem 0;
}
.expand-all .collapse {display: none}
.expand-all.expanded .expand {display: none}
.expand-all.expanded .collapse {display: initial}
.searchcol_searchform {
  margin-bottom: 1rem;
}
.filter_cb .field {
  margin: 0.5rem 0;
}
#filter_filters {margin: -0.25rem}
#filter_filters .filter {
  display: inline-block;
  border: 2px solid var(--primary);
  padding: 0;
  margin: 0.25rem;
}
#filter_filters .filter span, #filter_filters .filter .filter_remove {
	padding: 0.25rem;
  display: inline-block;
  vertical-align: top;
}
.filter_remove {
  padding: 0 0.25rem;
  cursor: pointer;
  background-color: transparent;
  border: none;
}
#filter_bar {
  margin: 1rem 0;
}
#filter_bar_left h2 {
  margin: 0;
}
#filter_clear {
  border-top: none;
  border-left: none;
  border-right: none;
  background-color: transparent;
  border-bottom: 2px solid var(--primary);
  padding: 0 0 0.25rem 0;
	cursor: pointer;
	display: inline-block;
	text-decoration: none;
}

#alpha_search {
  margin: 1rem 0;
  line-height: 1.5;
}
#alpha_search a {
  font-weight: bold;
  text-decoration: none;
}
#alpha_search a, #alpha_search span {
  margin: 0 0.5rem;
  width: 1rem;
  display: inline-block;
  text-align: center;
}
#alpha_search span {
  opacity: 0.5;
}

/*pseudosidebar*/
#psuedosidebars {margin: 4rem 0}
#psuedosidebars .sidebar, .theme-form .sidebar {border-bottom: 1px solid var(--neutral2); margin: 1rem 0}
#psuedosidebars .sidebar a {text-decoration: none}
.sidebar_attorney .attorney .imgholder::after {content: none}
.sidebar .contact a {
  background-color: var(--primary);
  font-size: 0;
  width: 2rem;
  height: 2rem;
  display: inline-block;
  background-size: 80% 80%;
  background-position: center;
	background-repeat: no-repeat;
	vertical-align: bottom;
}
.sidebar .contact .vcard {background-image: url('img/vcard.svg')}
.sidebar .contact .facebook {background-image: url('img/facebook-f.svg')}
.sidebar .contact .linkedin {background-image: url('img/linkedin-in.svg')}
.sidebar .contact .twitter {background-image: url('img/x-twitter.svg')}
.sidebar .contact .pdf {background-image: url('img/pdf.svg')}
/*.sidebar_education .notes {display: block; padding-left: 1rem}*/
.sidebar_education .notes {font-style: italic}

/* attorney pages */
.attorney_nametitle {margin-bottom: 2rem}
.attorney_nametitle .title {font-weight: bold}

/* blog */
.post .post_title {color: var(--primary); font-size: 1.5rem}
.post .post_title a {text-decoration: none}
.post .post_author {font-weight: bold; margin-bottom: 0}
.post .post_date {font-style: italic; margin-top: 0}
.post .post_readmore {color: var(--primary)}
.paginationwrap {text-align: center}
.pagination .page-numbers {display: inline-block; font-size: 1.5rem; padding: 1rem}
.pagination .page-numbers.current {font-weight: bold}
.pagination .page-numbers.prev, .pagination .page-numbers.next {display: block}
/* post */
.postauthor {font-weight: bold}
.postdate {font-style: italic}

/* jquery UI fixes */
.ui-autocomplete {background-color: var(--neutral3); border: 1px solid var(--neutral2); list-style: none; padding: 0 1rem}
.ui-autocomplete li {cursor: pointer}
.atty_autocomp {display: table; table-layout: fixed; width: 100%}
.atty_autocomp_img, .atty_autocomp_label {display: table-cell; vertical-align: middle}
.atty_autocomp_img {width: 48px}
.atty_autocomp_label {padding-left: 1rem}

/* adminbar fixes */
body.admin-bar.menu_open #side_menu_overlay {top: 32px}
@media screen and (max-width: 782px) {
	body.admin-bar.menu_open #side_menu_overlay {top: 46px}
}
@media screen and (max-width: 600px) { 
	body.admin-bar.menu_open #side_menu_overlay {top: 92px}
}