:root {
  --white: white;
  --primary: #cabb97;
  --black: #0c0c0c;
  --body: #333;
  --primary-40: #004255;
}

.w-layout-blockcontainer {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

@media screen and (max-width: 991px) {
  .w-layout-blockcontainer {
    max-width: 728px;
  }
}

@media screen and (max-width: 767px) {
  .w-layout-blockcontainer {
    max-width: none;
  }
}

body {
  color: var(--white);
  background-color: #232627;
  font-family: Albert Sans, sans-serif;
  font-size: 16px;
  line-height: 1.5;
}

h1 {
  color: var(--white);
  margin-top: 20px;
  margin-bottom: 32px;
  font-family: Texgyretermes, Arial, sans-serif;
  font-size: 64px;
  font-weight: 700;
  line-height: 1.1;
}

h2 {
  margin-top: 0;
  margin-bottom: 16px;
  font-family: Texgyretermes, Arial, sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
}

h3 {
  color: var(--primary);
  margin-top: 20px;
  margin-bottom: 16px;
  font-size: 24px;
  font-weight: 600;
  line-height: 30px;
}

p {
  margin-bottom: 16px;
}

strong {
  font-weight: bold;
}

.hero-section {
  height: 75vh;
  position: relative;
}

.overlay {
  z-index: -1;
  background-image: linear-gradient(#00000080, #00000080);
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.background-video {
  z-index: -3;
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.hero-content-wrapper {
  text-align: center;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 780px;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: absolute;
  inset: 0%;
}

.button {
  background-color: var(--primary);
  color: var(--white);
  padding: 14px 32px;
  font-weight: 500;
}

.button.submit-button {
  padding-top: 10px;
  padding-bottom: 10px;
}

.navbar {
  background-color: #0000;
  width: 100%;
  padding-top: 10px;
  padding-bottom: 10px;
  position: absolute;
  inset: 0% 0% auto;
}

.navbar.static {
  position: static;
}

.nav-link {
  color: var(--white);
  padding-left: 30px;
  padding-right: 30px;
  font-weight: 500;
}

.nav-link.w--current {
  color: var(--white);
}

.nav-link.last {
  padding-right: 0;
}

.nav-link.black {
  color: var(--black);
}

.nav-logo {
  width: 120px;
}

.navbar-container {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  grid-template-rows: auto;
  grid-template-columns: 300px 1fr;
  grid-auto-columns: 1fr;
  align-items: center;
  width: 100%;
  max-width: 1340px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  display: grid;
}

.section {
  padding-top: 100px;
  padding-bottom: 100px;
}

.section.cta {
  position: relative;
}

.section.no-top-padding {
  padding-top: 0;
}

.container {
  width: 100%;
  max-width: 1340px;
  padding-left: 24px;
  padding-right: 24px;
}

.content-wrapper-small {
  width: 100%;
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}

.content-wrapper-small.center-content {
  text-align: center;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.margin-top {
  margin-top: 40px;
}

.text-white {
  color: var(--white);
}

.footer {
  background-color: #0f0f0f;
  padding-top: 72px;
  padding-bottom: 24px;
}

.footer-grid {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  grid-template-rows: auto;
  grid-template-columns: 2fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.footer-logo {
  width: 160px;
}

.footer-title {
  color: var(--white);
  font-weight: 700;
}

.footer-text-block {
  color: var(--white);
  margin-top: 16px;
  font-size: 15px;
  text-decoration: none;
  display: block;
}

.footer-text-block.extra-small {
  font-size: 14px;
}

.footer-legal {
  justify-content: space-between;
  align-items: center;
  margin-top: 60px;
  display: flex;
}

.brand {
  padding-left: 0;
}

.whatsapp-block {
  z-index: 30;
  flex-direction: column;
  align-items: flex-end;
  display: flex;
  position: fixed;
  inset: auto 30px 30px auto;
}

.profile-wrapper {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  align-items: center;
  display: flex;
}

.whatsapp-chat {
  background-color: #fff;
  border: 1px solid #00000012;
  border-radius: 16px;
  flex-direction: column;
  width: 300px;
  height: 315px;
  margin-bottom: 16px;
  display: flex;
  overflow: hidden;
}

.chat-block {
  background-color: #fff;
  border-radius: 8px;
  width: 80%;
  padding: 15px;
}

.live-chat-text {
  color: #fff;
  text-decoration: none;
}

.profile-image-wrapper-2 {
  position: relative;
}

.live-icon-chat {
  object-fit: contain;
  border-radius: 50%;
  width: 47px;
  height: 47px;
  margin-right: 0;
}

.whatsapp-container {
  z-index: 30;
  cursor: pointer;
  background-color: #000;
  border-radius: 100%;
  justify-content: center;
  align-items: center;
  width: 57px;
  height: 57px;
  transition: all .3s cubic-bezier(.45, .182, .111, .989);
  display: flex;
  position: relative;
  inset: auto 0% 0% auto;
}

.whatsapp-container:hover {
  background-color: #383838;
  transform: scale(1.05);
}

.top-section {
  justify-content: space-between;
  align-items: center;
  height: 25%;
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
}

.live-icon {
  background-color: #00b94a;
  border-radius: 100%;
  width: 13px;
  height: 13px;
  position: absolute;
  inset: 2px auto auto 2px;
}

.live-icon.profile-live-icon {
  border: 1.5px solid #fff;
  width: 10px;
  height: 10px;
  inset: auto 2px 2px auto;
}

.chat-section {
  background-color: #e6ddd4;
  height: 50%;
  padding: 16px 20px;
}

.close-livechat-icon {
  width: auto;
  height: auto;
}

.whatsapp-icon {
  width: 26px;
  height: auto;
}

.live-chat-bottom-text {
  color: var(--body);
  font-size: 10px;
}

.live-chat-bottom-text.block {
  margin-bottom: 5px;
  font-size: 12px;
}

.live-chat-top-text {
  color: var(--black);
  letter-spacing: 0;
  font-size: 12px;
  font-weight: 500;
  position: static;
}

.live-chat-top-text.block {
  color: #b0b0b0;
  margin-bottom: 10px;
  font-size: 12px;
}

.livechat-button {
  background-color: #00b94a;
  border-radius: 200px;
  justify-content: center;
  align-items: center;
  width: 80%;
  height: 42px;
  text-decoration: none;
  display: flex;
}

.live-chat-link {
  border-radius: 0;
  justify-content: center;
  align-items: center;
  height: 25%;
  text-decoration: none;
  display: flex;
}

.close-live-chat-container {
  cursor: pointer;
  justify-content: center;
  align-items: center;
  width: 10%;
  height: 100%;
  display: flex;
}

.small-whatsapp-icon {
  object-fit: contain;
  width: auto;
  height: auto;
  margin-right: 10px;
}

.profile-image {
  object-fit: contain;
  width: 200px;
  height: 200px;
}

.profile-flex {
  grid-column-gap: 60px;
  grid-row-gap: 60px;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.profile-title {
  margin-bottom: 14px;
  font-family: Texgyretermes, Arial, sans-serif;
  font-size: 20px;
  font-weight: 700;
}

.text-block-small {
  margin-bottom: 20px;
  font-size: 15px;
  font-weight: 500;
}

.form {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.form-block {
  width: 100%;
  max-width: 650px;
}

.text-field {
  color: #fff;
  background-color: #161616;
  border: 1px #000;
  border-radius: 3px;
  height: 44px;
  margin-bottom: 0;
  padding-top: 10px;
  padding-bottom: 10px;
}

.text-field::placeholder {
  color: #999;
}

.text-field.area {
  height: 96px;
}

.offer-description {
  max-width: 650px;
  margin-top: 6px;
  margin-bottom: 40px;
}

.utility-page-wrap {
  justify-content: center;
  align-items: center;
  width: 100vw;
  max-width: 100%;
  height: 85vh;
  max-height: 100%;
  display: flex;
}

.utility-page-content {
  text-align: center;
  flex-direction: column;
  width: 260px;
  display: flex;
}

.utility-image {
  width: 42px;
  margin-bottom: 24px;
  margin-left: auto;
  margin-right: auto;
}

.billing-information-grid {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  border: 1px solid #ffffff4d;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  margin-bottom: 16px;
  display: grid;
}

.billing-information-grid.two-columns {
  grid-template-columns: 1fr 1fr;
}

.billing-information-cell {
  border-right: 1px solid #ffffff4d;
  padding: 12px;
}

.billing-information-cell.center-text {
  text-align: center;
  border-right-style: none;
}

.billing-information-cell.border-top {
  border-top: 1px solid #ffffff4d;
}

.billing-information-cell.no-border-right {
  border-right-style: none;
}

@media screen and (min-width: 1920px) {
  .hero-section {
    height: 45vh;
  }

  .whatsapp-chat {
    display: none;
  }

  .livechat-button {
    transition: all .2s;
  }

  .livechat-button:hover {
    background-color: #000;
    transform: scale(1.05);
  }
}

@media screen and (max-width: 991px) {
  h1 {
    font-size: 42px;
  }

  .footer-grid {
    grid-template-columns: 2fr 1fr;
  }

  .icon {
    color: var(--white);
  }

  .icon.black {
    color: var(--black);
  }

  .menu-button {
    padding-right: 0;
  }

  .whatsapp-block {
    bottom: 20px;
    right: 20px;
  }
}

@media screen and (max-width: 767px) {
  h1 {
    font-size: 38px;
  }

  .hero-content-wrapper {
    padding-left: 24px;
    padding-right: 24px;
  }

  .section {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .whatsapp-block {
    bottom: 15px;
    right: 15px;
  }
}

@media screen and (max-width: 479px) {
  h2 {
    font-size: 28px;
  }

  .overlay {
    background-image: linear-gradient(#00000059, #00000059);
  }

  .hero-content-wrapper {
    padding-left: 24px;
    padding-right: 24px;
  }

  .navbar-container {
    grid-template-columns: auto 1fr;
  }

  .footer-grid {
    grid-template-columns: 2fr;
  }

  .whatsapp-block {
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
    bottom: 0;
    right: 0;
  }

  .whatsapp-chat {
    width: 100%;
    height: 40vh;
    position: relative;
  }

  .whatsapp-container {
    width: 60px;
    height: 60px;
    bottom: 10px;
    right: 0;
  }

  .whatsapp-icon {
    width: 26px;
  }

  .profile-image {
    width: 100%;
    height: auto;
    padding: 33px;
  }

  .profile-flex {
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .form {
    grid-template-columns: 1fr;
  }

  .text-field {
    height: 56px;
  }

  .text-field.area {
    height: 140px;
  }

  .billing-information-grid {
    grid-template-columns: 1fr 1fr;
  }

  .billing-information-cell {
    font-size: 14px;
  }
}

#w-node-_8bfaadb6-2d64-9a20-6089-a1bd5d6bc056-2fe2d4d1 {
  grid-area: span 1 / span 4 / span 1 / span 4;
}

#Yritys.w-node-_15ca926c-5f3b-440e-5dab-32272f3b0112-2f3b0103 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#Kohteen-osoite.w-node-_643ef094-927b-73dd-4299-1b4837bc3451-2f3b0103, #Palvelu.w-node-_43dc55ad-6eae-b905-8151-74fac989d2c0-2f3b0103, #Lisatiedot.w-node-_15ca926c-5f3b-440e-5dab-32272f3b0113-2f3b0103, #w-node-_15ca926c-5f3b-440e-5dab-32272f3b0114-2f3b0103 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-e7544a66-ea5d-75da-f0cf-ea4d2665b19c-2665b19a {
  grid-area: 1 / 1 / 2 / 2;
}

#w-node-e7544a66-ea5d-75da-f0cf-ea4d2665b19e-2665b19a {
  justify-self: end;
}

#w-node-_4f2ceca1-11fc-6f6c-7bcf-d3db0de0bb55-0de0bb53 {
  grid-area: 1 / 1 / 2 / 2;
}

#w-node-_4f2ceca1-11fc-6f6c-7bcf-d3db0de0bb57-0de0bb53 {
  justify-self: end;
}

@media screen and (max-width: 991px) {
  #w-node-_46141a44-826d-77c5-7d88-013510700b8b-10700b88 {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }

  #w-node-e7544a66-ea5d-75da-f0cf-ea4d2665b1a9-2665b19a {
    justify-self: end;
  }
}

@media screen and (max-width: 479px) {
  #w-node-_8bfaadb6-2d64-9a20-6089-a1bd5d6bc056-2fe2d4d1 {
    grid-column: span 2 / span 2;
  }

  #w-node-_8bfaadb6-2d64-9a20-6089-a1bd5d6bc05f-2fe2d4d1 {
    grid-area: 3 / 1 / 4 / 2;
  }

  #w-node-_8bfaadb6-2d64-9a20-6089-a1bd5d6bc062-2fe2d4d1 {
    grid-area: 3 / 2 / 4 / 3;
  }

  #w-node-_46141a44-826d-77c5-7d88-013510700b8b-10700b88, #Kohteen-osoite.w-node-_643ef094-927b-73dd-4299-1b4837bc3451-2f3b0103, #Palvelu.w-node-_43dc55ad-6eae-b905-8151-74fac989d2c0-2f3b0103, #Lisatiedot.w-node-_15ca926c-5f3b-440e-5dab-32272f3b0113-2f3b0103, #w-node-_15ca926c-5f3b-440e-5dab-32272f3b0114-2f3b0103 {
    grid-column: span 1 / span 1;
  }
}


@font-face {
  font-family: 'Texgyretermes';
  src: url('../fonts/texgyretermes-bolditalic.otf') format('opentype');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Texgyretermes';
  src: url('../fonts/texgyretermes-italic.otf') format('opentype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Texgyretermes';
  src: url('../fonts/texgyretermes-bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Texgyretermes';
  src: url('../fonts/texgyretermes-regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}