:root {
  --container-max-width: 1710px;
  --container-padding-x: min(64px, 9vw);
  --header-height: 94px;
  --section-margin: 62px;
  --sidebar-width: 95px;
}
@media (min-width: 640px) {
  :root {
    --container-padding-x: min(64px, 4.4vw);
    --section-margin: 90px;
  }
}
@media (min-width: 1360px) {
  :root {
    --section-margin: 140px;
  }
}
@media (min-width: 1640px) {
  :root {
    --header-height: 124px;
  }
}

:root {
  --color-blue: #11274a;
  --color-red: #f15623;
  --color-beige: #f4f1ec;
  --text-color: #3f3f3f;
  --heading-color: var(--color-blue);
  --button-color: var(--color-blue);
  --button-color-hover: var(--color-red);
}

:root {
  --icon-arrow: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 133.7 133.44'%3E%3Cpolygon points='12.82 0 115.56 102.75 115.56 4.57 133.7 4.57 133.7 133.44 4.83 133.44 4.83 115.3 102.48 115.3 0 12.82 12.82 0' fill='%2300264c'/%3E%3C/svg%3E");
  --icon-angle: url("data:image/svg+xml,%3Csvg width='10' height='20' viewBox='0 0 10 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.83101 10L0.298259 2.46725C0.0995927 2.26858 0.00284228 2.03208 0.00800894 1.75775C0.0131756 1.48342 0.115093 1.24683 0.313759 1.048C0.512426 0.849333 0.748926 0.75 1.02326 0.75C1.29759 0.75 1.53418 0.849333 1.73301 1.048L9.38876 8.71925C9.56943 8.90008 9.70334 9.10267 9.79051 9.327C9.87784 9.55133 9.92151 9.77567 9.92151 10C9.92151 10.2243 9.87784 10.4487 9.79051 10.673C9.70334 10.8973 9.56943 11.0999 9.38876 11.2808L1.71751 18.952C1.51884 19.1507 1.28493 19.2474 1.01576 19.2423C0.746426 19.2371 0.512426 19.1352 0.313759 18.9365C0.115093 18.7378 0.0157589 18.5013 0.0157589 18.227C0.0157589 17.9527 0.115093 17.7161 0.313759 17.5173L7.83101 10Z'/%3E%3C/svg%3E ");
  --icon-arrow-top: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 182.25 439.94'%3E%3Cpolygon points='82.25 439.94 82.25 34.52 12.83 103.95 0 91.12 91.13 0 182.25 91.12 169.43 103.95 100.38 34.9 100.38 439.94 82.25 439.94'/%3E%3C/svg%3E");
  --icon-arrow-long: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 439.94 182.25'%3E%3Cpolygon points='0 82.25 405.42 82.25 335.99 12.83 348.82 0 439.94 91.13 348.82 182.25 335.99 169.43 405.04 100.38 0 100.38 0 82.25'/%3E%3C/svg%3E");
  --icon-magnify: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29.99 30'%3E%3Cpath d='M21.51,20.1c1.87-2.2,2.9-4.97,2.9-7.89,0-3.26-1.27-6.33-3.58-8.63S15.46,0,12.2,0,5.87,1.27,3.57,3.58c-4.76,4.76-4.76,12.5,0,17.26,2.31,2.31,5.37,3.58,8.63,3.58,2.93,0,5.69-1.03,7.89-2.9l8.19,8.2c.2.2.45.29.71.29s.51-.1.71-.29c.39-.39.39-1.02,0-1.41l-8.19-8.2ZM4.98,19.43c-3.98-3.98-3.98-10.46,0-14.44,3.98-3.98,10.46-3.98,14.44,0,1.93,1.93,2.99,4.49,2.99,7.22s-1.06,5.29-2.99,7.22c-3.98,3.98-10.46,3.98-14.44,0Z'/%3E%3C/svg%3E");
  --icon-close: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 219.22 219.5'%3E%3Cpolygon points='219.22 13.09 206.67 0 109.61 97.06 12.55 0 0 13.09 96.79 109.88 0 206.68 12.82 219.5 109.61 122.7 206.4 219.5 219.22 206.68 122.43 109.88 219.22 13.09'/%3E%3C/svg%3E");
  --icon-select: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18.49 9.91'%3E%3Cpath d='M9.24,7.82L16.78.29c.2-.2.44-.3.71-.29.27,0,.51.11.71.31.2.2.3.44.3.71s-.1.51-.3.71l-7.67,7.66c-.18.18-.38.31-.61.4-.22.09-.45.13-.67.13s-.45-.04-.67-.13c-.22-.09-.43-.22-.61-.4L.29,1.71C.09,1.51,0,1.28,0,1.01c0-.27.11-.5.31-.7C.5.11.74,0,1.02,0s.51.1.71.3l7.52,7.52Z'/%3E%3C/svg%3E");
  --icon-select-white: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 18.49 9.91'%3E%3Cpath d='M9.24,7.82L16.78.29c.2-.2.44-.3.71-.29.27,0,.51.11.71.31.2.2.3.44.3.71s-.1.51-.3.71l-7.67,7.66c-.18.18-.38.31-.61.4-.22.09-.45.13-.67.13s-.45-.04-.67-.13c-.22-.09-.43-.22-.61-.4L.29,1.71C.09,1.51,0,1.28,0,1.01c0-.27.11-.5.31-.7C.5.11.74,0,1.02,0s.51.1.71.3l7.52,7.52Z'/%3E%3C/svg%3E");
  --icon-amsted: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2015.86 271.43'%3E%3Cpath d='M1879.11,271.43h-112.65v-12.39h19.59c4.58,0,6.25-2.9,6.25-6.55V80c0-42.5-.86-58.2-11.75-58.2h-24.56v-12.36h122.68c117.66,0,137.19,88.29,137.19,125.79,0,73.89-50.4,136.2-136.75,136.2ZM1860.32,24.34c-27.58,0-32.49,0-32.49,7.38v173.65c0,51.17,4.58,51.17,17.02,51.17h33.36c73.87,0,99.69-58.16,99.69-104.76,0-90.73-57.06-127.44-117.58-127.44ZM1435.62,271.43v-12.39h19.52c4.64,0,6.23-2.9,6.23-6.55V80c0-42.5-.74-58.2-11.58-58.2h-24.63v-12.36h209.05c-3.88,36.3-5.03,37.61-8.74,38.36-3.44,0-4.23-2.06-5.09-7.41-1.16-4.94-8.38-16.06-74.28-16.06h-40.81c-6.3,0-8.41,3.29-8.41,7.38v89.57h48.39c43.05,0,55.94-1.63,55.94-14.08v-16.01h11.27v69.66h-11.27v-14.44c0-11.18-4.15-11.5-51.74-11.5h-52.58v70.46c0,51.17,4.62,51.17,17.09,51.17h28.02c70.84,0,87.19-10.28,94.24-21.85,1.29-2.04,2.07-4.58,5.02-4.58,1.71,0,3.4,2.53,3.4,4.58,0,3.67-5.5,20.2-10.44,36.75h-198.59ZM1310.81,51.13c-3.35,0-4.95-3.33-5.79-5.76-4.11-12.45-27.91-21.03-76.73-21.03h-10.49v176.52c0,42.52.8,58.19,11.67,58.19h32.17v12.39h-116.79v-12.39h31.29c4.49,0,6.25-2.9,6.25-6.55V24.34h-10.45c-48.83,0-72.59,8.59-76.74,21.03-.93,2.43-2.55,5.76-5.89,5.76-2.52,0-4.52-1.24-4.52-4.07,0-2.5,5.75-20.66,11.58-37.61h207.33c5.9,16.96,11.7,35.11,11.7,37.61,0,2.83-2.05,4.07-4.59,4.07ZM976.68,195.11c0,33.88-31.65,76.32-100.55,76.32-20.44,0-45.86-3.93-65.05-10.94-5.55-24.11-6.28-32.27-6.28-35.77,0-2.72.73-4.63,4.95-4.63s5.48,3.87,6.31,7.37c5.85,21.77,44.64,29.91,65.09,29.91,33.36,0,67.6-15.5,67.6-50.62,0-29.89-24.25-43.13-65.54-57.19-18.76-6.18-69.62-21.4-69.62-68.84s50.01-71.28,94.65-71.28c17.48,0,33.8,1.54,47.11,7.39.4,9.37,1.26,19.07,1.26,28.49,0,2.73-1.26,4.99-4.58,4.99-4.11,0-4.59-3.04-5-5.83-2.86-16.73-36.7-20.98-50.05-20.98-27.93,0-56.75,15.92-56.75,44.72,0,31.57,31.33,41.66,57.52,50.98,53.52,18.32,78.93,34.26,78.93,75.93ZM594.51,259.04h19.65c4.61,0,6.22-2.9,6.22-6.55V49.45l-.84-.8-93.41,218.65c-.86,2.02-1.69,2.8-7.54,2.8-2.07,0-3.77-4.93-6.28-10.3l-98.04-205.81-.82.83v160.84c0,19.02.82,43.38,13.37,43.38h22.09v12.39h-76.32v-12.39h15.42c5.01,0,9.59-2.06,9.59-8.29V69.28c0-33.42-3.76-47.47-23.34-47.47h-12.96v-12.36h66.74l100.98,205.88L621.23,9.44h59.63v12.36h-18.74c-4.59,0-6.25,2.91-6.25,6.65v172.4c0,42.52.8,58.19,11.65,58.19h23.8v12.39h-96.81v-12.39ZM166.92,259.04h22.48c2.96,0,5.85-1.26,5.85-4.16s-11.7-31.71-28.79-81.63h-94.68c-9.23,23.07-24.23,63.47-24.23,75.07,0,8.66,4.2,10.71,10.42,10.71h26.33v12.39H0v-12.39h8.33c6.26,0,12.53-1.26,15.02-6.55L128.89,5.34c10.44-2.47,22.2-5.34,24.66-5.34,2.06,0,4.16,1.25,4.16,4.05,0,5.39-7.48,5.02-7.48,12.89,0,17.64,51.72,155.44,72.14,210.34,9.62,26,14.65,31.76,25.45,31.76h12.56v12.39h-93.47v-12.39ZM123.91,48.65l-46.3,109.71h82.95l-36.64-109.71Z'/%3E%3C/svg%3E");
  --icon-facebook: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50.3 50'%3E%3Cpath d='M50.3,25.2A25.15,25.15,0,1,0,21.2,50V32.4H14.8V25.1h6.4V19.6c0-6.3,3.8-9.8,9.5-9.8a36.52,36.52,0,0,1,5.6.5v6.2H33.1c-3.1,0-4.1,1.9-4.1,3.9v4.7h7l-1.1,7.3H29V50A25.16,25.16,0,0,0,50.3,25.2Z'/%3E%3C/svg%3E");
  --icon-facebook-f: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26.78 50'%3E%3Cpath d='M25,28.13l1.39-9H17.73V13.2c0-2.47,1.21-4.88,5.1-4.88h4V.61a48.21,48.21,0,0,0-7-.61C12.62,0,8,4.33,8,12.18v6.9H0v9.05H8V50h9.78V28.13Z'/%3E%3C/svg%3E");
  --icon-facebook-square: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Cpath d='M44.64,0H5.36A5.36,5.36,0,0,0,0,5.36V44.64A5.36,5.36,0,0,0,5.36,50H20.68V33h-7V25h7V18.9C20.68,12,24.8,8.13,31.13,8.13a42.67,42.67,0,0,1,6.2.54v6.81H33.84c-3.44,0-4.52,2.14-4.52,4.32V25H37l-1.23,8H29.32V50H44.64A5.36,5.36,0,0,0,50,44.64V5.36A5.36,5.36,0,0,0,44.64,0Z'/%3E%3C/svg%3E");
  --icon-x: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50.2 45.38'%3E%3Cpath d='M39.53,0h7.7l-16.82,19.22,19.79,26.16h-15.49l-12.14-15.86-13.88,15.86H.98l17.99-20.56L0,0h15.88l10.96,14.5L39.53,0ZM36.83,40.78h4.27L13.56,4.36h-4.58l27.85,36.41Z'/%3E%3C/svg%3E");
  --icon-instagram: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50.01 50'%3E%3Cpath d='M25,12.18A12.82,12.82,0,1,0,37.83,25,12.8,12.8,0,0,0,25,12.18Zm0,21.15A8.33,8.33,0,1,1,33.35,25,8.34,8.34,0,0,1,25,33.33ZM41.34,11.66a3,3,0,1,1-3-3A3,3,0,0,1,41.34,11.66Zm8.5,3c-.19-4-1.11-7.55-4-10.48S39.33.38,35.32.18s-16.5-.24-20.63,0-7.54,1.1-10.48,4S.38,10.67.18,14.68s-.24,16.5,0,20.63,1.1,7.55,4,10.48,6.48,3.83,10.48,4,16.5.24,20.63,0,7.55-1.1,10.48-4,3.83-6.48,4-10.48.23-16.49,0-20.62ZM44.5,39.74a8.41,8.41,0,0,1-4.75,4.75c-3.29,1.31-11.1,1-14.74,1s-11.46.29-14.74-1a8.44,8.44,0,0,1-4.75-4.75c-1.31-3.29-1-11.1-1-14.74s-.29-11.46,1-14.74a8.41,8.41,0,0,1,4.75-4.75c3.29-1.31,11.1-1,14.74-1s11.46-.29,14.74,1a8.41,8.41,0,0,1,4.75,4.75c1.31,3.29,1,11.1,1,14.74S45.81,36.46,44.5,39.74Z'/%3E%3C/svg%3E");
  --icon-instagram-square: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Cpath d='M25,19.05A6,6,0,1,0,31,25,5.95,5.95,0,0,0,25,19.05Zm13.92-4.58a6,6,0,0,0-3.4-3.39c-2.34-.93-7.92-.72-10.52-.72s-8.18-.22-10.53.72a6,6,0,0,0-3.39,3.39c-.92,2.34-.72,7.93-.72,10.53s-.2,8.18.72,10.53a6.06,6.06,0,0,0,3.4,3.39c2.34.93,7.92.72,10.52.72s8.18.21,10.53-.72a6,6,0,0,0,3.39-3.39c.93-2.35.72-7.93.72-10.53s.21-8.18-.72-10.53ZM25,34.15A9.15,9.15,0,1,1,34.15,25,9.15,9.15,0,0,1,25,34.15ZM34.53,17.6a2.14,2.14,0,1,1,2.13-2.14h0a2.12,2.12,0,0,1-2.12,2.14ZM44.64,0H5.36A5.36,5.36,0,0,0,0,5.36V44.64A5.36,5.36,0,0,0,5.36,50H44.64A5.36,5.36,0,0,0,50,44.64V5.36A5.36,5.36,0,0,0,44.64,0ZM42.73,32.37c-.14,2.86-.79,5.39-2.88,7.47s-4.62,2.75-7.48,2.89-11.79.17-14.73,0-5.39-.8-7.48-2.89-2.75-4.62-2.89-7.47-.16-11.79,0-14.74.79-5.39,2.89-7.47,4.63-2.74,7.48-2.88,11.78-.17,14.73,0,5.39.8,7.48,2.88a10.63,10.63,0,0,1,2.88,7.49C42.9,20.58,42.9,29.42,42.73,32.37Z'/%3E%3C/svg%3E");
  --icon-linkedin-square: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Cpath d='M46.43,0H3.56A3.59,3.59,0,0,0,0,3.6V46.4A3.59,3.59,0,0,0,3.56,50H46.43A3.6,3.6,0,0,0,50,46.4V3.6A3.6,3.6,0,0,0,46.43,0ZM15.11,42.86H7.7V19h7.42V42.86Zm-3.7-27.12a4.3,4.3,0,1,1,4.29-4.3A4.3,4.3,0,0,1,11.41,15.74ZM42.89,42.86H35.48V31.25c0-2.77-.06-6.33-3.85-6.33s-4.45,3-4.45,6.13V42.86H19.77V19h7.11v3.25H27a7.8,7.8,0,0,1,7-3.85c7.5,0,8.89,5,8.89,11.38Z'/%3E%3C/svg%3E");
  --icon-linkedin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Cpath d='M11.19,50H.83V16.62H11.19ZM6,12.06A6,6,0,1,1,12,6,6.05,6.05,0,0,1,6,12.06ZM50,50H39.65V33.75c0-3.87-.08-8.84-5.39-8.84S28,29.12,28,33.47V50H17.69V16.62h9.94v4.55h.14a10.91,10.91,0,0,1,9.81-5.39C48.07,15.78,50,22.69,50,31.66V50Z'/%3E%3C/svg%3E");
  --icon-youtube: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M549.7 124.1c-6.3-23.7-24.8-42.3-48.3-48.6C458.8 64 288 64 288 64S117.2 64 74.6 75.5c-23.5 6.3-42 24.9-48.3 48.6-11.4 42.9-11.4 132.3-11.4 132.3s0 89.4 11.4 132.3c6.3 23.7 24.8 41.5 48.3 47.8C117.2 448 288 448 288 448s170.8 0 213.4-11.5c23.5-6.3 42-24.2 48.3-47.8 11.4-42.9 11.4-132.3 11.4-132.3s0-89.4-11.4-132.3zm-317.5 213.5V175.2l142.7 81.2-142.7 81.2z'/%3E%3C/svg%3E");
  --icon-tiktok: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M448 209.9a210.1 210.1 0 0 1 -122.8-39.3V349.4A162.6 162.6 0 1 1 185 188.3V278.2a74.6 74.6 0 1 0 52.2 71.2V0l88 0a121.2 121.2 0 0 0 1.9 22.2h0A122.2 122.2 0 0 0 381 102.4a121.4 121.4 0 0 0 67 20.1z'/%3E%3C/svg%3E");
  --icon-pinterest: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512'%3E%3Cpath d='M496 256c0 137-111 248-248 248-25.6 0-50.2-3.9-73.4-11.1 10.1-16.5 25.2-43.5 30.8-65 3-11.6 15.4-59 15.4-59 8.1 15.4 31.7 28.5 56.8 28.5 74.8 0 128.7-68.8 128.7-154.3 0-81.9-66.9-143.2-152.9-143.2-107 0-163.9 71.8-163.9 150.1 0 36.4 19.4 81.7 50.3 96.1 4.7 2.2 7.2 1.2 8.3-3.3 .8-3.4 5-20.3 6.9-28.1 .6-2.5 .3-4.7-1.7-7.1-10.1-12.5-18.3-35.3-18.3-56.6 0-54.7 41.4-107.6 112-107.6 60.9 0 103.6 41.5 103.6 100.9 0 67.1-33.9 113.6-78 113.6-24.3 0-42.6-20.1-36.7-44.8 7-29.5 20.5-61.3 20.5-82.6 0-19-10.2-34.9-31.4-34.9-24.9 0-44.9 25.7-44.9 60.2 0 22 7.4 36.8 7.4 36.8s-24.5 103.8-29 123.2c-5 21.4-3 51.6-.9 71.2C65.4 450.9 0 361.1 0 256 0 119 111 8 248 8s248 111 248 248z'/%3E%3C/svg%3E%0A");
  --icon-pinterest-p: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z'/%3E%3C/svg%3E%0A");
  --icon-pinterest-square: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M384 32H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64h72.6l-2.2-.8c-5.4-48.1-3.1-57.5 15.7-134.7c3.9-16 8.5-35 13.9-57.9c0 0-7.3-14.8-7.3-36.5c0-70.7 75.5-78 75.5-25c0 13.5-5.4 31.1-11.2 49.8c-3.3 10.6-6.6 21.5-9.1 32c-5.7 24.5 12.3 44.4 36.4 44.4c43.7 0 77.2-46 77.2-112.4c0-58.8-42.3-99.9-102.6-99.9C153 139 112 191.4 112 245.6c0 21.1 8.2 43.7 18.3 56c2 2.4 2.3 4.5 1.7 7c-1.1 4.7-3.1 12.9-4.7 19.2c-1 4-1.8 7.3-2.1 8.6c-1.1 4.5-3.5 5.5-8.2 3.3c-30.6-14.3-49.8-59.1-49.8-95.1C67.2 167.1 123.4 96 229.4 96c85.2 0 151.4 60.7 151.4 141.8c0 84.6-53.3 152.7-127.4 152.7c-24.9 0-48.3-12.9-56.3-28.2c0 0-12.3 46.9-15.3 58.4c-5 19.3-17.6 42.9-27.4 59.3H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64z'/%3E%3C/svg%3E%0A");
  --icon-houzz: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 414.6 448'%3E%3Cpath d='M258.9,298.7h-104.6v149.3H0V0h109.5v104.5l305.1,85.6v257.9h-155.7v-149.3Z'/%3E%3C/svg%3E");
}

/*
100    Extra Light or Ultra Light
200    Light or Thin
300    Book or Demi
400    Normal or Regular
500    Medium
600    Semibold, Demibold
700    Bold
800    Black, Extra Bold or Heavy
900    Extra Black, Fat, Poster or Ultra Black
*/
* {
  margin: 0;
  padding: 0;
}

*,
:before,
:after {
  box-sizing: border-box;
}

html, body {
  min-height: 100vh;
  width: 100%;
}

a {
  text-decoration: none;
  color: inherit;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

button {
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
  font: inherit;
}

input, textarea, select {
  font: inherit;
  border: none;
  outline: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

.alignnone {
  margin: 5px 20px 20px 0;
}
.alignnone:last-child {
  margin-bottom: 0;
}

.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 5px auto;
}

.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}
a img.alignnone {
  margin: 5px 20px 20px 0;
}
a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}
a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption {
  background: #fff;
  border: 1px solid #f0f0f0;
  max-width: 96%; /* Image does not overflow the content area */
  padding: 5px 3px 10px;
  text-align: center;
}
.wp-caption.alignnone {
  margin: 5px 20px 20px 0;
}
.wp-caption.alignleft {
  margin: 5px 20px 20px 0;
}
.wp-caption.alignright {
  margin: 5px 0 20px 20px;
}
.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto;
}
.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; /* Above WP toolbar. */
}

body {
  font-family: "Open Sans", sans-serif;
  color: var(--text-color);
  font-size: 1rem;
  line-height: 1.625;
  letter-spacing: 0.015rem;
}
@media (min-width: 640px) {
  body {
    font-size: 1.125rem;
    line-height: 1.55;
  }
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  font-family: "Source Serif 4", serif;
  margin: 0;
  font-variation-settings: "wght" 400, "opsz" 20;
}
h1 a, .h1 a, h2 a, .h2 a, h3 a, .h3 a, h4 a, .h4 a, h5 a, .h5 a, h6 a, .h6 a {
  color: currentColor;
  text-decoration: none;
}
h1 + p, .h1 + p, h2 + p, .h2 + p, h3 + p, .h3 + p, h4 + p, .h4 + p, h5 + p, .h5 + p, h6 + p, .h6 + p {
  margin-top: 0;
}
h1:first-child, .h1:first-child, h2:first-child, .h2:first-child, h3:first-child, .h3:first-child, h4:first-child, .h4:first-child, h5:first-child, .h5:first-child, h6:first-child, .h6:first-child {
  margin-top: 0;
}
h1:last-child, .h1:last-child, h2:last-child, .h2:last-child, h3:last-child, .h3:last-child, h4:last-child, .h4:last-child, h5:last-child, .h5:last-child, h6:last-child, .h6:last-child {
  margin-bottom: 0;
}

h1, .h1 {
  font-size: 2.8125rem;
  line-height: 1.25;
  font-weight: 600;
  color: currentColor;
}
@media (min-width: 640px) {
  h1, .h1 {
    font-size: 3.75rem;
  }
}
@media (min-width: 1640px) {
  h1, .h1 {
    font-size: 5.625rem;
  }
}

h2, .h2 {
  font-size: 2.1875rem;
  line-height: 1.2;
  margin-bottom: 2rem;
  letter-spacing: 0;
}
@media (min-width: 640px) {
  h2, .h2 {
    font-size: 3.125rem;
  }
}
@media (min-width: 1640px) {
  h2, .h2 {
    font-size: 4.5rem;
    margin-bottom: 3rem;
  }
}
h2 br, .h2 br {
  display: none;
}
@media (min-width: 640px) {
  h2 br, .h2 br {
    display: block;
  }
}

h3, .h3 {
  font-size: 1.75rem;
  line-height: 1.25;
  margin-bottom: 1.5rem;
}
@media (min-width: 640px) {
  h3, .h3 {
    font-size: 1.875rem;
  }
}
@media (min-width: 1640px) {
  h3, .h3 {
    font-size: 3.125rem;
  }
}

h4, .h4 {
  font-size: 1.25rem;
  line-height: 1.5;
  margin-bottom: 1.5rem;
}
@media (min-width: 640px) {
  h4, .h4 {
    line-height: 1.33;
    font-size: 1.875rem;
  }
}

a {
  text-decoration: underline;
}
@media (hover: hover) {
  a:hover {
    text-decoration: none;
  }
}

p:has(.button, .secondaryButton) {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem 72px;
}
@media (min-width: 640px) {
  p:has(.button, .secondaryButton) {
    display: block;
  }
}
p:has(.button, .secondaryButton):not(:first-child) {
  margin-top: 1.6rem;
}
@media (min-width: 640px) {
  p:has(.button, .secondaryButton):not(:first-child) {
    margin-top: 2rem;
  }
}
@media (min-width: 1120px) {
  p:has(.button, .secondaryButton):not(:first-child) {
    margin-top: 2.6rem;
  }
}
@media (min-width: 640px) {
  p:has(.button, .secondaryButton) .button:not(:last-child) {
    margin-right: 70px;
  }
}

hr {
  background: var(--text-color);
  height: 1px;
  border: none;
}

b, strong {
  font-weight: 600;
}

em {
  font-style: italic;
}

address {
  font-style: normal;
}

p, ul, ol, blockquote, hr {
  margin: 1.625em 0;
}
@media (min-width: 640px) {
  p, ul, ol, blockquote, hr {
    margin: 1.5em 0;
  }
}
p + h1, p + .h1, p + h2, p + .h2, p + h3, p + .h3, p + h4, p + .h4, p + h5, p + .h5, p + h6, p + .h6, ul + h1, ul + .h1, ul + h2, ul + .h2, ul + h3, ul + .h3, ul + h4, ul + .h4, ul + h5, ul + .h5, ul + h6, ul + .h6, ol + h1, ol + .h1, ol + h2, ol + .h2, ol + h3, ol + .h3, ol + h4, ol + .h4, ol + h5, ol + .h5, ol + h6, ol + .h6, blockquote + h1, blockquote + .h1, blockquote + h2, blockquote + .h2, blockquote + h3, blockquote + .h3, blockquote + h4, blockquote + .h4, blockquote + h5, blockquote + .h5, blockquote + h6, blockquote + .h6, hr + h1, hr + .h1, hr + h2, hr + .h2, hr + h3, hr + .h3, hr + h4, hr + .h4, hr + h5, hr + .h5, hr + h6, hr + .h6 {
  margin-top: 3rem;
}
p:first-child, ul:first-child, ol:first-child, blockquote:first-child, hr:first-child {
  margin-top: 0;
}
p:last-child, ul:last-child, ol:last-child, blockquote:last-child, hr:last-child {
  margin-bottom: 0;
}

.highlight {
  font-size: 1.25rem;
  line-height: 1.5;
  font-family: "Source Serif 4", serif;
  font-style: italic;
  font-variation-settings: "wght" 400, "opsz" 20;
}
@media (min-width: 640px) {
  .highlight {
    line-height: 1.45;
    font-size: 1.375rem;
  }
}
@media (min-width: 1120px) {
  .highlight {
    display: inline-block;
    line-height: 1.33;
    font-size: 1.875rem;
    margin: 0.75rem 0;
  }
}

.siteContent a:not(.button) {
  color: var(--color-blue);
}
.siteContent ul {
  padding-left: 16px;
}
.siteContent p + ul {
  margin-top: -1.625em;
}
@media (min-width: 640px) {
  .siteContent p + ul {
    margin-top: -1.5em;
  }
}

input,
textarea,
select {
  all: unset;
  width: 100%;
  border-radius: 0;
  margin: 0;
  border: 0 solid currentColor;
  border-bottom-width: 1px;
  height: 52px;
  padding: 0;
  color: currentColor;
  font-weight: 600;
}

select {
  align-items: center;
  text-indent: 0;
  padding-block: 0;
  padding-inline: 0;
  background: var(--icon-select) no-repeat right center;
  background-size: 14px auto;
}

textarea {
  border-width: 1px;
  height: 164px;
}

::-webkit-input-placeholder {
  color: currentColor;
}

:-moz-placeholder {
  color: currentColor;
}

::-moz-placeholder {
  color: currentColor;
}

:-ms-input-placeholder {
  color: currentColor;
}

.formFields,
.wpforms-field-container {
  display: flex;
  flex-wrap: wrap;
  gap: 35px 35px;
}
@media (min-width: 640px) {
  .formFields,
  .wpforms-field-container {
    gap: 45px 35px;
  }
}
@media (min-width: 1120px) {
  .formFields,
  .wpforms-field-container {
    gap: 65px 35px;
  }
}

.formField,
.wpforms-field {
  position: relative;
  display: block;
  width: 100%;
}
.formField__title,
.formField .wpforms-field-label,
.wpforms-field__title,
.wpforms-field .wpforms-field-label {
  display: block;
  font-weight: 600;
  margin-bottom: 15px;
}
.formField__title.wpforms-label-hide,
.formField .wpforms-field-label.wpforms-label-hide,
.wpforms-field__title.wpforms-label-hide,
.wpforms-field .wpforms-field-label.wpforms-label-hide {
  display: none;
}
.formField span.error,
.wpforms-field span.error {
  text-align: right;
  font-size: 14px;
  color: red;
  position: absolute;
  top: 100%;
  right: 0;
}
.formField--half, .formField.wpforms-one-half,
.wpforms-field--half,
.wpforms-field.wpforms-one-half {
  width: 100%;
}
@media (min-width: 1120px) {
  .formField--half, .formField.wpforms-one-half,
  .wpforms-field--half,
  .wpforms-field.wpforms-one-half {
    flex: 1;
    min-width: 40%;
    max-width: 50%;
  }
}
.formField--fullWidth,
.wpforms-field--fullWidth {
  width: 100%;
}

.formButtons,
.wpforms-submit-container {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px 50px;
  margin-top: 45px;
  padding-left: 50px;
}
@media (min-width: 640px) {
  .formButtons,
  .wpforms-submit-container {
    margin-top: 60px;
    flex-direction: row;
  }
}
.formButtons input[type=submit],
.wpforms-submit-container input[type=submit] {
  display: none;
}
.formButtons .button,
.wpforms-submit-container .button {
  margin-left: auto;
}
.formButtons .wpcf7-spinner,
.formButtons .wpforms-submit-spinner,
.wpforms-submit-container .wpcf7-spinner,
.wpforms-submit-container .wpforms-submit-spinner {
  margin: 0;
  position: absolute;
  left: 0;
  top: 0;
}
@media (min-width: 640px) {
  .formButtons .wpcf7-spinner,
  .formButtons .wpforms-submit-spinner,
  .wpforms-submit-container .wpcf7-spinner,
  .wpforms-submit-container .wpforms-submit-spinner {
    top: 50%;
    translate: 0 -50%;
  }
}

@media (min-width: 640px) {
  .wpforms-confirmation-container {
    text-align: center;
  }
}

.button {
  display: inline-block;
  align-items: center;
  justify-content: center;
  margin: 0;
  text-decoration: none;
  color: var(--button-color);
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0;
  transition: background-color 0.3s, border-color 0.3s, color 0.3s, outline-color 0.3s;
}
.button--fullWidth {
  width: 100%;
}
.button--icon {
  gap: 12px;
}
.button--icon:after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background: currentColor;
  mask: var(--icon-arrow) no-repeat center;
  mask-size: contain;
  margin-left: 12px;
  transition: rotate 0.3s;
}
@media (hover: hover) {
  .button--icon:hover:after {
    rotate: -90deg;
  }
}
@media (hover: hover) {
  .button:hover {
    color: var(--button-color-hover);
  }
}

table {
  width: 100%;
  max-width: 100%;
}
table th,
table td {
  vertical-align: top;
}
table thead th {
  vertical-align: bottom;
}

.imageBlock {
  display: block;
  position: relative;
  overflow: hidden;
}
.imageBlock img {
  width: 100%;
}
.imageBlock--formatted:before, .imageBlock--landscape:before, .imageBlock--portrait:before, .imageBlock--square:before {
  content: "";
  display: block;
  padding-bottom: var(--padding-bottom);
}
.imageBlock--formatted img, .imageBlock--formatted video, .imageBlock--formatted iframe, .imageBlock--landscape img, .imageBlock--landscape video, .imageBlock--landscape iframe, .imageBlock--portrait img, .imageBlock--portrait video, .imageBlock--portrait iframe, .imageBlock--square img, .imageBlock--square video, .imageBlock--square iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.imageBlock--parallax {
  overflow: hidden;
}
.imageBlock--parallax img {
  scale: 1.2;
  translate: 0 10%;
}
.imageBlock--landscape {
  --padding-bottom: 72%;
}
.imageBlock--portrait {
  --padding-bottom: 125%;
}
.imageBlock--square {
  --padding-bottom: 100%;
}
.imageBlock--90 {
  --padding-bottom: 90%;
}
.imageBlock--tab {
  --padding-bottom: 90%;
  /*--padding-bottom: 104%;
  @include breakpoint( $xl ) {
   --padding-bottom: 110%;
  }*/
}
.imageBlock--video a:after {
  content: "";
  display: block;
  width: 60px;
  height: 60px;
  background: #f5f5f5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='28px' height='31px'%3E%3Cpath fill-rule='evenodd' fill='rgb(241, 86, 35)' d='M-0.000,0.000 L27.1000,16.001 L-0.000,30.1000 L-0.000,0.000 Z'/%3E%3C/svg%3E") no-repeat center;
  background-size: 28% auto;
  position: absolute;
  right: 0;
  bottom: 0;
}
@media (min-width: 1120px) {
  .imageBlock--video a:after {
    width: 100px;
    height: 100px;
  }
}
.imageBlock--videoLeft a:after {
  right: auto;
  left: 0;
}
.imageBlock--magnify a:before, .imageBlock--magnify a:after {
  content: "";
  display: block;
  width: 100px;
  height: 100px;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
}
.imageBlock--magnify a:before {
  background: #f5f5f5;
}
.imageBlock--magnify a:after {
  background: var(--color-red);
  mask: var(--icon-magnify) no-repeat center;
  mask-size: 30% auto;
}

.textImageBlock__header {
  margin-bottom: 32px;
}
@media (min-width: 640px) {
  .textImageBlock__header {
    text-align: center;
    margin-bottom: 60px;
  }
}
@media (min-width: 1360px) {
  .textImageBlock__header {
    margin-bottom: 70px;
  }
}
@media (min-width: 640px) {
  .textImageBlock__cols {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
}
@media (min-width: 960px) {
  .textImageBlock__cols {
    display: grid;
    grid-template-areas: "text image" "text2 .";
    grid-template-columns: 52% 48%;
    grid-template-rows: repeat(100, auto);
  }
}
@media (min-width: 1360px) {
  .textImageBlock__cols {
    grid-template-columns: 59.5% 40.5%;
  }
}
@media (min-width: 640px) {
  .textImageBlock__textCol {
    width: 52%;
  }
}
@media (min-width: 960px) {
  .textImageBlock__textCol {
    width: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    grid-area: text;
  }
}
@media (min-width: 1120px) {
  .textImageBlock__textCol {
    align-items: flex-start;
  }
}
@media (min-width: 1640px) {
  .textImageBlock__textCol {
    padding-top: 85px;
  }
}
.textImageBlock__textCol--2 {
  margin-top: 1.75rem;
}
@media (min-width: 640px) {
  .textImageBlock__textCol--2 {
    margin-top: 40px;
    width: 100%;
    order: 9999;
  }
}
@media (min-width: 960px) {
  .textImageBlock__textCol--2 {
    width: auto;
    grid-area: text2;
    padding-top: 0;
    margin-top: 1.75rem;
  }
}
@media (min-width: 1120px) {
  .textImageBlock__textWrapper {
    width: 100%;
    max-width: 1135px;
  }
}
@media (min-width: 1120px) {
  .textImageBlock__textInner {
    max-width: calc(var(--container-max-width) / 2 + var(--container-padding-x));
    max-width: 930px;
    display: flex;
    justify-content: center;
  }
}
@media (min-width: 1120px) {
  .textImageBlock__textInner2 {
    max-width: 730px;
  }
}
.textImageBlock__imageCol {
  margin-left: var(--container-padding-x);
  margin-bottom: 44px;
}
@media (min-width: 640px) {
  .textImageBlock__imageCol {
    width: 48%;
    margin: 0;
  }
}
@media (min-width: 960px) {
  .textImageBlock__imageCol {
    width: auto;
    grid-area: image;
    grid-row: span 100;
  }
}

.imageTextBlock:not(:first-child) {
  margin-top: 75px;
}
.imageTextBlock__header {
  margin: 0 auto 30px;
}
@media (min-width: 640px) {
  .imageTextBlock__header {
    margin-bottom: 60px;
  }
}
@media (min-width: 1360px) {
  .imageTextBlock__header {
    margin-bottom: 70px;
  }
}
.imageTextBlock__headerInner {
  margin-right: -16px;
}
@media (min-width: 640px) {
  .imageTextBlock__headerInner {
    text-align: center;
    margin: 0;
  }
}
@media (min-width: 640px) {
  .imageTextBlock__cols {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
  }
}
@media (min-width: 960px) {
  .imageTextBlock__cols {
    display: grid;
    grid-template-areas: "image text" ". text2";
    grid-template-columns: 48% 52%;
    grid-template-rows: repeat(100, auto);
  }
}
@media (min-width: 1360px) {
  .imageTextBlock__cols {
    grid-template-columns: 40.5% 59.5%;
  }
}
@media (min-width: 640px) {
  .imageTextBlock__textCol {
    width: 52%;
    grid-area: text;
  }
}
@media (min-width: 960px) {
  .imageTextBlock__textCol {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    grid-area: text;
    width: auto;
  }
}
@media (min-width: 1640px) {
  .imageTextBlock__textCol {
    padding-top: 4vw;
  }
}
.imageTextBlock__textCol--2 {
  margin-top: 26px;
}
@media (min-width: 640px) {
  .imageTextBlock__textCol--2 {
    width: 100%;
    padding-top: 0;
    margin-top: 45px;
  }
}
@media (min-width: 960px) {
  .imageTextBlock__textCol--2 {
    grid-area: text2;
    width: auto;
    margin-top: 1.5em;
  }
}
@media (min-width: 1120px) {
  .imageTextBlock__textWrapper {
    width: 100%;
    max-width: calc(var(--container-max-width) / 2 + var(--container-padding-x) * 2);
    display: flex;
    justify-content: center;
  }
}
@media (min-width: 640px) {
  .imageTextBlock__textInner {
    margin: 0;
  }
}
@media (min-width: 1120px) {
  .imageTextBlock__textInner {
    max-width: 725px;
  }
}
.imageTextBlock__imageCol {
  margin-right: var(--container-padding-x);
  margin-bottom: 35px;
}
@media (min-width: 640px) {
  .imageTextBlock__imageCol {
    width: 48%;
    margin: 0;
  }
}
@media (min-width: 960px) {
  .imageTextBlock__imageCol {
    grid-area: image;
    width: auto;
    grid-row: span 100;
    align-self: flex-start;
  }
}

@media (min-width: 640px) {
  .textBlock {
    text-align: center;
  }
}
.textBlock p {
  max-width: 932px;
  margin-left: auto;
  margin-right: auto;
}

.twoColsText {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 30px;
  justify-content: space-between;
}
.twoColsText__col {
  width: 100%;
}
@media (min-width: 640px) {
  .twoColsText__col {
    flex: 1;
  }
}

.textTestimonialBlock {
  overflow: hidden;
  position: relative;
  background: #f4f1ec;
  padding: 135px 0 80px;
}
@media (min-width: 640px) {
  .textTestimonialBlock {
    text-align: center;
    margin: 150px 0;
    padding: 145px 0;
  }
}
@media (min-width: 1360px) {
  .textTestimonialBlock {
    padding: 190px 0;
  }
}
.textTestimonialBlock__quotes {
  content: "";
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  background: #ffffff;
}
@media (min-width: 640px) {
  .textTestimonialBlock__quotes {
    width: 100px;
    height: 100px;
  }
}
@media (min-width: 1640px) {
  .textTestimonialBlock__quotes {
    width: 150px;
    height: 150px;
  }
}
.textTestimonialBlock__quotes:before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 376.6 226'%3E%3Cpolygon points='376.6 0 376.6 162.6 277.4 162.6 214 226 214 162.6 214 0 376.6 0'/%3E%3Cpolygon points='162.6 0 162.6 162.6 63.4 162.6 0 226 0 162.6 0 0 162.6 0'/%3E%3C/svg%3E") no-repeat center;
  mask-size: contain;
  background: var(--color-red);
}
@media (min-width: 640px) {
  .textTestimonialBlock__quotes:before {
    width: 38px;
    height: 38px;
  }
}
@media (min-width: 1640px) {
  .textTestimonialBlock__quotes:before {
    width: 60px;
    height: 60px;
  }
}
.textTestimonialBlock p:has(.button) {
  justify-content: center;
}
.textTestimonialBlock__testimonialText {
  font-style: italic;
  font-family: "Source Serif 4", serif;
  font-size: 1.875rem;
}
.textTestimonialBlock__testimonialAuthor {
  margin-top: 40px;
  margin-bottom: 80px;
}

.beforeAfter img {
  height: 66vh;
  object-fit: cover;
}

.ctaBlock {
  color: #ffffff;
  background: url("../images/cta-bg-desktop.jpg") no-repeat center;
  background-size: cover;
}
.ctaBlock h2 {
  color: currentColor;
}
.ctaBlock p:has(.button) {
  justify-content: center;
}
.ctaBlock .button {
  color: currentColor;
}

.mapBlock {
  position: relative;
}
.mapBlock:before {
  content: "";
  display: block;
  padding-bottom: 90%;
}

.testimonialsSlider {
  position: relative;
}
@media (min-width: 640px) {
  .testimonialsSlider {
    padding: 0 10px;
  }
}
.testimonialsSlider .tns-controls {
  position: relative;
  margin-top: 75px;
  display: flex;
}
.testimonialsSlider .tns-controls button {
  width: 66px;
  height: 30px;
  background: var(--color-blue);
  mask: var(--icon-arrow-long) no-repeat center;
  mask-size: 100% auto;
  position: absolute;
  top: 0;
  transition: background-color 0.3s;
}
.testimonialsSlider .tns-controls button[data-controls=prev] {
  transform: rotate(180deg);
  margin-right: auto;
  left: 0;
}
@media (min-width: 640px) {
  .testimonialsSlider .tns-controls button[data-controls=prev] {
    left: auto;
    right: 50%;
    translate: -155px 0;
  }
}
.testimonialsSlider .tns-controls button[data-controls=next] {
  margin-left: auto;
  right: 0;
}
@media (min-width: 640px) {
  .testimonialsSlider .tns-controls button[data-controls=next] {
    right: auto;
    left: 50%;
    translate: 155px 0;
  }
}
@media (hover: hover) {
  .testimonialsSlider .tns-controls button:hover {
    background-color: var(--color-red);
  }
}
.testimonialsSlider .tns-controls button[disabled] {
  visibility: visible;
  opacity: 1;
  background-color: #bbbbbb;
}
.testimonialsSlider__nav {
  display: flex;
  justify-content: center;
}
.testimonialsSlider__button {
  min-height: 30px;
}
.testimonialsSlider__button:before {
  content: attr(data-text-short);
}
@media (min-width: 640px) {
  .testimonialsSlider__button:before {
    content: attr(data-text-full);
  }
}

.callout {
  background: var(--color-beige);
  padding: 80px 0;
  font-size: 1.75rem;
  line-height: 1.36;
  font-family: "Source Serif 4", serif;
  text-align: center;
  letter-spacing: 0.03em;
}
@media (min-width: 640px) {
  .callout {
    font-size: 1.875rem;
    padding: 90px var(--container-padding-x);
  }
}
@media (min-width: 1360px) {
  .callout {
    padding: 195px 0;
    font-size: 3.125rem;
  }
}

.contentBlocks__header {
  margin: 0 auto 40px;
}
@media (min-width: 640px) {
  .contentBlocks__header {
    margin-bottom: 60px;
    text-align: center;
  }
}
@media (min-width: 1360px) {
  .contentBlocks__header {
    margin-bottom: 70px;
  }
}
.contentBlocks__blocks {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 0;
}
@media (min-width: 1120px) {
  .contentBlocks__blocks {
    gap: 0;
    margin-top: 90px;
  }
}
@media (min-width: 1360px) {
  .contentBlocks__blocks {
    margin-top: 125px;
  }
}
.contentBlocks__block {
  position: relative;
  width: 100%;
}
@media (min-width: 1120px) {
  .contentBlocks__block {
    width: 50%;
    padding: 30px 0;
    border-bottom: 1px solid #bbbbbb;
  }
}
@media (min-width: 1640px) {
  .contentBlocks__block {
    padding: 7.5vw 0;
  }
}
@media (min-width: 1120px) {
  .contentBlocks__block:nth-child(-n+2) {
    padding-top: 30px;
  }
}
@media (min-width: 1120px) {
  .contentBlocks__block:nth-last-child(-n+2) {
    padding-bottom: 30px;
  }
}
@media (min-width: 1120px) {
  .contentBlocks__block:nth-child(2n+1) {
    border-right: 1px solid #bbbbbb;
  }
}
@media (min-width: 1120px) {
  .contentBlocks__block:nth-last-child(-n+2) {
    border-bottom: none;
  }
}
@media (min-width: 1120px) {
  .contentBlocks__block:nth-last-child(n+2):nth-child(even) {
    border-bottom: 1px solid #bbbbbb;
  }
}
@media (min-width: 1120px) {
  .contentBlocks__block .container {
    max-width: 740px;
  }
}

.galleryPreview {
  overflow: hidden;
}
.galleryPreview__header {
  margin: 0 auto 40px;
}
@media (min-width: 640px) {
  .galleryPreview__header {
    margin-bottom: 60px;
    text-align: center;
  }
}
@media (min-width: 1360px) {
  .galleryPreview__header {
    margin-bottom: 70px;
  }
}
.galleryPreview__carousel {
  padding: 0 80px;
  margin: 60px 0;
}
@media (min-width: 640px) {
  .galleryPreview__carousel {
    padding: 0;
    margin: 75px 0;
  }
}
@media (min-width: 1640px) {
  .galleryPreview__carousel {
    padding: 0 43px;
    margin: 85px 0;
  }
}
@media (min-width: 640px) {
  .galleryPreview__footer {
    text-align: center;
  }
}

.galleryPreviewCarousel .tns-ovh {
  overflow: visible;
}
.galleryPreviewCarousel__slide {
  transition: scale 0.3s;
}
.galleryPreviewCarousel__slide.tns-slide-active .imageBlock {
  scale: 1.11;
}
@media (min-width: 640px) {
  .galleryPreviewCarousel__slide.tns-slide-active .imageBlock {
    scale: 1;
  }
}
@media (min-width: 640px) {
  .galleryPreviewCarousel__slide.tns-slide-active:nth-child(2) .imageBlock {
    scale: 1.1;
  }
}
@media (min-width: 1640px) {
  .galleryPreviewCarousel__slide.tns-slide-active:nth-child(2) .imageBlock {
    scale: 1.12;
  }
}

@media (min-width: 1640px) {
  .textImageBgBlock {
    display: flex;
  }
}
.textImageBgBlock__textCol {
  background: var(--color-beige);
  margin-right: var(--container-padding-x);
  padding: 70px 0;
}
@media (min-width: 640px) {
  .textImageBgBlock__textCol {
    margin-right: 0;
    width: 69%;
  }
}
@media (min-width: 1640px) {
  .textImageBgBlock__textCol {
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media (min-width: 1640px) {
  .textImageBgBlock__textWrapper {
    max-width: 740px;
  }
}
.textImageBgBlock__imageCol {
  margin-left: var(--container-padding-x);
}
@media (min-width: 640px) {
  .textImageBgBlock__imageCol {
    margin-left: auto;
    width: 69%;
  }
}
@media (min-width: 1640px) {
  .textImageBgBlock__imageCol {
    width: 50%;
  }
}
.textImageBgBlock__imageBlock {
  --padding-bottom: 62%;
}
@media (min-width: 1640px) {
  .textImageBgBlock__imageBlock {
    --padding-bottom: 87%;
  }
}

.textTextBlock {
  background: var(--color-beige);
  padding: 70px 0;
}
@media (min-width: 640px) {
  .textTextBlock {
    padding: 90px 0;
  }
}
@media (min-width: 1360px) {
  .textTextBlock {
    padding: 155px 0;
  }
}
.textTextBlock__header {
  margin-bottom: 32px;
}
@media (min-width: 640px) {
  .textTextBlock__header {
    margin-bottom: 60px;
  }
}
@media (min-width: 1360px) {
  .textTextBlock__header {
    margin-bottom: 70px;
  }
}
.textTextBlock__cols {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5em var(--container-padding-x);
}
.textTextBlock__textCol {
  width: 100%;
}
@media (min-width: 1360px) {
  .textTextBlock__textCol {
    width: auto;
    flex: 1;
  }
}
@media (min-width: 1360px) {
  .textTextBlock__textWrapper {
    max-width: 600px;
  }
}
.textTextBlock ul {
  list-style: none;
  padding: 0;
}
@media (min-width: 640px) {
  .textTextBlock ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.textTextBlock ul li {
  border-top: 1px solid currentColor;
  min-height: 40px;
  line-height: 1;
  display: flex;
  align-items: center;
}
@media (min-width: 640px) {
  .textTextBlock ul li {
    width: calc((100% - var(--container-padding-x)) / 2);
    min-height: 50px;
  }
}
.textTextBlock ul li:first-child {
  border-top: none;
}
@media (min-width: 640px) {
  .textTextBlock ul li:nth-child(2) {
    border-top: none;
  }
}

@media (min-width: 1640px) {
  .videoTestimonialBlock {
    display: flex;
  }
}
.videoTestimonialBlock__textCol {
  background: var(--color-beige);
  margin-right: var(--container-padding-x);
  padding: 70px 0;
}
@media (min-width: 640px) {
  .videoTestimonialBlock__textCol {
    margin-right: 0;
    width: 69%;
  }
}
@media (min-width: 1640px) {
  .videoTestimonialBlock__textCol {
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media (min-width: 1640px) {
  .videoTestimonialBlock__textWrapper {
    max-width: 740px;
  }
}
.videoTestimonialBlock__imageCol {
  margin-left: var(--container-padding-x);
}
@media (min-width: 640px) {
  .videoTestimonialBlock__imageCol {
    margin-left: auto;
    width: 69%;
  }
}
@media (min-width: 1640px) {
  .videoTestimonialBlock__imageCol {
    width: 50%;
  }
}
.videoTestimonialBlock__imageBlock {
  --padding-bottom: 62%;
}
@media (min-width: 1640px) {
  .videoTestimonialBlock__imageBlock {
    --padding-bottom: 95%;
  }
}

.videoTeasers {
  overflow: hidden;
}
.videoTeasers__items {
  display: flex;
  flex-wrap: wrap;
  gap: 50px 0;
  padding: 0 var(--container-padding-x);
}
@media (min-width: 640px) {
  .videoTeasers__items {
    gap: 60px 0;
    margin: 0 -12px;
    justify-content: center;
  }
}
@media (min-width: 1120px) {
  .videoTeasers__items {
    margin: 0 -2vw;
    padding: 0;
  }
}
.videoTeasers__item {
  width: 100%;
}
@media (min-width: 640px) {
  .videoTeasers__item {
    width: 50%;
    padding: 0 12px;
  }
}
@media (min-width: 1120px) {
  .videoTeasers__item {
    width: 33.33%;
  }
}

.videoTeaser {
  position: relative;
  text-decoration: none;
}
.videoTeaser__imageContainer {
  position: relative;
}
.videoTeaser__imageBlock {
  --padding-bottom: 80%;
}
.videoTeaser__title {
  position: relative;
  margin: 0 15px 10px 0;
  color: #ffffff;
  line-height: 1.36;
}
@media (min-width: 1360px) {
  .videoTeaser__title {
    line-height: 1.2;
    margin: 0;
  }
}
.videoTeaser__textContainer {
  display: block;
  margin-top: 25px;
}
@media (min-width: 1120px) {
  .videoTeaser__textContainer {
    padding: 0 25px;
  }
}
@media (min-width: 1360px) {
  .videoTeaser__textContainer {
    margin-top: 50px;
    padding: 0 50px 30px;
  }
}

body {
  min-width: 360px;
  position: relative;
  padding: 0;
  display: flex;
  flex-direction: column;
}

.site {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.siteContent {
  position: relative;
  flex: 1;
}
@media (min-width: 1120px) {
  .siteContent {
    margin-left: var(--sidebar-width);
  }
}

.container {
  margin: 0 auto;
  max-width: var(--container-max-width);
  padding: 0 var(--container-padding-x);
  width: 100%;
}
.container--narrow {
  max-width: 1060px;
}
.container--middle {
  max-width: 1280px;
}
.container--large {
  max-width: 1390px;
}

.siteHeader {
  position: sticky;
  left: 0;
  top: 0;
  width: 100%;
  background: #ffffff;
  z-index: 3000;
  transition: background-color 0.3s, translate 0.3s;
}
@media (min-width: 1120px) {
  .siteHeader {
    position: relative;
  }
}
.siteHeader__container {
  max-width: none;
  padding: 0;
}
.siteHeader__inner {
  position: relative;
  height: var(--header-height);
}
.siteHeader__logoContainer {
  width: calc(100% - 90px);
  padding: 0 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 0;
  top: 50%;
  height: var(--header-height);
  background: var(--color-blue);
  transform: translateY(-50%);
}
@media (min-width: 640px) {
  .siteHeader__logoContainer {
    width: auto;
  }
}
@media (min-width: 1120px) {
  .siteHeader__logoContainer {
    width: 400px;
  }
}
.siteHeader__logoImage {
  width: 214px;
}
@media (min-width: 1120px) {
  .siteHeader__logoImage {
    width: 284px;
  }
}
.siteHeader__bookButton {
  visibility: hidden;
}
@media (min-width: 640px) {
  .siteHeader__bookButton {
    visibility: visible;
    position: absolute;
    right: 30px;
    top: 50%;
    translate: 0 -50%;
    transition: right 0.3s, color 0.3s;
  }
}
@media (min-width: 1120px) {
  .siteHeader__bookButton {
    right: 50px;
  }
}
@media (min-width: 1640px) {
  .siteHeader__bookButton {
    top: 46%;
  }
}
@media (min-width: 640px) {
  .siteHeader--navVisible .siteHeader__bookButton {
    right: 120px;
  }
}
@media (min-width: 1360px) {
  .siteHeader--navVisible .siteHeader__bookButton {
    right: 30px;
  }
}

@media (min-width: 640px) {
  body.scrolled .siteHeader__bookButton {
    right: 120px;
  }
}
@media (min-width: 1120px) {
  body.scrolled .siteHeader__bookButton {
    right: 50px;
  }
}

.buttonMenu {
  position: absolute;
  top: var(--header-height);
  right: 0;
  padding: 0;
  z-index: 3100;
  background: #f5f5f5;
  outline: none;
  border: none;
  display: flex;
  align-items: center;
  width: 90px;
  height: var(--header-height);
  transition: top 0.3s;
}
@media (min-width: 1120px) {
  .buttonMenu {
    position: fixed;
    left: 0;
    top: 94px;
    transform: none;
    right: auto;
    width: var(--sidebar-width);
    height: var(--sidebar-width);
    z-index: 2900;
    transition: opacity 0.3s, visibility 0.3s, top 0.3s, background-color 0.3s, color 0.3s;
  }
}
@media (min-width: 1360px) {
  .buttonMenu {
    top: 124px;
  }
}
.buttonMenu__hamburger {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
.buttonMenu__hamburger span {
  display: block;
  background: #3f3f3f;
  width: 40px;
  height: 3px;
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  transition: all 0.3s;
}
.buttonMenu__hamburger span:nth-child(1) {
  margin-top: -10px;
}
.buttonMenu__hamburger span:nth-child(3) {
  margin-top: 10px;
}
.buttonMenu.visible {
  opacity: 1;
  visibility: visible;
}
.buttonMenu.close {
  top: 0;
}
@media (min-width: 1120px) {
  .buttonMenu.close {
    top: 94px;
  }
}
.buttonMenu.close .buttonMenu__hamburger span:nth-child(1) {
  margin-top: 0;
  rotate: -45deg;
}
.buttonMenu.close .buttonMenu__hamburger span:nth-child(2) {
  background: transparent;
}
.buttonMenu.close .buttonMenu__hamburger span:nth-child(3) {
  margin-top: 0;
  rotate: 45deg;
}
.buttonMenu.sticky {
  position: fixed;
  top: 0;
}
@media (min-width: 1120px) {
  .buttonMenu.sticky {
    background: var(--color-blue);
  }
}
@media (min-width: 1120px) {
  .buttonMenu.sticky .buttonMenu__hamburger span {
    background: #ffffff;
  }
}
.siteFooter {
  background: var(--color-blue) url("../images/footer-bg-desktop.jpg") no-repeat center top;
  background-size: cover;
  color: #ffffff;
  padding: 50px 0 0;
  overflow: hidden;
  font-size: 1.125rem;
  line-height: 1.55;
}
@media (min-width: 640px) {
  .siteFooter {
    padding: 65px 0 0;
  }
}
@media (min-width: 1120px) {
  .siteFooter {
    padding: 100px 0 0;
  }
}
.siteFooter a {
  text-decoration: none;
}
@media (hover: hover) {
  .siteFooter a:hover {
    text-decoration: underline;
  }
}
.siteFooter ul {
  list-style: none;
}
.siteFooter ul li {
  margin-bottom: 7px;
}
@media (min-width: 640px) {
  .siteFooter ul li {
    margin-bottom: 8px;
  }
}
.siteFooter__container {
  max-width: 1930px;
}
@media (min-width: 640px) {
  .siteFooter__inner {
    display: flex;
    flex-wrap: wrap;
  }
}
.siteFooter__title {
  font-style: italic;
  font-size: 1.875rem;
  font-family: "Source Serif 4", serif;
  margin-bottom: 1rem;
}
@media (min-width: 640px) {
  .siteFooter__contact {
    width: 47.5%;
    margin-right: 5%;
  }
}
@media (min-width: 960px) {
  .siteFooter__contact {
    width: 54.5%;
  }
}
@media (min-width: 1360px) {
  .siteFooter__contact {
    width: 30.5%;
    margin-right: 0;
  }
}
@media (min-width: 1640px) {
  .siteFooter__contact {
    width: 35.5%;
  }
}
.siteFooter__address {
  margin-top: 0.5rem;
}
@media (min-width: 960px) {
  .siteFooter__address br {
    display: none;
  }
}
@media (min-width: 1360px) {
  .siteFooter__address br {
    display: block;
  }
}
@media (min-width: 1640px) {
  .siteFooter__address br {
    display: none;
  }
}
@media (min-width: 960px) {
  .siteFooter__schedule br {
    display: none;
  }
}
@media (min-width: 1360px) {
  .siteFooter__schedule br {
    display: block;
  }
}
@media (min-width: 1640px) {
  .siteFooter__schedule br {
    display: none;
  }
}
.siteFooter__contacts {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
.siteFooter__phone {
  position: relative;
}
.siteFooter__phone:after {
  content: "";
  width: 2px;
  height: 18px;
  background: currentColor;
  position: absolute;
  top: 50%;
  right: -15px;
  translate: 0 -50%;
}
.siteFooter__locations {
  margin-top: 60px;
}
@media (min-width: 640px) {
  .siteFooter__locations {
    width: 47.5%;
    margin-top: 0;
  }
}
@media (min-width: 960px) {
  .siteFooter__locations {
    width: 40.5%;
  }
}
@media (min-width: 1360px) {
  .siteFooter__locations {
    width: 27%;
  }
}
.siteFooter__menu {
  margin-top: 55px;
}
@media (min-width: 640px) {
  .siteFooter__menu {
    width: 100%;
    margin-top: 120px;
  }
}
@media (min-width: 1120px) {
  .siteFooter__menu {
    margin-top: 80px;
  }
}
@media (min-width: 1360px) {
  .siteFooter__menu {
    width: 42.5%;
    margin-top: 0;
  }
}
@media (min-width: 1640px) {
  .siteFooter__menu {
    width: 37.5%;
  }
}
.siteFooter__copyright {
  flex: 1;
  margin-top: 50px;
}
@media (min-width: 640px) {
  .siteFooter__copyright {
    text-align: center;
  }
}
@media (min-width: 1120px) {
  .siteFooter__copyright {
    text-align: left;
    margin-top: 80px;
  }
}
.siteFooter__socials {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: -6px;
  margin-top: 60px;
}
@media (min-width: 640px) {
  .siteFooter__socials {
    justify-content: center;
    margin: 100px 0 0;
    width: 100%;
  }
}
@media (min-width: 1120px) {
  .siteFooter__socials {
    order: 9999;
    width: auto;
    justify-content: flex-end;
    margin-top: 80px;
  }
}
.siteFooter__socials .social {
  height: 30px;
  padding: 0 6px;
}
.siteFooter__socials .social:before {
  width: 20px;
  height: 20px;
}
.siteFooter__socials .social--facebook-f:before {
  width: 14px;
  height: 24px;
}
.siteFooter__socials .social--houzz:before {
  width: 16px;
  height: 18px;
}
.siteFooter__divider {
  position: relative;
  display: block;
  height: 7px;
}
@media (min-width: 640px) {
  .siteFooter__divider {
    display: inline-block;
    margin: 0 10px;
    width: 1px;
    background: currentColor;
    height: 16px;
  }
}
.siteFooter:after {
  content: "";
  display: block;
  width: 100%;
  height: 13.6vw;
  margin-top: 55px;
  mask: var(--icon-amsted) no-repeat center;
  mask-size: 105% auto;
  opacity: 0.1;
  background: currentColor;
}
@media (min-width: 640px) {
  .siteFooter:after {
    margin-top: 60px;
  }
}
@media (min-width: 1120px) {
  .siteFooter:after {
    margin-top: 80px;
    mask-size: 100% auto;
  }
}
@media (min-width: 1360px) {
  .siteFooter:after {
    margin-top: 115px;
  }
}

@media (min-width: 640px) {
  .footerMenu {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
  }
}

.social {
  display: flex;
  justify-content: center;
  align-items: center;
}
.social:before {
  content: "";
  background: currentColor;
  mask: no-repeat center;
  mask-size: contain;
  width: 24px;
  height: 24px;
}
.social--instagram:before {
  mask-image: var(--icon-instagram);
}
.social--youtube:before {
  mask-image: var(--icon-youtube);
}
.social--facebook:before {
  mask-image: var(--icon-facebook);
}
.social--facebook-f:before {
  mask-image: var(--icon-facebook-f);
}
.social--facebook-square:before {
  mask-image: var(--icon-facebook-square);
}
.social--x:before {
  mask-image: var(--icon-x);
}
.social--pinterest:before {
  mask-image: var(--icon-pinterest);
}
.social--linkedin:before {
  mask-image: var(--icon-linkedin);
}
.social--tiktok:before {
  mask-image: var(--icon-tiktok);
}
.social--houzz:before {
  mask-image: var(--icon-houzz);
}

.quickLinks {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  gap: 0 10px;
  max-width: 800px;
}
.quickLinks ul {
  width: 100%;
  margin: 0;
  padding: 0;
}
@media (min-width: 640px) {
  .quickLinks ul {
    width: auto;
  }
}
@media (min-width: 640px) {
  .quickLinks ul:last-child {
    padding-right: 5vw;
  }
}
@media (min-width: 1360px) {
  .quickLinks ul:last-child {
    padding-right: 0;
  }
}
.quickLinks__divider {
  display: none;
}
@media (min-width: 640px) {
  .quickLinks__divider {
    display: block;
    width: 1px;
    background: currentColor;
  }
}

.siteNav {
  visibility: hidden;
  opacity: 0;
  padding: 0;
  background: #000000;
  position: absolute;
  left: 0;
  top: calc(var(--header-height) / 2);
  width: 100%;
  height: 100vh;
  z-index: 2000;
  overflow: auto;
  transition: visibility 0.3s, opacity 0.3s;
}
@media (min-width: 1640px) {
  .siteNav {
    overflow: visible;
    visibility: visible;
    opacity: 1;
    height: 0;
    padding: 0;
    top: calc(var(--header-height) / 2);
    z-index: 4000;
  }
}
.siteNav__inner {
  position: relative;
}
.siteNav__container {
  max-width: none;
  padding: 0;
}
@media (min-width: 1640px) {
  .siteNav__inner2 {
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    left: 400px;
    right: 290px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: var(--header-height);
    padding-bottom: 10px;
  }
}
.siteNav--visible {
  visibility: visible;
  opacity: 1;
}
.siteNav.hidden {
  visibility: hidden;
  opacity: 0;
}

.primaryMenu {
  list-style-type: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media (min-width: 1640px) {
  .primaryMenu {
    flex-direction: row;
    align-items: flex-start;
    gap: 0 2vw;
    padding: 0 2vw;
  }
}
@media (min-width: 1900px) {
  .primaryMenu {
    gap: 3.2vw;
    padding: 0 3.2vw;
  }
}
.primaryMenu > li {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
}
.primaryMenu > li > .menu-item-link-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--text-color);
}
.primaryMenu > li > .menu-item-link-wrapper > a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  white-space: nowrap;
  text-decoration: none;
  text-transform: uppercase;
  color: currentColor;
  padding: 15px 0;
  transition: color 0.3s;
}
.primaryMenu > li > .menu-item-link-wrapper > .menu-item-button {
  mask: var(--icon-angle) no-repeat center;
  mask-size: contain;
  background: currentColor;
  width: 8px;
  height: 14px;
  rotate: 90deg;
  position: absolute;
  left: 50%;
  bottom: -4px;
  translate: -50% 0;
  transition: rotate 0.3s;
}
.primaryMenu > li > .sub-menu {
  display: none;
}
@media (min-width: 1120px) {
  .primaryMenu > li > .sub-menu {
    display: block;
    visibility: hidden;
    opacity: 0;
    padding-top: 39px;
    position: absolute;
    left: 50%;
    top: 100%;
    background: #ffffff;
    translate: -50% 0;
    z-index: 1000;
    transition: visibility 0.3s, opacity 0.3s;
  }
}
.primaryMenu > li > .sub-menu > ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
  width: 100%;
}
.primaryMenu > li > .sub-menu > ul > li > .menu-item-link-wrapper > a {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 60px;
  white-space: nowrap;
  padding: 10px 40px;
  color: var(--color-blue);
  font-size: 1.125rem;
  text-decoration: none;
  transition: background-color 0.3s;
}
@media (hover: hover) {
  .primaryMenu > li > .sub-menu > ul > li > .menu-item-link-wrapper > a:hover {
    background: #f5f5f5;
  }
}
.primaryMenu > li > .sub-menu > ul > li.current-menu-item > .menu-item-link-wrapper > a {
  background: #f5f5f5;
}
.primaryMenu > li.current-menu-ancestor > .menu-item-link-wrapper > a {
  color: var(--color-red);
}
.primaryMenu > li.current-menu-item > .menu-item-link-wrapper > a {
  color: var(--color-red);
}
@media (hover: hover) {
  .primaryMenu > li:hover > .menu-item-link-wrapper {
    color: var(--color-red);
  }
  .primaryMenu > li:hover > .menu-item-link-wrapper > .menu-item-button {
    rotate: 270deg;
    color: var(--color-red);
  }
  .primaryMenu > li:hover > .sub-menu {
    visibility: visible;
    opacity: 1;
  }
}

.secondaryMenu {
  background: #f5f5f5;
  padding: 0 50px;
  list-style: none;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 2vw;
  position: absolute;
  top: var(--header-height);
  right: -290px;
  height: 95px;
}
@media (min-width: 1900px) {
  .secondaryMenu {
    gap: 3.2vw;
  }
}
.secondaryMenu > li {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
}
.secondaryMenu > li > .menu-item-link-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.secondaryMenu > li > .menu-item-link-wrapper > a {
  text-transform: uppercase;
  text-decoration: none;
  transition: color 0.3s;
}
@media (hover: hover) {
  .secondaryMenu > li > .menu-item-link-wrapper > a:hover {
    color: var(--color-red);
  }
}
.secondaryMenu > li.current-menu-item > .menu-item-link-wrapper > a {
  color: var(--color-red);
}

.popupNav {
  visibility: hidden;
  opacity: 0;
  padding: 0;
  color: #ffffff;
  background: var(--color-blue);
  position: fixed;
  left: 0;
  top: var(--header-height);
  width: 100%;
  bottom: 0;
  z-index: 2000;
  transition: visibility 0.3s, opacity 0.3s;
}
@media (min-width: 1120px) {
  .popupNav {
    padding: 0;
    left: var(--sidebar-width);
    width: auto;
    right: 0;
    top: 0;
  }
}
.popupNav__logoContainer {
  display: none;
}
@media (min-width: 1120px) {
  .popupNav__logoContainer {
    display: block;
    width: 220px;
    position: absolute;
    top: 50px;
    left: 50px;
    translate: 0 -50%;
  }
}
.popupNav__wrapper {
  position: relative;
  height: 100%;
}
.popupNav__wrapper:before, .popupNav__wrapper:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 40px;
  background: linear-gradient(to bottom, rgb(17, 39, 74) 0, rgba(17, 39, 74, 0) 100%);
}
.popupNav__wrapper:before {
  top: 0;
}
@media (min-width: 1120px) {
  .popupNav__wrapper:before {
    height: 140px;
    background: linear-gradient(to bottom, rgb(17, 39, 74) 0, rgb(17, 39, 74) 70%, rgba(17, 39, 74, 0) 100%);
  }
}
.popupNav__wrapper:after {
  bottom: 0;
  rotate: 180deg;
}
.popupNav__inner {
  overflow: auto;
  height: 100%;
}
@media (min-width: 640px) {
  .popupNav__inner .container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
  }
}
@media (min-width: 960px) and (orientation: landscape) {
  .popupNav:after {
    content: "";
    display: block;
    width: 100vh;
    height: 13.6vh;
    mask: var(--icon-amsted) no-repeat center;
    mask-size: 100% auto;
    opacity: 0.1;
    background: currentColor;
    position: absolute;
    bottom: 100%;
    right: 0;
    transform-origin: 100% 100%;
    rotate: -90deg;
  }
}
.popupNav--visible {
  visibility: visible;
  opacity: 1;
}

.popupMenu {
  list-style: none;
  padding: 50px 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media (min-width: 640px) {
  .popupMenu {
    height: 700px;
    flex-wrap: wrap;
    gap: 40px 0;
    max-width: 600px;
    margin: 0 auto;
    width: 100%;
  }
}
@media (min-width: 960px) {
  .popupMenu {
    max-width: 900px;
    height: 600px;
    gap: 60px 0;
  }
}
@media (min-width: 1120px) {
  .popupMenu {
    padding-top: 150px;
    height: 700px;
  }
}
@media (min-width: 1360px) {
  .popupMenu {
    gap: 80px 0;
    height: 860px;
    max-width: none;
  }
}
@media (min-width: 640px) {
  .popupMenu > li {
    width: auto;
  }
}
.popupMenu > li > .menu-item-link-wrapper {
  display: flex;
  align-items: flex-end;
  gap: 10px;
}
.popupMenu > li > .menu-item-link-wrapper > a {
  font-family: "Source Serif 4", serif;
  font-style: italic;
  font-size: 1.375rem;
  text-decoration: none;
}
@media (min-width: 1360px) {
  .popupMenu > li > .menu-item-link-wrapper > a {
    font-size: 1.875rem;
  }
}
@media (hover: hover) {
  .popupMenu > li > .menu-item-link-wrapper > a:hover {
    text-decoration: underline;
  }
}
.popupMenu > li > .menu-item-link-wrapper > .menu-item-button {
  width: 36px;
  height: 36px;
  mask: var(--icon-angle) no-repeat center;
  mask-size: auto 16px;
  background: #ffffff;
  rotate: 90deg;
  transition: rotate 0.3s;
}
@media (min-width: 640px) {
  .popupMenu > li > .menu-item-link-wrapper > .menu-item-button {
    display: none;
  }
}
.popupMenu > li > .menu-item-link-wrapper > .menu-item-button.open {
  rotate: 270deg;
}
.popupMenu > li.menu-item-430 a {
  display: flex;
  align-items: baseline;
  gap: 12px;
}
.popupMenu > li.menu-item-430 a:after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background: currentColor;
  mask: var(--icon-arrow) no-repeat center;
  mask-size: contain;
  transition: rotate 0.3s;
}
.popupMenu > li > .sub-menu {
  display: none;
}
@media (min-width: 640px) {
  .popupMenu > li > .sub-menu {
    display: block;
  }
}
.popupMenu > li > .sub-menu > ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.popupMenu > li > .sub-menu > ul > li {
  margin-top: 8px;
}
@media (min-width: 1360px) {
  .popupMenu > li > .sub-menu > ul > li {
    margin-top: 22px;
  }
}
.popupMenu > li > .sub-menu > ul > li > .menu-item-link-wrapper > a {
  text-decoration: none;
}
@media (hover: hover) {
  .popupMenu > li > .sub-menu > ul > li > .menu-item-link-wrapper > a:hover {
    text-decoration: underline;
  }
}

.navOverlay {
  visibility: hidden;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  background: var(--color-blue);
  z-index: 1000;
  transition: visibility 0.3s, opacity 0.3s;
}
@media (min-width: 1120px) {
  .navOverlay {
    left: var(--sidebar-width);
  }
}
.navOverlay--visible {
  opacity: 1;
  visibility: visible;
}

.backNav:not(:first-child) {
  margin-top: 75px;
}

.hero {
  position: relative;
  margin: 0;
}
.hero__imageContainer {
  position: relative;
  padding-bottom: 77%;
}
@media (min-width: 640px) {
  .hero__imageContainer {
    padding-bottom: 32.5%;
  }
}
@media (min-width: 1360px) {
  .hero__imageContainer {
    padding-bottom: 530px;
  }
}
.hero__imageContainer:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.25));
}
.hero__image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero__overlay {
  position: absolute;
  inset: 0;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.hero__textContainer {
  padding: 22px 0;
}
@media (min-width: 640px) {
  .hero__textContainer {
    padding: 30px 0;
  }
}
@media (min-width: 1360px) {
  .hero__textContainer {
    padding: 135px 0;
  }
}

.section {
  margin: var(--section-margin) 0;
}
.section__header {
  margin: 0 auto 40px;
}
@media (min-width: 640px) {
  .section__header {
    margin-bottom: 60px;
    text-align: center;
  }
}
@media (min-width: 1360px) {
  .section__header {
    margin-bottom: 70px;
  }
}
.section__header p {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}
.section--bg {
  margin: 0;
  padding: 82px 0;
  color: #ffffff;
  --heading-color: currentColor;
  --button-color: currentColor;
}
@media (min-width: 640px) {
  .section--bg {
    padding: 125px 0;
  }
}
@media (min-width: 1120px) {
  .section--bg {
    padding: 150px 0;
  }
}
.section--bg select {
  background-image: var(--icon-select-white);
}
.section--beige {
  background: #f4f1ec;
  margin: 0;
}

.formSection {
  position: relative;
  padding: 82px 0;
  background: var(--color-beige);
}
@media (min-width: 640px) {
  .formSection {
    padding: 125px 0;
  }
}
@media (min-width: 1120px) {
  .formSection {
    padding: 175px 0;
  }
}
.formSection:has(picture) {
  color: #ffffff;
  --heading-color: currentColor;
  --button-color: currentColor;
}
.formSection:has(picture) select {
  background-image: var(--icon-select-white);
}
.formSection__bgImage {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.formSection select option {
  color: var(--text-color);
}
.formSection textarea {
  padding: 15px 20px;
  box-sizing: border-box;
}
.formSection__content {
  position: relative;
}
.formSection__header {
  margin-bottom: 30px;
}
@media (min-width: 640px) {
  .formSection__header {
    text-align: center;
    margin-bottom: 40px;
  }
}
@media (min-width: 1120px) {
  .formSection__header {
    margin-bottom: 80px;
  }
}
.formSection__header p {
  max-width: 930px;
  margin-left: auto;
  margin-right: auto;
}
.formSection__formContainer {
  position: relative;
}
.formSection__thankYou {
  display: none;
}
@media (min-width: 640px) {
  .formSection__thankYou {
    text-align: center;
  }
}
.formSection .wpcf7-not-valid-tip {
  color: yellow;
}
.formSection .wpcf7-response-output {
  position: absolute;
  top: 100%;
  width: 100%;
}

.testimonialsSection {
  position: relative;
  background: #f4f1ec;
  padding: 135px 0 80px;
}
@media (min-width: 640px) {
  .testimonialsSection {
    text-align: center;
    margin: 150px 0;
    padding: 145px 0;
  }
}
@media (min-width: 1360px) {
  .testimonialsSection {
    padding: 190px 0;
  }
}
.testimonialsSection__quotes {
  content: "";
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  background: #ffffff;
}
@media (min-width: 640px) {
  .testimonialsSection__quotes {
    width: 100px;
    height: 100px;
  }
}
@media (min-width: 1640px) {
  .testimonialsSection__quotes {
    width: 150px;
    height: 150px;
  }
}
.testimonialsSection__quotes:before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 376.6 226'%3E%3Cpolygon points='376.6 0 376.6 162.6 277.4 162.6 214 226 214 162.6 214 0 376.6 0'/%3E%3Cpolygon points='162.6 0 162.6 162.6 63.4 162.6 0 226 0 162.6 0 0 162.6 0'/%3E%3C/svg%3E") no-repeat center;
  mask-size: contain;
  background: var(--color-red);
}
@media (min-width: 640px) {
  .testimonialsSection__quotes:before {
    width: 38px;
    height: 38px;
  }
}
@media (min-width: 1640px) {
  .testimonialsSection__quotes:before {
    width: 60px;
    height: 60px;
  }
}
.testimonialsSection p:has(.button) {
  justify-content: center;
}

.logosBlock {
  overflow: hidden;
}
.logosBlock__logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 30px 30px;
  justify-content: space-between;
}
@media (min-width: 640px) {
  .logosBlock__logos {
    justify-content: center;
    gap: 30px 60px;
  }
}
@media (min-width: 960px) {
  .logosBlock__logos {
    justify-content: space-between;
    gap: 30px 30px;
  }
}
.logosBlock__logo {
  flex: 1;
  min-width: 110px;
}
@media (min-width: 640px) {
  .logosBlock__logo {
    flex: none;
  }
}
.logosBlock__logoImage {
  max-width: 190px;
  max-height: 100px;
  object-fit: contain;
  filter: grayscale(100%);
  transition: filter 0.3s;
}
@media (min-width: 640px) {
  .logosBlock__logoImage {
    width: auto;
  }
}
@media (min-width: 1360px) {
  .logosBlock__logoImage {
    max-width: 270px;
    max-height: 180px;
  }
}
@media (hover: hover) {
  .logosBlock__logo:hover .logosBlock__logoImage {
    filter: none;
  }
}
.ctaSection {
  position: relative;
  background: #000000;
  color: #ffffff;
  --heading-color: currentColor;
  --button-color: currentColor;
}
@media (min-width: 640px) {
  .ctaSection {
    text-align: center;
  }
}
.ctaSection__bgImage {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ctaSection__overlay {
  position: relative;
  background: rgba(0, 0, 0, 0.45);
  padding: 96px 0;
}
@media (min-width: 640px) {
  .ctaSection__overlay {
    padding: 170px 0;
  }
}
@media (min-width: 1360px) {
  .ctaSection__overlay {
    padding: 230px 0;
  }
}
.ctaSection p {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}
.ctaSection a:not(.button) {
  color: #ffffff !important;
}

.blogTeasers__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 60px 30px;
}
@media (min-width: 640px) {
  .blogTeasers__items {
    gap: 40px 30px;
  }
}
@media (min-width: 1360px) {
  .blogTeasers__items {
    gap: 60px 35px;
  }
}
.blogTeasers__item {
  width: 100%;
}
@media (min-width: 1360px) {
  .blogTeasers__item {
    width: calc((100% - 36px) / 2);
  }
}
@media (min-width: 640px) {
  .blogTeasers__item .blogCard__imageContainer {
    width: 41%;
    max-width: 300px;
  }
}
@media (min-width: 1120px) {
  .blogTeasers__item .blogCard__imageContainer {
    width: 37%;
  }
}
@media (min-width: 640px) {
  .blogTeasers__item .blogCard__title {
    font-size: 1.375rem;
  }
}
@media (min-width: 1120px) {
  .blogTeasers__item .blogCard__title {
    font-size: 1.875rem;
  }
}

.sidebar {
  display: none;
  position: absolute;
  left: calc(-1 * var(--sidebar-width));
  top: 0;
  bottom: 0;
  width: var(--sidebar-width);
  background: #fff;
  transition: top 0.3s;
}
@media (min-width: 1120px) {
  .sidebar {
    display: block;
  }
}
.sidebar__inner {
  position: sticky;
  top: var(--header-height);
  height: calc(100vh - var(--header-height));
  display: flex;
  flex-direction: column;
  transition: height 0.3s;
}
.sidebar__socials {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 22px;
  width: 100%;
  flex: 1;
}
.sidebar__socials .social {
  width: 50px;
  height: 50px;
}
.sidebar__socials .social--instagram:before {
  width: 26px;
  height: 26px;
}
.sidebar__socials .social--facebook-f:before {
  height: 32px;
}
.sidebar__buttonTop {
  width: 100%;
  height: 125px;
  mask: var(--icon-arrow-top) no-repeat center;
  mask-size: auto 66px;
  background: #bbbbbb;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.3s, opacity 0.3s;
}

body.scrolled .sidebar__inner {
  top: var(--header-height);
}
body.scrolled .sidebar__buttonTop {
  visibility: visible;
  opacity: 1;
}

body.navVisible .sidebar {
  position: fixed;
  top: var(--header-height);
  left: 0;
}
body.navVisible .sidebar__inner {
  height: calc(100vh - var(--header-height));
}

.homeHero {
  position: relative;
}
.homeHero__slider {
  position: relative;
}
.homeHero__slider .tns-nav {
  display: flex;
  flex-direction: column;
  gap: 18px;
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  z-index: 100;
}
@media (min-width: 640px) {
  .homeHero__slider .tns-nav {
    right: 40px;
  }
}
@media (min-width: 1120px) {
  .homeHero__slider .tns-nav {
    right: 53px;
  }
}
.homeHero__slider .tns-nav button {
  width: 10px;
  height: 10px;
  background: #ffffff;
  box-shadow: 0 0 9px 1px rgba(0, 0, 0, 0.15);
  transition: background 0.3s;
}
.homeHero__slider .tns-nav button.tns-nav-active {
  background: var(--color-red);
}
.homeHero__slider:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.18));
  z-index: 10;
}
.homeHero__imageBlock {
  position: relative;
  --padding-bottom: 105%;
}
@media (min-width: 640px) {
  .homeHero__imageBlock {
    --padding-bottom: 104%;
  }
}
@media (orientation: landscape) {
  .homeHero__imageBlock {
    --padding-bottom: 63%;
  }
}
.homeHero__overlay {
  padding: 25px 0;
  position: absolute;
  inset: 0;
  right: 40px;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  z-index: 100;
}
@media (min-width: 640px) {
  .homeHero__overlay {
    padding: 57px 35px;
    right: 60px;
  }
}
@media (min-width: 1120px) {
  .homeHero__overlay {
    right: 70px;
  }
}
@media (min-width: 1360px) {
  .homeHero__overlay {
    padding: 100px 120px;
  }
}
@media (min-width: 1360px) {
  .homeHero__overlay h1 {
    font-size: 6.25rem;
  }
}
@media (min-width: 1120px) {
  .homeHero__overlay h1 br {
    display: none;
  }
}

.servicesCards {
  overflow: hidden;
}
.servicesCards__items {
  display: flex;
  flex-wrap: wrap;
  gap: 50px 0;
  padding: 0 var(--container-padding-x);
}
@media (min-width: 640px) {
  .servicesCards__items {
    gap: 60px 0;
    margin: 0 calc(var(--container-padding-x) / 2 * -1);
  }
}
@media (min-width: 1120px) {
  .servicesCards__items {
    margin: 0 -2vw;
    padding: 0;
  }
}
.servicesCards__item {
  width: 100%;
}
@media (min-width: 640px) {
  .servicesCards__item {
    width: 50%;
    padding: 0 calc(var(--container-padding-x) / 2);
  }
}
@media (min-width: 1120px) {
  .servicesCards__item {
    width: 33.33%;
    padding: 0 2vw;
  }
}

.serviceCard {
  position: relative;
  text-decoration: none;
}
.serviceCard__imageContainer {
  position: relative;
}
.serviceCard__imageBlock {
  --padding-bottom: 105%;
}
@media (min-width: 640px) {
  .serviceCard__imageBlock {
    --padding-bottom: 103%;
  }
}
.serviceCard__imageBlock:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  height: 70%;
  width: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0));
}
.serviceCard__imageOverlay {
  color: #ffffff;
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-start;
  padding: 28px 28px;
  transition: background-color 0.3s;
}
@media (min-width: 640px) {
  .serviceCard__imageOverlay {
    padding: 25px 30px;
  }
}
@media (min-width: 1360px) {
  .serviceCard__imageOverlay {
    padding: 40px 60px;
  }
}
.serviceCard__title {
  position: relative;
  margin: 0 15px 10px 0;
  color: #ffffff;
  line-height: 1.36;
}
@media (min-width: 1360px) {
  .serviceCard__title {
    line-height: 1.2;
    margin: 0;
  }
}
.serviceCard__line {
  background: currentColor;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.3s, opacity 0.3s;
}
.serviceCard__line--top {
  flex: 1;
  height: 2px;
  margin: 20px 17px 20px 5px;
}
@media (min-width: 1360px) {
  .serviceCard__line--top {
    margin: 30px 17px 20px 15px;
  }
}
.serviceCard__line--right {
  width: 2px;
  position: absolute;
  top: 50px;
  right: 45px;
  bottom: 45px;
}
@media (min-width: 640px) {
  .serviceCard__line--right {
    top: 45px;
  }
}
@media (min-width: 1360px) {
  .serviceCard__line--right {
    top: 70px;
    right: 75px;
    bottom: 70px;
  }
}
.serviceCard__line--bottom {
  height: 2px;
  position: absolute;
  bottom: 45px;
  right: 45px;
  left: 45px;
}
@media (min-width: 1360px) {
  .serviceCard__line--bottom {
    bottom: 70px;
    right: 75px;
    left: 75px;
  }
}
.serviceCard__line--left {
  width: 2px;
  position: absolute;
  top: 115px;
  left: 45px;
  bottom: 45px;
}
@media (min-width: 1360px) {
  .serviceCard__line--left {
    left: 75px;
    top: 130px;
    bottom: 70px;
  }
}
@media (min-width: 1640px) {
  .serviceCard__line--left {
    top: 190px;
  }
}
.serviceCard__textContainer {
  display: block;
  margin-top: 25px;
}
@media (min-width: 1120px) {
  .serviceCard__textContainer {
    padding: 0 25px;
  }
}
@media (min-width: 1360px) {
  .serviceCard__textContainer {
    margin-top: 50px;
    padding: 0 50px 30px;
  }
}
.serviceCard__link {
  position: absolute;
  inset: 0;
  z-index: 10;
}
@media (hover: hover) {
  .serviceCard:has(a):hover .serviceCard__imageOverlay {
    background: rgba(0, 0, 0, 0.3);
  }
  .serviceCard:has(a):hover .serviceCard__imageOverlay:after {
    visibility: visible;
    opacity: 1;
  }
  .serviceCard:has(a):hover .serviceCard__line {
    opacity: 1;
    visibility: visible;
  }
  .serviceCard:has(a):hover .serviceCard__button {
    color: var(--button-color-hover);
  }
  .serviceCard:has(a):hover .serviceCard__button:after {
    rotate: -90deg;
  }
}

.homeBlogTeasers__items {
  display: flex;
  flex-wrap: wrap;
  gap: 60px 30px;
}
@media (min-width: 640px) {
  .homeBlogTeasers__items {
    gap: 40px 30px;
  }
}
@media (min-width: 1360px) {
  .homeBlogTeasers__items {
    display: grid;
    grid-template-areas: "item1 item2" "item1 item3";
    grid-template-columns: repeat(2, 1fr);
    gap: 0 35px;
    grid-template-rows: repeat(100, auto);
  }
}
.homeBlogTeasers__item {
  width: 100%;
}
@media (min-width: 1120px) {
  .homeBlogTeasers__item {
    margin-bottom: 40px;
  }
}
@media (min-width: 640px) {
  .homeBlogTeasers__item .blogCard__imageContainer {
    width: 41%;
  }
}
@media (min-width: 1120px) {
  .homeBlogTeasers__item .blogCard__imageContainer {
    width: 37%;
  }
}
@media (min-width: 640px) {
  .homeBlogTeasers__item .blogCard__title {
    font-size: 1.375rem;
  }
}
@media (min-width: 1120px) {
  .homeBlogTeasers__item .blogCard__title {
    font-size: 1.875rem;
  }
}
@media (min-width: 1360px) {
  .homeBlogTeasers__item:first-child {
    grid-area: item1;
    grid-row: span 100;
  }
}
.homeBlogTeasers__item:first-child .blogCard {
  position: relative;
  display: block;
}
.homeBlogTeasers__item:first-child .blogCard__imageContainer {
  width: 100%;
}
.homeBlogTeasers__item:first-child .blogCard__imageBlock {
  --padding-bottom: 72%;
  margin-bottom: 25px;
}
@media (min-width: 1120px) {
  .homeBlogTeasers__item:first-child .blogCard__imageBlock {
    --padding-bottom: 76.8%;
    margin-bottom: 45px;
  }
}
@media (min-width: 640px) {
  .homeBlogTeasers__item:first-child .blogCard__imageBlock:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0));
    z-index: 10;
  }
}
@media (min-width: 640px) {
  .homeBlogTeasers__item:first-child .blogCard__textContainer {
    padding: 0 30px 20px;
  }
}
@media (min-width: 1120px) {
  .homeBlogTeasers__item:first-child .blogCard__textContainer {
    padding: 0 60px 20px;
  }
}
.homeBlogTeasers__item:first-child .blogCard__title {
  font-size: 1.75rem;
  line-height: 1.35;
  font-style: normal;
  margin-bottom: 10px;
}
@media (min-width: 640px) {
  .homeBlogTeasers__item:first-child .blogCard__title {
    position: absolute;
    color: #ffffff;
    top: 40px;
    left: 35px;
    max-width: 220px;
    font-size: 1.875rem;
    z-index: 20;
  }
}
@media (min-width: 960px) {
  .homeBlogTeasers__item:first-child .blogCard__title {
    font-size: 3.125rem;
    line-height: 1.2;
    max-width: 360px;
    left: 60px;
  }
}
@media (min-width: 640px) {
  .homeBlogTeasers__item:first-child .blogCard__title a {
    color: #ffffff;
  }
}
@media (min-width: 1360px) {
  .homeBlogTeasers__item:nth-child(2) {
    grid-area: item2;
  }
}
@media (min-width: 1360px) {
  .homeBlogTeasers__item:nth-child(3) {
    grid-area: item3;
    margin-bottom: 0;
  }
}

.visionMissionBlock {
  background: var(--color-beige);
  padding: 70px 0;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 50px 0;
}
@media (min-width: 640px) {
  .visionMissionBlock {
    padding: 90px 0;
  }
}
@media (min-width: 1360px) {
  .visionMissionBlock {
    padding: 125px 0;
  }
}
@media (min-width: 1640px) {
  .visionMissionBlock {
    margin-top: calc(-1 * var(--section-margin));
  }
}
.visionMissionBlock__col1 {
  width: 100%;
}
@media (min-width: 960px) {
  .visionMissionBlock__col1 {
    width: 48%;
    border-right: 1px solid #bbbbbb;
  }
}
@media (min-width: 1360px) {
  .visionMissionBlock__col1 {
    width: 40.5%;
  }
}
@media (min-width: 1640px) {
  .visionMissionBlock__col1 {
    padding: 0 4vw;
  }
}
.visionMissionBlock__col2 {
  width: 100%;
}
@media (min-width: 960px) {
  .visionMissionBlock__col2 {
    width: 52%;
  }
}
@media (min-width: 1360px) {
  .visionMissionBlock__col2 {
    width: 59.5%;
  }
}
@media (min-width: 1640px) {
  .visionMissionBlock__col2 {
    padding: 0 4vw;
  }
}

.contentBlocksWithIcons {
  display: flex;
  flex-wrap: wrap;
}
.contentBlocksWithIcons__item {
  width: 100%;
  padding: var(--container-padding-x) 0;
  border-top: 1px solid #bbbbbb;
}
@media (min-width: 640px) {
  .contentBlocksWithIcons__item {
    width: 50%;
  }
}
@media (min-width: 1640px) {
  .contentBlocksWithIcons__item {
    width: 33.33%;
    padding: 4.5vw 0;
  }
}
.contentBlocksWithIcons__item:last-child {
  padding-bottom: 0;
}
@media (min-width: 640px) {
  .contentBlocksWithIcons__item:nth-child(2n) {
    border-left: 1px solid #bbbbbb;
  }
}
@media (min-width: 1640px) {
  .contentBlocksWithIcons__item:nth-child(2n) {
    border-left: none;
  }
}
@media (min-width: 1640px) {
  .contentBlocksWithIcons__item:nth-child(3n+2), .contentBlocksWithIcons__item:nth-child(3n+3) {
    border-left: 1px solid #bbbbbb;
  }
}
@media (min-width: 640px) {
  .contentBlocksWithIcons__item:nth-child(-n+2) {
    border-top: none;
  }
}
@media (min-width: 1640px) {
  .contentBlocksWithIcons__item:nth-child(-n+3) {
    border-top: none;
  }
}
@media (min-width: 1640px) {
  .contentBlocksWithIcons__item:nth-child(-n+3) {
    padding-top: 60px;
  }
}
@media (min-width: 1640px) {
  .contentBlocksWithIcons__item:nth-last-child(-n+3) {
    padding-bottom: 60px;
  }
}
.contentBlocksWithIcons__itemHeader {
  display: flex;
  align-items: center;
  gap: 0 20px;
  margin-bottom: 20px;
}
@media (min-width: 640px) {
  .contentBlocksWithIcons__itemHeader {
    margin-bottom: 30px;
  }
}
.contentBlocksWithIcons__itemHeader:last-child {
  margin-bottom: 0;
}
.contentBlocksWithIcons__itemIcon {
  mask: no-repeat center;
  mask-size: contain;
  width: 45px;
  height: 40px;
  background: var(--color-red);
}
.contentBlocksWithIcons__itemTitle {
  flex: 1;
}

.contentBlocksWithCheckIcons {
  display: flex;
  flex-wrap: wrap;
}
.contentBlocksWithCheckIcons__item {
  width: 100%;
  padding: var(--container-padding-x) 0;
  border-top: 1px solid #bbbbbb;
}
@media (min-width: 640px) {
  .contentBlocksWithCheckIcons__item {
    width: 50%;
  }
}
@media (min-width: 1640px) {
  .contentBlocksWithCheckIcons__item {
    min-width: 20%;
    padding: 4.5vw 0;
    flex: 1;
    width: auto;
  }
}
.contentBlocksWithCheckIcons__item:last-child {
  padding-bottom: 0;
}
@media (min-width: 640px) {
  .contentBlocksWithCheckIcons__item:nth-child(2n) {
    border-left: 1px solid #bbbbbb;
  }
}
@media (min-width: 1640px) {
  .contentBlocksWithCheckIcons__item:nth-child(2n) {
    border-left: none;
  }
}
@media (min-width: 1640px) {
  .contentBlocksWithCheckIcons__item:nth-child(5n+2), .contentBlocksWithCheckIcons__item:nth-child(5n+3), .contentBlocksWithCheckIcons__item:nth-child(5n+4), .contentBlocksWithCheckIcons__item:nth-child(5n+5) {
    border-left: 1px solid #bbbbbb;
  }
}
@media (min-width: 640px) {
  .contentBlocksWithCheckIcons__item:nth-child(-n+2) {
    border-top: none;
  }
}
@media (min-width: 1640px) {
  .contentBlocksWithCheckIcons__item:nth-child(-n+5) {
    border-top: none;
  }
}
@media (min-width: 1640px) {
  .contentBlocksWithCheckIcons__item:nth-child(-n+5) {
    padding-top: 60px;
  }
}
@media (min-width: 1640px) {
  .contentBlocksWithCheckIcons__item:nth-last-child(-n+5) {
    padding-bottom: 60px;
  }
}
.contentBlocksWithCheckIcons__itemHeader {
  display: flex;
  align-items: center;
  gap: 0 20px;
  margin-bottom: 20px;
}
@media (min-width: 640px) {
  .contentBlocksWithCheckIcons__itemHeader {
    margin-bottom: 30px;
  }
}
.contentBlocksWithCheckIcons__itemIcon {
  mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36.8 34.28'%3E%3Cpath d='M31.7,20.56c-.6-.16-1.21.2-1.37.8-.97,3.69-3.31,6.78-6.61,8.7-3.29,1.92-7.14,2.45-10.82,1.48C5.29,29.54.72,21.72,2.72,14.11c.97-3.69,3.31-6.78,6.61-8.7s7.13-2.45,10.82-1.48c.6.15,1.21-.2,1.37-.8s-.2-1.22-.8-1.37c-4.27-1.12-8.72-.51-12.53,1.72C4.38,5.71,1.66,9.28.54,13.55c-2.31,8.81,2.98,17.86,11.79,20.18,1.4.37,2.81.55,4.22.55,2.89,0,5.74-.77,8.31-2.26,3.81-2.23,6.53-5.8,7.65-10.07.16-.6-.2-1.22-.8-1.37v-.02Z' fill='%23231f20'/%3E%3Cpath d='M36.43.22c-.41-.33-1-.29-1.36.09l-16.79,17.78-6.85-5.28c-1.19-1.06-2.54-.86-3.26-.11-.68.71-.89,2.01.26,3.22l9.63,9.98c.19.2.45.31.72.31h.08c.3-.02.57-.18.74-.42L36.62,1.58c.3-.43.22-1.02-.19-1.35h0Z' fill='%23231f20'/%3E%3C/svg%3E") no-repeat center;
  mask-size: contain;
  width: 45px;
  height: 40px;
  background: var(--color-red);
}
.contentBlocksWithCheckIcons__itemTitle {
  flex: 1;
}

.projectsListing__header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 20px 32px;
}
.projectsListing__intro {
  width: 100%;
}
@media (min-width: 1120px) {
  .projectsListing__intro {
    width: 48%;
    max-width: 610px;
  }
}
.projectsListing__filters {
  width: 100%;
}
@media (min-width: 1120px) {
  .projectsListing__filters {
    width: 48%;
    max-width: 600px;
  }
}
.projectsListing__items {
  display: flex;
  flex-wrap: wrap;
  margin: 30px -16px 0;
}
@media (min-width: 1120px) {
  .projectsListing__items {
    margin: 75px -32px 0;
  }
}
.projectsListing__item {
  padding: 0 16px;
  width: 100%;
  margin-bottom: 30px;
}
@media (min-width: 640px) {
  .projectsListing__item {
    width: 50%;
  }
}
@media (min-width: 1120px) {
  .projectsListing__item {
    padding: 0 32px;
    margin-bottom: 42px;
  }
}
@media (min-width: 1640px) {
  .projectsListing__item {
    width: 33%;
  }
}
.projectsListing__pagination {
  display: flex;
  justify-content: center;
  width: 100%;
}
@media (min-width: 1120px) {
  .projectsListing__pagination {
    margin-top: 8px;
  }
}

.categoriesFilter__dropdown {
  max-width: 300px;
}
@media (min-width: 1360px) {
  .categoriesFilter__dropdown {
    display: none;
  }
}
.categoriesFilter__buttons {
  display: none;
}
@media (min-width: 1360px) {
  .categoriesFilter__buttons {
    display: flex;
    gap: 40px;
  }
}
.categoriesFilter__button {
  position: relative;
  padding: 0;
  min-height: 60px;
}
.categoriesFilter__button:before {
  content: attr(title);
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  white-space: nowrap;
  transition: font-weight 0.3s;
}
.categoriesFilter__button span {
  opacity: 0;
  font-weight: 600;
}
.categoriesFilter__button:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 6px;
  width: 100%;
  height: 5px;
  background: var(--color-red);
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.3s, opacity 0.3s;
}
.categoriesFilter__button.active {
  font-weight: 600;
}
.categoriesFilter__button.active:after {
  visibility: visible;
  opacity: 1;
}
@media (hover: hover) {
  .categoriesFilter__button:hover:before {
    font-weight: 600;
  }
}

.projectCard {
  position: relative;
  text-decoration: none;
}
.projectCard__imageContainer {
  display: block;
  position: relative;
}
.projectCard__imageBlock {
  display: block;
  --padding-bottom: 72%;
}
.projectCard__imageBlock:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  height: 33%;
  width: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0));
}
.projectCard__imageOverlay {
  color: #ffffff;
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-start;
  padding: 25px 30px;
  transition: background-color 0.3s;
}
@media (min-width: 1120px) {
  .projectCard__imageOverlay {
    padding: 35px 40px;
  }
}
.projectCard__imageOverlay:after {
  content: "";
  display: block;
  position: absolute;
  right: 44px;
  bottom: 44px;
  width: 30px;
  height: 30px;
  mask: var(--icon-magnify) no-repeat center;
  mask-size: contain;
  background: currentColor;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.3s, opacity 0.3s;
}
.projectCard__categories {
  position: relative;
  text-transform: uppercase;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.015rem;
  margin: 0 15px 10px 0;
}
.projectCard__line {
  background: currentColor;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.3s, opacity 0.3s;
}
.projectCard__line--top {
  flex: 1;
  height: 2px;
  margin: 10px 5px;
}
.projectCard__line--right {
  width: 2px;
  position: absolute;
  top: 45px;
  right: 45px;
  bottom: 90px;
}
.projectCard__line--bottom {
  height: 2px;
  position: absolute;
  bottom: 45px;
  right: 90px;
  left: 45px;
}
.projectCard__line--left {
  width: 2px;
  position: absolute;
  top: 70px;
  left: 45px;
  bottom: 45px;
}
.projectCard__textContainer {
  display: block;
  padding: 15px 0;
}
@media (min-width: 1120px) {
  .projectCard__textContainer {
    padding: 30px 40px;
  }
}
@media (hover: hover) {
  .projectCard:hover .projectCard__imageOverlay {
    background: rgba(0, 0, 0, 0.3);
  }
  .projectCard:hover .projectCard__imageOverlay:after {
    visibility: visible;
    opacity: 1;
  }
  .projectCard:hover .projectCard__line {
    opacity: 1;
    visibility: visible;
  }
}

.galleryListing__header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  flex-direction: column;
  align-items: center;
  gap: 20px 32px;
}
@media (min-width: 640px) {
  .galleryListing__header {
    flex-direction: row;
    align-items: flex-end;
  }
}
.galleryListing__filters {
  width: 100%;
}
@media (min-width: 640px) {
  .galleryListing__filters {
    flex: 1;
    max-width: 600px;
  }
}
.galleryListing__search {
  width: 100%;
}
@media (min-width: 640px) {
  .galleryListing__search {
    width: auto;
    max-width: 610px;
  }
}
@media (min-width: 1120px) {
  .galleryListing__search {
    display: flex;
    justify-content: flex-end;
  }
}
.galleryListing__search ::-webkit-input-placeholder {
  font-style: italic;
}
.galleryListing__search :-moz-placeholder {
  font-style: italic;
}
.galleryListing__search ::-moz-placeholder {
  font-style: italic;
}
.galleryListing__search :-ms-input-placeholder {
  font-style: italic;
}
.galleryListing__searchField {
  position: relative;
  max-width: 320px;
}
@media (min-width: 640px) {
  .galleryListing__searchField {
    width: 320px;
  }
}
@media (min-width: 1120px) {
  .galleryListing__searchField {
    display: flex;
    align-items: center;
    gap: 20px;
  }
}
.galleryListing__searchInput[type=search] {
  background: #f5f5f5;
  border: none;
  padding: 0 40px 0 10px;
  height: 36px;
  box-sizing: border-box;
}
.galleryListing__searchButton {
  width: 40px;
  height: 36px;
  background: #000000;
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 398.08 398.08'%3E%3Cpolygon points='66.8 190.16 296.76 190.16 227.32 120.75 240.16 107.92 331.28 199.05 240.16 290.16 227.32 277.35 296.38 208.3 66.8 208.3 66.8 190.16'/%3E%3Cpath d='M199.04,398.08C89.29,398.08,0,308.79,0,199.04S89.29,0,199.04,0s199.04,89.29,199.04,199.04-89.29,199.04-199.04,199.04h0ZM199.04,17.24C98.79,17.24,17.24,98.79,17.24,199.04s81.55,181.8,181.8,181.8,181.8-81.56,181.8-181.8S299.28,17.24,199.04,17.24Z'/%3E%3C/svg%3E") no-repeat center;
  mask-size: 25px auto;
}
.galleryListing__items {
  display: flex;
  flex-wrap: wrap;
  margin: 30px -16px 0;
}
@media (min-width: 1120px) {
  .galleryListing__items {
    margin: 60px -32px 0;
  }
}
@media (min-width: 1640px) {
  .galleryListing__items {
    margin: 95px -32px 0;
  }
}
.galleryListing__item {
  padding: 0 16px;
  width: 100%;
  margin-bottom: 32px;
}
@media (min-width: 640px) {
  .galleryListing__item {
    width: 50%;
  }
}
@media (min-width: 1120px) {
  .galleryListing__item {
    padding: 0 32px;
    margin-bottom: 64px;
  }
}
@media (min-width: 1640px) {
  .galleryListing__item {
    width: 33%;
  }
}
.galleryListing__nothingFound {
  text-align: center;
}
.galleryListing__pagination {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 8px;
}

.galleryCard {
  position: relative;
  text-decoration: none;
  cursor: pointer;
}
.galleryCard__imageContainer {
  display: block;
  position: relative;
}
.galleryCard__imageBlock {
  display: block;
}
.galleryCard__imageBlock:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  height: 33%;
  width: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0));
}
.galleryCard__imageBlock--portrait {
  --padding-bottom: calc( 72% * 2 + 32px );
}
@media (min-width: 1120px) {
  .galleryCard__imageBlock--portrait {
    --padding-bottom: calc( 72% * 2 + 64px );
  }
}
.galleryCard__imageOverlay {
  color: #ffffff;
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-start;
  padding: 35px 40px;
  transition: background-color 0.3s;
}
.galleryCard__imageOverlay:after {
  content: "";
  display: block;
  position: absolute;
  right: 44px;
  bottom: 44px;
  width: 30px;
  height: 30px;
  mask: var(--icon-magnify) no-repeat center;
  mask-size: contain;
  background: currentColor;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.3s, opacity 0.3s;
}
.galleryCard__line {
  position: absolute;
  background: currentColor;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.3s, opacity 0.3s;
}
.galleryCard__line--top {
  left: 45px;
  top: 45px;
  right: 45px;
  height: 2px;
}
.galleryCard__line--right {
  width: 2px;
  top: 45px;
  right: 45px;
  bottom: 90px;
}
.galleryCard__line--bottom {
  height: 2px;
  bottom: 45px;
  right: 90px;
  left: 45px;
}
.galleryCard__line--left {
  width: 2px;
  top: 45px;
  left: 45px;
  bottom: 45px;
}
@media (hover: hover) {
  .galleryCard:hover .galleryCard__imageOverlay {
    background: rgba(0, 0, 0, 0.3);
  }
  .galleryCard:hover .galleryCard__imageOverlay:after {
    visibility: visible;
    opacity: 1;
  }
  .galleryCard:hover .galleryCard__line {
    opacity: 1;
    visibility: visible;
  }
}

@media (min-width: 640px) {
  .galleryFancybox .fancybox-slide {
    padding: 75px 75px 75px;
  }
}

.galleryPopup {
  padding: 0;
  background: transparent;
  color: #ffffff;
  max-width: 1010px;
  width: 100%;
}
.galleryPopup .button {
  color: #ffffff;
}
@media (hover: hover) {
  .galleryPopup .button:hover {
    color: var(--color-red);
  }
}
.galleryPopup__imageContainer img {
  width: 100%;
}
.galleryPopup__textContainer {
  padding: 35px;
}
@media (min-width: 1360px) {
  .galleryPopup__textContainer {
    margin-top: 35px;
  }
}

.projectIntroSection {
  margin: 0;
}
@media (min-width: 1640px) {
  .projectIntroSection {
    display: flex;
    align-items: flex-start;
  }
}
.projectIntroSection__textCol {
  background: #f4f1ec;
  display: flex;
  padding: 52px 0;
  margin-right: var(--container-padding-x);
}
@media (min-width: 640px) {
  .projectIntroSection__textCol {
    width: 69%;
    padding: 70px 0;
    margin-right: 0;
  }
}
@media (min-width: 1360px) {
  .projectIntroSection__textCol {
    justify-content: flex-end;
  }
}
@media (min-width: 1360px) {
  .projectIntroSection__textCol {
    padding: 105px 0;
  }
}
@media (min-width: 1640px) {
  .projectIntroSection__textCol {
    width: 40.5%;
  }
}
.projectIntroSection__textColWrapper {
  width: 100%;
}
@media (min-width: 1640px) {
  .projectIntroSection__textColWrapper {
    max-width: 670px;
  }
}
@media (min-width: 1640px) {
  .projectIntroSection__textColInner {
    max-width: 450px;
  }
}
.projectIntroSection__title {
  font-size: 3.125rem;
  margin-bottom: 1.5rem;
}
.projectIntroSection__mediaCol {
  margin-left: var(--container-padding-x);
}
@media (min-width: 640px) {
  .projectIntroSection__mediaCol {
    width: 69%;
    margin-left: auto;
  }
}
@media (min-width: 1640px) {
  .projectIntroSection__mediaCol {
    width: 59.5%;
  }
}
.projectIntroSection__imageBlock {
  --padding-bottom: 62%;
}

.twentytwenty-handle {
  background: #ffffff url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23f15623' viewBox='0 0 23.49 25.5'%3E%3Cpath d='M13.43,25.5c-1.93,0-3.78-.78-5.07-2.13-.62-.65-1.21-1.4-1.75-2.21l-3.29-4.93c-.3-.46-.37-1.01-.2-1.53.17-.51.57-.9,1.09-1.08.39-.13.8-.2,1.21-.2,1,0,1.95.39,2.67,1.11l1.38,1.38V2.25c0-1.24,1.01-2.25,2.25-2.25s2.25,1.01,2.25,2.25v5.89c.25-.09.49-.14.75-.14.85,0,1.62.49,2,1.23.31-.15.65-.23,1-.23.85,0,1.62.49,2,1.23.31-.15.65-.23,1-.23h.06l.05.03h.03c1.14,0,2.13,1,2.13,2.23v6.42c0,.81-.15,1.6-.46,2.35-1.09,2.71-3.68,4.47-6.6,4.47h-2.5ZM5.41,14.92c-.25,0-.49.04-.73.12-.06.02-.12.08-.14.15s-.02.15.03.22l3.28,4.92c.47.73,1.01,1.4,1.58,2.01,1,1.06,2.45,1.66,3.99,1.66h2.5c2.3,0,4.35-1.38,5.21-3.52.21-.51.32-1.06.34-1.62v-6.6c0-.41-.34-.75-.75-.75s-.75.34-.75.75v.5c0,.42-.33.75-.75.75s-.75-.33-.75-.75v-1.5c0-.41-.34-.75-.75-.75s-.75.34-.75.75v.5c0,.42-.33.75-.75.75s-.75-.33-.75-.75v-1.5c0-.41-.34-.75-.75-.75s-.75.34-.75.75v1c0,.42-.33.75-.75.75s-.75-.33-.75-.75V2.25c0-.41-.34-.75-.75-.75s-.75.34-.75.75v13.95c0,.56-.33,1.06-.85,1.28-.17.07-.34.1-.52.1-.37,0-.73-.15-.98-.41l-1.59-1.59c-.43-.43-1-.67-1.6-.67h-.02ZM9.68,16.13h.03l-.05-.02.02.02Z'/%3E%3Cpath d='M20.75,6.51c-.19,0-.38-.08-.53-.22-.14-.14-.22-.33-.22-.53s.08-.39.22-.53l.72-.72h-5.2c-.42,0-.75-.32-.75-.74s.33-.75.75-.75h5.19l-.72-.72c-.14-.14-.22-.33-.22-.53s.08-.39.22-.53.33-.22.53-.22.39.08.53.22l2,2c.14.14.22.33.22.53s-.08.39-.22.53l-2,2c-.12.13-.33.22-.53.22h.01Z'/%3E%3Cpath d='M2.67,6.5l-.02-.02c-.15-.02-.3-.1-.41-.21L.23,4.27c-.3-.3-.3-.77,0-1.06L2.23,1.21c.14-.14.33-.22.53-.22s.39.08.53.22.22.33.22.53-.08.39-.22.53l-.72.72h5.19c.42,0,.75.33.75.75s-.33.75-.75.75H2.56l.72.72c.14.14.22.33.22.53s-.08.39-.22.53c-.12.14-.32.22-.53.22h-.1.01Z' /%3E%3C/svg%3E") no-repeat center center;
  background-size: 52% auto;
}
@media (min-width: 1640px) {
  .twentytwenty-handle {
    width: 70px;
    height: 70px;
    margin-left: -38px;
    margin-top: -38px;
  }
}
.twentytwenty-handle span {
  display: none;
}

@media (min-width: 1640px) {
  .twentytwenty-horizontal .twentytwenty-handle:before {
    margin-bottom: 40px;
  }
}
@media (min-width: 1640px) {
  .twentytwenty-horizontal .twentytwenty-handle:after {
    margin-top: 40px;
  }
}

.testimonialsListing {
  margin-top: 30px;
  overflow: hidden;
  padding: 0 var(--container-padding-x);
}
@media (min-width: 1120px) {
  .testimonialsListing {
    margin-top: 75px;
    margin-bottom: 60px;
  }
}
.testimonialsListing__items {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -16px;
}
.testimonialsListing__item {
  padding: 0 16px;
  width: 100%;
  margin-bottom: 24px;
}
@media (min-width: 640px) {
  .testimonialsListing__item {
    width: 50%;
    margin-bottom: 32px;
  }
}
@media (min-width: 1640px) {
  .testimonialsListing__item {
    width: 33.33%;
  }
}
.testimonialsListing__pagination {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 20px;
}

.textTestimonialCard {
  position: relative;
  text-decoration: none;
  background: #f4f1ec;
  padding: var(--container-padding-x);
}
@media (min-width: 1120px) {
  .textTestimonialCard {
    text-align: center;
  }
}
@media (min-width: 1120px) {
  .textTestimonialCard {
    padding: 100px var(--container-padding-x);
  }
}
.textTestimonialCard__content {
  font-style: italic;
  font-family: "Source Serif 4", serif;
  font-size: 1.25rem;
  line-height: 1.5;
}
@media (min-width: 640px) {
  .textTestimonialCard__content {
    font-size: 1.375rem;
  }
}
@media (min-width: 1640px) {
  .textTestimonialCard__content {
    font-size: 1.875rem;
  }
}
.textTestimonialCard__author {
  margin-top: 30px;
}

.videoTestimonialCard {
  position: relative;
  cursor: pointer;
}
.videoTestimonialCard__imageBlock {
  --padding-bottom: 80%;
}

.achievements {
  padding: 60px 0;
}
@media (min-width: 640px) {
  .achievements {
    padding: 90px 0;
  }
}
@media (min-width: 1640px) {
  .achievements {
    padding: 125px 0;
    margin-top: -50px;
  }
}
.achievements__lists {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0 35px;
}
@media (min-width: 1120px) {
  .achievements__lists {
    margin-left: 9%;
  }
}
.achievements__list {
  list-style: none;
  padding: 0 !important;
  margin: 0;
}
@media (min-width: 640px) {
  .achievements__list {
    flex: 1;
  }
}
.achievements__list li {
  display: flex;
  align-items: center;
  min-height: 50px;
  border-bottom: 1px solid currentColor;
  margin: 0;
  padding: 10px 0;
}
.achievements__list li.highlight {
  padding: 30px 0;
}
@media (min-width: 640px) {
  .achievements__list li.highlight:first-child {
    border-top: 1px solid currentColor;
  }
}

.featuredProjectsListing {
  overflow: hidden;
}
.featuredProjectsListing__items {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -16px;
}
@media (min-width: 1360px) {
  .featuredProjectsListing__items {
    margin: 0 -32px;
  }
}
.featuredProjectsListing__item {
  padding: 0 16px;
  width: 100%;
  margin-bottom: 42px;
}
@media (min-width: 640px) {
  .featuredProjectsListing__item {
    width: 50%;
  }
}
@media (min-width: 1640px) {
  .featuredProjectsListing__item {
    width: 33.33%;
  }
}
@media (min-width: 1360px) {
  .featuredProjectsListing__item {
    padding: 0 32px;
  }
}
.featuredProjectsListing__pagination {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: -10px;
}
@media (min-width: 640px) {
  .featuredProjectsListing__pagination {
    margin-top: 8px;
  }
}

.blogListing__items {
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;
}
@media (min-width: 1120px) {
  .blogListing__items {
    margin: 95px -20px 0;
  }
}
.blogListing__item {
  width: 100%;
  margin-bottom: 60px;
}
@media (min-width: 1120px) {
  .blogListing__item {
    padding: 0 20px;
    width: 50%;
  }
}
.blogListing__pagination {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 8px;
}

.blogCard {
  position: relative;
}
@media (min-width: 640px) {
  .blogCard {
    display: flex;
    align-items: stretch;
  }
}
.blogCard__imageContainer {
  margin-bottom: 24px;
}
@media (min-width: 640px) {
  .blogCard__imageContainer {
    width: 37%;
    margin-right: 35px;
    margin-bottom: 0;
  }
}
.blogCard__imageBlock {
  --padding-bottom: 97%;
}
@media (min-width: 640px) {
  .blogCard__textContainer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1;
  }
}
.blogCard__title {
  font-style: italic;
  margin-bottom: 16px;
}
.blogCard__overlayLink {
  position: absolute;
  inset: 0;
  z-index: 10;
}
@media (hover: hover) {
  .blogCard:hover .blogCard__button {
    color: var(--color-red);
  }
  .blogCard:hover .blogCard__button:after {
    rotate: -90deg;
  }
}

.scrollableTabs {
  position: relative;
}
@media (min-width: 1640px) {
  .scrollableTabs {
    margin-top: -110px;
  }
}
@media (min-width: 1640px) {
  .scrollableTabs__inner {
    position: sticky;
    top: 0;
    padding: 50px 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
@media (min-width: 1640px) {
  .scrollableTabs__inner {
    padding: 82px 0;
  }
}
.scrollableTabs__header {
  margin-bottom: 30px;
}
@media (min-width: 640px) {
  .scrollableTabs__header {
    text-align: center;
    margin-bottom: 40px;
  }
}
@media (min-width: 1640px) {
  .scrollableTabs__header {
    margin-bottom: 60px;
  }
}
.scrollableTabs__navContainer {
  position: relative;
  display: none;
}
@media (min-width: 1640px) {
  .scrollableTabs__navContainer {
    display: block;
    margin-bottom: 50px;
  }
}
@media (min-width: 1640px) {
  .scrollableTabs__navContainer {
    margin-bottom: 75px;
  }
}
.scrollableTabs__navContainer .tns-controls {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
}
.scrollableTabs__navContainer .tns-controls [data-controls=prev],
.scrollableTabs__navContainer .tns-controls [data-controls=next] {
  position: absolute;
  top: 50%;
  width: 65px;
  height: 90px;
  background: var(--color-blue);
  mask: var(--icon-arrow-long) no-repeat center;
  mask-size: 100% auto;
  transition: background-color 0.3s, opacity 0.3s;
  z-index: 10;
  visibility: visible;
  opacity: 1;
}
.scrollableTabs__navContainer .tns-controls [data-controls=prev][disabled],
.scrollableTabs__navContainer .tns-controls [data-controls=next][disabled] {
  opacity: 0.5;
}
.scrollableTabs__navContainer .tns-controls [data-controls=prev] {
  left: 0;
  rotate: 180deg;
  translate: -100px -50%;
}
.scrollableTabs__navContainer .tns-controls [data-controls=next] {
  right: 0;
  translate: 90px -50%;
}
@media (min-width: 1640px) {
  .scrollableTabs__nav {
    list-style: none;
    padding: 0 !important;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: stretch;
  }
}
.scrollableTabs__navItem {
  position: relative;
  display: flex !important;
  justify-content: center;
  cursor: default !important;
  padding: 0 2vw;
  flex: 1;
}
.scrollableTabs__navItem a {
  position: relative;
  display: inline-flex;
  text-decoration: none;
  font-family: "Source Serif 4", serif;
  font-size: 1.5rem;
  line-height: 1.33;
  font-style: italic;
  padding: 0 0 0 30px;
  white-space: nowrap;
}
@media (min-width: 1640px) {
  .scrollableTabs__navItem a {
    font-size: 1.875rem;
  }
}
.scrollableTabs__navItem a:before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  width: 15px;
  height: 5px;
  background: #d1bc94;
  transition: background-color 0.3s;
}
@media (min-width: 1640px) {
  .scrollableTabs__navItem a:before {
    top: 20px;
  }
}
.scrollableTabs__navItem.tns-slide-active:not(:last-child):after {
  content: "";
  position: absolute;
  right: -1px;
  top: 0;
  width: 1px;
  height: 100%;
  background: #bbbbbb;
}
.scrollableTabs__navItem.ui-state-active a:before {
  background: #f15623;
}
.scrollableTabs__navItem:not(:last-child):after {
  content: "";
  position: absolute;
  right: -1px;
  top: 0;
  width: 1px;
  height: 100%;
  background: #bbbbbb;
}
.scrollableTabs__tabs {
  padding: 0 var(--container-padding-x);
}
@media (min-width: 1640px) {
  .scrollableTabs__tabs {
    padding: 0;
  }
}
@media (min-width: 1640px) {
  .scrollableTabs__tabs .accordionContent {
    padding: 0;
  }
}
.scrollableTabs__testimonialBlock {
  background: var(--color-beige);
  display: flex;
  align-items: center;
  position: absolute;
  inset: 0;
  text-align: center;
  padding: var(--container-padding-x);
}
.scrollableTabs__testimonialBlock .textTestimonialBlock {
  padding: 0;
}
@media (min-width: 1640px) {
  .scrollableTabs .accordion__header {
    display: none;
  }
}

.accordion__header {
  position: relative;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #bbbbbb;
  padding: 15px 32px 15px 0;
  min-height: 80px;
  cursor: pointer;
}
@media (min-width: 640px) {
  .accordion__header {
    min-height: 78px;
  }
}
.accordion__header:not(:first-child) {
  margin-top: 20px;
}
@media (min-width: 640px) {
  .accordion__header:not(:first-child) {
    margin-top: 32px;
  }
}
.accordion__header .ui-accordion-header-icon {
  position: absolute;
  top: 50%;
  right: 0;
  width: 16px;
  height: 16px;
  background: var(--color-blue);
  mask: var(--icon-angle) no-repeat center;
  mask-size: auto 100%;
  rotate: 90deg;
  translate: 0 -50%;
  transition: rotate 0.3s;
}
.accordion__header.ui-state-active .ui-accordion-header-icon {
  rotate: -90deg;
}
.accordion__title {
  font-size: 1.25rem;
  line-height: 1.5;
  font-family: "Source Serif 4", serif;
  font-variation-settings: "wght" 400, "opsz" 20;
  color: var(--heading-color);
  font-style: italic;
}
@media (min-width: 640px) {
  .accordion__title {
    line-height: 1.45;
    font-size: 1.375rem;
  }
}
@media (min-width: 960px) {
  .accordion__title {
    line-height: 1.33;
    font-size: 1.875rem;
  }
}
.accordionContent {
  padding: 30px 0;
}
@media (min-width: 640px) {
  .accordionContent {
    padding: 40px 0 0;
  }
}
@media (min-width: 960px) {
  .accordionContent__cols {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.accordionContent__imageCol {
  margin: 0 0 30px;
  max-width: 600px;
}
@media (min-width: 960px) {
  .accordionContent__imageCol {
    width: 48%;
    margin: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    max-width: none;
  }
}
@media (min-width: 1640px) {
  .accordionContent__imageCol {
    width: 40.5%;
  }
}
.accordionContent__textCol {
  margin: 0 calc(-1 * var(--container-padding-x));
}
@media (min-width: 960px) {
  .accordionContent__textCol {
    width: 52%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 0;
  }
}
@media (min-width: 1640px) {
  .accordionContent__textCol {
    width: 52.5%;
  }
}
@media (min-width: 1120px) {
  .accordionContent__textWrapper {
    width: 100%;
    max-width: calc(var(--container-max-width) / 2);
  }
}
@media (min-width: 1120px) {
  .accordionContent__textInner {
    max-width: 610px;
    min-height: 270px;
  }
}
@media (min-width: 640px) {
  .accordionContent__textInner h3 br {
    display: none;
  }
}
@media (min-width: 960px) {
  .accordionContent__textInner h3 br {
    display: block;
  }
}

.contacts .contact__label {
  color: var(--color-red);
}

.getInTouchSection {
  --text-color: #ffffff;
  background: url("../images/get-in-touch-bg-desktop.jpg") no-repeat center top;
  background-size: cover;
  color: var(--text-color);
}
.getInTouchSection h2 {
  color: currentColor;
}
.getInTouchSection select {
  background-image: var(--icon-select-white);
}
.getInTouchSection .button {
  color: var(--text-color);
}
.getInTouchSection .wpcf7 form span.wpcf7-not-valid-tip {
  color: yellow;
}

.page-id-228 .formSection {
  background: transparent;
  padding: 0;
}

@media (min-width: 1640px) {
  .page-id-39 .callout {
    margin-top: calc(-1 * var(--section-margin));
  }
}

@media (min-width: 1360px) {
  .page-id-11 .scrollableTabs__navContainer {
    padding: 0 130px 0 100px;
  }
}

.fancybox-bg {
  background: rgba(0, 0, 0, 0.9);
}

.fancybox-is-open .fancybox-bg {
  opacity: 1;
}

.fancybox-loading {
  padding: 0;
}
.fancybox-loading .fancybox-close-small {
  display: none;
}

.fancybox-button {
  padding: 0;
}
.fancybox-button[disabled] {
  visibility: hidden !important;
  opacity: 0 !important;
}
.fancybox-button--close {
  width: 50px;
  height: 50px;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 640px) {
  .fancybox-button--close {
    width: 75px;
    height: 75px;
  }
}
.fancybox-button--close:after {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  background: var(--color-red);
  mask: var(--icon-close) no-repeat center;
  mask-size: contain;
}
@media (min-width: 640px) {
  .fancybox-button--close:after {
    width: 32px;
    height: 32px;
  }
}

.fancybox-navigation .fancybox-button {
  padding: 0;
}
.fancybox-navigation .fancybox-button--arrow_left, .fancybox-navigation .fancybox-button--arrow_right {
  width: 75px;
  height: 75px;
  mask: no-repeat center;
  background: #ffffff;
  mask-size: 66% auto;
  bottom: 0;
  top: auto;
}
@media (min-width: 640px) {
  .fancybox-navigation .fancybox-button--arrow_left, .fancybox-navigation .fancybox-button--arrow_right {
    bottom: auto;
    top: 50%;
  }
}
@media (min-width: 1360px) {
  .fancybox-navigation .fancybox-button--arrow_left, .fancybox-navigation .fancybox-button--arrow_right {
    width: 100px;
    height: 100px;
  }
}
.fancybox-navigation .fancybox-button--arrow_left {
  mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 439.94 182.25'%3E%3Cpolygon points='439.94 100 34.52 100 103.95 169.42 91.12 182.25 0 91.12 91.12 0 103.95 12.82 34.9 81.87 439.94 81.87 439.94 100'/%3E%3C/svg%3E");
}
@media (min-width: 1360px) {
  .fancybox-navigation .fancybox-button--arrow_left {
    left: 5%;
  }
}
.fancybox-navigation .fancybox-button--arrow_right {
  mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 439.94 182.25'%3E%3Cpolygon points='0 82.25 405.42 82.25 335.99 12.83 348.82 0 439.94 91.13 348.82 182.25 335.99 169.43 405.04 100.38 0 100.38 0 82.25'/%3E%3C/svg%3E");
}
@media (min-width: 1360px) {
  .fancybox-navigation .fancybox-button--arrow_right {
    right: 5%;
  }
}

.fancybox-slide--video {
  padding: 50px 0;
}
@media (min-width: 640px) {
  .fancybox-slide--video {
    padding: 75px 0;
  }
}
@media (min-width: 1360px) {
  .fancybox-slide--video {
    padding: 75px calc((100% - 1500px + 50px) / 2);
  }
}
.fancybox-slide--html {
  padding: 0 0 100px;
}
.fancybox-slide--html:after {
  content: "";
  display: block;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgb(0, 0, 0));
  z-index: 1;
  height: 100px;
}

.select2-container .select2-selection--single {
  height: 53px;
  border-radius: 6px;
  border: 2px solid currentColor;
  background: transparent;
  margin: 0;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 10px 60px 10px 20px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  color: currentColor;
  font-weight: 400;
}
.select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: currentColor;
  font-style: italic;
  opacity: 0.76;
  font-weight: 400;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 51px;
  width: 60px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-width: 10px 6px 0 6px;
  border-top-color: currentColor;
  margin: 0;
  transform: translate(-50%, -50%);
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-bottom-color: currentColor;
  border-width: 0 6px 10px 6px;
}

.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,
.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,
.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,
.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
  border-radius: 6px;
}

.select2-dropdown {
  border-radius: 6px;
  background: #FFFBF8;
  border: 2px solid currentColor;
  padding: 0;
  overflow: hidden;
}

.select2-container--open .select2-dropdown--above {
  border-radius: 6px;
  border: 2px solid currentColor;
  margin-bottom: -2px;
}

.select2-container--open .select2-dropdown--below {
  border-radius: 6px;
  border: 2px solid currentColor;
  margin-top: -2px;
}

.select2-results__option {
  padding: 6px 22px;
  min-height: 46px;
  display: flex;
  align-items: center;
}
.select2-results__option--highlighted {
  background: #F8E3D5;
}

.tns-outer {
  position: relative;
  display: flex;
  flex-direction: column;
}

.tns-carousel {
  display: flex;
  align-items: stretch;
}

.tns-controls {
  display: flex;
  justify-content: center;
}
.tns-controls button[disabled] {
  visibility: hidden;
  opacity: 0;
}
.tns-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}
.tns-nav button {
  border-radius: 100%;
  background: currentColor;
  transition: all 0.3s;
}
.wpcf7-not-valid-tip,
em.wpforms-error {
  text-align: right;
  font-size: 14px;
  color: red;
  position: absolute;
  top: 100%;
  right: 0;
}

.wpcf7-form {
  position: relative;
}

.wpcf7 form .wpcf7-form-control-wrap {
  display: block;
}
.wpcf7 form .wpcf7-response-output {
  text-align: center;
  margin: 30px 0 0;
  padding: 10px 20px;
}
.wpcf7 form div.wpcf7-validation-errors,
.wpcf7 form div.wpcf7-mail-sent-ok {
  border: none;
}
.wpcf7 form div.wpcf7-validation-errors {
  color: red;
}
.wpcf7 form .btnWrap {
  position: relative;
}
.wpcf7 form .btnWrap .ajax-loader {
  position: absolute;
  top: 50%;
  right: -50px;
  transform: translateY(-50%);
  margin: 0;
}
.wpcf7:not(:first-child) {
  margin-top: 1.625rem;
}

.wpcf7-checkbox {
  display: block;
}
.wpcf7-checkbox .wpcf7-list-item {
  display: flex;
  margin: 0;
}
.wpcf7-checkbox .wpcf7-list-item label {
  display: block;
}

/*# sourceMappingURL=styles.css.map */
