#location {
	margin-top: 30px;
	margin-bottom: 0;
	padding-bottom: 20px;
}

#location .title {
	margin-bottom: 51px;
	font-size: 2em;
	line-height: 1;
}

#location .location-inner {
	gap: 0 104px;
}

#location .manager .button,
#location .customer a {
	height: 39px;
	line-height: 39px;
	font-size: 1.25em;
	text-decoration: none;
	color: #fff;
	background-color: var(--red);
	width: 222px;
	border-radius: 20px;
	text-align: center;
}

#location .manager .button {
	margin-top: 15px;
	margin-bottom: 39px;
}

#location .manager,
#location .contact,
#location .hours {
	border-bottom: 1px solid var(--dark-gray);
	margin-bottom: 35px;
}

#location .contact .phone a {
	padding: 0 !important;
}

#location .welcome h5 {
	font-size: 2em;
	margin-bottom: 25px;
}

#location .manager-name,
#location .contact h5,
#location .hours h5,
#location .customer h5 {
	font-size: 2em;
	line-height: 1;
	margin-bottom: 18px;
}

#location .hours tr td:first-child {
	min-width: 149px;
}

#location .hours {
	font-size: 1em;
	line-height: 2.125;
}

#location .address {
	line-height: 23px;
	margin-bottom: 24px;
}

#location .role {
	font-size: 1.5625em;
	line-height: 1;
}

#location .contact .image-wrapper {
	flex-basis: 50px;
}

#location .main {
	flex-basis: 710px;
}

#location .side {
	margin-top: 5px;
	flex: 0 0 305px;
}

#location .welcome p {
	font-size: 1em;
	line-height: 1.5;
	margin-bottom: 2em;
}

#location .welcome a {
	text-decoration: underline;
	color: var(--red);
}

#location .contact img {
}

#location .contact p {
	font-size: 1em;
	line-height: 1.3125;
}

@media screen and (max-width: 767px) {
	#location {
		margin-top: 30px;
	}

	#location .main {
		position: relative;
		order: 2;
		margin-top: 81px;
	}

	#location .location-inner {
		flex-wrap: wrap;
	}

	#location .side {
		margin-top: 45px;
		flex: 1;
	}

	#location .manager,
	#location .contact,
	#location .hours {
		margin-bottom: 2em;
	}
	#location .manager-name, 
	#location .contact h5, 
	#location .hours h5, 
	#location .customer h5 {
		font-size: 1.5em;
		line-height: 1.333;
		margin-bottom: 21px;
	}
	#location .manager-name {
		margin-bottom: 9px;
	}
	#location .role {
		font-size: 1em;
	}
	#location .contact {
		max-width: 100%;
		border: none;
		padding-bottom: 44px;
		margin-bottom: 0;
	}

	#location .address {
		margin-bottom: 23px;
	}

	#location .contact .button {
		padding: 0;
		text-align: center;
		height: 45px;
		line-height: 45px;
		width: 100%;
		max-width: unset;
		margin: 20px auto 0 auto;
		background-color: var(--red);
		color: #fff;
		font-size: 16px;
	}

	#location .contact>div {
		align-items: center;
	}

	#location .contact .image-wrapper {
		flex-basis: 50px;
	}

	#location .hours tr td,
	#location .hours tr td:first-child {
	}

	#location .manager {
		margin-bottom: 43px;
		padding-bottom: 54px;
	}

	#location .manager .button {
		margin-top: 18px;
		margin-bottom: 0;
	}

	#location .title {
		margin-bottom: 2px;
	}

	#location .hours {
		margin-top: 49px;
		padding-bottom: 49px;
		margin-bottom: 0;
		border: none;
		position: relative;
	}

	#location .customer {
		border: none;
		position: relative;
		margin-top: 49px;
	}

	#location .hours::before,
	#location .customer::before,
	#location .welcome::before {
		content: '';
		position: absolute;
		background-color: var(--dark-gray);
		height: 1px;
		top: -49px;
		width: 100vw;
		left: -15px;
	}

	#location .welcome h5 {
		font-size: 1.5em;
		margin-bottom: 20px;
	}
}

@media screen and (max-width: 567px) {
	#location {
		padding-bottom: 0;
		margin-bottom: 50px;
		margin-top: 19px;
	}

	#location .title {
		font-size: 1.375em;
	}

	#location .title img {
		width: 265px;
	}
}