/** -------- Wrapper -------- **/

.acf-map__wrapper {
	position: relative;
}

.acf-map {
	width: 100%;
	height: 900px !important;
	border: 0;
	margin: 0;
}
@media only screen and (max-width: 767px) /* and (orientation: portrait) */ {
	.acf-map {
		height: 500px !important;
	}
}

/** Loading animation **/
.acf-map__loading-animation {
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: white;
    height: 100%;
    text-align: center;
    padding: 10%;
}

/** -------- Custom map controls -------- **/

.customFields {
	margin: 1em;
}

/** Categories **/
.categoryIcon {
	float: right;
	margin: 5px;
}
.categoriesFilter {
	color: white;
	padding: 0px;
	font-size: 2em;
	padding: 0;
	margin: 0 10px 10px 10px;
	cursor: pointer;
}
.categoriesFilter button {
	background: #2f2f2f;
    min-width: 230px;
    text-align: left;
	padding: 7.5px;
	font-size: 20px;
	display: block;
	border: 0;
	border-radius: 0 !important;
}
.categoriesFilter button:not(:last-of-type) {
	border-bottom: 1px solid white;
}
.categoriesFilter button:hover {
	background: #DB3707;
}
.categoriesFilter button:focus {
	top: 0;
	background: #3b3b3b !important;
}
.categoriesFilter button.categoryActive {
	background: #DB3707 !important;
}

.marker-readmore {
	color: #db3707 !important;
	display: block;
	padding-top: 8px;
	font-size: 1.5em;
}
a.markerHtml:hover .marker-readmore, a.markerHtml:hover .markerTitle {
	text-decoration: underline;
}
@media only screen and (max-width: 767px) /* and (orientation: portrait) */ {
	.categoriesFilter {
		margin: 0;
		position: absolute;
		bottom: 0;
		padding: 0px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		max-width: none;
		top: auto !important;
		bottom: 30px !important;
	}
	.categoriesFilter button {
		float: left;
		margin: 0;
		min-width: auto;
		width: 50%;
		border: solid white 1px;
	}
	.categoriesFilter button.all {
		display: none;
	}
	.categoriesFilter button span.categoryText {
		margin: 6px 0 6px 5px;
		font-size: 16px;
		display: inline-block;
	}
	.categoriesFilter button img.categoryIcon {
		margin: 6px 0 6px 0;
	}	
}

/** Search **/
.searchBox {
	float: left;
}
.searchBox__input {
	float: left;
	border: none;
	width: 200px;
	height: auto;
    background: transparent;
    padding-left: 0;
	color: white;
}
.searchBox__input input {
	height: 42px;
	border-radius: 0 !important;
}
.searchBox__input input:focus {
	border-color: black !important;
}
@media only screen and (max-width: 767px) /* and (orientation: portrait) */ {
	.searchBox__input {
		width: calc(100% - 42px);
	}
}
.searchBox__icon {
	float: right;
	background-color: #DB3707;
	padding: 10px;
	height: 42px;
}
@media only screen and (max-width: 767px) {
	.searchBox {
		margin: 0;
		width: 100%;
	}
}

/** Zoom controls **/
.zoomControl {
	background: transparent;
	cursor: pointer;
	text-align: center;
}
@media only screen and (max-width: 767px) /* and (orientation: portrait) */ {
	.zoomControl {
		margin: 60px 0 0 0 !important;
		border: none;
		width: 38px;
		left: auto !important;
		right: 0;
		top: 40px !important;
	}
}
.zoomControl__btn {
	width: 36px;
	height: 36px;
	padding: 0 10px;
	border-radius: 0;
    border: 0;
}
.zoomControl__btn:hover {
	border: 0;
}
.zoomControl__btn:focus {
	opacity: .6;
	border: 0;
	border-radius: 0;
}
.zoomControl__btn svg {
	max-width: 100%;
}

/** Geolocation button **/
.currentPositionButton {
	top: 0 !important;
	left: 256px !important;
	height: 42px;
	margin: 10px;
	background: #2f2f2f;
	padding: 9px 7px;
	cursor: pointer;
	border: 0;
	border-radius: 0;
}
.currentPositionButton:hover {
	background: #DB3707;
	border: 0;
	border-radius: 0;
}
.currentPositionButton:focus {
	background: #3b3b3b !important;
	border: 0;
	border-radius: 0;
}
@media only screen and (max-width: 767px) /* and (orientation: portrait) */ {
	.currentPositionButton {
		left: auto !important;
		right: 0;
		margin: 50px 0 0 0 !important;
	}
}

/** -------- Marker -------- **/
.marker {
	background: #2f2f2f;
}
.acf-map .infoBox {
	width: max-content !important;
}
.markerHtml {
	background: #2f2f2f;
	padding: 20px;
}
a.markerHtml {
	display: block;
	text-decoration: none !important;
}
.markertext {
	max-width: 500px;
}
@media (max-width: 520px) {
	.markertext {
		max-width: 80vw !important;
	}
}
h4.markerTitle {
	color: #DB3707;
	font-family: "Roboto Slab",serif;
	font-size: 1.8em;
	margin-bottom: 10px;
}
.markerInfotext p {
	color: white;
	font-size: 17px;
	margin-bottom: 10px;
}
.markerInfotext p:last-of-type {
	margin: 0;
}
.markerInfotext a {
	color: white;
}
.markerInfotext a:hover {
	color: #db3707;
}
.markerarrows {
	position: relative;
	top: -3px;
	left: 153px;
}
