/** TO DO - JC - Move to SCSS - for store locator */
	.stores {
		display: flex;
		flex-flow: row wrap;
		justify-content: flex-start;
		margin: 4em -1.15% 0;
	}

		.stores .store {
			width: 31%;
			margin: 0 1.15% 2.5em;
			padding: 0;
			border-bottom: 3px solid #cdcdcd;
			display: flex;
			flex-direction: column;
		}

			.store-image {
				width: 100%;
				max-height: 250px;
				overflow: hidden;
				position: relative;
			}

				.store-image .comingsoon,
				.store-image .location {
					position: absolute;
					bottom: 1em;
					left: 0;
					padding: 0 20px 0 30px;
					margin: 0 0 0 -15px;
					z-index: 999;
					color: #FFF;
				}
				.store-image .comingsoon {
					bottom: 96%;
					z-index: -1;
					left: 15px;
				}
				.store-image .comingsoon::before,
				.store-image .location::before {
					content: '';
					position: absolute;
					width: 100%;
					height: 100%;
					background: #27ae60;
					top: 0;
					left: 0;
					z-index: 50;
					transform: skew(-25deg);
				}
				.store-image .comingsoon::before {
					opacity: 0.8;
					background: #2e2e2e;
				}

					.store-image .comingsoon span,
					.store-image .location span {
						text-transform: uppercase;
						font-style: italic;
						font-weight: 900;
						letter-spacing: 0.02em;
						font-size: 22px;
						position: relative;
						color: #FFF;
						z-index: 102;
						line-height: 1.3;
						padding: 10px 0;
						display: block;
					}
					.store-image .comingsoon span {
						font-size: 15px;
						padding: 8px 0;
					}

				.store-image img {
					width: 100%;
					height: 100%;
					object-fit: cover;
				}

			.stores .store .details {
				padding: 25px 15px;
				font-size: 14px;
				line-height: 1.3;
				color: #000;
				flex-grow: 1;
				display: flex;
				flex-direction: column;
			}

				.stores .store .details .address {
					display: flex;
					flex-flow: column;
				}

					.stores .store .details .address strong {
						display: block;
						margin: 0 0 3px;
						font-size: 16px;
					}
					.stores .store .details .address .number {
						color: #6e6e6e;
						margin: 3px 0 0;
					}

				.stores .store .details .opening-times {
					display: flex;
					flex-flow: column;
					margin: 1.5em 0 1em 0;
				}

					.stores .store .details .opening-times span {
						padding: 2px 0;
					}
					.stores .store .details .opening-times strong {
						margin: 0 1em 0 0;
					}
					
					.stores .store .details .opening-times tr > td:first-of-type {
						font-weight: bold;
					}
					
				.stores .store .details .dot-list {
					font-size: 16px;
					margin-bottom: 1.5em;
				}
					.stores .store .details .dot-list > div {
						padding: 0 0 10px 1.7em;
						position: relative;
					}
						.stores .store .details .dot-list > div:before {
							content: "";
							position: absolute;
							left: 0;
							top: 0.2em;
							width: 0.8em;
							height: 0.8em;
							border-radius: 50%;
							background-color: #27ae60;
						}
						
				.stores .store a.button {
					align-self: flex-start;
					margin-top: auto;
				}


@media (max-width: 900px) {

	#primary.content-area .stores {
		justify-content: space-between;
		margin: 4em 0 0;
	}

		.stores .store {
			width: 49%;
			margin: 0 0 2.5em;
		}

}

@media (max-width: 550px) {

	.stores .store {
		width: 100%;
	}

}