.content-block.map-section > .inner-block > .padding {
	display:grid;
	grid-template-columns: auto 1fr;
}

.content-block.map-section > .inner-block > .padding > .content {
	padding-left:var(--main-padding);
	padding-right:var(--main-padding);
	max-width:var(--inner-container-width);
  width:100%;
	box-sizing:border-box;
	margin:0 auto;
}

.content-block > .inner-block > .padding > .content-block.map-section > .inner-block > .padding > .content > h2.map-heading {
  position:relative;
  z-index:1;
  text-align:center;
  color:var(--main-highlight-color);
  margin-top:1.25em;
}

.content-block > .inner-block > .padding > .content-block.map-section > .inner-block > .padding > .content > picture {
  position:absolute;
  left:-3em;
  top:0;
  width:calc(100% + 6em);
  height:100%;
  background-color:var(--main-color);
}

.content-block > .inner-block > .padding > .content-block.map-section > .inner-block > .padding > .content > picture > img {
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0.1;
	mask-image:linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 10%, rgba(0, 0, 0, 1) 90%, rgba(0, 0, 0, 0) 100%);
}

.content-block > .inner-block > .padding > .content-block.map-section > .inner-block > .padding > .content > .map-container {
  position:relative;
  overflow:hidden;
  padding-top:30em;
  margin-bottom:4em;
  border:solid 2px var(--main-highlight-color);
}

.content-block.content-section.villa-map-section > .inner-block {
  background-color:var(--main-color);
}

.content-block.content-section.villa-map-section > .inner-block > .padding > .content-block.map-section > .inner-block > .padding > .content {
  position:relative;
}

.content-block.content-section.villa-map-section > .inner-block > .padding > .content-block.map-section > .inner-block > .padding > .content::before {
  display:none;
}

.content-block.content-section.villa-map-section > .inner-block > .padding > .content-block.map-section > .inner-block > .padding > .content::after {
  top:auto;
  bottom:0;
  left:0;
  content:'';
  position:absolute;
  width:100vw;
  height:1px;
  background-color:var(--side-bar-border-color);
  transition:width 1.0s;
}

/* Tablet and Desktop */
@media (width >= 750px) {
}

/* Mobile and Tablet */
@media (width < 1200px) {

}

/* Mobile */
@media (width < 750px) {

}

/* Tablet */
@media (750px <= width < 1200px) {

}

/* Desktop */
@media (width >= 1200px) {
	.content-block.map-section > .inner-block > .padding > .content {
		padding-left:var(--side-bar-width);
		padding-right:var(--side-bar-width);
	}
}
