/* Above-fold subpage chrome (banner, attorney search form, shared form bits) */

/*******************************************************************************************
SUBPAGE BANNER — early paint + clip scale animation (overflow hidden prevents end snap)
*******************************************************************************************/

.banner {
	height: 390px;
	position: relative;
	background-size: cover;
	background-repeat: no-repeat;
	background-position-x: 50%;
	overflow: hidden;
	margin-top: 0;
}

.banner-xl {
	margin-top: 0;
}

.banner-image {
	height: 100%;
	width: 100%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	position: absolute;
	left: 0;
	top: 0;
	transform: scale(1.03) translateZ(0);
	transform-origin: center;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	will-change: transform;
	-webkit-transition: transform 1000ms ease-out;
	-moz-transition: transform 1000ms ease-out;
	-ms-transition: transform 1000ms ease-out;
	-o-transition: transform 1000ms ease-out;
	transition: transform 1000ms ease-out;
}

.banner-image.active {
	transform: scale(1) translateZ(0);
}

.banner::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	pointer-events: none;
	background-image: linear-gradient(to top, rgb(23, 23, 69, 0), #171745);
	z-index: 1;
}

.banner>.row {
	height: 100%;
	max-width: 1200px;
}

.banner-inner {
	position: relative;
	z-index: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	height: 100%;
	float: none;
}

.banner-title {
	font-size: 60px;
	color: #fff;
	margin-bottom: 0;
	font-family: var(--heading-font-family);
	line-height: 1.2;
	padding-bottom: 0;
	font-weight: 300;
	text-transform: capitalize;
	padding-top: 48px;
	letter-spacing: 0;
	text-align: center;
	position: relative;
	display: flex;
	justify-content: center;
}

@media screen and (min-width: 1025px) {
	.banner {
		height: 370px;
	}
}

/*******************************************************************************************
FONT AWESOME — solid only for above-fold form icons (full FA sheets still load delayed)
*******************************************************************************************/

@font-face {
	font-family: "Font Awesome 5 Pro";
	font-style: normal;
	font-weight: 900;
	font-display: swap;
	src: url("../fonts/fa-solid-900.woff2") format("woff2");
}

.fa,
.fas {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	line-height: 1;
	font-family: "Font Awesome 5 Pro";
	font-weight: 900;
}

.fa-user:before {
	content: "\f007";
}

.fa-briefcase:before {
	content: "\f0b1";
}

.fa-building:before {
	content: "\f1ad";
}

.fa-caret-right:before {
	content: "\f0da";
}

/*******************************************************************************************
SHARED FORM CONTROLS
*******************************************************************************************/

input,
select,
textarea {
	color: #000;
	background: none;
	border: 0;
	border-bottom: 1px solid #fff;
	font-size: 0.9rem;
	line-height: 1;
	font-family: var(--body-font-family);
	-webkit-box-shadow: none;
	box-shadow: none;
	margin: 0;
	width: 100%;
	border-radius: 0;
	padding: 0;
}

input,
select,
textarea,
label {
	height: 50px;
	line-height: 50px;
}

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	border: 1px solid #dddddd;
}

select::-ms-expand {
	display: none;
}

form legend,
form label,
form p {
	font-size: 0.9rem;
}

label {
	position: absolute;
	bottom: 0;
	left: 0;
	padding-left: 10px;
	pointer-events: none;
	color: #fff;
	-webkit-transition: all 200ms ease-out;
	-o-transition: all 200ms ease-out;
	transition: all 200ms ease-out;
}

.form-input-group {
	display: block;
	position: relative;
	width: 100%;
	margin-bottom: 10px;
	text-align: left;
}

.form-input-group label i {
	color: #f7b334;
}

.select-wrapper {
	position: relative;
	width: 100%;
}

.attr-form-icon {
	position: absolute;
	left: 15px;
	top: 23%;
	z-index: 1;
}

.attr-form-icon i {
	color: #f7b334;
}

.select-wrapper.attr-select-wrapper select {
	padding-left: 40px;
}

.select-wrapper::after {
	content: "\f0d7";
	font-weight: 900;
	font-family: "Font Awesome 5 Pro";
	position: absolute;
	right: 1px;
	top: 1px;
	text-align: center;
	width: 45px;
	line-height: 44px;
	color: #171745;
	pointer-events: none;
	-webkit-transition: all 200ms ease-out;
	-moz-transition: all 200ms ease-out;
	-ms-transition: all 200ms ease-out;
	-o-transition: all 200ms ease-out;
	transition: all 200ms ease-out;
	height: 41px;
}

.background-input input,
.background-input textarea,
.background-input select {
	background-color: #fff;
	border: 1px solid #e0e0e0;
	color: #171745;
	padding-left: 10px;
	font-weight: normal;
	font-size: 20px;
	font-family: var(--heading-font-family);
}

button.alt-01,
.button.alt-01 {
	background-color: #f7b334;
}

button.alt-01:hover,
button.alt-01:focus,
.button.alt-01:hover,
.button.alt-01:focus {
	background-color: #231f20;
	color: #fff;
}

button.no-button,
.button.no-button {
	padding: 0;
	background: none;
	color: #f7b334;
	text-transform: none;
}

button.no-button:hover,
button.no-button:focus,
.button.no-button:hover,
.button.no-button:focus {
	color: #000;
	text-decoration: underline;
}

/*******************************************************************************************
ATTORNEY / TEAM SEARCH (above-fold)
*******************************************************************************************/

.attorney-search-container {
	padding-top: 40px;
}

.page-template-template-attorneys form legend,
.page-template-template-attorneys form label,
.page-template-template-attorneys form p {
	font-size: 0.9rem;
	color: #000;
}

.attorney-search-letters {
	margin-bottom: 40px;
}

.attorney-search-letters-single {
	display: inline-flex;
	width: 30px;
	height: 30px;
	text-align: center;
	background: none;
	color: #171745;
}

.attr-btn-letter {
	cursor: default;
	color: #a39d9d;
	text-decoration: none;
}

.attr-btn-letter:focus,
.attr-btn-letter:hover {
	cursor: default;
	color: #a39d9d !important;
	text-decoration: none;
}

.attorney-search-letters-single:focus,
.attorney-search-letters-single:hover {
	background: none;
	color: #cea300;
}

span.attorney-search-letters-single {
	color: #c0c3d3;
}

#attorney-search-form select {
	font-family: var(--body-font-family);
	font-size: 15px;
}

@media screen and (min-width: 700px) {
	.attorney-search-form .form-input-row {
		display: flex;
		column-gap: 15px;
	}

	.attorney-search-form .form-input-group:first-of-type {
		margin-right: 0;
	}

	.form-input-group:first-of-type {
		margin-right: 15px;
	}
}

@media screen and (min-width: 1025px) {
	.attorney-search-letters {
		display: flex;
		justify-content: space-between;
	}
}