/*===========================================================*/
/* ATTORNEY SEARCH FORM TEMPLATE */
/*===========================================================*/
.AttorneySearchForm {
	margin-top: -3.5em;
}
.AttorneySearchForm > p {
	max-width: 75rem;
}

/*===========================================================*/
.AttorneyBackToSearch {
	display: none !important;

	width: 100% !important;
	width: calc(100% + 2rem) !important;

	margin-left:		0;
	margin-left:		calc(0rem - (2rem / 2));
	margin-bottom:	1.5em;

	font-size: 1.8rem;
}

/*===========================================================*/
.AttorneySearchListingByAlphabet {
	margin-bottom: 2em;
}
.SearchAlphabetLabel {
	-webkit-box-flex: 0;
  -moz-box-flex: 0;
	-ms-flex: 0 0 auto; /* IE doesn't use default spec */
	-webkit-flex: 0 0 auto;
	flex: 0 0 auto;

	font-weight: 600;

	white-space: nowrap;
}
.SearchAlphabetLabelMobile {
	display: none;

	margin-right: -1rem;
	margin-bottom: 0.5em;

	text-align: right;

	font-size: 1.4rem;
	font-weight: bold;

	color: #8f6f24;
}
.Button.AlphabetLink {
	height: 1em;
	min-height: 0;

	color: #544759;

	font-weight: normal;

	line-height: 1;

	padding: 0 0.5em;

	border-right: 0.1rem solid #000;
}
.Button.AlphabetLink.Selected {
	font-weight: bold;
}
.Button.AlphabetLink:last-child {
	border-right: none;
}

/*===========================================================*/
.AttorneySearchByPracticeArea {
	margin-top: 30px;
}

.AttorneySearchByPracticeAreaSelected {
	display: inline-block;

	min-width: 36.5rem;
	height: 2.25em;

	position: relative;

	background-color: #e7e7e7;

	border-left: 0.8rem solid #8f6f24;

	line-height: 2.25em;

	white-space: nowrap;

	padding-left: 11px;
	padding-right: 40px;

	cursor: pointer;

	font-weight: bold;
	font-family: Bitter, serif;

	text-align: left;
}
.AttorneySearchByPracticeAreaSelected:after {
	content: "";

	display: block;

	width: 0;
	height: 0;

	position: absolute;
	right: 1.3rem;
	top: 50%;
	z-index: 1;

	margin-top: -0.7rem;

	border-color: #8f6f24;
	border-style: solid;

	border-top-width: 1.5rem;
	border-right: 0.8rem solid transparent;
	border-left: 0.9rem solid transparent;
	border-bottom-width: 0rem;

	-webkit-transition: all 0.25s;
	transition: all 0.25s;
}
.AttorneySearchByPracticeAreaSelected.Open:after {
	border-top-width: 0rem;
	border-bottom-width: 1.5rem;
}
.AttorneySearchByPracticeDropDown {
	display: inline-block;

	position: relative;
}
.AttorneySearchByPracticeAreaOptions {
	max-height: 0%;
	width: 70rem;

	position: absolute;
	z-index: 9999;

	overflow: hidden;

	background-color: #F2F2F2;

	-webkit-transition: all 0.25s;
	transition: all 0.25s;

	visibility: hidden;
}
.AttorneySearchByPracticeAreaSelected.Open + .AttorneySearchByPracticeAreaOptions {
	visibility: visible;
}

.AttorneySearchByPracticeAreaOption {
	width: 50%;

	display: inline-block;
	vertical-align: top;

	-webkit-box-flex: 0;
	-moz-box-flex: 0;

	padding: 0.6em 2em;

	line-height: 1.5;

	text-align: left;

	background-color: transparent;

	border: none;

	border-bottom: 1px solid #C1C1C1;

	cursor: pointer;
}
.AttorneySearchByPracticeAreaOption.Selected {
	font-weight: bold;
}
.AttorneySearchByPracticeAreaOption:hover,
.AttorneySearchByPracticeAreaOption:focus {
	background-color: #e7e7e7;
	outline-offset: -3px;
}
.AttorneySearchByPracticeAreaOption:nth-child(even) {
	border-left: 1px solid #C1C1C1;
}

/*===========================================================*/
.AttorneySearchByPracticeAreaButton {
	display: inline-block;
	margin-left: 0.5em;
	vertical-align: top;
}
.AttorneyMobileSearchByPracticeAreaButton {
	display: none;

	cursor: pointer;

	line-height: inherit;
}

/*===========================================================*/
#AttorneySearchByPracticeDialog {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;

	width: 100%;
	height: 100%;

	-webkit-box-orient: vertical;
	-moz-box-orient: vertical;
	-ms-flex-direction: column;
	-webkit-flex-direction: column;
	flex-direction: column;

	position: fixed;
	left: 0;
	top: 100%;
	z-index: 1000;

	color: #FFF;

	background-color: #d7b361;

	-webkit-transition: top 0.25s;
	transition: top 0.25s;

	visibility: hidden;
}
.ViewAttorney #AttorneySearchByPracticeDialog {
	display: none;
}
#AttorneySearchByPracticeDialog.Open {
	top: 0;

	visibility: visible;
}
#AttorneySearchByPracticeDialog .MenuPages {
	transform: translateX(0);

	-webkit-transition: transform 0.25s;
	transition: transform 0.25s;
}
#AttorneySearchByPracticeDialog .MenuPages[data-page="1"] {
	transform: translateX(-100vw);
}
#AttorneySearchByPracticeDialog .MenuPages[data-page="2"] {
	transform: translateX(-200vw);
}
#AttorneySearchByPracticeDialog .MenuPages[data-page="3"] {
	transform: translateX(-300vw);
}
#AttorneySearchByPracticeDialog .MenuPages[data-page="4"] {
	transform: translateX(-400vw);
}
#AttorneySearchByPracticeDialog .MenuPages[data-page="5"] {
	transform: translateX(-500vw);
}
#AttorneySearchByPracticeDialog .MenuPages[data-page="6"] {
	transform: translateX(-600vw);
}
#AttorneySearchByPracticeDialog .MenuPages[data-page="7"] {
	transform: translateX(-700vw);
}
#AttorneySearchByPracticeDialog .MenuPages > * {
	flex: 0 0 auto;

	width: 100vw;
	min-width: 100vw;

	-webkit-box-flex: 0;
	-moz-box-flex: 0;
}
#AttorneySearchByPracticeDialog .MenuPage {
	visibility: hidden;

	transition: all 0.25s;
}
#AttorneySearchByPracticeDialog .MenuPage.Active {
	visibility: visible;
}
#AttorneySearchByPracticeDialog .MenuPage[data-pages] {
	column-width: 100vw;
	column-gap: 0;
}
#AttorneySearchByPracticeDialog .MenuPage[data-pages="2"] {
	width: 200vw;
}
#AttorneySearchByPracticeDialog .MenuPage[data-pages="3"] {
	width: 300vw;
}
#AttorneySearchByPracticeDialog .MenuPage[data-pages="4"] {
	width: 400vw;
}
#AttorneySearchByPracticeDialog .MenuPage[data-pages="5"] {
	width: 500vw;
}
#AttorneySearchByPracticeDialog .MenuPage[data-pages="6"] {
	width: 600vw;
}
#AttorneySearchByPracticeDialog .MenuPage[data-pages="7"] {
	width: 700vw;
}
#AttorneySearchByPracticeDialog .Title {
	background-color: transparent;
}
#AttorneySearchByPracticeDialog .Content {
	padding: 0;

	font-size: 1.8rem;

	border: none;

	overflow: hidden;
}
#AttorneySearchByPracticeDialog .AttorneySearchByPracticeAreaOption {
	display: none;

	width: 100%;

	border: 0.1rem solid #FFF;
	border-left: none;
	border-right: none;
	border-top: none;
}

#AttorneySearchByPracticeDialog.Open .AttorneySearchByPracticeAreaOption {
	display: block;
}

#AttorneySearchByPracticeDialog .AttorneySearchByPracticeAreaOption:hover,
#AttorneySearchByPracticeDialog .AttorneySearchByPracticeAreaOption:focus,
#AttorneySearchByPracticeDialog .AttorneySearchByPracticeAreaOption.Selected {
	color: #5c491d;

	background-color: transparent;
}

#AttorneySearchByPracticeDialog .MenuNavigation {
	-webkit-box-pack: justify;
	-moz-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;

	font-weight: bold;
	font-size: 1.5rem;
}
#AttorneySearchByPracticeDialog .MenuNavigation .Button {
	display: none;

	width: 100%; /* overriden by flex-shrink when more than 1 button */

	padding: 0 0.75em;

	color: inherit;

	text-align: left;

	-webkit-box-pack: start;
	-moz-box-pack: start;
	-ms-flex-pack: start;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;

	cursor: pointer;

	background-color: transparent;
}
#AttorneySearchByPracticeDialog .MenuNavigation .Button:last-child {
	text-align: right;

	-webkit-box-pack: end;
	-moz-box-pack: end;
	-ms-flex-pack: end;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}
#AttorneySearchByPracticeDialog .MenuNavigation .Button.Active {
	display: -moz-inline-box;
	display: -ms-inline-flexbox;
	display: -webkit-inline-flex;
	display: inline-flex;
}

#AttorneySearchByPracticeDialog .Buttons {
	font-size: 1.5rem;
}
#AttorneySearchByPracticeDialog .Button.Menu {
	line-height: 1.2em;

	color: inherit;

  	border: 0.2rem solid #FFF;
}

/*===========================================================*/
@media (max-width: 1140px) {
	.AttorneySearchListingByAlphabet {
		-webkit-box-orient: vertical;
		-moz-box-orient: vertical;
		-ms-flex-direction: column;
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	.SearchAlphabetLabel {
		margin-bottom: 0.5em;
	}
	.AlphabetLink:first-child {
		padding-left: 0;
	}
}
@media (max-width: 960px) {
	.AttorneySearchForm {
		margin-top: -2em;
	}
}
@media (max-width: 768px) {
	.AttorneySearchForm {
		margin-top: -1em;
	}
}
@media (max-width: 640px) {
	.AttorneySearchForm {
		margin-top: 0;
	}
	.AttorneySearchForm.ShowBackToSearch,
	.SearchAlphabetLabel,
	.AttorneySearchByPracticeDropDown,
	.AttorneySearchByPracticeAreaButton{
		display: none;
	}

	.AttorneyMobileSearchByPracticeAreaButton {
		display: inline-block;
	}

	.AttorneySearchListingByAlphabet {
		overflow-x: scroll;

		padding-bottom: 0.5rem;

		margin: 0 -2rem 0.2em -2rem;

		white-space: nowrap;
	}
	.AlphabetList {
		width: calc((4.6rem + 0.1875em) * 14 + (2rem - 0.1875em) + 2rem);

		padding-right:	calc(2rem - 0.1875em);
		padding-left:		2rem;

		display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;

		-webkit-box-lines: multiple;
		-moz-box-lines: multiple;
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.Button.AlphabetLink {
		width: 4.6rem;

		min-height: 4.15rem;

		padding: 0;

		margin: 0 0.1875em 0.25em 0;

		font-family: Bitter, serif;
		font-weight: bold;

		color: #8f6f24;

		border: 0.1rem solid #8f6f24 !important;
		border-radius: 0.25em;

		outline-color: #8f6f24;
		outline-offset: -4px;
	}
	.Button.AlphabetLink.Selected {
		color: #FFF;

		background-color: #8f6f24;

		outline-color: #eedeba;
	}
}
@media only screen and (max-width: 640px) {
	.AttorneySearchForm.ShowBackToSearch ~ .AttorneyBackToSearch {
		display: -moz-inline-box !important;
		display: -ms-inline-flexbox !important;
		display: -webkit-inline-flex !important;
		display: inline-flex !important;
	}
}
@media (max-width: 588px) {
	.SearchAlphabetLabelMobile {
		display: block;
	}
}

@media print {
	.AttorneySearchForm,
	.AttorneyBackToSearch {
		display: none;
	}
}