/* This source code is exported from pxCode, you can get more document from https://www.pxcode.io */
.main-content.layout {
  width: 82.8%;
  margin: 205px auto 601px;
}
@media (max-width: 1199px) {
  .main-content.layout {
    width: 86.52%;
  }
}
@media (max-width: 991px) {
  .main-content.layout {
    width: 89.54%;
  }
}
@media (max-width: 767px) {
  .main-content.layout {
    width: 91.94%;
  }
}
@media (max-width: 575px) {
  .main-content.layout {
    width: 93.83%;
  }
}
@media (max-width: 479px) {
  .main-content.layout {
    width: 95.3%;
  }
}
@media (max-width: 383px) {
  .main-content.layout {
    width: 96.43%;
  }
}

.services {
  background-color: rgb(255, 255, 255);
  position: relative;
  overflow: hidden;
}

.flex {
  display: flex;
  flex-direction: column;
}

.footer.layout {
  position: absolute;
  height: 426px;
  bottom: 0px;
  left: 0px;
  right: 0px;
}

.hero-title {
  font: 2.625em/1.5 "Roboto Slab", Helvetica, Arial, serif;
  color: #393744;
  letter-spacing: 0.06px;
}
@media (max-width: 1199px) {
  .hero-title {
    font-size: 38px;
    text-align: left;
  }
}
@media (max-width: 991px) {
  .hero-title {
    font-size: 33px;
  }
}
@media (max-width: 767px) {
  .hero-title {
    font-size: 29px;
  }
}
@media (max-width: 575px) {
  .hero-title {
    font-size: 27px;
  }
}
@media (max-width: 479px) {
  .hero-title {
    font-size: 25px;
  }
}
@media (max-width: 383px) {
  .hero-title {
    font-size: 24px;
  }
}

.hero-title.layout {
  position: relative;
}

.flex-row {
  display: flex;
  flex-direction: row;
  position: relative;
  margin: 48px 2px 0px;
}
@media (max-width: 1199px) {
  .flex-row {
    flex-wrap: wrap;
    align-content: flex-start;
    row-gap: 16px;
    margin: 48px 5px 0px;
  }
}

.flex-item {
  display: flex;
  flex-direction: column;
  position: relative;
  flex: 1 1 553px;
}
@media (max-width: 1199px) {
  .flex-item {
    flex: 0 0 100%;
  }
}

.subtitle-box {
  align-items: flex-start;
  justify-content: flex-start;
}

.subtitle-box.layout {
  position: relative;
  flex-grow: 1;
  margin: 13px 0px 146px;
}

.subtitle {
  overflow: visible;
  margin-top: 0px;
  margin-bottom: 0px;
  margin: 0px;
}

.header {
  font: 500 1.25em/1.87 "Roboto", Helvetica, Arial, serif;
  color: #393744;
  letter-spacing: 0.03px;
}
@media (max-width: 1199px) {
  .header {
    font-size: 21px;
  }
}
@media (max-width: 991px) {
  .header {
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .header {
    font-size: 18px;
  }
}
@media (max-width: 479px) {
  .header {
    font-size: 17px;
  }
}
@media (max-width: 383px) {
  .header {
    font-size: 16px;
  }
}

h3.header {
  margin-bottom: 1em;
}

.upper {
  text-transform: uppercase;
}

.content {
  font: 1em/2 "Roboto", Helvetica, Arial, serif;
  color: #393744;
  letter-spacing: 0.08px;
}

.flex-spacer {
  flex: 0 1 97px;
}
@media (max-width: 1199px) {
  .flex-spacer {
    display: none;
  }
}

.flex-image-box {
  display: flex;
  flex-direction: column;
  position: relative;
  flex: 1 1 472px;
}
@media (max-width: 1199px) {
  .flex-image-box {
    flex: 0 0 100%;
  }
}

.image {
  width: 100%;
  height: auto;
  vertical-align: top;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: center top;
  object-position: center top;
}

.image.layout {
  position: relative;
  flex-grow: 1;
}

:target::before {
  /* Add an offset to anchor tags so that there's room for the navbar to display above them */
  content: "";
  display: block;
  height: 120px; /* fixed header height*/
  margin: -120px 0 0; /* negative fixed header height */
}
@media (max-width: 991px) {
  :target::before {
    height: 200px; /* fixed header height*/
    margin: -200px 0 0; /* negative fixed header height */
  }
}
@media (max-width: 383px) {
  :target::before {
    height: 300px; /* fixed header height*/
    margin: -300px 0 0; /* negative fixed header height */
  }
}