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

#mainContent:not(:only-child)
{
	float: none;
	width: 100%;
}

#mainContent p 
{
	max-width: 1050px;
}

#officeList
{
	margin-top: 55px;
}

#officeList ul 
{
	display: grid;
	grid-gap: 37px;
}

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

#officeList li 
{
	position: relative;
	overflow: hidden;
	background: var(--darkblue);
}

#officeList .content 
{
	padding: 33px 25px 45px;
	color: #ffffff;
	box-sizing: border-box;
	background: var(--darkblue);
	line-height: 1.36;
}

#officeList .image 
{
	overflow: hidden;
	aspect-ratio: 467/297;
	background: var(--darkgreen);
}

#officeList .image img 
{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#officeList .title 
{
	color: var(--lightblue);
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 15px;
	--max-font-size: 19;
}

#officeList .address 
{
	margin-bottom: 15px;
	letter-spacing: 1px;
	--max-font-size: 19;
}

#officeList .phone 
{
	--max-font-size: 19;
}

#officeList .title a:not(:hover):not(:focus)
{
	color: inherit;
}


@media (min-width: 768px)
{
	#officeList ul
	{
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px)
{
	#officeList ul
	{
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 1280px)
{
	#officeList .content
	{
		position: absolute;
		top: calc(100% - 60px);
		width: 100%;
		height: 100%;
		padding-top: 20px;
		padding-left: 33px;
		transition: all 500ms ease;
	}

	#officeList li:hover .content,
	#officeList li:focus-within .content
	{
		padding-top: 10%;
		top: 0;
	}

	#officeList .address 
	{
		--fluid-start: 1280;
	}
}


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