.locations {
	display: flex;
	width: 100%;
	position: relative;
}
.location_map {
	display: block;
	width: 65%;
	position: relative;
}
.location_map > img {
    width: 100%;
	height: 100%;
}
.location_info {
	display: block;
	width: 35%;
	position: relative;
	background-color: #e6e6e6;
}

.single_location {
	position: absolute;
	display: none;
	top: 50%;
    left: 60px;
    transform: translateY(-50%);
}
.single_location > div {
    margin-bottom: 20px;
}
.single_location > div.location_info--contact {
    margin-bottom: 40px;
}
.single_location h4 {
	font-weight: 700;
	font-family: 'Noto Sans',Helvetica,Arial,Lucida,sans-serif !important;
	font-size: 25px;
    line-height: 30px;
	margin: 0;
	padding: 0;
}
.single_location h5 {
	font-weight: 700;
	font-family: 'Noto Sans',Helvetica,Arial,Lucida,sans-serif !important;
    font-size: 20px;
    line-height: 30px;
    margin: 0;
    padding: 0;
}
.single_location p, 
.single_location a {
	font-family: 'Noto Sans',Helvetica,Arial,Lucida,sans-serif !important;
    font-size: 20px;
    line-height: 30px;
    margin: 0;
    padding: 0;
}
.single_location a.location_button {
    border-radius: 50px;
    padding: 0 48px !important;
    border: 3px solid #ec1d27;
    transition: all 0.25s ease-in-out;
    font-family: 'Noto Sans',Helvetica,Arial,Lucida,sans-serif !important;
    font-size: 21px;
	background-color: #ec1d27;
	color: #fff;
}
.single_location a.location_button:hover {
	opacity: 1;
	color: #ec1d27;
	background-color: transparent;
}
.single_location.active {
	display: block;
}
.location_pins {
	position: absolute;
	top: 0;
    left: 0;
    width: 100%;
	height: 100%;
}
.location_pins img {
	display: block;
	position: absolute;
	width: 4.8%;
    height: 8.7%;
	opacity: 0.6;
	cursor: pointer;
	transition: all 0.25s ease-in-out;
}
.location_pins img:hover, .location_pins img.active {
	opacity: 1;
}
img.location_pin_appenzell {
	top: 72.5%;
    left: 33%;
}
img.location_pin_balgach {
	top: 43.4%;
    left: 78.3%;
}
img.location_pin_oberriet {
	top: 82%;
    left: 69.3%;
}
img.location_pin_staad {
	top: 2.7%;
    left: 62.5%;
}
img.location_pin_stgallen {
	top: 23.7%;
    left: 28%;
}
.location_selector {
    display: none;
  }
@media screen and (max-width: 767px) {
	.locations {
		flex-direction: column;
	}
	.location_info {
		width: 100%;
		padding: 20px;
    	text-align: center;
	}
	.single_location {
		position: relative;
		top: 0;
		left: 0;
		transform: none;
	}
	.single_location > div {
		margin-bottom: 15px;
	}
	.single_location > div.location_info--contact {
		margin-bottom: 30px;
	}
	.location_map {
		width: 100%;	
	}
  	.all_locations .location_map {
	  	display: none;
  	}
  	.location_selector {
    	display: block;
  	}
	.location_selector select {
		width: 100%;
		margin-bottom: 20px;
		font-size: 16px;
		padding: 5px;
		border-color: #000;
	}
}
@media screen and (max-width: 980px) {
	.single_location h4 {
		font-size: 16px;
		line-height: 25px;
	}
	.single_location p, .single_location a, .single_location h5 {
		font-size: 16px;
		line-height: 20px;
	}
	.single_location a.location_button {
		font-size: 16px;
	}
}
@media screen and (min-width: 981px) and (max-width: 1539px) {
	.single_location h4 {
		font-size: 16px;
		line-height: 25px;
	}
	.single_location p, .single_location a, .single_location h5 {
		font-size: 16px;
		line-height: 20px;
	}
	.single_location a.location_button {
		font-size: 16px;
	}
}
@media screen and (min-width: 768px) and (max-width: 1649px) {
	.single_location {
		left: 20px;
	}
}
@media screen and (min-width: 981px) and (max-width: 1199px) {
	.single_location > div {
		margin-bottom: 10px;
	}
	.single_location > div.location_info--contact {
		margin-bottom: 20px;
	}
	.single_location h4 {
		font-size: 16px;
		line-height: 25px;
	}
	.single_location p, .single_location a, .single_location h5 {
		font-size: 16px;
		line-height: 15px;
	}
	.single_location a.location_button {
		font-size: 16px;
	}
}