html, body {
	font-size: 14px;
	line-height: 18px;
}

#map {
	height: 250px;
}

h1, h2 {
	font-size: 2em;
	line-height: 1.25em;
	color: #29615E;
	font-weight: normal;
	margin: 0px 0px 20px;
}

.location-information {
	background: #FFF;
	text-align: center;
}

.location-information h1 {
	margin: 20px;
}

.location-information .contact,
.location-information .hours,
.location-information .store-information {
	text-align: left;
	margin: 20px;
}

.location-information img {
	display: block;
	width: 100%;
	margin-bottom: 20px;
}

.location-information .hours h3,
.location-information .store-information h3 {
	margin: 0px 0px 5px;
}

.location-information .agents {
	padding: 20px;
	text-align: left;
	background: #018287;
	color: #FFF;
}

.location-information .agents h3 {
	margin: 0px 0px 15px;
	font-weight: normal;
	font-size: 1.5em;
	line-height: 1.25em;
}

.location-information .agents ul {
	padding: 0px;
	margin: 0px;
	list-style: none;
	font-size: 1.15em;
}

.location-information .agents li {
	position: relative;
	background: #FFF;
	color: #7D7D7D;
	border-radius: 3px;
	padding: 0px 10px;
	margin-top: 15px;
	text-align: right;
	line-height: 2.5em;
}

.location-information .agents a {
	text-decoration: none;
	color: inherit;
	color: #29615E;
	position: absolute;
	top: 0px;
	left: 0px;
	right: 0px;
	bottom: 0px;
	padding: 0px 60px 0px 10px;
	text-align: left;
	overflow: hidden;
	text-overflow: ellipsis;
}

.location-information .agents span {
	color: #7D7D7D;
	float: right;
}

.locations {
	background: #E8ECEF;
	padding: 20px;
	text-align: center;
}

.locations ul {
	list-style: none;
	margin: 0px;
	padding: 0px;
}

.locations li {
	display: block;
	background: #FFFFFF;
	border: 1px solid #F1F1F1;
	color: #7D7D7D;
	text-align: left;
}

.locations li:not(:last-child) {
	border-bottom: none;
}

.locations a {
	text-decoration: none;
	color: inherit;
	display: block;
	padding: 15px 10px;
}

.locations li em {
	color: #29615E;
	font-style: normal;
}

.employment-opportunities {
	background: #fff;
	padding: 20px;
	text-align: center;
}

.employment-opportunities a {
	display: inline-block;
	padding: 10px 30px;
	border: 1px solid #4D4D4D;
	color: #FFF;
	background: #656565;
	background: linear-gradient(#656565, #424242);
	font-size: 1.3em;
	text-decoration: none;
	border-radius: 2px;
}

@media (min-width: 768px) {

	.location-information {
		text-align: left;
	}

	.location-information h1 {
		margin: 15px;
	}

	.location-information img {
		display: inline-block;
		vertical-align: text-top;
		width: auto;
		float: left;
		margin: 0px 15px 15px;
	}

	.location-information .contact,
	.location-information .hours {
		display: inline-block;
		vertical-align: text-top;
		margin: 0px 15px 15px 0px;
		max-width: 25%;
	}

	.location-information .hours {
		margin-right: 0px;
		max-width: 33%;
	}

	.location-information .store-information {
		margin: 0px 15px 15px;
	}

	.location-information h1 + .contact,
	.location-information h1 + .contact + .hours {
		margin: 0px 15px 15px;
	}

	.location-information img ~ .store-information {
		margin-left: 286px;
	}

	.location::after {
		content: '';
		display: block;
		clear: both;
	}

	.location-information .agents {
		padding: 20px 15px;
		overflow:hidden;
	}

	.location-information .agents ul li {
		width: calc(33.333% - 15px);
		margin-right: 15px;
		box-sizing: border-box;
		float: left;
		overflow: hidden;
		height: 48px;
		line-height: 3em;
		transform: translateZ(0);
	}

	.location-information .agents ul li:nth-child(3n) {
		width: 33.333%;
		margin-right: 0px;
	}

	.location-information .agents h3 {
		margin-bottom: 0px;
	}

	.locations {
		padding: 20px 15px;
	}

	.locations ul {
		-moz-column-count: 2;
	    -moz-column-gap: 15px;
	    -webkit-column-count: 2;
	    -webkit-column-gap: 15px;
	    column-count: 2;
	    column-gap: 15px;
	}

	.locations li {
		display: inline-block;
		width: 100%;
	}

	.no-csscolumns .locations li {
		display: inline-block;
		width: 30%;
		height: 75px;
		vertical-align: baseline;
		margin: 0px;
		overflow: hidden;
	}

}

@media (min-width: 1200px) {

	#map {
		height: 400px;
	}

	#map.short {
		height: 250px;
	}

	.location-information {
		background: #018287;
	}

	.location-information .location {
		background: #fff;
		box-sizing: border-box;
		float: left;
		width: 60%;
		padding: 30px;
		min-height: 230px;
	}

	.location-information .location h1 {
		margin-top: 0px;
		margin-left: 0px;
	}

	.location-information .location img {
		margin: 0px 15px 15px 0px;
	}

	.location-information h1 + .contact {
		margin-left: 0px;
	}

	.location-information .store-information {
		margin-left: 0px;
	}

	.location-information img ~ .store-information {
	    margin-left: 271px;
	}

	.location-information .agents {
		box-sizing: border-box;
		float: right;
		width: 40%;
		padding: 30px;
	}

	.location-information .agents ul {
		font-size: 0.9em;
	}

	.location-information .agents ul li,
	.location-information .agents ul li:nth-child(3n) {
		width: calc(50% - 10px);
		height: 38px;
		margin-right: 10px;
		margin-top: 10px;
	}

	.location-information .agents ul li:nth-child(2n) {
		
		margin-right: 0px;
	}
		
	.locations {
		padding: 20px 30px;
	}

	.locations ul {
		-moz-column-count: 3;
	    -moz-column-gap: 15px;
	    -webkit-column-count: 3;
	    -webkit-column-gap: 15px;
	    column-count: 3;
	    column-gap: 15px;
	}

}

@media (min-width: 1400px) {

	.location-information .location {
		padding: 30px 30px 30px calc((100% - 1340px) / 2);
	}

	.location-information .agents {
		padding: 30px calc((100% - 1340px) / 2) 30px 30px;
	}

	.locations {
		padding: 20px calc((100% - 1340px) / 2);
	}

}