/* Subpage styling goes here. Excluded on homepage */

/*
SUBPAGE STRUCTURE
BLOG
TEMPLATES
*/

/*******************************************************************************************
SUBPAGE STRUCTURE - Non-critical page features
*******************************************************************************************/
.search-form {
	position: relative;
	display: flex;
}

.search-form input {
	height: 45px;
	padding: 20px;
	color: var(--color-body-text);
	border: 1px solid var(--color-primary);
}

.search-form input::placeholder {
	color: var(--color-body-text);
}

.search-form button {
	padding: 0 12px;
	width: 45px;
	height: 45px;
	font-size: 1.1rem;
	border-radius: 0;
}

/*******************************************************************************************
BLOG - Posts, search results, and pagination
*******************************************************************************************/
.post {
	margin-bottom: 40px;
	padding-bottom: 40px;
	border-bottom: 1px solid var(--color-secondary);
}

.post:last-child {
	padding-bottom: 0;
	border: none;
}

.post-head h2 {
	font-size: 2rem;
}

.post-head h1,
.post-head h2 {
	margin-bottom: 10px;
	padding: 0;
	border: 0;
	color: var(--color-primary);
	text-transform: none;
	font-size: var(--font-size-h2);
}

.post-head h1.pseudo-h2 {
	color: var(--color-secondary);
}

.post-head h1 a,
.post-head h2 a {
	color: inherit;
	text-decoration: none;
	line-height: 1.3;
}

.post-head {
	margin-bottom: 10px;
}

.post-body {
	display: block;
}

.post-head-info {
	margin-bottom: 0;
	display: flex;
	flex-wrap: wrap;
	font-size: 0.938rem;
	font-weight: 400;
	line-height: 1.6;
	color: var(--color-light);
	text-transform: uppercase;
}

.post-head-info-authors span:not(:last-of-type):after {
	content: ", ";
}

.post-head h1 a:hover,
.post-head h1 a:focus,
.post-head h2 a:hover,
.post-head h2 a:focus {
	color: var(--color-secondary);
}

.post-head-info a {
	color: inherit;
	text-decoration: none;
}

.post-head-info a:hover,
.post-head-info a:focus {
	color: var(--color-near-black);
	text-decoration: underline;
}

.post-head-info > div:not(:last-of-type):after {
	margin: 0 8px;
	position: relative;
	display: inline-block;
	content: "|";
}

.post-head-category {
	letter-spacing: 1px;
	font-weight: 600;
	font-size: 0.75rem;
	margin-bottom: 10px;
	text-transform: uppercase;
}

.post-head-category a {
	padding: 5px 10px;
	display: inline-block;
	text-decoration: none;
	color: var(--color-white);
	background-color: var(--color-secondary);
}

.post-head-category a:focus,
.post-head-category a:hover {
	background-color: var(--color-primary);
}

.post-body-image img {
	max-width: 100%;
	display: block;
}

.post-body-image {
	margin-bottom: 15px;
}

.post-body-content p {
	margin-bottom: 15px;
}

.post-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.post-bottom-share {
	font-weight: 600;
	font-size: 1.063rem;
	text-decoration: none;
	color: var(--color-secondary);
}

.post-bottom-share:hover,
.post-bottom-share:focus {
	color: var(--color-primary);
}

/* BLOG > About Author */
.about-author {
	margin-top: 30px;
	margin-bottom: 30px;
	padding-top: 30px;
	border-top: 1px solid var(--color-secondary);
}

.about-author h3 {
	margin-bottom: 20px;
	color: var(--color-primary);
}

.about-author-content {
	display: flex;
	align-items: flex-start;
}

.about-author-avatar {
	margin-right: 20px;
	flex-shrink: 0;
}

.about-author-avatar img {
	border-radius: 50%;
}

.about-author-info h4 {
	margin-bottom: 10px;
	color: var(--color-primary);
}

.about-author-info p {
	margin-bottom: 0;
	font-size: 0.95rem;
}

@media screen and (min-width: 1025px) {
	.post-body {
		display: flex;
		flex-direction: row-reverse;
	}

	.post-body-image {
		margin: 0 0 0 30px;
		flex-basis: 33%;
		width: 33%;
	}

	.post-body-content {
		flex: 1;
	}

	.single .post-body {
		display: block;
	}

	.single .post-body-image {
		margin: 0 0 30px;
		width: 100%;
	}
}

/* BLOG > Blog Grid Style */
.blog-grid .post {
	padding-bottom: 0;
	border: 1px solid var(--color-primary);
}

.blog-grid .post-inner {
	padding: 30px;
}

.post-thumbnail-link {
	transition: opacity 200ms ease-out;
}

.post-thumbnail-link:focus,
.post-thumbnail-link:hover {
	opacity: 0.9;
}

.post-thumbnail-image {
	height: 175px;
	background-repeat: no-repeat;
	background-position-x: 50%;
	background-position-y: 100%;
	background-size: cover;
}

.blog-filters {
	margin-bottom: 40px;
}

.blog-filters-block:not(:last-of-type) {
	margin-bottom: 20px;
}

#blog-grid-pagination {
	margin-top: 50px;
}

.blog-grid .post,
.blog-filters-block {
	max-width: 380px;
}

@media screen and (min-width: 760px) {
	.blog-filters {
		margin-bottom: 60px;
		display: flex;
		justify-content: space-between;
	}

	.blog-filters-block {
		margin-bottom: 0 !important;
		width: 48%;
	}

	.blog-grid .post-inner {
		padding: 40px;
	}

	.blog-grid .post-head-info-authors {
		display: none;
	}

	.blog-grid .post {
		margin-bottom: 30px;
	}
}

@media screen and (min-width: 1025px) {
	.post-thumbnail-image {
		height: 250px;
	}

	.blog-filters {
		justify-content: flex-start;
	}

	.blog-filters-block:not(:last-of-type) {
		margin-right: 30px;
	}
}

/* BLOG > Page Navigation */
.wp-pagenavi {
	display: flex;
}

.wp-pagenavi a,
.wp-pagenavi span {
	margin: 0;
	margin-right: 20px;
	display: block;
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	color: var(--color-body-text);
}

.wp-pagenavi span.current {
	font-weight: bold;
	text-decoration: none;
	color: var(--color-secondary);
}

.wp-pagenavi a:hover,
.wp-pagenavi a:focus {
	color: var(--color-alternate);
}

.wp-pagenavi span.pages,
.wp-pagenavi span.extend {
	display: none;
}

.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .first,
.wp-pagenavi .last {
	display: inline-flex;
	align-items: center;
	width: auto;
	font-weight: bold;
	color: var(--color-secondary);
	border-radius: 0;
	background: none;
}

.wp-pagenavi .nextpostslink:hover,
.wp-pagenavi .nextpostslink:focus,
.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .previouspostslink:focus,
.wp-pagenavi .first:hover,
.wp-pagenavi .first:focus,
.wp-pagenavi .last:hover,
.wp-pagenavi .last:focus {
	color: var(--color-alternate);
	background: none;
}

/*******************************************************************************************
TEMPLATES - Pre-built subpages
*******************************************************************************************/

/* TEMPLATES > Attorney Bios */
.content-tabs-anchor-links .content-tabs-row {
	margin: 0;
	position: absolute;
	right: 0;
	bottom: 100%;
	left: 0;
	z-index: 1;
	background: rgba(15, 133, 119, 0.8);
}

.content-tabs-anchor-links .content-tabs-row button {
	margin: 0;
	position: relative;
	flex: 1;
	min-height: 60px;
	color: var(--color-white);
	background: none;
}

.content-tabs-anchor-links .content-tabs-row button:hover,
.content-tabs-anchor-links .content-tabs-row button:focus {
	background: var(--color-primary);
}

.content-tabs-anchor-links .content-tabs-row button:after {
	position: absolute;
	top: calc(50% - 7px);
	right: 0;
	width: 1px;
	height: 14px;
	background: var(--color-near-white);
	content: "";
}

.content-tabs-anchor-links .content-tabs-row button i {
	display: none;
}

.content-tabs-anchor-links .content-tabs-row button.active {
	color: var(--color-secondary);
	background: var(--color-near-white);
}

.content-tabs-anchor-links .content-tabs-row button:hover:after,
.content-tabs-anchor-links .content-tabs-row button:focus:after,
.content-tabs-anchor-links .content-tabs-row button.active:after {
	display: none;
}

/* TEMPLATES > Attorneys Landing */

/* Attorney Boxes */
.attorney-links {
	display: flex;
	flex-wrap: wrap;
	line-height: 1.4;
	font-weight: bold;
	letter-spacing: 1px;
	text-transform: uppercase;
	justify-content: center;
	margin-bottom: 15px;
}
.attorney-links button {
	font-size: 1.188rem;
	text-decoration: none;
	color: var(--color-primary);
	background: none;
	border: none;
	cursor: pointer;
	text-transform: uppercase;
	padding: 0;
	position: relative;
}

.attorney-links button:hover,
.attorney-links button:focus {
	color: var(--color-secondary);
}

.attorney-links button:focus {
	outline: none;
}

.attorney-links button:focus-visible {
	outline: 2px solid var(--color-secondary);
}

.attorney-links button:after {
	content: "";
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	width: 100%;
	height: 2px;
	background-color: var(--color-secondary);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 320ms ease-out;
}

.attorney-links li:first-child button:after {
	transform-origin: right;
}

.attorney-links button.active:after {
	transform: scaleX(1);
}

.attorney-links li:not(:last-child) {
	margin-right: 18px;
	padding-right: 18px;
	border-right: 1px solid var(--color-secondary);
}

.attorney-intro {
	margin: 0 auto 54px;
	max-width: 760px;
}

.attorney-single-box {
	margin-bottom: 32px;
	padding: 25px;
	position: relative;
	text-decoration: none;
	background-color: var(--color-light-alt);
}

.attorney-single-box.is-active .attorney-result-container {
	display: block;
}

.attorney-results .attorney-single-box {
	width: 100%;
}

.attorney-result-image-container {
	margin-bottom: 10px;
	position: relative;
	transition: all 200ms ease-out;
}

.attorney-result-image-container img {
	display: block;
}

.attorney-result-overlay {
}

.attorney-single-box-info {
}

.attorney-single-box-info h2,
.attorney-single-box-info p {
	margin: 0;
}

.attorney-single-box h2,
.attorney-result-info h2 {
	font-size: 1.313rem;
	font-weight: 600;
	color: var(--color-primary);
}

.attorney-single-box-info p,
.attorney-result-info p {
	font-size: 1rem;
	font-style: italic;
}

.attorney-result-container {
	display: none;
}

.attorney-result-image {
	display: none;
}

.attorney-result-info h2,
.attorney-result-info p {
	display: none;
}

.attorney-result-info ul {
	line-height: 1.4;
	margin-bottom: 20px;
	font-size: 0.875rem;
}

.attorney-result-info li {
	margin-top: 5px;
}

.attorney-result-info li a {
	padding-left: 22px;
	display: inline-block;
	position: relative;
	text-decoration: none;
	color: var(--color-primary);
}

.attorney-result-info li i {
	left: 0;
	top: 50%;
	font-size: 80%;
	display: block;
	position: absolute;
	color: var(--color-secondary);
	transform: translateY(-50%);
}

.attorney-result-info li a:hover,
.attorney-result-info li a:focus {
	color: var(--color-secondary);
}

.attorney-result-info ul li:first-of-type:before {
	width: 41px;
	height: 2px;
	content: "";
	display: block;
	margin-bottom: 10px;
	margin-top: 10px;
	background-color: var(--color-secondary);
}

.attorney-result-button {
	display: inline-block;
	padding: 10px 20px;
	font-size: 0.75rem;
	font-weight: 700;
	text-decoration: none;
	letter-spacing: 1px;
	color: var(--color-primary);
	border: 2px solid var(--color-primary);
	text-transform: uppercase;
}

.attorney-result-button:hover,
.attorney-result-button:focus {
	color: var(--color-white);
	background-color: var(--color-primary);
}

.attorney-single-link {
	right: 0;
	bottom: 0;
	width: 37px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	text-decoration: none;
	color: var(--color-white);
	background-color: var(--color-primary);
}

.attorney-single-link:hover,
.attorney-single-link:focus {
	color: var(--color-white);
	background-color: var(--color-secondary);
}

@media screen and (min-width: 650px) {
	.attorney-results {
		display: grid;
		grid-row-gap: 20px;
		grid-column-gap: 20px;
		grid-template-columns: repeat(2, 1fr);
	}

	.attorney-single-box {
		margin-bottom: 0;
	}

	.attorney-single-box:hover .attorney-result-container,
	.attorney-single-box:focus .attorney-result-container,
	.attorney-single-box:focus-within .attorney-result-container {
		display: flex;
		-webkit-animation: fadeIn 200ms ease-out;
		animation: fadeIn 200ms ease-out;
	}

	.attorney-result-container {
		left: 50%;
		top: 50%;
		z-index: 1;
		width: 410px;
		padding: 30px 25px;
		position: absolute;
		align-items: center;
		border-radius: 4px;
		background-color: var(--color-sky);
		transform: translate(-50%, -50%);
	}

	.attorney-result-image {
		width: 143px;
		display: block;
		margin-right: 22px;
	}

	.attorney-result-image img {
		width: 100%;
		height: auto;
		display: block;
		border-radius: 50%;
	}

	.attorney-result-info {
		flex: 1;
	}

	.attorney-result-info h2,
	.attorney-result-info p {
		display: block;
		margin-bottom: 0;
	}

	.attorney-result-info ul {
		z-index: 1;
		margin-bottom: 0;
		position: relative;
	}

	.attorney-result-button {
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		display: block;
		font-size: 0;
		border: 0;
		color: transparent;
		position: absolute;
	}

	.attorney-result-button:hover,
	.attorney-result-button:focus {
		color: transparent;
		background-color: transparent;
	}
}

@media screen and (min-width: 900px) {
	.attorney-links {
		margin-bottom: 30px;
	}

	.attorney-results {
		grid-row-gap: 32px;
		grid-column-gap: 32px;
		grid-template-columns: repeat(3, 1fr);
	}
}

/* TEMPLATES > Practices Landing */
.practice-box {
	display: block;
	line-height: 1.6;
	position: relative;
	padding: 20px 25px;
	font-weight: 600;
	font-size: 1.313rem;
	text-decoration: none;
	color: var(--color-primary);
	transition: color 200ms ease-out;
	border-bottom: 1px solid var(--color-gray);
}

.practice-box:before,
.practice-box-list .accordion-item-content a:before,
.practice-box-list .accordion-item-title:before {
	left: 0;
	top: 50%;
	content: "";
	display: block;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	position: absolute;
	transform: translateY(-50%);
	background-color: var(--color-secondary);
}

.practice-box-list .accordion-item-title:hover,
.practice-box:hover,
.practice-box:focus {
	color: var(--color-secondary);
}

.practice-box-column {
	border-top: 1px solid var(--color-gray);
}

.practice-box-column + .practice-box-column {
	margin-top: -1px;
}

.practice-box-list .accordion-item {
	margin-bottom: 0;
	position: relative;
	background: transparent;
	border-bottom: 1px solid var(--color-gray);
}

.practice-box-list .accordion-item-title {
	padding-right: 0;
	transition: color 200ms ease-out;
}

.practice-box-list .accordion-item-content a {
	color: var(--color-primary);
	text-decoration: none;
	font-weight: 600;
	display: inline-block;
	position: relative;
	padding-left: 20px;
}

.practice-box-list .accordion-item-content a:hover,
.practice-box-list .accordion-item-content a:focus {
	color: var(--color-secondary);
}

.practice-box-list .accordion-item-content ul {
	margin-bottom: 0;
}

@media screen and (min-width: 768px) {
	.practice-box-list {
		display: grid;
		grid-row-gap: 20px;
		grid-column-gap: 40px;
		grid-template-columns: repeat(2, 1fr);
	}

	.practice-box-column + .practice-box-column {
		margin-top: 0;
	}
}

/* TEMPLATES > Video Gallery */
.videos-filter {
	margin-bottom: 50px;
}

@media screen and (min-width: 1025px) {
	.videos-filter {
		max-width: 450px;
	}
}

/* TEMPLATES > Contact */
.office-block {
	margin-bottom: 30px;
}

.office-block-image {
	width: 100%;
	height: 300px;
	background-repeat: no-repeat;
	background-position-x: 50%;
	background-size: cover;
}

.office-block-info {
	padding: 30px;
	position: relative;
	background: var(--color-light-alt);
}

.office-block-info p {
	margin: 0;
}

.office-contact {
	margin-top: 30px;
	margin-bottom: 30px;
}

.office-contact p {
	font-weight: 700;
}

.office-block-info-inner {
	width: 100%;
}

.office-contact-map {
	right: 0;
	bottom: 0;
}

@media screen and (min-width: 1025px) {
	.office-block {
		display: flex;
	}

	.office-contact-map {
		position: absolute;
	}

	.office-contact {
		margin-top: 0;
	}

	.office-block-image {
		display: flex;
		flex-basis: 250px;
		width: 250px;
		height: 250px;
	}

	.office-block-info {
		display: flex;
		flex: 1;
		flex-wrap: wrap;
		align-items: center;
	}
}

/* TEMPLATES > Contact */
.page-template-template-contact .footer-copyright {
	padding: 30px 0;
	text-align: center;
}

.page-template-template-contact .footer-copyright ul {
	justify-content: center;
}

/* TEMPLATES > Attorney Bios */
.content-tabs-row {
	margin-bottom: 30px;
	display: none;
	flex-wrap: wrap;
}

.content-tabs-row-inner {
	display: flex;
}

.content-tabs-row .content-tab-activate {
	margin-right: 10px;
}

.content-tab-activate {
	flex: 1;
	border-radius: 0;
}

.content-tab-activate.active {
	background: var(--color-primary);
	pointer-events: none;
}

.content-tab {
	margin-bottom: 50px;
	display: none;
}

.content-tab.active {
	-webkit-animation: fadein 200ms ease-out;
	animation: fadeIn 200ms ease-out;
}

.content-tab.active,
.content-tabs-anchor-links .content-tab {
	display: block;
}

.content-tabs-anchor-links .mobile-tab {
	display: none;
}

.content-tabs-select {
	margin: 0 auto 30px;
	display: none;
}

.content-tabs-anchor-links .content-tabs-select {
	display: block;
}

.mobile-tab {
	margin-bottom: 20px;
	padding: 20px 30px;
	position: relative;
	width: 100%;
	text-align: left;
}

.mobile-tab:after {
	position: absolute;
	right: 15px;
	font-family: var(--font-family-icon);
	content: "\f0d7";
}

@media screen and (min-width: 1025px) {
	.content-tabs {
		display: flex;
		flex-wrap: wrap;
	}

	.content-tabs-row {
		display: block;
	}

	.mobile-tab,
	.content-tabs-anchor-links .content-tabs-select {
		display: none;
	}
}

/* TEMPLATES > Confirmation */
.confirm-contact {
	margin-bottom: 10px;
	display: flex;
	flex-wrap: wrap;
}

.confirm-contact a:not(:last-child) {
	margin-right: 20px;
}

.confirm-social {
	margin-bottom: 60px;
}

/* TEMPLATES > Reviews */
.review-social {
	margin: 40px 0;
}

.review-social .social-links {
	justify-content: flex-start;
	max-width: none;
}

.after-content-buttons a {
	margin-bottom: 15px;
}

.review-social .social-links a {
	margin: 0 15px 0 0;
	width: 50px;
	height: 50px;
	font-size: 1.7rem;
	border: 1px solid var(--color-primary);
	background: var(--color-near-white);
	transition: all 200ms ease-out;
}

.review-social .social-links a:focus,
.review-social .social-links a:hover {
	opacity: 0.85;
	background: var(--color-light-gray);
}

.review-stars i {
	font-size: 2rem;
	color: var(--color-secondary);
}

@media screen and (min-width: 475px) {
	.after-content-buttons a:not(:first-child) {
		margin-left: 15px;
	}

	.after-content-buttons a {
		margin-bottom: 0;
	}
}

/* TEMPLATES > Testimonials */
.content-testimonial-single:not(:last-child) {
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom: 1px solid var(--color-gray);
}

.content-testimonial-stars {
	font-size: 1.5rem;
}

.content-testimonial-source {
	display: block;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.content-testimonial-source:before {
	margin-right: 6px;
	display: inline-block;
	content: "-";
}

.sidebar-cta-image img {
	width: auto;
	max-width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	-webkit-transition: opacity 200ms ease-out;
	-moz-transition: opacity 200ms ease-out;
	-ms-transition: opacity 200ms ease-out;
	-o-transition: opacity 200ms ease-out;
	transition: opacity 200ms ease-out;
}

.sidebar-cta-image a:focus img,
.sidebar-cta-image a:hover img {
	opacity: 0.9;
}

.sidebar-cta-image {
	position: relative;
	display: flex;
	justify-content: center;
}

.sidebar-cta-image a {
	display: inline-block;
}

@media screen and (min-width: 1025px) {
	.sidebar-cta-image {
		justify-content: flex-start;
	}
}

/* TEMPLATES > Contact Sidebar */
.sidebar-content,
.sidebar-disclaimer {
	position: relative;
}

.sidebar-disclaimer {
	margin-top: 30px;
	padding-top: 30px;
	border-top: 1px solid var(--color-gray);
}

.sidebar-disclaimer p {
	font-size: 0.9rem;
}
