html, body {
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
  background: #fff;
  min-height: 100vh;
  /* mobile viewport bug fix */
  min-height: -webkit-fill-available;
  position: relative;
}

::selection {
}

section {
  position: relative;
  width: 100%;
  min-height: 100vh;
  overflow: hidden !important;
}

section .textContainer {
  position: absolute;
  right: 0;
  width: 55%;
}

section .textContainer.left {
  left: 0;
}

section .textContainer .textChild {
  margin: 150px auto 0 auto;
}
section#about .textContainer .textChild,
section#services .textContainer .textChild,
section#contact .textContainer .textChild {
  max-width: 480px;
  padding: 0 40px;
  box-sizing: border-box;
}

section#services .textContainer .textChild {
  margin: 100px auto 0 auto;
}

section .textContainer .textChild h2 {
  padding: 0;
  margin: 0 0 38px 0;
  text-align: center;
  font-family: 'Candal', sans-serif;
  font-size: 52px;
}
section#about .textContainer .textChild h2 {
  color: #d7b530;
}
section#works .textContainer .textChild h2 {
  color: #c4c4c4;
}
section#services .textContainer .textChild h2 {
  color: #bad4e4;
  text-align: left;
}
section#contact .textContainer .textChild h2 {
  color: #d7b530;
}

section .textContainer .textChild h2 b {
  color: #000;
}

section .textContainer .textChild span {
  padding: 0;
  margin: 0 0 18px 0;
  font-family: 'Actor', sans-serif;
  color: #000;
  font-size: 20px;
  display: block;
}

section#services .textContainer .textChild span {
  margin: 0 0 28px 0;
}

section .textContainer .textChild span a {
  color: #000;
  text-decoration: underline;
}
section .textContainer .textChild span a:hover {
  color: rgba(0, 0, 0, 0.3);
}

section#contact .textContainer .textChild span.socialLinks {
  margin-top: 40px;
}


section#contact .textContainer .textChild a.socialIcon {
  width: 35px;
  height: 35px;
  padding: 5px;
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  margin-right: 12px;
}
section#contact .textContainer .textChild a.socialIcon:hover {
  opacity: 0.65;
}


.marble::after {
  content: "";
  position: absolute;
  top: 0;
  width: 45%;
  height: 100%;
  background: #e7e7e7;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-attachment: fixed !important;
}

.marble.right::after {
  width: 15% !important;
  right: 0;
}

.marble.grey::after {
  background-image: url('/assets/img/marbleBgGrey.jpg');
}

.marble.blue::after {
  background-image: url('/assets/img/marbleBgBlue.jpg');
}

.marble.yellow::after {
  background-image: url('/assets/img/marbleBgYellow.jpg');
}



@media (hover: none) and (pointer: coarse) {
  .marble::after {
    background-attachment: scroll !important;
  }
}

@media (min-width: 1441px) {
}

@media (min-width: 1025px) and (max-width: 1440px) {
  section .textContainer .textChild h2 {
    font-size: 43px;
  }

  section .textContainer .textChild span {
    font-size: 18px;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  section .textContainer {
    width: 75%;
  }

  .marble::after {
    width: 25%;
  }

  section .textContainer .textChild h2 {
    font-size: 43px;
  }

  section .textContainer .textChild span {
    font-size: 18px;
  }
}

@media (min-width: 426px) and (max-width: 768px) {
  section .textContainer {
    width: 80%;
  }
  section#open .textContainer {
    width: 100%;
    height: 55vh;
  }

  .marble::after {
    width: 20%;
  }
  section#open.marble::after {
    width: 100%;
    height: 45vh;
  }

  section .textContainer .textChild {
    margin: 100px auto 0 auto;
  }

  section .textContainer .textChild h2 {
    font-size: 6vw;
    margin: 0 0 6vw 0;
  }

  section .textContainer .textChild span {
    font-size: 3.2vw;
    margin: 0 0 2.5vw 0;
  }
}

@media (min-width: 376px) and (max-width: 425px) {
  section .textContainer {
    width: 87%;
  }
  section#open .textContainer {
    width: 100%;
    height: 55vh;
  }

  .marble::after {
    width: 13%;
  }
  section#open.marble::after {
    width: 100%;
    height: 45vh;
  }

  section .textContainer .textChild {
    margin: 100px auto 0 auto;
  }

  section .textContainer .textChild h2 {
    font-size: 6.5vw;
    margin: 0 0 6vw 0;
  }

  section .textContainer .textChild span {
    font-size: 3.8vw;
    margin: 0 0 2.5vw 0;
  }
}

@media (min-width: 321px) and (max-width: 375px) {
  section .textContainer {
    width: 90%;
  }
  section#open .textContainer {
    width: 100%;
    height: 55vh;
  }

  .marble::after {
    width: 10%;
  }
  section#open.marble::after {
    width: 100%;
    height: 45vh;
  }

  section .textContainer .textChild {
    margin: 100px auto 0 auto;
  }

  section .textContainer .textChild h2 {
    font-size: 6.5vw;
    margin: 0 0 6vw 0;
  }

  section .textContainer .textChild span {
    font-size: 3.8vw;
    margin: 0 0 2.5vw 0;
  }
}

@media (max-width: 320px) {
  section .textContainer {
    width: 90%;
  }
  section#open .textContainer {
    width: 100%;
    height: 55vh;
  }

  .marble::after {
    width: 10%;
  }
  section#open.marble::after {
    width: 100%;
    height: 45vh;
  }

  section .textContainer .textChild {
    margin: 100px auto 0 auto;
  }

  section .textContainer .textChild h2 {
    font-size: 6.5vw;
    margin: 0 0 6vw 0;
  }

  section .textContainer .textChild span {
    font-size: 3.8vw;
    margin: 0 0 2.5vw 0;
  }
}