/* BEGIN OFFICE-LISTING CSS -------------------------------------> */

#contactContent
{
	position: relative;
	max-width: 1270px;
	margin: 0 auto;
	padding: 0 2% 3em 2%;
	box-sizing: border-box;
}

body.office-state #mainContent > div:first-child > a.sp_pencil
{
	display: none;
}

/* svg map */

#officeMap
{
	position: relative;
	padding: 1.6% 10%;
	background: var(--light-blue);
	box-sizing: border-box;
}

#contact #content
{
	position: relative;
	max-width: 1390px;
}

#officeMapList ul,
#officeMapList li
{
	list-style: none;
	margin: 0;
	padding: 0;
}

#officeMapList ul
{
	display: flex;
	flex-wrap: wrap;
}

#officeMapList li .details
{
	margin: 0 10px 10px 0;
	min-width: 470px;
	height: 196px;
	background: white;
	padding: 3px 20px 3px 133px;
	box-sizing: border-box;
	color: #0D2146;
	font-size: 16px;
	line-height: 1.5;
	font-weight: 400;
	position: relative;
	border: 10px solid transparent;
	background-clip: padding-box;
}

#officeMapList a.sp_pencil
{
	display: none;
}

#officeMapList li .details a:not(:hover,:focus)
{
	color: #0D2146;
}

#officeMapList li .details > :first-child
{
	padding-bottom: 0.75em;
}

#officeMapList li .officepic
{
	position: absolute;
	left: 3px;
	top: 3px;
	bottom: 3px;
	width: 113px;
}

#officeMapList li .officepic img
{
	width: 100%;
}

#officeMapList li .details
{
	display: none;
	position: absolute;
	top: 30px;
	left: 0;
	z-index: 999;
	background: #E4F0C2;
}

/*#officeMapList li:focus-within .details - ruins being able to click the city link within the div */
#officeMapList li:focus .details
{
	display: block;
	top: 0 !important;
	left: 0 !important;
}

#officeMapList li .details .title
{
	color: #0D2146;
	font-family: var(--font-family-ptserif);
	font-size: 1.2rem;
	font-weight: 700;
}

#officeMapList li .details .title a:not(:hover,:focus) 
{
	color: #0D2146;
}

#officeMapList li .details .title .titleHeader
{
	font-weight: 700;
}

#officeMapList .officeDot
{
	position: absolute;
	width: 12px;
	height: 12px;
	padding: 0 0 0 0;
	box-sizing: border-box;
	background: #fff;
	border-radius: 50%;
}

#officeMapList .officeDot div
{
	/*display: none;*/
	position: absolute;
	left: 18px;
	top: -4px;
	color: #ffffff;
	font-size: 13px;
	font-weight: 500;
	text-transform: uppercase;
	white-space: nowrap;
	text-shadow: 2px 2px 3px rgba(0,0,0,0.5);
}

#officeMapList .officeDot.dotRight div
{
	left: auto;
	right: 18px;
}

@media (min-width: 1024px)
{
	#officeMapList li:hover .details,
	#officeMapList li:focus .details
	{
		display: block;
	}
}

@media (max-width: 767px)
{
	#officeMapList li .details
	{
		border-left: 0px solid transparent;
	}
}

@media (max-width: 1270px)
{
	#officeMapList .officeDot
	{
		width: 12px;
		height: 12px;
	}

	#officeMapList .officeDot div
	{
		display: none;
	}
}
@media (max-width: 640px)
{
	#officeMap
	{
		padding: 0 10%;
	}

	#officeMapList .officeDot
	{
		width: 2vw;
		height: 2vw;
	}
}

#officeMap svg
{
	width: 100%;
	/*height: 713px;*/
}

@media (max-width: 1270px)
{
	#officeMap svg
	{
		/*height: calc(52.2vw - 12.8px);*/
	}
}

#officeMap svg path
{
	fill: #92A1BE;
	stroke-width: 1px;
	stroke: #ffffff;
}

#officeMap svg path#HI:not(.hasAdmissions),
#officeMap svg path#AK:not(.hasAdmissions)
{
	display: none;
}

#officeMap svg path.hasAdmissions
{
	fill: #233F73;
}

#mapKey
{
	/*display: none; /* not in the mocks */
}

#mapKey,
#mapKey li
{
	list-style: none;
	margin: 0;
	padding: 0;
}

#mapKey
{
	position: absolute;
	bottom: 10%;
	left: 17%;

	color: white;
	text-transform: uppercase;
	font-size: 13px;
	font-weight: 400;
}

#mapKey li
{
	position: relative;
	padding-left: 31px;
	margin-top: 5px;
}

#mapKey li:before
{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 19px;
	height: 19px;
	background: #233F73;
}

#mapKey li:first-child:before
{
	background: white;
	border-radius: 50%;
}

@media (max-width: 1270px)
{
	#mapKey
	{
		left: 0;
	}

	#mapKey li
	{
		padding-left: 14px;
		line-height: 1;
	}

	#mapKey li:before
	{
		width: 10px;
		height: 10px;
	}
}

/* end office map */


#officeList ul.results_list,
#officeList ul.results_list > li
{
	list-style: none;
	margin: 0;
	padding: 0;
}

#officeList ul.results_list
{
	display: flex;
	flex-wrap: wrap;
	justify-content: start;
}

#officeList ul.results_list > li
{
	float: none;
	width: 100%;
	margin: 0 0 20px 0;
	padding: 0 20px 20px 0;
	box-sizing: border-box;
}

#officeList ul.results_list > li .title
{
	font-weight: 700;
}

#stateOffices
{
	position: relative;
	width: 100%;
	max-width: 1100px;
	margin: 3em auto 0 auto;
	padding: 0 0 0 6%;
	box-sizing: border-box;
}

#stateOffices ul.results_list
{
	margin: 0;
}

#stateOffices ul.results_list > li
{
	color: var(--dark-gray);
	font-size: 1.2rem;
	font-weight: 700;
	margin-bottom: 1em;
}

#stateOffices ul.results_list > li a
{
	color: var(--dark-gray);
}

#stateOffices ul.results_list > li a:is(:hover, :focus)
{
	color: var(--light-blue);
}

@media (min-width: 501px)
{
	#stateOffices ul.results_list
	{
		columns: 2;
	}
}

@media (min-width: 768px)
{
	#stateOffices ul.results_list
	{
		columns: 3;
	}
}

body.office-state #content
{
	max-width: 1602px;
	max-width: 1530px;
}

#officesInState ul.results_list
{
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: min(2vw, 34px);
	margin: 0;
}

#officesInState ul.results_list > li
{
	display: flex;
	gap: min(2vw, 36px);
	width: 100%;
	margin: 0;
	padding: 9px;
	border: 1px solid #DBDBDB; 
	box-sizing: border-box;
}

#officesInState ul.results_list > li .title
{
	margin: 0.3em 0 0.5em 0;
	font-family: var(--font-family-ptserif);
	font-size: 1.2rem;
	font-weight: 700;
}

#officesInState ul.results_list > li .photo
{
	flex: 0 0 50%;
}

#officesInState ul.results_list > li .photo img
{
	display: block;
	width: 100%;
	max-height: 217px;
	object-fit: cover;
}

@media (min-width: 768px)
{
	#officesInState ul.results_list
	{
		flex-direction: row;
	}
	
	#officesInState ul.results_list > li
	{
		width: calc(50% - min(2vw, 36px) / 2);
	}
}






/* END OFFICE-LISTING CSS ---------------------------------------> */
