.visit-section {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  position: relative;
  padding-bottom: 100px; /* prevents overlap below due to negative bottom */
}

/* --- Left text side --- */
.text-side {
  background-color: #e5e4df;
  width: 40%;
  position: relative;
}

.text-container {
  width: 90%;
  position: absolute;
  right: -80px;
  bottom: -100px;
  background-color: #9f8054;
  padding: 80px 100px 100px 80px;
  color: #fff;
  box-sizing: border-box;
  overflow: hidden;
  text-align:left;
  z-index:99
}
@media screen and (min-width: 1024px) {
.text-container {width: 120%; padding: 30px 30px 40px 30px; right: -160px; bottom: -40px;}
.visit-section {padding-bottom: 40px;}
.text-container button {padding:10px 20px; border-radius:6px;font-size:11pt;}
.vistpmarb {margin-bottom:30px}
}
@media screen and (min-width: 1280px) {
.text-container {width: 90%; padding: 50px 50px 60px 50px; right: -80px; bottom: -60px;}
.visit-section {padding-bottom: 60px;}
.text-container button {padding:10px 20px; border-radius:6px;font-size:11pt;}
.vistpmarb {margin-bottom:50px}
}
@media screen and (min-width: 1600px) {
.text-container {width: 90%; padding: 80px 80px 80px 80px; right: -80px; bottom: -80px;}
.visit-section {padding-bottom: 80px;}
.vistpmarb {margin-bottom:60px}
}
@media screen and (min-width: 1900px) {
.text-container {width: 80%; padding: 80px 100px 100px 80px; right: -80px; bottom: -100px;}
.visit-section {padding-bottom: 100px;}
}
.text-container:after {
content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 100px 200px 100vh 0;
  border-color: transparent #7b5031 transparent transparent;
  position: absolute;
  right: 0;
  top: 0;
opacity: 0.15;}

/* .text-container h2 {
  font-size: 24px;
  margin-bottom: 16px;
}
 */
/* .text-container p {
  line-height: 1.6;
  margin-bottom: 20px;
} */

.text-container button {display:inline-block; background-color: #424242; color:#fff; padding:10px 20px; border-radius:6px;cursor:pointer; font-size:12pt;letter-spacing:1px;}

/* --- Right image side --- */
.image-side {
  width: 60%;
}

.image-side img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* --- Responsive --- */
@media (max-width: 1023px) {
  .visit-section {
    flex-direction: column-reverse; /* image first, text below */
    padding-bottom: 0; /* no need for spacing below */
  }

  .text-side,
  .image-side {
    width: 100%;
  }

  .text-container {
    position: relative;
  right: 0;
  bottom: 0;
    width: 94%;
    margin: 30px auto; margin-bottom:0;
    background-color: #9f8054;
    padding: 20px 20px 30px 20px;
    color: #fff;
    overflow: hidden;
	text-align:center;
  }
  .text-container:after {
content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 100px 100px 100vh 0;
  border-color: transparent #7b5031 transparent transparent;
  position: absolute;
  right: 0;
  top: 0;
opacity: 0.15;}

.text-container button {padding:10px 20px; border-radius:6px;font-size:11pt;}

  .image-side img {
    height: auto;
  }
.vistpmarb {margin-bottom:30px}
}
