html, body {
  width: 100%;
  margin: 0;
  padding: 0;
  scroll-behavior: smooth; }

html, body {
  width: 100% !important;
  padding: 0;
  margin: 0;
  font-family: sofia-pro;
  --primary: #0F463C;
  --primary2: #57B8A6;
  --primary_light: #2C6552;
  --primary_light2: #4A9C8D;
  --primary_dark: #0D3C33;
  --primary_dark2: #2A6452;
  --primary_dark3: #112f28;
  --secondary: #FF886B;
  --secondary_light: #F5886C;
  --secondary_light_2: #f69d86;
  --tertiary: #D7D8C9;
  --text_light: #EDE8D9;
  --text_light_opacity_2: #EDE8D933;
  --text_dark: #0D3C33;
  --text_dark_opacity_2: #0D3C3333;
  color: var(--text_dark);
  background-color: var(--primary_dark);
  font-size: 16px;
  --maxWidth: 2048px;
  --zero: 0;
  --xs: 1rem;
  --sm: 2rem;
  --md: 4rem;
  --lg: 8rem;
  --xl: 16rem; }

#main {
  overflow: hidden; }

@media screen and (min-width: 1581px) {
  html, body {
    font-size: 0.833333333vw;
    --maxWidth: 100vw; } }

html h1, html h2, html h3, html h4, html h5, html h6, body h1, body h2, body h3, body h4, body h5, body h6 {
  font-family: sofia-pro, sans-serif; }

html p, body p {
  font-family: Outfit, sans-serif; }

* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent; }

.addDot {
  position: relative;
  height: fit-content; }
  .addDot:after {
    content: "";
    background-color: var(--secondary);
    width: 0.2em;
    height: 0.2em;
    margin-left: 0.1em;
    border-radius: 100%;
    display: inline-block;
    position: absolute;
    top: calc(100% - 1.2rem); }
  @media (max-width: 1580px) {
    .addDot::after {
      top: calc(100% - 15px); } }
  @media (max-width: 1024px) {
    .addDot::after {
      top: calc(100% - 12px); } }

::-webkit-scrollbar {
  width: 0; }

.snackbar {
  position: fixed;
  bottom: 3rem;
  right: 3rem;
  background-color: var(--secondary);
  color: var(--primary);
  padding: 2rem;
  border-radius: 1rem;
  font-size: 1rem;
  z-index: 9;
  transition: 0.3s ease; }

.container {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--maxWidth); }

.contentWrapper {
  max-width: var(--maxWidth);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: column;
  position: relative;
  width: 100%; }

@media screen and (max-width: 1580px) {
  .contentWrapper {
    max-width: 1580px;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    margin-left: auto;
    margin-right: auto; }
  .container {
    max-width: 1580px; } }

@media screen and (max-width: 1200px) {
  .contentWrapper {
    max-width: 1200px; }
  .container {
    max-width: 1200px; } }

@media screen and (max-width: 1024px) {
  .contentWrapper {
    max-width: 1024px; }
  .container {
    max-width: 1024px; } }

@media screen and (max-width: 768px) {
  .contentWrapper {
    max-width: 768px; }
  .container {
    max-width: 768px; } }

.contentWrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: column;
  position: relative;
  width: 100%; }

.mobile-menu {
  display: none;
  min-width: 100%;
  position: absolute;
  top: 100%;
  z-index: 9;
  height: 100vh;
  width: 100vw;
  left: 0rem;
  overflow: scroll;
  background-color: var(--primary_dark);
  max-height: calc( 100vh - 3.8rem);
  overflow-y: overlay; }
  .mobile-menu .get-in-touch {
    border-bottom: 0.125rem solid var(--text_light_opacity_2);
    text-decoration: none; }
    .mobile-menu .get-in-touch div {
      all: unset;
      line-height: 5.75rem;
      height: 5.75rem;
      width: 100%;
      color: var(--text_light);
      font-size: 1.75rem;
      font-style: normal;
      font-weight: 700;
      cursor: pointer;
      display: block;
      min-width: 95%;
      width: 97%;
      padding-left: 1.5rem;
      padding-right: 1.5rem; }
  .mobile-menu .menu_thumbnail {
    padding-left: 0; }
  .mobile-menu > ul {
    all: unset; }
    .mobile-menu > ul > li > a > div {
      border-top: 0.13rem solid var(--text_light_opacity_2); }
    .mobile-menu > ul li {
      min-height: 0rem;
      overflow: hidden;
      pointer-events: all; }
      .mobile-menu > ul li #drop_down_button {
        border-top: 0.125rem solid var(--text_light_opacity_2);
        padding-top: 0;
        padding-bottom: 0;
        display: flex;
        flex-flow: row;
        min-width: 100%;
        width: 100%;
        cursor: pointer; }
        .mobile-menu > ul li #drop_down_button div {
          all: unset;
          line-height: 5.75rem;
          height: 5.75rem;
          width: 100%;
          color: var(--text_light);
          font-size: 1.75rem;
          font-style: normal;
          font-weight: 700;
          cursor: pointer;
          display: block;
          min-width: 95%;
          width: 97%; }
        .mobile-menu > ul li #drop_down_button svg {
          width: 1.5rem;
          position: relative;
          right: 5px;
          transition: 0.2s ease; }
        .mobile-menu > ul li #drop_down_button svg.up {
          transform: rotate(180deg); }
          .mobile-menu > ul li #drop_down_button svg.up path {
            stroke: var(--primary2); }
      .mobile-menu > ul li .menu_excerpt {
        display: none; }
      .mobile-menu > ul li ul.sub-menu {
        display: none; }
      .mobile-menu > ul li ul.sub-menu-active {
        margin-left: 0px;
        padding-left: 1.5rem;
        display: block; }
        .mobile-menu > ul li ul.sub-menu-active li {
          border-top: 0.0625rem solid var(--text_light_opacity_2); }
          .mobile-menu > ul li ul.sub-menu-active li a div {
            padding-top: 1.5rem !important;
            padding-bottom: 1.5rem !important;
            line-height: 100%; }
        .mobile-menu > ul li ul.sub-menu-active ul.sub-menu {
          display: flex;
          flex-flow: column;
          padding-left: 3.5rem; }
          .mobile-menu > ul li ul.sub-menu-active ul.sub-menu li a {
            font-weight: 400;
            padding-left: 0rem;
            display: block;
            line-height: 0;
            font-size: 1rem;
            border: 0px;
            max-width: 100%;
            width: 100%; }
            .mobile-menu > ul li ul.sub-menu-active ul.sub-menu li a div {
              padding-left: 0px;
              position: relative;
              padding-top: 1.25rem !important;
              padding-bottom: 1.25rem !important; }
              .mobile-menu > ul li ul.sub-menu-active ul.sub-menu li a div:after {
                content: url("../icons/right-chevron.svg");
                position: absolute;
                right: 1.875rem;
                color: #EDE8D9; }
          .mobile-menu > ul li ul.sub-menu-active ul.sub-menu li a.menu_link div:nth-child(2) {
            flex: 1; }
        .mobile-menu > ul li ul.sub-menu-active a.menu_link div:nth-child(2) {
          flex: 1;
          line-height: 1.125rem;
          font-size: 1.125rem;
          border: 0px;
          font-weight: 700;
          margin-left: -1.875rem; }
        .mobile-menu > ul li ul.sub-menu-active a.menu_link {
          display: flex;
          flex-flow: row; }
          .mobile-menu > ul li ul.sub-menu-active a.menu_link div.menu_thumbnail {
            flex-grow: 0;
            font-size: 1.25rem;
            line-height: 1.25rem;
            border: 0px; }
            .mobile-menu > ul li ul.sub-menu-active a.menu_link div.menu_thumbnail img {
              width: 1.25rem;
              height: 1.25rem;
              margin-top: -0.625rem; }
      .mobile-menu > ul li a {
        all: unset;
        line-height: 1.75rem;
        font-size: 1.75rem;
        width: 100%;
        flex: 1;
        color: var(--primary-eggshell-00, #EDE8D9);
        font-style: normal;
        font-weight: 700;
        cursor: pointer;
        display: block; }
        .mobile-menu > ul li a div {
          padding-top: 2rem;
          padding-left: 1.5rem;
          padding-right: 1.5rem;
          padding-bottom: 2rem; }

.header {
  position: sticky;
  top: 0;
  z-index: 9;
  transition: 0.3s ease; }

header {
  position: relative;
  z-index: 9;
  background-color: var(--primary);
  color: var(--text_light);
  transition: 0.2s ease; }
  @media screen and (max-width: 1580px) {
    header {
      padding-left: 1.5rem !important;
      padding-right: 1.5rem !important; }
      header .contentWrapper {
        padding-left: 0px;
        padding-right: 0px; }
        header .contentWrapper .desktop-menu ul {
          column-gap: 3rem; }
          header .contentWrapper .desktop-menu ul li ul ul li {
            width: auto; }
          header .contentWrapper .desktop-menu ul.sub-menu {
            padding-left: 3rem;
            padding-right: 1.5rem;
            column-gap: 5rem;
            justify-content: center;
            align-content: center; }
        header .contentWrapper .header_button a:last-child {
          right: 0px; } }
  @media only screen and (max-width: 48rem) {
    header {
      padding: 1.5rem 1.5rem;
      padding-bottom: 0rem;
      padding-top: 0rem; }
      header .desktop-menu {
        display: none; }
      header div.header_button {
        display: none; }
      header div.contentWrapper {
        padding-left: 0px;
        padding-right: 0px; }
        header div.contentWrapper .logo {
          height: 1.5rem;
          width: 6.5rem; } }
  @media only screen and (max-width: 75.0625rem) {
    header .desktop-menu {
      display: none; }
    header div.header_button {
      display: none; }
    header div.contentWrapper .logo {
      height: fit-content;
      width: fit-content;
      padding: 1rem 0rem;
      padding-bottom: 1rem; }
      header div.contentWrapper .logo img {
        height: 1.5rem;
        width: auto; } }
  @media only screen and (min-width: 1200px) {
    header {
      padding: 3rem;
      width: 100%;
      background-color: var(--primary);
      z-index: 9;
      position: sticky;
      top: 0;
      display: flex;
      justify-content: center;
      width: 100%;
      background-color: var(--primary);
      z-index: 9;
      position: sticky;
      top: 0;
      display: flex;
      justify-content: center;
      padding: 2rem 3.5rem; }
      header .hamburger-menu {
        display: none; } }
  header .contentWrapper {
    justify-content: space-between;
    flex-flow: row; }
  header .header_button {
    display: flex;
    white-space: nowrap; }
    header .header_button a {
      padding: 0.6rem 1.5rem 0.6rem; }
    header .header_button a:first-child {
      opacity: 0;
      pointer-events: none; }
    header .header_button a:last-child {
      position: absolute;
      right: 0; }

.scrolledHeader {
  background-color: var(--text_light);
  color: var(--text_dark); }
  .scrolledHeader .get-in-touch div {
    color: var(--text_dark) !important;
    border-top: 0.125rem solid var(--text_dark_opacity_2) !important;
    border-bottom: 0.125rem solid var(--text_dark_opacity_2); }
  .scrolledHeader path {
    stroke: var(--text_dark); }
  .scrolledHeader .hamburger-menu line {
    stroke: var(--text_dark); }
  .scrolledHeader .desktop-menu ul li ul {
    top: calc(100% + 0.75rem);
    background-color: var(--text_light);
    border-top: 0.125rem solid var(--text_dark_opacity_2);
    border-bottom: 0.125rem solid var(--text_dark_opacity_2); }
    .scrolledHeader .desktop-menu ul li ul .menu_heading_1 {
      color: var(--text_dark); }
    .scrolledHeader .desktop-menu ul li ul .menu_excerpt {
      color: var(--text_dark); }
    .scrolledHeader .desktop-menu ul li ul ul {
      border: none;
      background-color: transparent; }
    .scrolledHeader .desktop-menu ul li ul ul li a {
      color: var(--text_dark); }
  .scrolledHeader .mobile-menu--active {
    background-color: var(--text_light); }
  .scrolledHeader .mobile-menu > ul li a {
    color: var(--text_dark); }
  .scrolledHeader .mobile-menu > ul li #drop_down_button div {
    color: var(--text_dark); }
  .scrolledHeader .mobile-menu > ul > li > a > div, .scrolledHeader .mobile-menu > ul li #drop_down_button, .scrolledHeader .mobile-menu > ul li ul.sub-menu-active li {
    border-color: var(--text_dark_opacity_2); }
  @media only screen and (min-width: 75.0625rem) {
    .scrolledHeader {
      padding: 0.75rem 3.5rem; } }

.mobile-menu--active {
  background-color: var(--primary_dark);
  display: flex;
  flex-flow: column;
  height: 100vh;
  padding-bottom: 5rem;
  overflow-y: overlay;
  overflow-x: hidden; }

.desktop-menu ul {
  all: unset;
  align-items: center;
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 4rem; }
  .desktop-menu ul .menu_active {
    pointer-events: all; }
    .desktop-menu ul .menu_active .menu_heading_with_dropdown {
      color: var(--primary2); }
      .desktop-menu ul .menu_active .menu_heading_with_dropdown svg {
        transform: rotate(180deg); }
        .desktop-menu ul .menu_active .menu_heading_with_dropdown svg path {
          stroke: var(--primary2); }
    .desktop-menu ul .menu_active ul {
      opacity: 1;
      pointer-events: all; }
  .desktop-menu ul li {
    all: unset;
    align-items: center;
    cursor: default;
    display: inline-flex; }
    .desktop-menu ul li a, .desktop-menu ul li .menu_heading_with_dropdown {
      all: unset;
      cursor: pointer;
      transition: 0.2s ease;
      color: inherit;
      font-weight: 500;
      font-size: 1.125rem;
      line-height: 120%;
      leading-trim: both;
      text-edge: cap;
      display: flex;
      align-items: center;
      user-select: none;
      transition: 0.2s ease;
      font-family: sofia-pro; }
      .desktop-menu ul li a:hover, .desktop-menu ul li .menu_heading_with_dropdown:hover {
        opacity: 0.5; }
      .desktop-menu ul li a svg, .desktop-menu ul li .menu_heading_with_dropdown svg {
        margin-left: 0.5rem;
        margin-top: 0.25rem;
        width: 0.625rem;
        min-width: 0.625rem;
        transition: 0.2s ease; }
    .desktop-menu ul li ul {
      all: unset;
      position: absolute;
      top: calc(100% + 2rem);
      width: 100vw;
      max-width: var(--maxWidth);
      left: 50%;
      transform: translateX(-50%);
      padding: 2.5rem 22.8125rem;
      background-color: var(--primary_dark);
      border-top: 0.125rem solid var(--text_light_opacity_2);
      border-bottom: 0.125rem solid var(--text_light_opacity_2);
      box-sizing: border-box;
      display: flex;
      gap: 2.75rem;
      opacity: 0;
      pointer-events: none;
      transition: 0.2s ease;
      max-width: var(--maxWidth); }
      .desktop-menu ul li ul .sub-menu {
        padding-left: 3.125rem; }
      .desktop-menu ul li ul li {
        all: unset; }
        .desktop-menu ul li ul li a {
          all: unset;
          cursor: pointer;
          font-family: sofia-pro; }
          .desktop-menu ul li ul li a:hover {
            opacity: 1; }
            .desktop-menu ul li ul li a:hover > .menu_heading_1 {
              opacity: 0.5; }
        .desktop-menu ul li ul li .menu_heading_1 {
          font-size: 1.125rem;
          font-weight: 700;
          line-height: 2.5rem;
          color: var(--text_light);
          transition: 0.2s ease; }
        .desktop-menu ul li ul li .menu_link {
          display: flex;
          align-items: center;
          gap: 1.5rem; }
        .desktop-menu ul li ul li .menu_thumbnail {
          width: 1.5rem;
          height: 1.5rem; }
          .desktop-menu ul li ul li .menu_thumbnail img {
            width: 100%;
            height: 100%; }
        .desktop-menu ul li ul li .menu_excerpt {
          color: var(--text_light);
          font-size: 0.875rem;
          font-weight: 400;
          line-height: 1.25rem;
          letter-spacing: -0.014rem;
          margin-top: 1.5rem;
          padding-left: 3.125rem;
          width: 21.8125rem; }
      .desktop-menu ul li ul ul {
        all: unset;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem;
        margin-top: 1.5rem; }
        .desktop-menu ul li ul ul li {
          all: unset;
          display: block;
          width: 9.6875rem;
          transition: 0.2s ease; }
          .desktop-menu ul li ul ul li:hover {
            opacity: 0.5; }
          .desktop-menu ul li ul ul li a {
            all: unset;
            font-family: sofia-pro;
            font-size: 0.875rem;
            line-height: 1rem;
            color: var(--text_light);
            font-weight: 400;
            cursor: pointer;
            transition: 0.2s ease; }

.logo {
  all: unset;
  cursor: pointer;
  width: 8.645rem;
  height: 2rem;
  position: relative; }
  .logo img {
    width: 100%;
    height: 100%; }

.hamburger-menu {
  all: unset;
  height: 1.3125rem;
  width: 1.3125rem;
  cursor: pointer;
  position: absolute;
  right: 2rem;
  top: 1.25rem; }
  .hamburger-menu line {
    stroke: #FFFFFF;
    transition: 0.2s;
    transition: 0.2s; }
  @media only screen and (max-width: 768px) {
    .hamburger-menu {
      right: 0rem; } }

.hamburger-menu--active line {
  stroke: #FFFFFF;
  transform: scale(1.3); }
  .hamburger-menu--active line:nth-of-type(1) {
    transform: rotate(-45deg) translateY(30%);
    transform-origin: center; }
  .hamburger-menu--active line:nth-of-type(2) {
    transform: rotate(45deg) translate(-11%, 0%);
    transform-origin: center; }

@media screen and (max-width: 768px) {
  .hamburger-menu {
    top: 1.5rem; } }

@media (max-width: 1199px) {
  .mobile-menu .get-in-touch div {
    color: var(--text_light);
    border-top: 0.13rem solid var(--text_light_opacity_2); }
  .mobile-menu > ul li #drop_down_button {
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
  .mobile-menu > ul li a div {
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
  .mobile-menu > ul li ul.sub-menu-active li {
    border-top: 0.125rem solid var(--text_light_opacity_2); }
  .mobile-menu > ul li ul.sub-menu-active ul.sub-menu li a div:after {
    font-size: 1rem; }
  .mobile-menu > ul li ul.sub-menu-active a.menu_link div.menu_thumbnail {
    padding-left: 0rem;
    padding-right: 1rem; } }

.secondImageContentBanner {
  padding: 2.813rem 17.253rem 2.864rem 23.75rem;
  width: 100%;
  background-color: var(--text_light);
  overflow: hidden; }
  .secondImageContentBanner .container {
    display: flex;
    flex-direction: row;
    gap: 4.063rem;
    justify-content: center; }
  .secondImageContentBanner .textContent {
    position: relative;
    display: flex;
    justify-content: center;
    flex-flow: column; }
    .secondImageContentBanner .textContent .quote {
      position: absolute;
      width: 17.5rem;
      left: -7.5rem;
      top: 8rem; }
      .secondImageContentBanner .textContent .quote svg {
        width: 100%;
        height: fit-content; }
    .secondImageContentBanner .textContent .text {
      font-size: 4rem;
      font-weight: 700;
      line-height: 1.2;
      margin-bottom: 2.5rem;
      width: 38.438rem;
      font-family: sofia-pro; }
    .secondImageContentBanner .textContent a {
      font-family: sofia-pro; }
  .secondImageContentBanner .image {
    min-width: 43.938rem;
    width: 43.938rem;
    aspect-ratio: 604/472;
    position: relative;
    object-fit: contain; }

@media screen and (max-width: 1580px) {
  .secondImageContentBanner {
    padding: 0px; }
    .secondImageContentBanner .container {
      display: flex;
      flex-direction: row;
      row-gap: 4rem;
      margin-top: 7.5rem;
      margin-bottom: 5rem;
      align-items: center; }
      .secondImageContentBanner .container .textContent {
        width: 50%;
        height: fit-content; }
        .secondImageContentBanner .container .textContent .quote {
          width: 14rem;
          left: 0rem;
          top: -8.5rem; }
          .secondImageContentBanner .container .textContent .quote svg {
            left: 0rem;
            top: 0rem; }
        .secondImageContentBanner .container .textContent .text {
          width: 100%;
          margin-bottom: 2rem;
          font-size: 3rem;
          font-weight: 700;
          line-height: 115%; }
      .secondImageContentBanner .container > img {
        width: 50%;
        min-width: unset; } }

@media screen and (max-width: 1024px) {
  .secondImageContentBanner {
    padding: 0px; }
    .secondImageContentBanner .container {
      column-gap: 2.5rem; }
      .secondImageContentBanner .container .textContent .quote {
        width: 11rem;
        top: -6rem; }
      .secondImageContentBanner .container .textContent .secondaryButton {
        margin-top: 1.5rem; }
      .secondImageContentBanner .container .image {
        width: 50%;
        min-width: unset; } }

@media screen and (max-width: 768px) {
  .secondImageContentBanner .container {
    margin-top: 12.5rem;
    flex-direction: column; }
    .secondImageContentBanner .container .textContent {
      width: 100%; }
      .secondImageContentBanner .container .textContent .quote {
        opacity: 1;
        margin: 0px;
        width: 11rem;
        left: 0.5rem;
        top: -2.75rem; }
        .secondImageContentBanner .container .textContent .quote svg {
          top: -3.5rem;
          left: -0.25rem; }
    .secondImageContentBanner .container .image {
      width: 100%; } }

.footer {
  background-color: var(--primary);
  display: flex;
  justify-content: center;
  align-items: center; }
  .footer .contentWrapper {
    justify-content: space-between;
    padding: 7.5rem 12.688rem 6.25rem;
    flex-flow: row; }
    .footer .contentWrapper .right .gform_wrapper.gravity-theme .gsection {
      padding: 0px;
      border-bottom: 0px !important; }
    .footer .contentWrapper .right .gform_wrapper.gravity-theme .gform_fields {
      grid-row-gap: 0px; }
    .footer .contentWrapper .right .gform_wrapper.gravity-theme .gform_footer {
      margin: 0px;
      padding: 0px; }
      .footer .contentWrapper .right .gform_wrapper.gravity-theme .gform_footer input {
        margin-bottom: 0px; }
    .footer .contentWrapper .right .gform_wrapper .gform_body .gform_fields {
      align-items: end; }
    .footer .contentWrapper .footer-navigation {
      margin-top: 2rem; }
      .footer .contentWrapper .footer-navigation .footer-menu {
        display: flex;
        flex-direction: row;
        gap: 2rem;
        align-items: center;
        padding: 0px;
        margin: 0px; }
        .footer .contentWrapper .footer-navigation .footer-menu li {
          list-style: none; }
          .footer .contentWrapper .footer-navigation .footer-menu li a {
            font-size: 1rem;
            font-weight: 400;
            line-height: 1.2;
            color: var(--secondary); }
    .footer .contentWrapper .excerpt {
      opacity: 0.75;
      font-family: sofia-pro; }
    @media only screen and (max-width: 1024px) {
      .footer .contentWrapper {
        padding: 10rem 1.5rem 10rem 1.5rem; } }
    @media only screen and (max-width: 48rem) {
      .footer .contentWrapper {
        padding: 5rem 1.5rem 5rem 1.5rem;
        flex-flow: column; } }
  @media screen and (max-width: 1580px) {
    .footer .contentWrapper {
      padding-left: 1.5rem;
      padding-right: 1.5rem;
      padding-top: 7.5rem;
      padding-bottom: 7.5rem;
      gap: 2.5rem; }
      .footer .contentWrapper .left .excerpt {
        max-width: 35rem;
        width: 100%; }
      .footer .contentWrapper .right .gform_wrapper .gform_body .gform_fields {
        flex-direction: column;
        align-items: start; }
        .footer .contentWrapper .right .gform_wrapper .gform_body .gform_fields .gsection_title {
          width: 100%;
          margin-bottom: 1rem;
          font-size: 1.5rem; }
        .footer .contentWrapper .right .gform_wrapper .gform_body .gform_fields .ginput_container_email {
          width: 100%;
          min-width: auto; }
      .footer .contentWrapper .right form {
        width: 100%; } }
  @media screen and (max-width: 1024px) {
    .footer .contentWrapper {
      padding-top: 5rem;
      padding-bottom: 5rem; }
      .footer .contentWrapper .right .gform_wrapper .gform_validation_errors {
        display: none; }
      .footer .contentWrapper .right .gform_wrapper .gform_body .gform_fields {
        flex-direction: column;
        align-items: start; }
        .footer .contentWrapper .right .gform_wrapper .gform_body .gform_fields .gform-field-label {
          display: none; }
        .footer .contentWrapper .right .gform_wrapper .gform_body .gform_fields .gsection_title {
          margin: auto;
          font-weight: 700;
          line-height: 2rem;
          letter-spacing: 0.056rem;
          width: 100%;
          padding-bottom: 1.5rem; } }
  @media only screen and (max-width: 48rem) {
    .footer .left {
      display: block;
      width: 100%;
      max-width: 100%; }
      .footer .left .image {
        flex-grow: 0; }
      .footer .left .excerpt {
        display: block;
        width: 100% !important;
        max-width: 100%;
        flex-grow: 0; }
      .footer .left .socials {
        max-width: 100%; }
    .footer .right form .gfield--type-email {
      width: 100%; } }
  .footer .left .image {
    position: relative;
    width: 14.875rem;
    aspect-ratio: 313/156; }
  .footer .left .excerpt {
    color: var(--text_light);
    font-size: 1rem;
    width: 24rem;
    margin-top: 1.625rem;
    line-height: 1.6; }
  .footer .left .socials {
    margin-top: 2.375rem;
    display: flex;
    gap: 0.938rem; }
    .footer .left .socials a {
      width: 3rem;
      height: 3rem;
      display: flex;
      justify-content: center;
      align-items: center;
      background-color: var(--primary_dark);
      border-radius: 100%; }
      .footer .left .socials a svg {
        stroke: var(--text_light);
        fill: transparent;
        width: 1.44rem;
        opacity: 0.75; }
  .footer .right {
    margin-top: -0.75rem; }
    .footer .right .gform_confirmation_message {
      color: var(--text_light) !important; }
    .footer .right form {
      position: relative; }
    .footer .right .gform_confirmation_wrapper .gform_confirmation_message {
      color: white; }
    .footer .right .gform_wrapper {
      display: flex; }
      .footer .right .gform_wrapper .gform_validation_errors {
        display: none; }
      .footer .right .gform_wrapper .validation_message {
        color: var(--secondary);
        position: absolute;
        padding-top: 0.5rem; }
      .footer .right .gform_wrapper .gform_body .gform_fields {
        display: flex;
        align-items: flex-end; }
        .footer .right .gform_wrapper .gform_body .gform_fields .gform-field-label {
          display: none; }
        .footer .right .gform_wrapper .gform_body .gform_fields .gsection_title {
          font-family: sofia-pro;
          margin: auto;
          font-size: 2.313rem;
          font-weight: 700;
          line-height: 1.1;
          color: var(--text_light);
          letter-spacing: 0.056rem;
          width: 9.5rem; }
        .footer .right .gform_wrapper .gform_body .gform_fields .ginput_container_email {
          display: flex;
          align-items: center;
          position: relative;
          border: 1px solid var(--text_light);
          border-radius: 100rem;
          height: 82px; }
          .footer .right .gform_wrapper .gform_body .gform_fields .ginput_container_email input[type='email'] {
            all: unset;
            font-size: 1rem;
            width: 100%;
            margin-right: 0;
            color: var(--text_light);
            padding: 0 7rem 0 1.688rem;
            height: 82px; }
      .footer .right .gform_wrapper .gform_footer input[type='submit'] {
        position: absolute;
        right: 0;
        bottom: 0;
        border: 0.0625rem solid var(--text_light);
        box-sizing: border-box;
        padding: 1.27rem 1.6875rem;
        height: 82px; }
        .footer .right .gform_wrapper .gform_footer input[type='submit']:hover {
          background-color: var(--secondary_light); }
        .footer .right .gform_wrapper .gform_footer input[type='submit']:active {
          background-color: var(--secondary_light_2); }
    @media only screen and (max-width: 48rem) {
      .footer .right {
        margin-top: 2.5rem;
        width: 100%; }
        .footer .right .gform_confirmation_message {
          color: white; }
        .footer .right .gform_wrapper {
          width: 100%;
          display: initial; }
          .footer .right .gform_wrapper .gform_validation_errors {
            display: none; }
          .footer .right .gform_wrapper .gform_body .gform_fields {
            display: flex;
            flex-direction: column;
            align-items: initial; }
            .footer .right .gform_wrapper .gform_body .gform_fields .gform-field-label {
              display: none; }
            .footer .right .gform_wrapper .gform_body .gform_fields .gsection_title {
              margin: auto;
              font-size: 1.5rem;
              font-weight: 700;
              line-height: 2rem;
              letter-spacing: 0.056rem;
              width: 100%;
              padding-bottom: 1.5rem; }
            .footer .right .gform_wrapper .gform_body .gform_fields .ginput_container_email {
              display: flex;
              align-items: center;
              position: relative;
              width: 100%;
              min-width: 100%;
              border: 1px solid var(--text_light);
              border-radius: 100rem;
              height: 62px; }
              .footer .right .gform_wrapper .gform_body .gform_fields .ginput_container_email input[type='email'] {
                all: unset;
                font-size: 1rem;
                width: 100%;
                margin-right: 0;
                color: var(--text_light);
                letter-spacing: 0.024rem;
                padding: 0 1.6875rem;
                height: 62px; }
          .footer .right .gform_wrapper .gform_footer input[type='submit'] {
            height: 62px; } }
    .footer .right .lowerContent {
      margin-top: 5.875rem;
      position: relative;
      margin-top: 5.5rem; }
      @media screen and (max-width: 768px) {
        .footer .right .lowerContent {
          margin-top: 2.5rem; } }
      .footer .right .lowerContent .lowerText {
        font-size: 1.438rem;
        font-weight: 500;
        letter-spacing: 0.035rem;
        font-family: sofia-pro;
        color: var(--text_light); }
      .footer .right .lowerContent .lowerMenu {
        display: flex;
        margin-top: 1.5rem; }
        .footer .right .lowerContent .lowerMenu .lowerMenuItems {
          color: var(--text_light);
          display: grid;
          grid-template-columns: 1fr 1fr;
          font-size: 1rem;
          row-gap: 0.375rem;
          column-gap: 2.625rem;
          font-family: sofia-pro; }
          .footer .right .lowerContent .lowerMenu .lowerMenuItems .lowerMenuItem {
            opacity: 0.5;
            transition: 0.2s ease; }
        .footer .right .lowerContent .lowerMenu svg {
          width: 3.609rem;
          margin-top: 1.875rem;
          margin-left: 1.875rem; }

.error-404 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column;
  padding: 10rem;
  color: var(--text_light);
  text-align: center; }
  .error-404 h1 {
    font-size: 5rem; }
    .error-404 h1 span {
      color: var(--secondary); }
  .error-404 h3 {
    font-size: 1.5rem;
    font-weight: 400; }
  .error-404 .links {
    display: flex;
    flex-flow: wrap;
    gap: 1.5rem;
    margin-top: 1.5rem;
    justify-content: center;
    align-items: center; }
    .error-404 .links a {
      padding-bottom: 0px;
      font-size: 1.5rem;
      text-decoration: none;
      color: var(--text_light) !important;
      border-bottom: 0.01rem solid var(--secondary);
      cursor: pointer;
      transition: 0.2s ease; }
      .error-404 .links a:hover {
        opacity: 0.5; }

@media (max-width: 768px) {
  .error-404 {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    padding: 3rem; }
    .error-404 h1 {
      all: unset;
      font-size: 3rem;
      font-weight: 700;
      text-align: center; }
    .error-404 h3 {
      all: unset;
      font-size: 1rem;
      text-align: center;
      margin: 3rem 0 1rem; }
    .error-404 .links a {
      font-size: 0.85rem; } }

.button {
  all: unset;
  cursor: pointer;
  color: var(--primary);
  background-color: var(--secondary);
  padding: 1rem 1.125rem 0.8rem 1.125rem;
  border-radius: 100rem;
  line-height: 1;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  letter-spacing: -0.016rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  width: fit-content;
  transition: 0.2s ease;
  position: relative;
  padding: 0.75rem 1rem 0.9rem 1rem; }
  .button .buttonArrowSvg {
    width: 0.9rem;
    height: 0.9rem;
    pointer-events: none;
    transition: 0.2s ease;
    margin-left: -1.25rem;
    opacity: 0;
    position: relative;
    top: 2px; }
  .button:hover .buttonArrowSvg {
    opacity: 1;
    margin-left: 0.125rem; }

.secondaryButton {
  all: unset;
  cursor: pointer;
  color: var(--primary);
  background-color: var(--secondary);
  padding: 1rem 1.125rem 0.8rem 1.125rem;
  border-radius: 100rem;
  line-height: 1;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  letter-spacing: -0.016rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  width: fit-content;
  transition: 0.2s ease;
  position: relative;
  background-color: transparent;
  padding: 2rem 1.125rem 0rem 1.125rem; }
  .secondaryButton .secondaryText {
    position: relative;
    z-index: 1; }
  .secondaryButton .arrowContainer {
    position: absolute;
    right: calc(-0.844rem - 0.875rem);
    z-index: 0;
    transition: 0.2s ease;
    width: calc(100% + 0.875rem + 0.844rem);
    height: 100%;
    background-color: var(--secondary);
    border-radius: 100rem;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: none; }
    .secondaryButton .arrowContainer .buttonArrowSvg {
      width: 0.844rem;
      height: 0.844rem;
      right: calc(0.844rem + (0.875rem / 2));
      position: absolute;
      transition: 0.2s ease; }
  .secondaryButton:hover > .arrowContainer {
    right: -3rem;
    width: 3.25rem;
    height: 3.25rem;
    min-width: 3.25rem;
    min-height: 3.25rem; }
    .secondaryButton:hover > .arrowContainer .buttonArrowSvg {
      right: 1.15rem; }

.circleLink {
  all: unset;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 1.5rem; }
  .circleLink span {
    color: var(--text_light);
    white-space: nowrap;
    text-transform: uppercase;
    font-size: 1rem;
    letter-spacing: 0.1rem;
    transition: 0.2s ease; }
  .circleLink .arrowContainer {
    background: var(--primary_light);
    border-radius: 100%;
    width: 4.125rem;
    height: 4.125rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.2s ease; }
    .circleLink .arrowContainer svg {
      width: 0.875rem;
      transform: translateY(0.0625rem);
      height: auto; }
  .circleLink:hover span {
    opacity: 0.5; }
  .circleLink:hover .arrowContainer {
    opacity: 0.75; }

.subscribeButton {
  position: absolute;
  right: -0.0625rem;
  border: 0.0625rem solid var(--text_light);
  top: -0.0625rem;
  height: calc( 100% + 0.125rem);
  box-sizing: border-box;
  padding: 1rem 1.625rem  0.8rem 1.625rem; }
  .subscribeButton:hover {
    background-color: var(--secondary_light); }
  .subscribeButton:active {
    background-color: var(--secondary_light_2); }

.arrowButton {
  all: unset;
  cursor: pointer;
  width: 5rem;
  min-width: 5rem;
  height: 5rem;
  min-height: 5rem;
  background-color: var(--primary_light);
  color: var(--text_light);
  border-radius: 100%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.2s ease; }
  .arrowButton svg {
    width: 1.5rem;
    min-width: 1.5rem;
    height: 1.5rem;
    min-height: 1.5rem; }
  .arrowButton:hover {
    opacity: 0.75; }

.download {
  all: unset;
  display: flex;
  align-items: center;
  gap: 0.7rem;
  cursor: pointer;
  width: fit-content; }
  .download span {
    font-size: 1rem;
    font-weight: 700;
    line-height: 120%;
    letter-spacing: 0.1rem;
    text-transform: uppercase; }
  .download .arrowContainer {
    width: fit-content;
    height: fit-content;
    transition: 0.33s ease; }
    .download .arrowContainer svg {
      width: 0.9rem;
      height: 0.9rem; }
  .download:hover .arrowContainer {
    transform: translateY(0.3rem);
    animation: arrowBounce 1s ease infinite 0.33s; }

@keyframes arrowBounce {
  0% {
    transform: translateY(0.3rem); }
  50% {
    transform: translateY(-0.3rem); }
  100% {
    transform: translateY(0.3rem); } }

@media (max-width: 1200px) {
  .secondaryButton .arrowContainer {
    pointer-events: all; } }

.green_button {
  all: unset;
  cursor: pointer;
  color: var(--primary);
  background-color: var(--secondary);
  padding: 1rem 1.125rem 0.8rem 1.125rem;
  border-radius: 100rem;
  line-height: 1;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  letter-spacing: -0.016rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  width: fit-content;
  transition: 0.2s ease;
  position: relative;
  background-color: var(--primary);
  color: var(--text_light);
  padding: 1rem 3rem 0.8rem 3rem; }
  .green_button:hover {
    opacity: 0.85; }

.gform_wrapper .gform_ajax_spinner {
  display: none !important; }

.newsPost {
  background-color: var(--tertiary);
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center; }
  .newsPost > .contentWrapper {
    padding-left: 0px !important;
    padding-right: 0px !important; }
  .newsPost .orangeSemiCircle {
    width: 7.63175rem;
    height: 7.88256rem;
    position: absolute;
    left: -2rem;
    top: 17rem; }
  .newsPost .topSection {
    width: 100%;
    max-width: 62.5rem;
    padding: 9.63rem 0 0 0; }
    .newsPost .topSection .superscript {
      color: var(--secondary);
      font-size: 1rem;
      font-weight: 700;
      line-height: 110%;
      letter-spacing: 0.2rem;
      text-transform: uppercase; }
    .newsPost .topSection .title {
      font-size: 3.5rem;
      font-style: normal;
      font-weight: 700;
      line-height: 110%;
      margin: 1.5rem 0 3rem; }
      .newsPost .topSection .title span {
        color: var(--secondary); }
    .newsPost .topSection .tags {
      display: flex;
      flex-flow: wrap;
      gap: 0.9rem;
      border-color: inherit;
      color: inherit;
      margin-bottom: 2.5rem; }
      .newsPost .topSection .tags .tag {
        font-size: 0.875rem;
        line-height: 1.25rem;
        letter-spacing: -0.0014rem;
        border-width: 0.0625rem;
        border-style: solid;
        border-color: inherit;
        border-radius: 0.375rem;
        padding: 0.75rem 0.5rem;
        color: inherit;
        text-transform: capitalize; }
    .newsPost .topSection .excerpt {
      font-size: 1rem;
      font-weight: 400;
      line-height: 1.5rem; }
  .newsPost .video-fallback-poster {
    width: 100%;
    height: auto;
    min-height: 300px;
    object-fit: cover;
    margin-top: 5rem; }
  .newsPost .plyr {
    height: 40.625rem;
    width: 100%;
    opacity: 0;
    transition: 0.2s ease;
    margin-top: 5rem; }
    .newsPost .plyr .plyr__control, .newsPost .plyr .plyr__control--overlaid {
      background-color: var(--secondary);
      color: var(--text_dark); }
    .newsPost .plyr .plyr--full-ui, .newsPost .plyr input[type=range] {
      color: var(--secondary); }
    .newsPost .plyr .plyr__poster {
      background-size: cover; }
  .newsPost .quote {
    color: var(--text_dark);
    width: 100%;
    max-width: 54.375rem;
    position: relative;
    margin-top: 9rem;
    margin-right: auto;
    margin-left: auto; }
    .newsPost .quote svg {
      width: 12rem;
      height: 9rem;
      position: absolute;
      left: -6.25rem;
      top: -4.75rem;
      opacity: 0.5; }
    .newsPost .quote .text {
      font-size: 2.5rem;
      font-weight: 700;
      line-height: 3rem; }
    .newsPost .quote .author {
      margin-top: 2rem;
      font-size: 2rem;
      font-weight: 400;
      line-height: 1.5rem; }
  .newsPost .content {
    display: flex;
    flex-flow: column;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5rem;
    max-width: 62.5rem;
    margin: 2rem 0 7.5rem; }
    .newsPost .content img {
      width: 100%;
      margin: 3.38rem 0; }

@media screen and (max-width: 1580px) {
  .newsPost .quote {
    margin-left: auto;
    margin-left: auto;
    max-height: 62.5rem; }
    .newsPost .quote svg {
      left: 0px; } }

@media screen and (max-width: 1024px) {
  .newsPost .contentWrapper {
    padding-top: 5rem; }
    .newsPost .contentWrapper > svg {
      display: none; }
    .newsPost .contentWrapper .topSection {
      padding: 0px;
      padding-left: 1.5rem;
      padding-right: 1.5rem; }
      .newsPost .contentWrapper .topSection .title {
        margin-bottom: 2rem; }
  .newsPost .plyr {
    width: 100vw;
    height: auto;
    margin-left: -1.5rem;
    margin-right: -1.5rem; }
  .newsPost .quote {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    width: 100%;
    margin: 0px;
    padding-top: 8.3rem;
    padding-bottom: 5rem; }
    .newsPost .quote svg {
      left: -1.5rem;
      top: 4rem;
      height: 6.5rem; }
    .newsPost .quote .text {
      font-size: 2rem;
      margin-bottom: 0rem; }
      .newsPost .quote .text p {
        margin: 0px; }
  .newsPost .content {
    margin-top: 0px;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    max-width: 100%; }
    .newsPost .content img {
      margin-top: 0px;
      max-height: 24rem;
      width: 100%;
      object-fit: cover; } }

.casestudyPost {
  background-color: var(--tertiary);
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center; }
  .casestudyPost .imageContainer {
    position: relative;
    width: 100%;
    height: 40.9375rem; }
    .casestudyPost .imageContainer .banner_image {
      object-fit: cover;
      width: 100%;
      height: 100%; }
    .casestudyPost .imageContainer svg {
      position: absolute;
      right: 0.97rem;
      bottom: -4.75rem;
      width: 25.54188rem;
      height: 26.15075rem; }
  .casestudyPost .textContentWrapper {
    background-color: var(--primary);
    color: var(--text_light);
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center; }
  .casestudyPost .topSection {
    width: 100%;
    padding: 5.81rem 12.5rem 10rem; }
    .casestudyPost .topSection .title {
      font-size: 5rem;
      font-style: normal;
      font-weight: 700;
      line-height: 110%;
      margin: 1.5rem 0 5rem; }
      .casestudyPost .topSection .title span {
        color: var(--secondary); }
    .casestudyPost .topSection .tags {
      display: flex;
      flex-flow: wrap;
      gap: 0;
      column-gap: 1rem; }
      .casestudyPost .topSection .tags .tag {
        color: var(--secondary);
        font-size: 1rem;
        font-weight: 700;
        line-height: 240%;
        letter-spacing: 0.2rem;
        text-transform: uppercase; }
    .casestudyPost .topSection .textContent {
      display: flex;
      justify-content: space-between; }
      .casestudyPost .topSection .textContent .left .heading {
        color: var(--secondary);
        font-size: 1rem;
        font-weight: 700;
        line-height: 110%;
        letter-spacing: 0.2rem;
        text-transform: uppercase;
        margin-bottom: 1rem; }
      .casestudyPost .topSection .textContent .left .text {
        opacity: 0.75;
        font-size: 1.5rem;
        font-weight: 400;
        line-height: 140%;
        letter-spacing: -0.0015rem; }
      .casestudyPost .topSection .textContent .left .responsibilities {
        margin-top: 5rem; }
      @media screen and (max-width: 1024px) and (min-width: 769px) {
        .casestudyPost .topSection .textContent .left {
          display: flex; }
          .casestudyPost .topSection .textContent .left .responsibilities {
            margin-top: 0;
            margin-left: 5rem; } }
      .casestudyPost .topSection .textContent .right .content {
        font-size: 1.5rem;
        font-weight: 400;
        line-height: 140%;
        letter-spacing: -0.0015rem;
        max-width: 54.375rem; }
        @media screen and (max-width: 1024px) {
          .casestudyPost .topSection .textContent .right .content {
            max-width: 100%; } }

@media screen and (max-width: 1580px) {
  .casestudyPost .topSection {
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
    .casestudyPost .topSection .textContent {
      column-gap: 4rem; }
      .casestudyPost .topSection .textContent .left .text {
        width: max-content; }
      .casestudyPost .topSection .textContent .right .content {
        opacity: 0.75; }
  .casestudyPost .textBlockWithHeading .lg .text * {
    width: 100%; }
  .casestudyPost .imageGridBanner {
    padding-left: 0rem;
    padding-right: 0rem; }
  .casestudyPost .quote {
    width: 100%;
    max-width: 54rem;
    margin-right: auto;
    margin-left: auto; }
    .casestudyPost .quote svg {
      left: -1.5rem; } }

@media screen and (max-width: 1024px) {
  .casestudyPost .topSection .tags {
    display: flex;
    flex-direction: row; }
    .casestudyPost .topSection .tags .tag {
      font-size: 0.75rem; }
  .casestudyPost .topSection .title {
    font-size: 4rem;
    line-height: 110%; }
  .casestudyPost .imageContainer {
    height: 35rem; }
    .casestudyPost .imageContainer svg {
      display: none !important; }
  .casestudyPost .textContentWrapper .topSection {
    padding-top: 5rem;
    padding-bottom: 5rem;
    padding-left: 0rem;
    padding-right: 0rem; }
    .casestudyPost .textContentWrapper .topSection .textContent {
      flex-direction: column;
      row-gap: 5rem; }
  .casestudyPost .imageBanner {
    height: 25rem; }
  .casestudyPost .decor {
    display: none; }
  .casestudyPost .textBlockWithHeading {
    padding-top: 5rem;
    padding-bottom: 2.5rem; }
    .casestudyPost .textBlockWithHeading .contentWrapper {
      row-gap: 2.5rem; }
      .casestudyPost .textBlockWithHeading .contentWrapper .text p {
        font-weight: 400; }
  .casestudyPost .contentWrapper .imageGridBanner {
    grid-template-columns: 1fr;
    grid-template-areas: unset;
    padding: 0px;
    row-gap: 1.5rem; }
    .casestudyPost .contentWrapper .imageGridBanner .image {
      height: 22.875rem;
      width: 100%; }
      .casestudyPost .contentWrapper .imageGridBanner .image:nth-of-type(1) {
        grid-area: unset; }
      .casestudyPost .contentWrapper .imageGridBanner .image:nth-of-type(2) {
        grid-area: unset; }
      .casestudyPost .contentWrapper .imageGridBanner .image:nth-of-type(3) {
        grid-area: unset; }
  .casestudyPost .contentWrapper .quote {
    margin-left: 0rem;
    margin-right: 0rem;
    margin-top: 7.1rem;
    margin-bottom: 2.5rem;
    width: 100%; }
    .casestudyPost .contentWrapper .quote svg {
      width: 8.625rem;
      height: 6.5rem;
      left: -1.5rem;
      top: -5rem; }
    .casestudyPost .contentWrapper .quote .text {
      font-size: 2rem;
      line-height: 2.5rem; }
      .casestudyPost .contentWrapper .quote .text p {
        margin: 0px; }
  .casestudyPost .verticalContentBlock {
    padding-top: 5rem; }
    .casestudyPost .verticalContentBlock .imageWrapper .contentWrapper img {
      width: 100%;
      height: 22.875rem;
      object-fit: cover; }
    .casestudyPost .verticalContentBlock .imageWrapper .contentWrapper svg {
      display: none; }
    .casestudyPost .verticalContentBlock .textContent {
      padding-top: 13.7rem; }
      .casestudyPost .verticalContentBlock .textContent .contentWrapper {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
        flex-direction: column;
        row-gap: 2.5rem; }
        .casestudyPost .verticalContentBlock .textContent .contentWrapper h2 {
          margin: 0px;
          font-size: 3rem; }
      .casestudyPost .verticalContentBlock .textContent .descriptionContent {
        width: 100%; }
        .casestudyPost .verticalContentBlock .textContent .descriptionContent .description * {
          font-size: 1rem; }
        .casestudyPost .verticalContentBlock .textContent .descriptionContent .description .list {
          grid-template-columns: repeat(2, 1fr);
          padding-left: 1.5rem;
          row-gap: 4rem; }
          .casestudyPost .verticalContentBlock .textContent .descriptionContent .description .list .percent .coloredCircle {
            width: 4rem;
            height: 4rem;
            left: -1.5rem;
            top: -2rem; }
          .casestudyPost .verticalContentBlock .textContent .descriptionContent .description .list .percent .number {
            font-size: 4rem;
            line-height: 100%;
            margin-bottom: 1rem; }
            .casestudyPost .verticalContentBlock .textContent .descriptionContent .description .list .percent .number span {
              font-size: 4rem;
              line-height: 100%;
              margin-bottom: 1rem; } }

@media screen and (max-width: 768px) {
  .casestudyPost .topSection .title {
    font-size: 3rem; }
  .casestudyPost .verticalContentBlock .textContent .descriptionContent {
    width: 100%; }
    .casestudyPost .verticalContentBlock .textContent .descriptionContent .description .list {
      grid-template-columns: repeat(1, 1fr); } }

.imageBanner {
  width: 100%;
  height: 43.75rem; }
  .imageBanner img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.imageGridBanner {
  width: 100%;
  display: grid;
  grid-template-areas: 'first first' 'second third';
  padding: 0 12.5rem;
  gap: 2.5rem;
  position: relative; }
  .imageGridBanner .decor {
    position: absolute;
    right: 1rem;
    top: -6.75rem;
    z-index: 0; }
  .imageGridBanner .image {
    height: 43.75rem;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
    position: relative; }
    .imageGridBanner .image:nth-of-type(1) {
      grid-area: first; }
    .imageGridBanner .image:nth-of-type(2) {
      grid-area: second; }
    .imageGridBanner .image:nth-of-type(3) {
      grid-area: third; }

.quote {
  color: var(--text_dark);
  width: 54.375rem;
  position: relative;
  margin-bottom: 50px;
  align-self: flex-end;
  margin-right: 8.5rem; }
  .quote svg {
    width: 12rem;
    height: 9rem;
    position: absolute;
    left: -6.25rem;
    top: -4.75rem;
    opacity: 0.5; }
  .quote .text {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 3rem; }
  .quote .author {
    margin-top: 2rem;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.5rem; }

.verticalContentBlock {
  width: 100%; }
  .verticalContentBlock .imageWrapper {
    position: relative;
    display: flex;
    justify-content: center;
    margin-bottom: -7.7rem; }
    .verticalContentBlock .imageWrapper img {
      width: calc( 100% - 25rem);
      position: relative;
      z-index: 1; }
    .verticalContentBlock .imageWrapper svg {
      position: absolute;
      z-index: 0;
      width: 100%; }
  .verticalContentBlock .textContent {
    background-color: var(--primary);
    color: var(--text_light);
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
    padding-top: 17.7rem; }
    .verticalContentBlock .textContent .contentWrapper {
      flex-flow: row;
      align-items: flex-start;
      width: 100%;
      gap: 19.87rem;
      padding: 0 12.5rem; }
    .verticalContentBlock .textContent .heading {
      font-size: 4rem;
      font-weight: 800;
      line-height: 115%;
      letter-spacing: -0.04rem;
      width: 22.75rem; }
      .verticalContentBlock .textContent .heading span {
        color: var(--secondary); }
    .verticalContentBlock .textContent .descriptionContent {
      max-width: 54.375rem; }
      .verticalContentBlock .textContent .descriptionContent .description * {
        font-size: 1.5rem;
        font-weight: 400;
        line-height: 140%;
        letter-spacing: -0.0015rem; }
      .verticalContentBlock .textContent .descriptionContent .list {
        margin-top: 5rem;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        column-gap: 10rem;
        row-gap: 5rem; }
        .verticalContentBlock .textContent .descriptionContent .list .percent {
          position: relative; }
          .verticalContentBlock .textContent .descriptionContent .list .percent .number {
            font-size: 7.5rem;
            font-weight: 700;
            line-height: 7.5rem;
            letter-spacing: -0.0075rem;
            position: relative;
            z-index: 1; }
          .verticalContentBlock .textContent .descriptionContent .list .percent span {
            font-size: 4rem;
            font-weight: 300;
            line-height: 7.5rem;
            letter-spacing: -0.004rem; }
          .verticalContentBlock .textContent .descriptionContent .list .percent .coloredCircle {
            position: absolute;
            background-color: #57B8A6;
            width: 6.93625rem;
            height: 6.93625rem;
            border-radius: 100%;
            left: -3rem;
            top: -2rem;
            z-index: 0; }
        .verticalContentBlock .textContent .descriptionContent .list .subtext {
          font-size: 1rem;
          font-weight: 400;
          line-height: 140%;
          letter-spacing: -0.001rem;
          opacity: 0.75; }

@media screen and (max-width: 1580px) {
  .verticalContentBlock .textContent .contentWrapper {
    gap: 2.5rem;
    padding-left: 0px;
    padding-right: 0px; } }

@media screen and (max-width: 1024px) {
  .verticalContentBlock {
    padding-top: 5rem; }
    .verticalContentBlock .imageWrapper .contentWrapper img {
      width: 100%;
      height: 22.875rem;
      object-fit: cover; }
    .verticalContentBlock .imageWrapper .contentWrapper svg {
      display: none; }
    .verticalContentBlock .textContent {
      padding-top: 13.7rem; }
      .verticalContentBlock .textContent .contentWrapper {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
        flex-direction: column;
        row-gap: 2.5rem; }
        .verticalContentBlock .textContent .contentWrapper h2 {
          margin: 0;
          font-size: 3rem; }
      .verticalContentBlock .textContent .descriptionContent {
        width: 100%; }
        .verticalContentBlock .textContent .descriptionContent .description * {
          font-size: 1rem;
          margin: 0; }
        .verticalContentBlock .textContent .descriptionContent div .list {
          grid-template-columns: repeat(1, 1fr);
          padding-left: 1.5rem;
          row-gap: 4rem;
          margin-top: 3.75rem; }
          .verticalContentBlock .textContent .descriptionContent div .list .percent .coloredCircle {
            width: 4rem;
            height: 4rem;
            left: -1.5rem;
            top: -2rem; }
          .verticalContentBlock .textContent .descriptionContent div .list .percent .number {
            font-size: 4rem;
            line-height: 100%;
            margin-bottom: 1rem; }
            .verticalContentBlock .textContent .descriptionContent div .list .percent .number span {
              font-size: 4rem;
              line-height: 100%;
              margin-bottom: 1rem; } }

.homeBanner {
  padding: 6.313rem 0 0;
  width: 100%;
  background-color: var(--primary_dark);
  overflow: hidden;
  position: relative;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center; }
  .homeBanner .topContent {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center; }
  .homeBanner .lines {
    position: absolute;
    top: 50%;
    transform: translateY(-35%);
    width: 100%;
    height: 20.5%;
    z-index: 2;
    display: flex;
    flex-flow: column;
    justify-content: space-between; }
    .homeBanner .lines hr {
      all: unset;
      display: block;
      height: 0.125rem;
      width: 100%;
      background-color: var(--text_light_opacity_2); }
  .homeBanner .homebanner_swiper {
    z-index: 1; }
  .homeBanner .swiper-slide {
    height: 39.875rem;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative; }
    .homeBanner .swiper-slide * {
      user-select: none; }
    .homeBanner .swiper-slide .image {
      width: 100%;
      height: 100%;
      position: relative;
      object-fit: cover;
      z-index: 1; }
  .homeBanner .textContent {
    position: absolute;
    width: 100%;
    height: 39.875rem;
    width: 78.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 2; }
    .homeBanner .textContent .title {
      position: absolute;
      white-space: nowrap;
      color: var(--text_light);
      text-align: center;
      font-size: 10rem;
      font-style: normal;
      font-weight: 700;
      line-height: 0;
      line-height: 0.8;
      width: 100vw;
      z-index: 2;
      pointer-events: none;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -45%);
      transition: 1s ease;
      margin: 0;
      opacity: 0; }
      .homeBanner .textContent .title:first-of-type {
        opacity: 1; }
    .homeBanner .textContent .superscript {
      position: absolute;
      white-space: nowrap;
      color: var(--text_light);
      text-align: center;
      font-size: 10rem;
      font-style: normal;
      font-weight: 700;
      line-height: 0;
      top: 1.625rem;
      left: -9.375rem;
      color: transparent;
      -webkit-text-stroke: 0.125rem var(--text_light); }
    .homeBanner .textContent .subscript {
      position: absolute;
      white-space: nowrap;
      color: var(--text_light);
      text-align: center;
      font-size: 10rem;
      font-style: normal;
      font-weight: 700;
      line-height: 0;
      bottom: 2.25rem;
      right: -7.8125rem;
      color: transparent;
      -webkit-text-stroke: 0.125rem var(--text_light); }
  .homeBanner .mask {
    position: absolute;
    z-index: 2;
    right: -8.125rem;
    bottom: 23.0625rem;
    height: 30.8125rem;
    width: 31.418rem; }
  .homeBanner .bottomContent {
    padding: 7.0625rem 5rem 4rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%; }
    .homeBanner .bottomContent .bottomText {
      display: flex;
      align-items: center;
      gap: 0.625rem; }
      .homeBanner .bottomContent .bottomText span {
        color: var(--text_light);
        font-weight: 500;
        white-space: nowrap;
        font-size: 1rem;
        letter-spacing: 0.1rem;
        text-transform: uppercase; }
      .homeBanner .bottomContent .bottomText svg {
        width: 1.5rem;
        height: 1.5rem; }
  .homeBanner .arrowDown {
    width: 0.916875rem;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    animation: arrow_bounce 1s infinite;
    cursor: pointer; }

@keyframes arrow_bounce {
  0%, 100% {
    transform: translateY(0); }
  50% {
    transform: translateY(1rem); } }

@media screen and (max-width: 1580px) {
  .homeBanner .contentWrapper {
    padding-left: 0px;
    padding-right: 0px; }
    .homeBanner .contentWrapper .textContent {
      width: 100vw; }
      .homeBanner .contentWrapper .textContent .superscript {
        left: 1.5rem; }
      .homeBanner .contentWrapper .textContent .subscript {
        right: 1.5rem; }
      .homeBanner .contentWrapper .textContent .superscript, .homeBanner .contentWrapper .textContent .subscript {
        font-size: 8rem; }
    .homeBanner .contentWrapper .swiper-slide .title {
      font-size: 8rem; } }

@media screen and (max-width: 1024px) {
  .homeBanner .contentWrapper {
    padding-left: 0px;
    padding-right: 0px; }
    .homeBanner .contentWrapper .textContent {
      width: 100vw;
      height: 48rem; }
      .homeBanner .contentWrapper .textContent .superscript, .homeBanner .contentWrapper .textContent .subscript {
        font-size: 6rem;
        font-weight: 700;
        line-height: 5rem; }
      .homeBanner .contentWrapper .textContent .superscript {
        left: 1.5rem;
        top: 8rem; }
      .homeBanner .contentWrapper .textContent .subscript {
        right: 1.5rem;
        bottom: 8rem; }
      .homeBanner .contentWrapper .textContent .title {
        white-space: normal;
        padding-top: 0px;
        padding-bottom: 0px;
        width: 100%;
        font-size: 6rem;
        font-weight: 700;
        margin-bottom: 0px;
        margin-top: 0px; }
  .homeBanner .lines {
    transform: translateY(-41%);
    height: 13%; } }

@media screen and (max-width: 768px) {
  .homeBanner {
    padding: 0px; }
    .homeBanner .contentWrapper {
      position: relative; }
      .homeBanner .contentWrapper .mask {
        width: 15rem;
        right: -7.5rem; }
      .homeBanner .contentWrapper .subscript, .homeBanner .contentWrapper .superscript {
        z-index: 1; }
      .homeBanner .contentWrapper .title {
        text-align: left;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
        line-height: 5rem; }
      .homeBanner .contentWrapper .swiper-slide {
        height: 56rem;
        min-height: 40rem;
        max-height: calc(100vh - 4rem); }
        .homeBanner .contentWrapper .swiper-slide::before {
          content: "";
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background: #0D3C33;
          background-size: cover;
          background-repeat: no-repeat;
          background-position: 50%;
          opacity: 50%;
          z-index: 2; }
      .homeBanner .contentWrapper .subscript {
        left: 1.5rem;
        text-align: left; }
      .homeBanner .contentWrapper .bottomContent {
        justify-content: right;
        position: absolute;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
        padding-bottom: 1.5rem;
        padding-top: 0rem;
        bottom: 0px;
        z-index: 2; }
        .homeBanner .contentWrapper .bottomContent .bottomText {
          display: none; }
        .homeBanner .contentWrapper .bottomContent .arrowDown {
          left: 1.5rem;
          top: auto; }
        .homeBanner .contentWrapper .bottomContent .circleLink span {
          font-size: 0.75rem;
          font-weight: 500;
          line-height: 120%;
          letter-spacing: 0.075rem; }
        .homeBanner .contentWrapper .bottomContent .circleLink .arrowContainer {
          width: 3rem;
          height: 3rem; }
          .homeBanner .contentWrapper .bottomContent .circleLink .arrowContainer svg {
            width: 0.7rem; } }

@media screen and (max-width: 768px) {
  .homeBanner .lines {
    height: 19%; } }

@media screen and (max-width: 576px) {
  .homeBanner .contentWrapper .lines {
    height: 15%; }
  .homeBanner .contentWrapper .textContent .superscript {
    top: 12rem; }
  .homeBanner .contentWrapper .textContent .subscript {
    bottom: 12rem; }
  .homeBanner .contentWrapper .textContent .superscript, .homeBanner .contentWrapper .textContent .subscript {
    font-size: 4rem; }
  .homeBanner .contentWrapper .textContent .title {
    font-size: 4rem;
    line-height: 4rem; } }

@media screen and (max-width: 576px) {
  .homeBanner .contentWrapper .textContent .title {
    font-size: 3.3rem;
    line-height: 3.5rem; }
  .homeBanner .contentWrapper .textContent .superscript .subscript {
    font-size: 3.3rem;
    line-height: 3.5rem; } }

@media screen and (max-width: 376px) {
  .homeBanner .contentWrapper .lines {
    height: 13.5%; }
  .homeBanner .contentWrapper .textContent .superscript {
    top: 13rem; }
  .homeBanner .contentWrapper .textContent .subscript {
    bottom: 13rem; } }

.imageContentBanner {
  padding: 10rem 0;
  background-color: var(--tertiary);
  overflow: hidden;
  position: relative; }
  .imageContentBanner .container {
    max-width: 80.75rem; }
  .imageContentBanner .image {
    width: 18.75rem;
    height: auto; }
  .imageContentBanner .text {
    color: var(--text_dark);
    text-align: center;
    font-size: 1.75rem;
    font-style: normal;
    font-weight: 400;
    line-height: 2.5rem;
    margin: 2.5rem 0 1.563rem 0; }
    .imageContentBanner .text * {
      font-size: inherit;
      font-weight: inherit;
      color: inherit;
      margin: 0;
      font-family: sofia-pro; }
  .imageContentBanner .secondaryButton .secondaryText {
    font-family: sofia-pro; }
  .imageContentBanner .decorLeft, .imageContentBanner .decorRight, .imageContentBanner .decorTop, .imageContentBanner .decorBottom, .imageContentBanner .decorTopTwo, .imageContentBanner .decorBottomTwo {
    position: absolute; }
  .imageContentBanner .decorLeft, .imageContentBanner .decorRight {
    height: 100%; }
  .imageContentBanner .decorTop, .imageContentBanner .decorBottom, .imageContentBanner .decorTopTwo, .imageContentBanner .decorBottomTwo {
    width: 50%;
    display: none; }
  .imageContentBanner .decorLeft {
    left: -0.313rem;
    top: 0; }
  .imageContentBanner .decorRight {
    right: -0.313rem;
    top: 0; }
  .imageContentBanner .decorTop, .imageContentBanner .decorTopTwo {
    top: 0; }
  .imageContentBanner .decorBottom, .imageContentBanner .decorBottomTwo {
    bottom: 0; }
  .imageContentBanner .decorTopTwo, .imageContentBanner .decorBottomTwo {
    right: 0; }
  @media (max-width: 1199px) {
    .imageContentBanner {
      padding: 6.25rem 0; } }
  @media (max-width: 991px) {
    .imageContentBanner {
      padding: 9rem 0 10.625rem 0; }
      .imageContentBanner .container {
        padding: 0; }
      .imageContentBanner .decorLeft, .imageContentBanner .decorRight {
        display: none; }
      .imageContentBanner .decorTop, .imageContentBanner .decorBottom, .imageContentBanner .decorTopTwo, .imageContentBanner .decorBottomTwo {
        display: block; }
      .imageContentBanner .text {
        font-size: 1.5rem;
        line-height: 2rem; }
      .imageContentBanner .image {
        width: 15.125rem; } }
  @media (max-width: 767px) {
    .imageContentBanner .text {
      font-size: 1.25rem;
      line-height: 1.75rem; } }
  @media (max-width: 640px) {
    .imageContentBanner {
      padding: 10.625rem 0; }
      .imageContentBanner .decorTopTwo, .imageContentBanner .decorBottomTwo {
        display: none; }
      .imageContentBanner .decorTop, .imageContentBanner .decorBottom {
        width: 100%; } }

.technologyBanner {
  background: var(--primary);
  padding-top: 13.875rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: column; }
  .technologyBanner .heading {
    font-size: 4rem;
    line-height: 3.5rem;
    font-weight: 700;
    margin-bottom: 0;
    color: var(--text_light);
    font-family: sofia-pro; }
    .technologyBanner .heading span {
      color: var(--secondary); }
  .technologyBanner .description {
    margin-top: 2rem;
    width: 38rem;
    text-align: center;
    margin-bottom: 1rem; }
    .technologyBanner .description * {
      color: var(--text_light);
      line-height: 1.5rem;
      letter-spacing: -0.001rem;
      font-size: 1rem; }
  .technologyBanner a {
    font-family: sofia-pro; }
  .technologyBanner .image {
    position: relative;
    width: 100vw;
    min-width: 100%;
    max-width: 1580px;
    z-index: 1;
    aspect-ratio: 2.85/1;
    margin-top: 4.375rem;
    transform: translateY(2.3rem); }

@media screen and (max-width: 1024px) {
  .technologyBanner {
    padding-top: 8rem;
    text-align: center; }
    .technologyBanner .heading {
      font-size: 3rem; }
    .technologyBanner .description {
      margin-top: 2rem;
      margin-bottom: 2rem;
      width: 100%; }
      .technologyBanner .description p {
        margin-top: 0rem;
        margin-bottom: 0rem; }
    .technologyBanner .image {
      z-index: 1;
      width: 140vw;
      transform: none; } }

.successStories {
  background-color: var(--tertiary);
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center; }
  .successStories .contentWrapper {
    padding: 8.76563rem 10rem 8.5rem; }
  .successStories .decorTopLeft {
    position: absolute;
    width: 18rem;
    height: 18rem;
    left: -5rem;
    top: 18.875rem; }
  .successStories .decorBottomLeft {
    position: absolute;
    width: 32.48475rem;
    height: 32rem;
    left: 0;
    bottom: 40.625rem;
    z-index: 0; }
  .successStories .decorTopRight {
    position: absolute;
    right: 0;
    top: 0;
    width: 63.3375rem;
    height: 67.451875rem;
    opacity: 0.2;
    z-index: 0; }
  .successStories .decorTopRightBlue {
    position: absolute;
    width: 9.46875rem;
    height: 9.46875rem;
    right: -0.8125rem;
    top: 10.125rem; }
  .successStories .decorTopRightRed {
    position: absolute;
    width: 9.46875rem;
    height: 9.46875rem;
    right: 5.5rem;
    top: 40.5225rem; }
  .successStories .bottomSection {
    height: 40rem;
    width: 100%;
    background-color: var(--primary);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0; }
  .successStories .topSection {
    padding-left: 0rem;
    display: flex;
    gap: 10.75rem;
    position: relative;
    z-index: 1; }
    .successStories .topSection .topTextSection {
      margin-top: 4rem; }
      .successStories .topSection .topTextSection a {
        font-family: sofia-pro; }
    .successStories .topSection h3 {
      font-size: 4rem;
      font-weight: 700;
      line-height: 115%;
      width: 29.8125rem;
      margin: 0;
      font-family: sofia-pro; }
      .successStories .topSection h3 span {
        color: var(--secondary); }
    .successStories .topSection p {
      width: 38rem;
      font-size: 1rem;
      line-height: 1.4rem;
      letter-spacing: -0.001rem;
      margin-bottom: 1.5rem; }
  .successStories .cards {
    z-index: 1;
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 17.6rem;
    padding-left: 7.6rem;
    gap: 10.4rem; }
    .successStories .cards .card:nth-of-type(2n) {
      margin-top: 5.3rem; }
    .successStories .cards .card:nth-of-type(2n+1) {
      margin-top: -10rem; }
    .successStories .cards .card:nth-of-type(3) {
      margin-top: -18.8rem;
      margin-left: -7.6rem;
      color: var(--text_light);
      border-color: var(--text_light); }
    .successStories .cards .card:nth-of-type(4) {
      margin-top: -6.8rem;
      margin-left: -5rem;
      color: var(--text_light);
      border-color: var(--text_light); }
    .successStories .cards .card {
      all: unset;
      border-color: var(--primary_dark);
      cursor: pointer; }
      .successStories .cards .card:hover img {
        transform: scale(1.01); }
      .successStories .cards .card img {
        width: 38.125rem;
        height: 28.6875rem;
        transition: 0.2s ease;
        object-fit: cover; }
      .successStories .cards .card h4 {
        font-size: 2rem;
        font-weight: 700;
        line-height: 2.3rem;
        letter-spacing: -0.02rem;
        margin: 0;
        margin-top: 1.3rem;
        color: inherit;
        font-family: sofia-pro; }
      .successStories .cards .card p {
        opacity: 0.75;
        line-height: 1.5rem;
        font-size: 1rem;
        color: inherit;
        width: 38.1875rem; }
      .successStories .cards .card .tags {
        display: flex;
        flex-flow: wrap;
        gap: 0.9rem;
        margin-top: 1.5rem;
        border-color: inherit;
        color: inherit; }
        .successStories .cards .card .tags .tag {
          font-size: 0.875rem;
          line-height: 1.25rem;
          letter-spacing: -0.0014rem;
          border-width: 0.0625rem;
          border-style: solid;
          border-color: inherit;
          border-radius: 0.375rem;
          padding: 0.75rem 0.5rem;
          color: inherit;
          text-transform: capitalize;
          font-family: sofia-pro; }

@media screen and (max-width: 1580px) {
  .successStories .contentWrapper {
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
    .successStories .contentWrapper .topSection {
      width: 100%;
      padding-left: 0px;
      padding-right: 0px; }
    .successStories .contentWrapper .cards {
      margin-top: 17.6rem;
      padding-top: 0px;
      width: 100%;
      padding-left: 0rem;
      padding-right: 0rem;
      gap: 6rem;
      row-gap: 10.4rem; }
      .successStories .contentWrapper .cards .card {
        margin-left: 0px !important; }
        .successStories .contentWrapper .cards .card:nth-of-type(2) {
          margin-top: 0rem; }
        .successStories .contentWrapper .cards .card:nth-of-type(3) {
          margin-top: -16rem; }
        .successStories .contentWrapper .cards .card:nth-of-type(4) {
          margin-top: -6rem; }
        .successStories .contentWrapper .cards .card img {
          width: 100%;
          object-fit: cover; }
        .successStories .contentWrapper .cards .card p {
          width: 100%; }
        .successStories .contentWrapper .cards .card h4 {
          width: 100%; } }

@media screen and (max-width: 1024px) {
  .successStories .decorTopRight {
    display: none; }
  .successStories .decorBottomLeft {
    display: none; }
  .successStories .contentWrapper {
    padding-top: 8rem;
    padding-bottom: 8rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
    .successStories .contentWrapper .topSection {
      padding-left: 0px;
      padding-right: 0px;
      padding-bottom: 4rem;
      padding-top: 0px;
      column-gap: 2rem;
      row-gap: 2rem; }
      .successStories .contentWrapper .topSection .topTextSection {
        margin-top: 0px; }
      .successStories .contentWrapper .topSection h3 {
        width: fit-content;
        font-size: 3rem; }
      .successStories .contentWrapper .topSection p {
        width: fit-content; }
    .successStories .contentWrapper .cards {
      margin-top: 10rem;
      gap: 2rem;
      padding-left: 0px;
      padding-right: 0px;
      width: 100%; }
      .successStories .contentWrapper .cards .card h4 {
        font-size: 1.5rem; }
      .successStories .contentWrapper .cards .card img {
        width: 100%;
        height: auto; }
      .successStories .contentWrapper .cards .card:nth-of-type(2) {
        margin-top: -4rem; }
      .successStories .contentWrapper .cards .card:nth-of-type(3) {
        margin-left: 0px;
        margin-top: -4rem; }
      .successStories .contentWrapper .cards .card:nth-of-type(4) {
        margin-left: 0px;
        margin-top: 3rem; }
  .successStories .bottomSection {
    height: 36%; } }

@media screen and (max-width: 768px) {
  .successStories .decorTopLeft {
    display: none; }
  .successStories .decorTopRightBlue {
    display: none; }
  .successStories .decorTopRightRed {
    display: none; }
  .successStories .decorTopRight {
    display: none; }
  .successStories .decorBottomLeft {
    display: none; }
  .successStories .contentWrapper {
    padding-top: 5rem; }
    .successStories .contentWrapper .topSection {
      flex-direction: column;
      padding-bottom: 5rem; }
      .successStories .contentWrapper .topSection p {
        margin-top: 0px; }
    .successStories .contentWrapper .cards {
      grid-template-columns: 1fr;
      row-gap: 2.5rem;
      margin-top: 0px; }
      .successStories .contentWrapper .cards .card {
        margin-top: 0px !important;
        margin-left: 0px !important; }
  .successStories .bottomSection {
    height: 38%; } }

.imageContentBlock {
  background-color: var(--primary);
  color: var(--text_light);
  display: flex;
  position: relative;
  justify-content: center;
  align-items: center; }
  .imageContentBlock .contentWrapper {
    flex-flow: row;
    padding: 0 8rem 7.81rem;
    gap: 10.69rem;
    position: static; }
  .imageContentBlock .image {
    width: 50.6875rem;
    height: 38.68rem;
    object-position: right;
    object-fit: cover;
    margin-top: -15rem; }
  .imageContentBlock .textContent {
    z-index: 2;
    position: relative; }
    .imageContentBlock .textContent a {
      font-family: sofia-pro;
      padding: 1rem 2rem 1rem 2rem; }
    .imageContentBlock .textContent h2 {
      font-family: sofia-pro;
      font-size: 7.5rem;
      font-weight: 700;
      line-height: 7.5rem;
      margin-left: -14.2rem;
      margin-top: 8.25rem;
      margin-bottom: 4.4375rem;
      width: 100%; }
      .imageContentBlock .textContent h2 span {
        display: none;
        color: var(--secondary); }
    .imageContentBlock .textContent p {
      width: 30.5rem;
      margin: 0;
      line-height: 1.5rem;
      font-size: 1rem; }
    .imageContentBlock .textContent ul {
      all: unset;
      display: grid;
      grid-template-columns: 1fr 1fr;
      row-gap: 2.5rem;
      margin: 2.5rem 0; }
      .imageContentBlock .textContent ul li {
        all: unset;
        display: flex;
        align-items: center;
        gap: 1rem;
        font-size: 1rem; }
        .imageContentBlock .textContent ul li img {
          width: 2.5rem;
          height: 2.5rem; }
        .imageContentBlock .textContent ul li fontsninja-text {
          font-family: outfit; }
  .imageContentBlock .mask {
    position: absolute;
    right: 0;
    bottom: 15.5rem;
    width: 29rem;
    height: 20rem;
    z-index: 1; }
  @media screen and (max-width: 1580px) {
    .imageContentBlock .contentWrapper {
      padding-left: 1.5rem;
      padding-right: 1.5rem;
      gap: 6rem; }
      .imageContentBlock .contentWrapper > img {
        width: 50%;
        margin-left: -1.5rem; }
      .imageContentBlock .contentWrapper .textContent h2 {
        font-size: 5rem;
        line-height: 1.3;
        margin-left: -8rem; }
      .imageContentBlock .contentWrapper .textContent p {
        width: auto; } }
  @media (max-width: 1024px) {
    .imageContentBlock .contentWrapper {
      margin-top: 3.125rem;
      flex-flow: column;
      padding: 0;
      padding-left: 1.5rem;
      padding-right: 1.5rem;
      gap: 0; }
      .imageContentBlock .contentWrapper > img {
        width: 100%;
        margin-left: 0px; }
    .imageContentBlock .image {
      width: 100%;
      height: 100%;
      object-fit: cover; }
    .imageContentBlock .mask {
      display: none; }
    .imageContentBlock .textContent h2 {
      margin-top: 2.5rem;
      margin-bottom: 2.5rem;
      margin-left: 0px !important;
      width: 100%;
      color: #EFE9D9;
      font-size: 2.9rem;
      font-style: normal;
      font-weight: 700;
      line-height: 2.9rem; }
      .imageContentBlock .textContent h2 span {
        display: inline-block; }
    .imageContentBlock .textContent p {
      width: 100%;
      font-size: 1rem;
      font-style: normal;
      font-weight: 400;
      line-height: 1.5rem;
      letter-spacing: -0.001rem; }
    .imageContentBlock .textContent ul li {
      font-size: 1rem;
      font-style: normal;
      font-weight: 450;
      line-height: 1.25rem; }
      .imageContentBlock .textContent ul li img {
        width: 2.5rem;
        height: 2.5rem; }
    .imageContentBlock .button {
      margin-top: 2.5rem;
      leading-trim: both;
      text-edge: cap;
      font-size: 1rem;
      font-style: normal;
      font-weight: 400;
      line-height: 1.2;
      letter-spacing: -0.001rem;
      padding: 0.75rem 1rem; } }

@media screen and (max-width: 1024px) {
  .imageContentBlock .contentWrapper {
    margin-top: 0px;
    padding-bottom: 7.5rem; }
  .imageContentBlock .image {
    width: 80%;
    max-width: 37.5rem;
    margin-top: 0px; }
  .imageContentBlock .textContent ul {
    row-gap: 1.5rem;
    column-gap: 0.75rem; } }

@media screen and (max-width: 576px) {
  .imageContentBlock .image {
    max-width: 100%;
    width: 100%; } }

.carouselServices {
  display: flex;
  position: relative;
  padding: 10rem 0 9.375rem 12.5rem;
  color: var(--text_light);
  background-color: var(--primary);
  justify-content: center;
  width: 100%; }
  .carouselServices .contentWrapper {
    flex-flow: row;
    justify-content: space-between;
    align-items: flex-start;
    padding-right: 0;
    column-gap: 1.5rem; }
  .carouselServices .mask {
    width: 12.00675rem;
    height: 27.47706rem;
    position: absolute;
    left: 0;
    top: 22.5rem; }
  .carouselServices .textContent h3 {
    font-size: 4rem;
    width: 21.875rem;
    font-weight: 700;
    line-height: 4rem;
    margin: 0;
    font-family: sofia-pro; }
    .carouselServices .textContent h3 span {
      color: var(--secondary); }
  .carouselServices .descriptionContent {
    margin-left: 8.125rem;
    margin-top: 1.875rem;
    max-width: 21.875rem; }
    .carouselServices .descriptionContent p {
      width: 100%;
      font-size: 1rem;
      line-height: 1.4rem;
      letter-spacing: -0.001rem;
      opacity: 0.75; }
    .carouselServices .descriptionContent a {
      margin-top: 1.5rem; }
  .carouselServices .carousel {
    width: 62.2%;
    overflow: hidden; }
    .carouselServices .carousel .swiper-slide {
      height: auto; }
    .carouselServices .carousel .buttons {
      display: flex;
      align-items: center;
      gap: 1rem;
      margin-top: 2rem; }
    .carouselServices .carousel .card {
      border: 0.0625rem solid rgba(237, 232, 217, 0.2);
      color: var(--text_light);
      padding: 2.5rem 2.5rem 6.625rem 2.5rem;
      margin-right: 2.5rem;
      user-select: none;
      cursor: default;
      box-sizing: border-box;
      height: 100%; }
      .carouselServices .carousel .card img {
        height: 5rem; }
      .carouselServices .carousel .card h5 {
        font-size: 2rem;
        line-height: 2rem;
        font-weight: 700;
        margin: 0;
        margin-top: 2.75rem;
        margin-bottom: 1.5rem;
        font-family: sofia-pro; }
      .carouselServices .carousel .card p {
        opacity: 0.75;
        font-size: 1rem;
        font-weight: 400;
        line-height: 1.4rem;
        letter-spacing: -0.001rem;
        margin: 0; }
      .carouselServices .carousel .card .carousel_button {
        position: absolute;
        bottom: 2.5rem; }
        .carouselServices .carousel .card .carousel_button .button {
          font-family: outfit; }
      .carouselServices .carousel .card a {
        padding: 1rem 2.0625rem 1rem 2.0625rem;
        margin-top: 2rem; }
  @media screen and (max-width: 1580px) {
    .carouselServices .contentWrapper {
      flex-direction: column;
      row-gap: 2.5rem; }
      .carouselServices .contentWrapper .textContent h3 {
        width: auto; }
      .carouselServices .contentWrapper .descriptionContent {
        margin-left: 0px;
        max-width: max-content;
        padding-right: 0rem; }
    .carouselServices .carousel {
      width: 100%; }
      .carouselServices .carousel .card {
        padding-top: 2rem;
        padding-left: 2rem;
        padding-right: 2rem; } }
  @media (max-width: 1024px) {
    .carouselServices .contentWrapper {
      flex-flow: column; }
      .carouselServices .contentWrapper .textContent {
        width: 100%; }
        .carouselServices .contentWrapper .textContent h3 {
          width: 100%; }
        .carouselServices .contentWrapper .textContent .descriptionContent {
          margin: 0rem 0 0rem 0;
          padding-right: 0rem; }
          .carouselServices .contentWrapper .textContent .descriptionContent p {
            width: 100%; }
      .carouselServices .contentWrapper .carousel {
        width: 100%; } }
  @media screen and (min-width: 769px) and (max-width: 1023px) {
    .carouselServices .carousel {
      width: 100vw; } }
  @media (max-width: 768px) {
    .carouselServices {
      padding: 5rem 0; }
      .carouselServices .mask {
        display: none; }
      .carouselServices .contentWrapper {
        padding-right: 1.5rem;
        overflow: hidden; }
        .carouselServices .contentWrapper .textContent h3 {
          font-size: 3rem;
          line-height: 2.5rem; }
        .carouselServices .contentWrapper .textContent .descriptionContent {
          margin: 0rem 0 0rem 0; }
          .carouselServices .contentWrapper .textContent .descriptionContent p {
            font-size: 1.5rem;
            line-height: 2rem; }
        .carouselServices .contentWrapper .carousel {
          width: 100%; }
          .carouselServices .contentWrapper .carousel .services_carousel .card {
            margin-right: 0rem;
            padding-bottom: 9.063rem; }
            .carouselServices .contentWrapper .carousel .services_carousel .card .image {
              height: 4rem; }
            .carouselServices .contentWrapper .carousel .services_carousel .card .heading {
              margin: 2.5rem 0 1.5rem 0;
              font-size: 2rem;
              line-height: 2rem; }
            .carouselServices .contentWrapper .carousel .services_carousel .card .description p {
              font-size: 1.5rem;
              line-height: 2rem; }
          .carouselServices .contentWrapper .carousel .buttons .arrowButton {
            width: 2.5rem;
            min-width: 2.5rem;
            height: 2.5rem;
            min-height: 2.5rem; }
            .carouselServices .contentWrapper .carousel .buttons .arrowButton svg {
              width: 0.75rem;
              min-width: 0.75rem;
              height: 0.75rem;
              min-height: 0.75rem; } }
  @media (max-width: 640px) {
    .carouselServices .contentWrapper .textContent .descriptionContent {
      margin: 0rem 0 0rem 0; }
      .carouselServices .contentWrapper .textContent .descriptionContent p {
        font-size: 1rem;
        line-height: 1.5rem; }
    .carouselServices .contentWrapper .carousel .swiper-wrapper {
      display: block; }
      .carouselServices .contentWrapper .carousel .swiper-wrapper .card {
        padding: 2.5rem 2rem;
        text-align: center;
        margin-bottom: 1.5rem; }
        .carouselServices .contentWrapper .carousel .swiper-wrapper .card .description {
          margin-bottom: 1.625rem; }
          .carouselServices .contentWrapper .carousel .swiper-wrapper .card .description p {
            font-size: 0.875rem;
            line-height: 1.25rem; }
        .carouselServices .contentWrapper .carousel .swiper-wrapper .card .carousel_button {
          position: relative;
          bottom: 0; }
          .carouselServices .contentWrapper .carousel .swiper-wrapper .card .carousel_button a {
            margin: 0 auto; }
    .carouselServices .contentWrapper .carousel .buttons {
      display: none; } }

.carouselProducts {
  position: relative;
  color: var(--text_light);
  background-color: var(--primary);
  display: flex;
  justify-content: center;
  align-items: center;
  border-top: 0.0625rem solid var(--text_light_opacity_2); }
  .carouselProducts .contentWrapper {
    padding: 0 !important; }
  .carouselProducts .products_carousel {
    transform: translateX(-16.5%); }
  .carouselProducts .textContent {
    display: flex;
    align-items: center;
    gap: 15.5625rem;
    padding: 10rem 29.0625rem 5rem 12.375rem; }
    .carouselProducts .textContent h3 {
      font-size: 4rem;
      width: 26rem;
      font-weight: 700;
      line-height: 115%;
      margin: 0;
      font-family: sofia-pro; }
      .carouselProducts .textContent h3 span {
        color: var(--secondary); }
    .carouselProducts .textContent .titleContent .buttons {
      display: flex;
      align-items: center;
      gap: 1rem;
      margin-top: 6.5rem;
      margin-left: 0.125rem; }
    .carouselProducts .textContent .descriptionContent {
      margin-left: 0;
      width: 38rem; }
      .carouselProducts .textContent .descriptionContent p {
        width: 100%;
        font-size: 1rem;
        line-height: 1.4rem;
        letter-spacing: -0.001rem;
        opacity: 0.75; }
      .carouselProducts .textContent .descriptionContent a {
        margin-top: 2rem;
        font-family: sofia-pro; }
  .carouselProducts .carousel {
    width: 100%;
    overflow: hidden; }
    .carouselProducts .carousel .card {
      all: unset;
      display: block;
      color: var(--text_light);
      padding: 0 1.25rem;
      user-select: none;
      cursor: pointer;
      box-sizing: border-box; }
      .carouselProducts .carousel .card .image {
        background-position: center;
        background-size: cover;
        width: 100%;
        height: 28.6875rem;
        object-fit: cover;
        transition: 0.2s ease; }
      .carouselProducts .carousel .card h5 {
        font-size: 2rem;
        line-height: 115%;
        letter-spacing: -0.02rem;
        font-weight: 700;
        font-family: sofia-pro;
        margin: 0;
        margin-top: 1.5rem; }
      .carouselProducts .carousel .card .description {
        opacity: 0.75; }
      .carouselProducts .carousel .card:hover .image {
        transform: translateY(0.25rem); }
  @media screen and (max-width: 1580px) {
    .carouselProducts .contentWrapper .textContent {
      width: 100%;
      padding-left: 1.5rem;
      padding-right: 1.5rem;
      gap: 5rem; } }
  @media (max-width: 1024px) {
    .carouselProducts .contentWrapper {
      flex-flow: column;
      padding-right: 3rem; }
      .carouselProducts .contentWrapper .products_carousel {
        transform: none; }
      .carouselProducts .contentWrapper .buttons {
        position: absolute;
        right: 1.5rem; }
      .carouselProducts .contentWrapper .textContent {
        display: block;
        padding: 6.25rem 1.5rem 2.5rem 1.5rem;
        width: 100%; }
        .carouselProducts .contentWrapper .textContent h3 {
          width: 100%; }
        .carouselProducts .contentWrapper .textContent .descriptionContent {
          margin: 1.875rem 0 2.5rem 0; }
          .carouselProducts .contentWrapper .textContent .descriptionContent p {
            width: 100%; }
      .carouselProducts .contentWrapper .carousel {
        width: 100%; } }
  @media (max-width: 768px) {
    .carouselProducts {
      padding: 5rem 0;
      padding-bottom: 0rem; }
      .carouselProducts .contentWrapper {
        padding-right: 1.5rem; }
        .carouselProducts .contentWrapper .textContent {
          padding: 0 1.5rem;
          position: relative; }
          .carouselProducts .contentWrapper .textContent .buttons {
            right: 2rem;
            bottom: 3rem;
            z-index: 1; }
            .carouselProducts .contentWrapper .textContent .buttons .arrowButton {
              width: 2.5rem;
              min-width: 2.5rem;
              height: 2.5rem;
              min-height: 2.5rem; }
              .carouselProducts .contentWrapper .textContent .buttons .arrowButton svg {
                width: 0.75rem;
                min-width: 0.75rem;
                height: 0.75rem;
                min-height: 0.75rem; }
          .carouselProducts .contentWrapper .textContent h3 {
            font-size: 3rem;
            line-height: 2.5rem; }
          .carouselProducts .contentWrapper .textContent .descriptionContent {
            margin: 1.875rem 0 5rem 0;
            width: auto; }
            .carouselProducts .contentWrapper .textContent .descriptionContent p {
              font-size: 1.5rem;
              line-height: 2rem; }
        .carouselProducts .contentWrapper .carousel .products_carousel {
          margin-right: -1rem;
          transform: translateX(0); }
          .carouselProducts .contentWrapper .carousel .products_carousel .swiper-slide {
            padding-bottom: 0rem; }
            .carouselProducts .contentWrapper .carousel .products_carousel .swiper-slide .card {
              padding: 0 2.25rem 0 1.25rem; }
            .carouselProducts .contentWrapper .carousel .products_carousel .swiper-slide .image {
              height: 22rem; }
            .carouselProducts .contentWrapper .carousel .products_carousel .swiper-slide .heading {
              margin: 2.5rem 0 1.5rem 0;
              font-size: 2rem;
              line-height: 2rem; }
            .carouselProducts .contentWrapper .carousel .products_carousel .swiper-slide .description p {
              font-size: 1.5rem;
              line-height: 2rem; } }
  @media (max-width: 640px) {
    .carouselProducts .contentWrapper .textContent .descriptionContent p {
      font-size: 1rem;
      line-height: 1.5rem; }
    .carouselProducts .contentWrapper .textContent .buttons {
      display: none; }
    .carouselProducts .contentWrapper .carousel .swiper-wrapper {
      display: block;
      transform: translate3d(0, 0, 0) !important; }
      .carouselProducts .contentWrapper .carousel .swiper-wrapper .card {
        padding: 2.5rem 2rem;
        margin-bottom: 2rem; }
        .carouselProducts .contentWrapper .carousel .swiper-wrapper .card .heading {
          font-size: 1.5rem;
          line-height: 2rem; }
        .carouselProducts .contentWrapper .carousel .swiper-wrapper .card .description p {
          font-size: 0.875rem;
          line-height: 1.25rem; } }

.heroBanner {
  --backgroundColor: var(--primary_dark);
  --textColor: var(--text_light);
  background-color: var(--backgroundColor);
  display: flex;
  justify-content: center;
  align-items: center; }
  .heroBanner .contentWrapper {
    flex-flow: row;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
    padding: 0; }
    .heroBanner .contentWrapper .mask {
      position: absolute;
      left: 0;
      bottom: 4.375rem;
      width: 25.812rem;
      height: 26.227rem;
      z-index: 0; }
      .heroBanner .contentWrapper .mask svg {
        width: 100%;
        height: 100%; }
        .heroBanner .contentWrapper .mask svg path:nth-of-type(1) {
          fill: var(--textColor); }
        .heroBanner .contentWrapper .mask svg path:nth-of-type(2) {
          fill: var(--textColor); }
    .heroBanner .contentWrapper .textContent {
      width: 47.25rem;
      color: var(--textColor);
      margin-left: 12.5rem;
      margin-top: 9.688rem;
      margin-bottom: 10.375rem;
      display: flex;
      flex-flow: column; }
      .heroBanner .contentWrapper .textContent .superscript {
        color: var(--secondary);
        font-size: 1rem;
        font-weight: 700;
        line-height: 110%;
        letter-spacing: 0.2rem;
        text-transform: uppercase;
        position: relative;
        z-index: 1;
        font-family: outfit; }
      .heroBanner .contentWrapper .textContent h1 {
        font-size: 5rem;
        font-weight: 700;
        line-height: 110%;
        margin-top: 1.5rem;
        margin-bottom: 4.688rem;
        position: relative;
        z-index: 1;
        font-family: sofia-pro; }
        .heroBanner .contentWrapper .textContent h1 span {
          color: var(--secondary); }
      .heroBanner .contentWrapper .textContent p {
        font-size: 1.375rem;
        font-weight: 400;
        line-height: 2rem;
        margin: 0;
        width: 30rem;
        align-self: flex-end;
        position: relative;
        z-index: 1;
        font-family: sofia-pro; }
    .heroBanner .contentWrapper .imageContent {
      width: 50.75rem;
      height: 39.875rem;
      align-self: flex-end;
      margin-bottom: -0.25rem;
      margin-right: -1.5rem; }
      .heroBanner .contentWrapper .imageContent img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover; }

@media screen and (max-width: 1580px) {
  .heroBanner {
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
    .heroBanner .contentWrapper {
      gap: 2.5rem; }
      .heroBanner .contentWrapper .imageContent {
        height: auto;
        margin-bottom: 0rem; }
      .heroBanner .contentWrapper .textContent {
        margin-left: 0px;
        z-index: 1; }
        .heroBanner .contentWrapper .textContent h1 {
          font-size: 3.5rem; } }

@media (max-width: 1024px) {
  .heroBanner {
    display: block;
    justify-content: initial;
    align-items: initial;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 5rem; }
    .heroBanner .contentWrapper {
      flex-flow: column; }
      .heroBanner .contentWrapper .textContent {
        padding: 0;
        margin-top: 0;
        width: 100%;
        margin-left: 0;
        margin-bottom: 0; }
        .heroBanner .contentWrapper .textContent h1 {
          font-size: 3.25rem;
          font-style: normal;
          margin-top: 1.5rem;
          margin-bottom: 0;
          width: 100%; }
        .heroBanner .contentWrapper .textContent p {
          font-size: 1rem;
          line-height: 1.5rem;
          align-self: initial;
          margin-top: 0;
          margin: 1rem 0;
          width: 100%; }
        .heroBanner .contentWrapper .textContent .superscript {
          font-size: 0.875rem;
          letter-spacing: 0.175rem; }
      .heroBanner .contentWrapper .mask {
        width: 21.25rem;
        height: 21.5rem;
        bottom: 0;
        left: -1.5rem;
        z-index: 2; }
      .heroBanner .contentWrapper .imageContent {
        width: 100%;
        max-width: 40rem;
        margin-left: auto;
        height: 21.5rem;
        align-self: initial; } }

.valueCards {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 12.25rem 12.5625rem 10.5625rem; }
  .valueCards h2 {
    color: var(--text_light);
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 4rem;
    align-self: flex-start;
    font-family: sofia-pro; }
    .valueCards h2 span {
      color: var(--secondary); }
  .valueCards .cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2.5rem; }
    .valueCards .cards .card {
      padding: 2.5rem 1.5rem;
      border: 0.0625rem solid var(--text_light_opacity_2);
      color: var(--text_light); }
      .valueCards .cards .card img {
        width: 3rem; }
      .valueCards .cards .card h3 {
        font-size: 2rem;
        font-weight: 700;
        line-height: 2rem;
        margin-top: 1.625rem;
        margin-bottom: 0.75rem;
        font-family: sofia-pro; }
      .valueCards .cards .card .description * {
        font-size: 1rem;
        line-height: 1.5rem;
        letter-spacing: -0.016rem;
        opacity: 0.75;
        font-weight: 400;
        font-family: outfit; }

@media screen and (max-width: 1580px) {
  .valueCards {
    padding-top: 7.5rem;
    padding-left: 0px;
    padding-right: 0px; }
    .valueCards .contentWrapper {
      padding-left: 1.5rem;
      padding-right: 1.5rem; } }

@media screen and (max-width: 1024px) {
  .valueCards {
    padding-top: 5rem;
    padding-bottom: 5.3rem;
    padding-left: 0rem;
    padding-right: 0rem; }
    .valueCards .contentWrapper h2 {
      font-size: 2rem;
      margin-top: 0rem;
      margin-bottom: 2.5rem;
      line-height: 200%; }
    .valueCards .contentWrapper .cards {
      grid-template-columns: repeat(2, 1fr);
      row-gap: 1.5rem; }
      .valueCards .contentWrapper .cards .card .heading {
        font-size: 2rem; }
      .valueCards .contentWrapper .cards .card .description * {
        letter-spacing: 0; } }

@media screen and (max-width: 768px) {
  .valueCards .contentWrapper .cards {
    grid-template-columns: repeat(1, 1fr); } }

.imageGrid {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  position: relative;
  margin-bottom: -1px; }
  .imageGrid .contentWrapper {
    position: static; }
  .imageGrid .images {
    display: flex;
    gap: 2.24rem;
    position: relative;
    z-index: 1;
    width: 100%; }
    .imageGrid .images .image-wrapper {
      width: 50%; }
      .imageGrid .images .image-wrapper img {
        width: 100%;
        height: auto;
        object-fit: contain; }
  .imageGrid .lightBackground {
    width: 100vw;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0; }
  .imageGrid .backgroundColor {
    width: 100vw;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0; }
    .imageGrid .backgroundColor .background1 {
      background-color: var(--primary_dark);
      width: 100%;
      height: 26%; }
    .imageGrid .backgroundColor .background2 {
      width: 100%;
      height: 74%;
      background-color: var(--tertiary); }

@media screen and (max-width: 1580px) {
  .imageGrid .contentWrapper {
    padding-left: 0px;
    padding-right: 0px; }
  .imageGrid .images {
    align-items: start; }
    .imageGrid .images img {
      object-fit: contain;
      height: auto; } }

@media screen and (max-width: 1024px) {
  .imageGrid .images {
    gap: 1rem;
    flex-direction: column; }
    .imageGrid .images .image-wrapper {
      width: 100%; }
      .imageGrid .images .image-wrapper img {
        width: 100%;
        object-fit: contain;
        height: auto; } }

@media screen and (max-width: 576px) {
  .imageGrid .images {
    gap: 1rem; }
    .imageGrid .images .image-wrapper {
      width: 100%; }
      .imageGrid .images .image-wrapper img {
        width: 100%; }
  .imageGrid .background1 {
    background-color: var(--primary_dark);
    width: 100%;
    height: 26%; }
  .imageGrid .background2 {
    width: 100%;
    height: 74%;
    background-color: var(--tertiary); } }

.timeline {
  background-color: var(--tertiary);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 11.09875rem 12.9375rem 12.645rem 12.0625rem;
  position: relative; }
  .timeline .topContent {
    width: 38rem; }
    .timeline .topContent h2 {
      text-align: center;
      font-size: 3.5rem;
      font-weight: 700;
      line-height: 3.5rem;
      font-family: sofia-pro; }
      .timeline .topContent h2 span {
        color: var(--secondary); }
    .timeline .topContent p {
      text-align: center;
      font-size: 1rem;
      font-weight: 400;
      line-height: 140%;
      letter-spacing: -0.001rem;
      font-family: outfit; }
  .timeline .decorRight {
    position: absolute;
    right: 0;
    top: 31.25rem;
    width: 15.1875rem;
    height: fit-content; }
  .timeline .decorLeft {
    position: absolute;
    bottom: 22.0625rem;
    left: 0;
    width: 7.5rem;
    height: fit-content; }
  .timeline .decorBottom {
    position: absolute;
    bottom: 0;
    margin-left: -40%;
    opacity: 0.2;
    width: 31.125rem;
    height: fit-content; }
  .timeline .cardsWrapper {
    display: flex;
    flex-flow: column;
    align-items: center;
    position: relative;
    margin-top: 11.5rem; }
  .timeline .center_line {
    height: calc(100% - 28.25rem);
    width: 2px;
    min-width: 0.125rem;
    background-color: var(--primary_dark2);
    position: absolute; }
  .timeline .cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 51.25rem; }
    .timeline .cards .mobile-marker {
      display: none; }
    .timeline .cards .card {
      position: relative;
      width: fit-content; }
      .timeline .cards .card.decoy .decoy-content {
        display: none; }
      .timeline .cards .card img {
        width: 21.875rem;
        height: 28.125rem;	}
      .timeline .cards .card .marker, .timeline .cards .card .mobile-marker {
        width: 3rem;
        height: 2px;
        background-color: var(--primary_dark2); }
      .timeline .cards .card .mobile-marker {
        position: absolute;
        right: -8rem;
        top: calc(100% + 2.75rem); }
      .timeline .cards .card .marker {
        position: absolute;
        right: -25.625rem;
        top: 0px; }
      .timeline .cards .card .textContent {
        display: flex;
        flex-flow: column;
        width: 21.25rem;
        position: absolute;
        top: -15%;
        right: -75%; }
        .timeline .cards .card .textContent h3 {
          z-index: 1;
          color: transparent;
          -webkit-text-stroke: 0.125rem var(--text_dark);
          font-size: 8.75rem;
          font-weight: 700;
          line-height: 7.875rem;
          margin: 0;
          margin-bottom: 2.6875rem;
          display: flex;
          align-items: center;
          font-family: sofia-pro; }
        .timeline .cards .card .textContent h4 {
          font-size: 2rem;
          font-weight: 700;
          line-height: 115%;
          letter-spacing: -0.02rem;
          width: 21.25rem;
          margin: 0;
          margin-bottom: 1.5rem;
          font-family: sofia-pro;
          z-index: 2;
          position: relative; }
        .timeline .cards .card .textContent p {
          width: 13.75rem;
          font-size: 1rem;
          font-weight: 400;
          line-height: 1.5rem;
          align-self: flex-end;
          margin: 0;
          font-family: outfit; }
    .timeline .cards > div:nth-of-type(4n) .textContent {
      right: 0;
      left: -61%; }
      .timeline .cards > div:nth-of-type(4n) .textContent p {
        align-self: flex-start; }
    .timeline .cards > div:nth-of-type(4n) .marker {
      right: auto;
      left: -25.625rem;
      top: 0px; }

@media screen and (max-width: 1580px) {
  .timeline .cards {
    column-gap: 36rem; }
    .timeline .cards > div:nth-of-type(4n) .marker {
      left: -18rem;
      top: 0rem; }
    .timeline .cards .card {
      position: relative; }
      .timeline .cards .card img {
        position: relative;
        z-index: 1;	}
      .timeline .cards .card .marker {
        right: -18rem; } }

@media screen and (max-width: 1024px) {
  .timeline {
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
    .timeline .decorBottom {
      z-index: 1; }
    .timeline .topContent {
      width: 100%; }
    .timeline .mobile-marker {
      display: block !important; }
    .timeline .center_line {
      height: 100%; }
    .timeline .cards {
      column-gap: 2rem;
      row-gap: 16rem; }
      .timeline .cards .card {
        width: 100%; }
        .timeline .cards .card img {
          display: block; }
        .timeline .cards .card.decoy .decoy-content {
          display: block;
          margin-top: 20%; }
          .timeline .cards .card.decoy .decoy-content h4 {
            margin-top: 0px;
            font-size: 1.5rem;
            font-style: normal;
            font-weight: 700;
            line-height: 115%;
            letter-spacing: -0.015rem; }
          .timeline .cards .card.decoy .decoy-content p {
            font-size: 1rem;
            font-style: normal;
            font-weight: 400;
            line-height: 150%;
            opacity: 0.75; }
        .timeline .cards .card:not(.decoy) .marker {
          display: none; }
        .timeline .cards .card:not(.decoy) .textContent {
          top: -18%;
          left: 40%; }
          .timeline .cards .card:not(.decoy) .textContent h4 {
            display: none; }
          .timeline .cards .card:not(.decoy) .textContent p {
            display: none; }
        .timeline .cards .card:first-of-type::before {
          width: 1rem;
          height: 100%;
          left: auto;
          right: -1.5rem;
          content: " ";
          position: absolute;
          background-color: #d7d8c9; }
        .timeline .cards .card:first-of-type .mobile-marker {
          right: -1rem; }
        .timeline .cards .card:nth-of-type(4n) img {
          margin-left: auto; }
        .timeline .cards .card:nth-of-type(4n)::before {
          content: "";
          width: 1rem;
          display: block;
          height: calc(100% + 8rem);
          background-color: #d7d8c9;
          top: -7rem;
          position: absolute;
          left: -1.5rem; }
        .timeline .cards .card:nth-of-type(4n) .textContent {
          left: -30%; }
        .timeline .cards .card:nth-of-type(4n) .mobile-marker {
          left: -1rem; }
        .timeline .cards .card:nth-of-type(5n)::before {
          width: 1rem;
          height: calc(100% + 8rem);
          top: -7rem;
          left: auto;
          right: -1.5rem;
          content: " ";
          position: absolute;
          background-color: #d7d8c9; }
        .timeline .cards .card:nth-of-type(5n) .mobile-marker {
          right: -1rem; }
        .timeline .cards .card:nth-of-type(8n) img {
          margin-left: auto; }
        .timeline .cards .card:nth-of-type(8n) .mobile-marker {
          display: none;
          opacity: 0; } }

@media screen and (max-width: 768px) {
  .timeline {
    padding: 0rem;
    padding-top: 7.5rem;
    padding-bottom: 5.625rem; }
    .timeline .center_line {
      left: 50%;
      height: calc(100% - 15%); }
    .timeline .decorRight, .timeline .decorLeft, .timeline .decorBottom {
      display: none; }
    .timeline .cards {
      width: 100vw;
      column-gap: 0rem; }
      .timeline .cards .card {
        width: 100%; }
        .timeline .cards .card .mobile-marker {
          right: 0rem; }
        .timeline .cards .card .textContent {
          top: -5rem;
          left: 24px;
          width: auto; }
          .timeline .cards .card .textContent h3 {
            font-size: 7.5rem; }
        .timeline .cards .card .image {
          width: 100%;
          height: auto; }
        .timeline .cards .card.decoy .decoy-content {
          padding-left: 1.5rem;
          padding-right: 1.5rem; }
        .timeline .cards .card:first-of-type::before {
          content: "";
          width: 1rem;
          display: block;
          height: 100%;
          background-color: #d7d8c9;
          right: -1rem;
          position: absolute;
          left: auto;
          top: 0rem;
          height: calc(100% + 1rem); }
        .timeline .cards .card:first-of-type::after {
          content: "";
          width: 0.25rem;
          display: block;
          height: calc(100% + 1.5rem);
          background-color: #d7d8c9;
          right: -0.125rem;
          position: absolute;
          left: auto;
          top: 0rem; }
        .timeline .cards .card:first-of-type .mobile-marker {
          right: 0rem; }
        .timeline .cards .card:nth-of-type(4n) {
          position: relative; }
          .timeline .cards .card:nth-of-type(4n)::after {
            content: "";
            height: calc(100% + 1.5rem);
            width: 0.25rem;
            background-color: #d7d8c9;
            left: -0.1rem;
            top: 0px;
            position: absolute; }
          .timeline .cards .card:nth-of-type(4n) .textContent {
            left: auto;
            right: 1.5rem; }
          .timeline .cards .card:nth-of-type(4n) .mobile-marker {
            left: 0rem; }
          .timeline .cards .card:nth-of-type(4n)::before {
            content: "";
            width: 4rem;
            display: block;
            height: 100%;
            background-color: #d7d8c9;
            top: -6rem;
            position: absolute;
            left: -2rem; }
        .timeline .cards .card:nth-of-type(5n) {
          position: relative; }
          .timeline .cards .card:nth-of-type(5n) .mobile-marker {
            left: auto;
            right: 0px; }
          .timeline .cards .card:nth-of-type(5n)::before {
            content: "";
            width: 4rem;
            display: block;
            height: calc(100% + 1.5rem);
            background-color: #d7d8c9;
            right: -1rem;
            position: absolute;
            left: auto;
            top: -6rem; }
          .timeline .cards .card:nth-of-type(5n)::after {
            content: "";
            width: 0.25rem;
            display: block;
            height: calc(100% + 1.5rem);
            background-color: #d7d8c9;
            right: -0.125rem;
            position: absolute;
            left: auto;
            top: 0rem; }
        .timeline .cards .card:nth-of-type(8n)::after {
          content: none !important; }
        .timeline .cards .card:nth-of-type(8n) .textContent {
          top: -6rem;
          right: 1rem; } }

@media screen and (max-width: 576px) {
  .timeline .cards .card:nth-of-type(1) .textContent {
    top: -27%;
    left: 10%; }
  .timeline .cards .card:nth-of-type(4) .textContent {
    left: auto;
    right: 1.5rem;
    top: -4.5rem; }
  .timeline .cards .card:nth-of-type(5) .textContent {
    left: auto;
    top: -5rem;
    left: 2rem; } }

.peopleCards {
  display: flex;
  justify-content: center;
  align-items: center;
  border-bottom: 0.125rem solid rgba(255, 255, 255, 0.2);
  position: relative; }
  .peopleCards .decorTopRight {
    position: absolute;
    width: 30.1875rem;
    right: 9.375rem;
    top: 12.5rem; }
  .peopleCards .decorBottomLeft {
    position: absolute;
    width: 21.8125rem;
    left: 0;
    bottom: 18.75rem; }
  .peopleCards .contentWrapper {
    padding: 10rem 12rem 9.375rem; }
  .peopleCards .textContent {
    display: flex;
    align-items: flex-end;
    color: var(--text_light);
    justify-content: space-between;
    width: 100%; }
    .peopleCards .textContent .description {
      font-size: 1rem;
      font-weight: 400;
      line-height: 1.4;
      letter-spacing: -0.016rem;
      width: 46.25rem;
      opacity: 0.75; }
      .peopleCards .textContent .description * {
        font-size: 1rem;
        font-weight: 400;
        line-height: 1.4;
        letter-spacing: -0.016rem;
        width: 46.25rem;
        font-family: sofia-pro; }
    .peopleCards .textContent h2 {
      font-family: sofia-pro;
      font-size: 3.5rem;
      font-weight: 700;
      line-height: 4rem;
      align-self: flex-start;
      margin: 0;
      width: 17.68rem; }
      .peopleCards .textContent h2 span {
        color: var(--secondary); }
  .peopleCards .cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
    margin-top: 6.625rem;
    width: 100%; }
    .peopleCards .cards .card {
      color: var(--text_light);
      width: 100%; }
      .peopleCards .cards .card img {
        width: 100%;
        height: 14.925rem; }
      .peopleCards .cards .card h3 {
        margin-top: 1.5rem;
        margin-bottom: 1.5rem;
        font-size: 2rem;
        font-weight: 700;
        line-height: 2rem;
        font-family: sofia-pro; }
      .peopleCards .cards .card .description {
        font-size: 1rem;
        line-height: 1.5rem;
        letter-spacing: -0.016rem;
        opacity: 0.75;
        font-weight: 400; }
        .peopleCards .cards .card .description * {
          font-size: 1rem;
          line-height: 1.5rem;
          letter-spacing: -0.016rem;
          opacity: 0.75;
          font-weight: 400;
          font-family: sofia-pro; }

@media screen and (max-width: 1580px) {
  .peopleCards .contentWrapper {
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
    .peopleCards .contentWrapper .textContent h2 {
      width: fit-content; }
    .peopleCards .contentWrapper .textContent .description * {
      width: fit-content; }
    .peopleCards .contentWrapper .cards .card h3 {
      font-size: 1.5rem; }
    .peopleCards .contentWrapper .cards .card img {
      object-fit: cover; } }

@media screen and (max-width: 1024px) {
  .peopleCards .contentWrapper {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 5rem;
    padding-bottom: 5rem; }
    .peopleCards .contentWrapper .textContent {
      flex-direction: column;
      width: 100%; }
      .peopleCards .contentWrapper .textContent h2 {
        width: auto;
        margin-bottom: 2.5rem; }
      .peopleCards .contentWrapper .textContent .description {
        width: 100%;
        margin: 0px; }
        .peopleCards .contentWrapper .textContent .description p {
          width: 100%;
          margin: 0px; }
    .peopleCards .contentWrapper .cards {
      grid-template-columns: repeat(2, 1fr);
      column-gap: 1.5rem;
      row-gap: 2rem; }
      .peopleCards .contentWrapper .cards .card p.description {
        margin-top: 0px;
        margin-bottom: 0px; }
      .peopleCards .contentWrapper .cards .card h3 {
        margin-top: 1.5rem;
        margin-bottom: 1.5rem; }
      .peopleCards .contentWrapper .cards .card img {
        width: 100%;
        height: auto;
        object-fit: contain; } }

@media screen and (max-width: 768px) {
  .peopleCards .contentWrapper .cards {
    grid-template-columns: repeat(1, 1fr);
    column-gap: 0rem;
    row-gap: 2rem;
    margin-top: 3rem; }
    .peopleCards .contentWrapper .cards .card h3 {
      font-size: 1.5rem;
      margin-bottom: 1rem; } }

.standardCards {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative; }
  .standardCards .decorLeft {
    position: absolute;
    width: 21.8125rem;
    left: 0;
    top: 31.25rem; }
  .standardCards .contentWrapper {
    padding: 13.5rem 12rem 10rem;
    flex-flow: row;
    gap: 10rem;
    align-items: flex-start; }
  .standardCards .textContent {
    color: var(--text_light);
    width: 21.875rem;
    min-width: 21.875rem; }
    .standardCards .textContent .description {
      font-size: 1rem;
      font-weight: 400;
      line-height: 1.4;
      letter-spacing: -0.016rem;
      width: 100%; }
      .standardCards .textContent .description * {
        font-size: 1rem;
        font-weight: 400;
        line-height: 1.4;
        letter-spacing: -0.016rem;
        font-family: sofia-pro; }
    .standardCards .textContent h2 {
      font-size: 3.5rem;
      font-weight: 700;
      line-height: 4rem;
      align-self: flex-start;
      margin: 2rem 0;
      width: 17.68rem;
      font-family: sofia-pro; }
      .standardCards .textContent h2 span {
        color: var(--secondary); }
  .standardCards .cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem;
    width: 100%;
    margin-top: 2.4375rem; }
    .standardCards .cards .card {
      color: var(--text_light);
      width: 100%;
      border: 0.0625rem solid rgba(255, 255, 255, 0.2);
      padding: 2.5rem;
      display: flex;
      gap: 3.75rem; }
      .standardCards .cards .card img {
        height: 5rem; }
      .standardCards .cards .card h3 {
        font-size: 2rem;
        font-weight: 700;
        line-height: 2rem;
        margin: 0;
        margin-bottom: 2.5rem;
        font-family: sofia-pro; }
      .standardCards .cards .card .description {
        width: 16.875rem; }
        .standardCards .cards .card .description * {
          font-size: 1rem;
          line-height: 1.5rem;
          letter-spacing: -0.016rem;
          opacity: 0.75;
          font-weight: 400;
          font-family: sofia-pro; }
    .standardCards .cards > div:nth-of-type(2n) {
      transform: translateY(-6.25rem); }

@media screen and (max-width: 1580px) {
  .standardCards .contentWrapper {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 5rem;
    padding-bottom: 5rem;
    display: flex;
    flex-direction: column;
    row-gap: 2.5rem; }
    .standardCards .contentWrapper .textContent {
      width: 100%; }
      .standardCards .contentWrapper .textContent h2 {
        width: 100%; }
      .standardCards .contentWrapper .textContent .description {
        margin-bottom: 5rem; } }

@media screen and (max-width: 1024px) {
  .standardCards .contentWrapper {
    display: flex;
    flex-direction: column; }
    .standardCards .contentWrapper .textContent {
      width: 100%;
      max-width: 100%; }
      .standardCards .contentWrapper .textContent h2 {
        width: 100%;
        max-width: auto; }
      .standardCards .contentWrapper .textContent .description {
        margin-bottom: 5rem; }
        .standardCards .contentWrapper .textContent .description * {
          width: 100%; }
    .standardCards .contentWrapper .cards {
      margin-top: 0px; }
      .standardCards .contentWrapper .cards .card {
        gap: 1.65rem;
        align-items: start; }
        .standardCards .contentWrapper .cards .card .heading {
          font-size: 1.5rem;
          line-height: 2rem;
          margin-bottom: 1.5rem; }
        .standardCards .contentWrapper .cards .card .description {
          width: 100%; } }

@media screen and (max-width: 768px) {
  .standardCards .decorLeft {
    display: none; }
  .standardCards .contentWrapper {
    gap: 1.5rem; }
    .standardCards .contentWrapper .textContent {
      width: 100%;
      max-width: 100%; }
    .standardCards .contentWrapper .cards {
      grid-template-columns: repeat(1, 1fr); }
      .standardCards .contentWrapper .cards .card {
        padding: 2rem; }
        .standardCards .contentWrapper .cards .card img {
          width: 3rem;
          height: auto;
          object-fit: contain; }
      .standardCards .contentWrapper .cards > div:nth-of-type(2n) {
        transform: none; } }

.logoSlider {
  position: relative;
  color: var(--text_light);
  display: flex;
  justify-content: center;
  align-items: center; }
  .logoSlider .contentWrapper {
    padding: 10rem 12.5rem; }
    .logoSlider .contentWrapper .textContent h3 {
      font-size: 4rem;
      width: 27rem;
      font-weight: 700;
      line-height: 115%;
      margin: 0;
      margin-bottom: 5rem;
      font-family: sofia-pro; }
      .logoSlider .contentWrapper .textContent h3 span {
        color: var(--secondary); }
    .logoSlider .contentWrapper .logos {
      width: 100%;
      overflow: hidden; }
      .logoSlider .contentWrapper .logos .swiper-wrapper {
        height: 6.638rem; }
        .logoSlider .contentWrapper .logos .swiper-wrapper .logo {
          height: 100%;
          max-width: auto;
          object-fit: contain; }
    .logoSlider .contentWrapper .swiper-wrapper {
      -webkit-transition-timing-function: linear !important;
      -o-transition-timing-function: linear !important;
      transition-timing-function: linear !important; }

@media screen and (max-width: 1580px) {
  .logoSlider .contentWrapper {
    padding-left: 0rem;
    padding-right: 0rem;
    padding-top: 7.5rem;
    padding-bottom: 7.5rem; } }

@media (max-width: 1024px) {
  .logoSlider {
    padding-top: 5rem;
    padding-bottom: 5rem; }
    .logoSlider .contentWrapper {
      padding: 0;
      padding-right: 1.5rem;
      padding-left: 1.5rem; }
      .logoSlider .contentWrapper .textContent h3 {
        text-align: center;
        font-size: 3rem;
        margin-bottom: 3rem; }
      .logoSlider .contentWrapper .swiper-wrapper {
        -webkit-transition-timing-function: linear !important;
        -o-transition-timing-function: linear !important;
        transition-timing-function: linear !important; } }

.conscienceBanner {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 7.5rem;
  display: block; }
  .conscienceBanner .contentWrapper {
    min-height: 56.25rem;
    overflow: hidden; }
    .conscienceBanner .contentWrapper .textContent {
      color: var(--text_light);
      text-align: center;
      display: flex;
      flex-flow: column;
      justify-content: center;
      align-items: center;
      position: absolute;
      z-index: 0;
      width: 100%; }
      .conscienceBanner .contentWrapper .textContent a {
        font-family: outfit; }
      .conscienceBanner .contentWrapper .textContent .heading {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%; }
        .conscienceBanner .contentWrapper .textContent .heading h1 {
          font-size: 5.5rem;
          font-style: normal;
          font-weight: 700;
          line-height: 110%;
          margin: 0;
          margin-bottom: 1.9375rem;
          width: 100%;
          font-family: sofia-pro; }
          .conscienceBanner .contentWrapper .textContent .heading h1 .lastWord {
            line-height: 0;
            border-top: 0.125rem solid var(--text_light_opacity_2);
            border-bottom: 0.125rem solid var(--text_light_opacity_2);
            padding: 2.25rem 0 4.5rem 1.5rem;
            display: block; }
          .conscienceBanner .contentWrapper .textContent .heading h1 .dot {
            color: var(--secondary); }
          .conscienceBanner .contentWrapper .textContent .heading h1 .decor {
            position: absolute;
            width: 15.75rem;
            height: 30.6875rem;
            top: -4rem;
            right: 4rem; }
      .conscienceBanner .contentWrapper .textContent p {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
        font-size: 2rem;
        font-weight: 400;
        line-height: 150%;
        width: 46.25rem;
        margin-bottom: 4.6875rem;
        font-family: sofia-pro; }
      .conscienceBanner .contentWrapper .textContent .circleLink .arrowContainer {
        background-color: var(--secondary_light); }
  .conscienceBanner .images {
    position: relative;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    pointer-events: none; }
    .conscienceBanner .images .image {
      position: absolute;
      object-fit: cover; }
      .conscienceBanner .images .image:nth-of-type(1) {
        left: 0;
        bottom: 8rem;
        width: 33.375rem;
        height: 18.25rem; }
      .conscienceBanner .images .image:nth-of-type(2) {
        left: 12.5rem;
        top: -8rem;
        width: 21.875rem;
        height: 26.5253756rem; }
      .conscienceBanner .images .image:nth-of-type(3) {
        right: 20.5rem;
        top: -3rem;
        width: 22.31363rem;
        height: 17.375rem; }
      .conscienceBanner .images .image:nth-of-type(4) {
        right: 0;
        top: 15rem;
        width: 16.125rem;
        height: 21.9375rem; }
      .conscienceBanner .images .image:nth-of-type(5) {
        right: 18rem;
        bottom: 2rem;
        width: 20.9375rem;
        height: 13.9375rem; }

@media screen and (max-width: 1580px) {
  .conscienceBanner .contentWrapper {
    overflow: visible; }
    .conscienceBanner .contentWrapper .images .image:nth-of-type(1) {
      width: 20%;
      bottom: 2rem; }
    .conscienceBanner .contentWrapper .images .image:nth-of-type(2) {
      width: 28%;
      height: 28%;
      top: 0px;
      left: 2.5rem; }
    .conscienceBanner .contentWrapper .images .image:nth-of-type(3) {
      right: 2.5rem; }
    .conscienceBanner .contentWrapper .images .image:nth-of-type(4) {
      top: 36rem; }
    .conscienceBanner .contentWrapper .images .image:nth-of-type(5) {
      top: auto;
      bottom: -7rem; } }

@media (max-width: 1024px) {
  .conscienceBanner {
    display: initial;
    justify-content: initial;
    align-items: initial; }
    .conscienceBanner .contentWrapper {
      overflow: initial; }
      .conscienceBanner .contentWrapper .textContent {
        top: 22%; }
        .conscienceBanner .contentWrapper .textContent .heading h1 {
          text-align: center;
          font-size: 4rem;
          margin-bottom: 1.5rem; }
          .conscienceBanner .contentWrapper .textContent .heading h1 .decor {
            display: none; }
          .conscienceBanner .contentWrapper .textContent .heading h1 .lastWord {
            padding-top: 2.25rem;
            padding-bottom: 2.25rem; }
        .conscienceBanner .contentWrapper .textContent p {
          margin-top: 0;
          font-size: 1.5rem;
          width: 100%;
          text-align: center;
          margin-bottom: 1.5rem; }
      .conscienceBanner .contentWrapper .images .image:nth-of-type(1) {
        bottom: 12%;
        left: 1.5rem;
        width: 18.5rem;
        height: 10rem; }
      .conscienceBanner .contentWrapper .images .image:nth-of-type(2) {
        left: 1.5rem;
        top: 1.5rem;
        width: 12rem;
        height: 14.8rem; }
      .conscienceBanner .contentWrapper .images .image:nth-of-type(3) {
        right: 1.5rem;
        top: 1.5rem;
        width: 12.4rem;
        height: 9.6rem; }
      .conscienceBanner .contentWrapper .images .image:nth-of-type(4) {
        top: auto;
        bottom: 10%;
        right: 1.5rem;
        width: 15.8rem;
        height: 12rem; }
      .conscienceBanner .contentWrapper .images .image:nth-of-type(5) {
        bottom: -5rem;
        left: 50%;
        right: 0;
        transform: translate(-50%, -50%);
        width: 11.6rem;
        height: 7.7rem; } }

@media (max-width: 768px) {
  .conscienceBanner {
    justify-content: initial;
    align-items: initial;
    margin-bottom: 5rem;
    display: block; }
    .conscienceBanner .contentWrapper .images .image:nth-of-type(1) {
      bottom: 12%;
      left: -15%;
      width: 18.5rem;
      height: 10rem; }
    .conscienceBanner .contentWrapper .images .image:nth-of-type(2) {
      left: -5%;
      top: -5%;
      width: 12rem;
      height: 14.8rem; }
    .conscienceBanner .contentWrapper .images .image:nth-of-type(3) {
      top: auto;
      right: -5%;
      width: 12.4rem;
      height: 9.6rem; }
    .conscienceBanner .contentWrapper .images .image:nth-of-type(4) {
      top: auto;
      bottom: 10%;
      right: -10%;
      width: 15.8rem;
      height: 12rem; }
    .conscienceBanner .contentWrapper .images .image:nth-of-type(5) {
      bottom: -14%;
      left: 50%;
      right: 0;
      transform: translate(-50%, -50%);
      width: 11.6rem;
      height: 7.7rem; } }

@media (max-width: 576px) {
  .conscienceBanner .contentWrapper .textContent .heading h1 .lastWord {
    padding-top: 2.25rem;
    padding-bottom: 2.25rem; }
  .conscienceBanner .contentWrapper .images .image:nth-of-type(1) {
    bottom: 12%;
    left: -12rem;
    width: 18.5rem;
    height: 10rem; }
  .conscienceBanner .contentWrapper .images .image:nth-of-type(2) {
    left: -2rem;
    top: -5%;
    width: 12rem;
    height: 14.8rem; }
  .conscienceBanner .contentWrapper .images .image:nth-of-type(3) {
    right: -3rem;
    top: auto;
    width: 12.4rem;
    height: 9.6rem; }
  .conscienceBanner .contentWrapper .images .image:nth-of-type(4) {
    top: auto;
    bottom: 10%;
    right: -7rem;
    width: 15.8rem;
    height: 12rem; }
  .conscienceBanner .contentWrapper .images .image:nth-of-type(5) {
    bottom: -14%;
    left: 20%;
    right: 0;
    width: 11.6rem;
    height: 7.7rem;
    transform: none; } }

.textBlockWithMask {
  display: flex;
  justify-content: center;
  align-items: center; }
  .textBlockWithMask .contentWrapper {
    width: 100%;
    max-width: 78.75rem; }
    @media (max-width: 768px) {
      .textBlockWithMask .contentWrapper {
        padding: 0; } }
    .textBlockWithMask .contentWrapper p, .textBlockWithMask .contentWrapper h3, .textBlockWithMask .contentWrapper h4, .textBlockWithMask .contentWrapper h5, .textBlockWithMask .contentWrapper h6, .textBlockWithMask .contentWrapper h1, .textBlockWithMask .contentWrapper h2 {
      font-size: 2rem;
      line-height: 3rem;
      text-align: center;
      width: 100%;
      color: var(--text_light);
      font-weight: 400;
      font-family: sofia-pro; }
    .textBlockWithMask .contentWrapper svg {
      position: absolute;
      width: 39.37094rem;
      height: 19.45763rem;
      left: -25.5rem;
      bottom: 5rem;
      opacity: 0.08; }
    .textBlockWithMask .contentWrapper a {
      color: var(--secondary);
      font-weight: 400;
      font-family: sofia-pro; }
    .textBlockWithMask .contentWrapper ul, .textBlockWithMask .contentWrapper ol {
      width: 100%; }
      .textBlockWithMask .contentWrapper ul li, .textBlockWithMask .contentWrapper ol li {
        margin-bottom: 1rem;
        font-size: 2rem;
        line-height: 3rem;
        width: 100%;
        color: var(--text_light);
        font-weight: 400;
        font-family: sofia-pro; }
    .textBlockWithMask .contentWrapper h3 {
      font-size: 2.5rem; }
    .textBlockWithMask .contentWrapper h2, .textBlockWithMask .contentWrapper h1 {
      font-size: 3rem; }

@media (max-width: 1024px) {
  .textBlockWithMask {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-bottom: 7.5rem;
    padding-top: 7.5rem; }
    .textBlockWithMask .contentWrapper {
      width: 100%; }
      .textBlockWithMask .contentWrapper p, .textBlockWithMask .contentWrapper h3, .textBlockWithMask .contentWrapper h4, .textBlockWithMask .contentWrapper h5, .textBlockWithMask .contentWrapper h6, .textBlockWithMask .contentWrapper h1, .textBlockWithMask .contentWrapper h2 {
        font-size: 1.5rem;
        line-height: 2rem;
        margin: auto; }
      .textBlockWithMask .contentWrapper svg {
        display: none; }
      .textBlockWithMask .contentWrapper ul li, .textBlockWithMask .contentWrapper ol li {
        font-size: 1.5rem;
        line-height: 2rem; }
      .textBlockWithMask .contentWrapper h3, .textBlockWithMask .contentWrapper h2, .textBlockWithMask .contentWrapper h1 {
        font-size: 2.25rem;
        line-height: 3rem; } }

.imageWithTextColumns {
  display: flex;
  justify-content: center;
  align-items: center; }
  .imageWithTextColumns .contentWrapper {
    margin: 12.81rem 20.69rem 13.31rem 12.5rem;
    display: flex;
    flex-flow: column; }
    .imageWithTextColumns .contentWrapper .column {
      display: flex;
      color: var(--text_light); }
      .imageWithTextColumns .contentWrapper .column .textContent .heading {
        font-size: 6.25rem;
        font-weight: 700;
        line-height: 6.25rem;
        font-family: sofia-pro;
        margin: 0;
        margin-bottom: 4rem;
        transform: translateX(-16rem); }
        .imageWithTextColumns .contentWrapper .column .textContent .heading span {
          color: var(--secondary); }
      .imageWithTextColumns .contentWrapper .column .textContent .description * {
        font-size: 1.125rem;
        font-weight: 400;
        line-height: 140%;
        letter-spacing: -0.00113rem;
        width: 38.125rem;
        opacity: 0.75;
        font-family: outfit; }
      .imageWithTextColumns .contentWrapper .column .textContent1 {
        margin-top: 15.31rem; }
        .imageWithTextColumns .contentWrapper .column .textContent1 .heading {
          transform: translateX(-14rem); }
        .imageWithTextColumns .contentWrapper .column .textContent1 .description * {
          width: 32.5rem; }
      .imageWithTextColumns .contentWrapper .column .textContent2 {
        margin-top: 7.5rem; }
        .imageWithTextColumns .contentWrapper .column .textContent2 .heading {
          transform: translateX(-8rem); }
      .imageWithTextColumns .contentWrapper .column .imageContent0 {
        margin-right: 10.62rem; }
        .imageWithTextColumns .contentWrapper .column .imageContent0 img {
          width: 38.125rem;
          height: 29rem;
          object-fit: cover; }
      .imageWithTextColumns .contentWrapper .column .imageContent1 {
        margin-left: 2.5rem;
        margin-right: -30.5rem;
        margin-top: 7.11rem; }
        .imageWithTextColumns .contentWrapper .column .imageContent1 img {
          width: 38.12569rem;
          height: 36.8125rem;
          object-fit: cover; }
      .imageWithTextColumns .contentWrapper .column .imageContent2 {
        margin-top: 7.5rem;
        margin-right: 19rem;
        margin-left: 8rem; }
        .imageWithTextColumns .contentWrapper .column .imageContent2 img {
          width: 38.125rem;
          height: 28.8125rem;
          object-fit: cover; }

@media screen and (max-width: 1580px) {
  .imageWithTextColumns .contentWrapper {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    margin-left: auto;
    margin-right: auto;
    width: 100%; }
    .imageWithTextColumns .contentWrapper .column {
      width: 100%;
      gap: 2.5rem; }
      .imageWithTextColumns .contentWrapper .column .imageContent0 {
        width: 50%;
        margin-left: -1.5rem;
        margin-right: 0rem; }
        .imageWithTextColumns .contentWrapper .column .imageContent0 img {
          width: 100%; }
      .imageWithTextColumns .contentWrapper .column .imageContent img {
        height: auto;
        width: 100%; }
      .imageWithTextColumns .contentWrapper .column .textContent {
        width: 50%; }
        .imageWithTextColumns .contentWrapper .column .textContent .description * {
          width: 100%; }
      .imageWithTextColumns .contentWrapper .column .textContent0 .description {
        margin-left: 5rem; }
      .imageWithTextColumns .contentWrapper .column .textContent1 .heading {
        transform: none; }
      .imageWithTextColumns .contentWrapper .column .textContent1 .description {
        margin-left: 5rem; }
      .imageWithTextColumns .contentWrapper .column .imageContent2 {
        width: 50%;
        margin-left: -1.5rem;
        margin-right: 0rem; }
        .imageWithTextColumns .contentWrapper .column .imageContent2 .description {
          margin-left: 5rem; }
      .imageWithTextColumns .contentWrapper .column .textContent2 {
        z-index: 1; }
        .imageWithTextColumns .contentWrapper .column .textContent2 .description {
          padding-left: 6rem; } }

@media (max-width: 1024px) {
  .imageWithTextColumns {
    justify-content: initial;
    align-items: initial; }
    .imageWithTextColumns .contentWrapper {
      margin: 5rem auto 5rem auto;
      row-gap: 5rem; }
      .imageWithTextColumns .contentWrapper .column {
        align-items: center; }
        .imageWithTextColumns .contentWrapper .column .textContent {
          width: 50%;
          order: 2 !important; }
          .imageWithTextColumns .contentWrapper .column .textContent .heading {
            font-size: 3rem;
            line-height: 3.75rem;
            margin: 0;
            margin-bottom: 2.5rem;
            transform: none; }
          .imageWithTextColumns .contentWrapper .column .textContent .description {
            margin-left: 0px !important;
            padding-left: 0px !important; }
            .imageWithTextColumns .contentWrapper .column .textContent .description * {
              font-size: 1rem;
              width: 100%; }
        .imageWithTextColumns .contentWrapper .column .imageContent {
          margin-right: auto;
          margin-left: auto;
          width: 50%;
          margin-bottom: 2.5rem;
          padding-right: 0px; }
          .imageWithTextColumns .contentWrapper .column .imageContent img {
            display: block;
            height: auto;
            width: 100%;
            object-fit: contain; }
        .imageWithTextColumns .contentWrapper .column .textContent1 {
          margin-top: 2.5rem; }
          .imageWithTextColumns .contentWrapper .column .textContent1 .heading {
            transform: none; }
        .imageWithTextColumns .contentWrapper .column .textContent2 {
          margin-top: auto; }
          .imageWithTextColumns .contentWrapper .column .textContent2 .heading {
            transform: none; }
        .imageWithTextColumns .contentWrapper .column .imageContent {
          margin-top: 0rem; } }

@media (max-width: 768px) {
  .imageWithTextColumns .contentWrapper {
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
    .imageWithTextColumns .contentWrapper .column {
      flex-direction: column; }
      .imageWithTextColumns .contentWrapper .column .textContent {
        width: 100%;
        margin-top: 0px; }
      .imageWithTextColumns .contentWrapper .column .imageContent {
        width: 100%;
        margin-bottom: 0px; }
        .imageWithTextColumns .contentWrapper .column .imageContent img {
          width: 100%;
          display: block;
          max-width: 36rem;
          margin-left: auto;
          margin-right: auto;
          height: auto;
          object-fit: cover; } }

.textBlockWithHeading {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--tertiary); }
  .textBlockWithHeading .contentWrapper {
    flex-flow: row;
    gap: 12rem;
    justify-content: flex-start;
    padding: 10rem 11.31rem 4.75rem;
    align-items: flex-end; }
    .textBlockWithHeading .contentWrapper h2 {
      width: 29.8125rem;
      min-width: 29.8125rem;
      font-size: 4rem;
      font-weight: 700;
      line-height: 115%;
      font-family: sofia-pro; }
    .textBlockWithHeading .contentWrapper .text {
      transform: translateY(-1.35rem); }
      .textBlockWithHeading .contentWrapper .text * {
        width: 38rem;
        min-width: 38rem;
        font-size: 1rem;
        font-weight: 400;
        line-height: 140%;
        letter-spacing: -0.001rem;
        font-family: outfit; }
  .textBlockWithHeading .heading_text_block_sm {
    gap: 9.69rem;
    padding: 13rem 12.5rem 7.12rem; }
    .textBlockWithHeading .heading_text_block_sm h2 {
      font-size: 3rem;
      font-weight: 700;
      line-height: 110%;
      min-width: 14.875rem;
      width: 14.875rem;
      position: relative;
      font-family: sofia-pro; }
      .textBlockWithHeading .heading_text_block_sm h2 hr {
        all: unset;
        display: block;
        width: 2.75rem;
        height: 0.3125rem;
        background-color: var(--secondary);
        position: absolute;
        left: 0;
        top: -5.5rem; }
    .textBlockWithHeading .heading_text_block_sm .text {
      transform: translateY(-0.65rem); }
      .textBlockWithHeading .heading_text_block_sm .text * {
        opacity: 0.75;
        min-width: 62.3125rem;
        width: 62.3125rem;
        font-family: outfit; }
    @media screen and (max-width: 1580px) {
      .textBlockWithHeading .heading_text_block_sm .text * {
        width: 100%;
        min-width: unset; } }
  .textBlockWithHeading .lg {
    align-items: flex-start;
    gap: 16.62rem;
    padding: 10rem 12.5rem; }
    .textBlockWithHeading .lg h2 {
      margin: 0;
      font-size: 4rem;
      font-weight: 800;
      line-height: 115%;
      letter-spacing: -0.04rem; }
    .textBlockWithHeading .lg .text * {
      width: 54.375rem;
      font-size: 1.5rem;
      font-weight: 400;
      line-height: 140%;
      letter-spacing: -0.0015rem; }

@media screen and (max-width: 1580px) {
  .textBlockWithHeading .contentWrapper {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    gap: 6rem; }
    .textBlockWithHeading .contentWrapper h2 {
      width: 100%;
      min-width: unset; } }

@media screen and (max-width: 1200px) {
  .textBlockWithHeading .contentWrapper {
    flex-direction: column;
    gap: 2.5rem; }
    .textBlockWithHeading .contentWrapper h2 {
      margin-top: 0px;
      margin-bottom: 0px; }
    .textBlockWithHeading .contentWrapper .text {
      width: 100%;
      transform: none; } }

@media screen and (max-width: 1024px) {
  .textBlockWithHeading {
    margin-left: auto;
    margin-right: auto;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 7.5rem;
    padding-bottom: 5rem; }
    .textBlockWithHeading .contentWrapper {
      padding: 0px;
      flex-direction: column;
      text-align: left;
      gap: 2.5rem; }
      .textBlockWithHeading .contentWrapper h2 {
        width: auto;
        min-width: unset;
        margin-bottom: 0px;
        margin-top: 0px;
        margin-left: 0px;
        margin-right: auto; }
      .textBlockWithHeading .contentWrapper .text {
        transform: none; }
        .textBlockWithHeading .contentWrapper .text p {
          width: auto;
          max-width: 100%;
          min-width: auto;
          line-height: 1.4; } }

@media screen and (max-width: 768px) {
  .textBlockWithHeading {
    margin-left: auto;
    margin-right: auto;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 7.5rem;
    padding-bottom: 5rem; }
    .textBlockWithHeading .contentWrapper {
      flex-direction: column;
      padding: 0px;
      row-gap: 2.5rem;
      column-gap: 0rem; }
      .textBlockWithHeading .contentWrapper h2 {
        font-size: 3rem;
        font-style: normal;
        font-weight: 700;
        line-height: 115%; }
      .textBlockWithHeading .contentWrapper .text {
        transform: none; }
        .textBlockWithHeading .contentWrapper .text p {
          font-size: 1rem;
          font-style: normal;
          line-height: 140%;
          width: auto;
          font-weight: 400;
          max-width: 100%;
          min-width: auto; } }

.imageWithTextColumns2 {
  background-color: var(--tertiary);
  display: flex;
  justify-content: center;
  align-items: center; }
  .imageWithTextColumns2 .contentWrapper {
    padding-left: 12.5rem;
    gap: 10.35rem; }
    .imageWithTextColumns2 .contentWrapper .column {
      display: flex;
      gap: 10.62rem; }
      .imageWithTextColumns2 .contentWrapper .column .textContent hr {
        all: unset;
        display: block;
        width: 2.75rem;
        height: 0.3125rem;
        background-color: var(--secondary); }
      .imageWithTextColumns2 .contentWrapper .column .textContent .heading {
        width: 21rem;
        font-size: 3rem;
        font-weight: 700;
        line-height: 110%;
        margin: 0;
        margin-bottom: 4rem;
        margin-top: 5rem;
        font-family: sofia-pro; }
        .imageWithTextColumns2 .contentWrapper .column .textContent .heading span {
          color: var(--secondary); }
      .imageWithTextColumns2 .contentWrapper .column .textContent .description {
        width: 30rem;
        margin-bottom: 3.81rem; }
        .imageWithTextColumns2 .contentWrapper .column .textContent .description * {
          font-size: 1rem;
          font-weight: 400;
          line-height: 140%;
          letter-spacing: -0.001rem;
          opacity: 0.75;
          font-family: outfit; }
      .imageWithTextColumns2 .contentWrapper .column .imageContent {
        width: 66.875rem;
        height: 38.0625rem; }
        .imageWithTextColumns2 .contentWrapper .column .imageContent img {
          width: 100%;
          height: 100%;
          object-fit: cover; }

@media screen and (max-width: 1580px) {
  .imageWithTextColumns2 .contentWrapper {
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
    .imageWithTextColumns2 .contentWrapper .column {
      gap: 2.5rem; }
      .imageWithTextColumns2 .contentWrapper .column .textContent {
        width: 50%; }
        .imageWithTextColumns2 .contentWrapper .column .textContent .heading {
          width: 100%; }
        .imageWithTextColumns2 .contentWrapper .column .textContent .description {
          width: 100%; }
      .imageWithTextColumns2 .contentWrapper .column .imageContent {
        height: 30rem;
        width: 50%; } }

@media (max-width: 1024px) {
  .imageWithTextColumns2 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-bottom: 5rem;
    padding-bottom: 5rem; }
    .imageWithTextColumns2 .contentWrapper {
      padding-left: 0px;
      padding-right: 0px;
      gap: 5.375rem; }
      .imageWithTextColumns2 .contentWrapper .column {
        display: flex;
        gap: 1.5rem; }
        .imageWithTextColumns2 .contentWrapper .column .textContent {
          width: 50%; }
          .imageWithTextColumns2 .contentWrapper .column .textContent hr {
            width: 2.75rem;
            height: 0.3125rem; }
          .imageWithTextColumns2 .contentWrapper .column .textContent .heading {
            width: 100%;
            font-size: 2rem;
            line-height: 2rem;
            margin-bottom: 2.5rem;
            margin-top: 2.5rem; }
          .imageWithTextColumns2 .contentWrapper .column .textContent .description {
            width: 100%;
            margin-bottom: 3.125rem; }
            .imageWithTextColumns2 .contentWrapper .column .textContent .description * {
              font-size: 1rem; }
        .imageWithTextColumns2 .contentWrapper .column .imageContent {
          width: 50%;
          height: 22.875rem;
          margin-bottom: 2.5rem; } }

@media (max-width: 768px) {
  .imageWithTextColumns2 {
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
    .imageWithTextColumns2 .contentWrapper {
      padding-left: 0;
      gap: 5.375rem; }
      .imageWithTextColumns2 .contentWrapper .column {
        display: flex;
        flex-direction: column-reverse;
        gap: 0; }
        .imageWithTextColumns2 .contentWrapper .column .textContent {
          width: 100%; }
          .imageWithTextColumns2 .contentWrapper .column .textContent hr {
            width: 2.75rem;
            height: 0.3125rem; }
          .imageWithTextColumns2 .contentWrapper .column .textContent .heading {
            width: 100%;
            font-size: 2rem;
            line-height: 2rem;
            margin-bottom: 2.5rem;
            margin-top: 2.5rem; }
          .imageWithTextColumns2 .contentWrapper .column .textContent .description {
            width: 100%;
            margin-bottom: 3.125rem; }
            .imageWithTextColumns2 .contentWrapper .column .textContent .description * {
              font-size: 1rem; }
        .imageWithTextColumns2 .contentWrapper .column .imageContent {
          width: 100%;
          height: 22.875rem;
          margin-bottom: 2.5rem; } }

.imageWithTextColumns3 {
  background-color: var(--tertiary);
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 14.56rem; }
  .imageWithTextColumns3 .contentWrapper {
    padding-left: 12.5rem;
    padding-right: 20.63rem;
    gap: 16.65rem; }
    .imageWithTextColumns3 .contentWrapper .column {
      display: flex;
      gap: 3.25rem; }
      .imageWithTextColumns3 .contentWrapper .column .textContent hr {
        all: unset;
        display: block;
        width: 2.75rem;
        height: 0.3125rem;
        background-color: var(--secondary); }
      .imageWithTextColumns3 .contentWrapper .column .textContent .heading {
        width: 30rem;
        font-size: 2rem;
        font-weight: 700;
        line-height: 110%;
        margin: 0;
        margin-bottom: 2.5rem;
        margin-top: 5rem;
        font-family: sofia-pro; }
        .imageWithTextColumns3 .contentWrapper .column .textContent .heading span {
          color: var(--secondary); }
      .imageWithTextColumns3 .contentWrapper .column .textContent .description {
        width: 45.5rem;
        margin-bottom: 3.81rem;
        opacity: 0.75; }
        .imageWithTextColumns3 .contentWrapper .column .textContent .description * {
          font-size: 1rem;
          font-weight: 400;
          line-height: 140%;
          letter-spacing: -0.001rem;
          font-family: outfit; }
      .imageWithTextColumns3 .contentWrapper .column .textContent a {
        font-family: outfit; }
      .imageWithTextColumns3 .contentWrapper .column .imageContent {
        width: 38.125rem;
        height: 18.125rem;
        transform: translateY(5.5rem);
        position: relative; }
        .imageWithTextColumns3 .contentWrapper .column .imageContent img {
          width: 100%;
          height: 100%;
          object-fit: cover; }
        .imageWithTextColumns3 .contentWrapper .column .imageContent .mask {
          position: absolute;
          right: -8.15rem;
          top: -4.75rem; }
        .imageWithTextColumns3 .contentWrapper .column .imageContent .green {
          width: 12.93413rem; }
        .imageWithTextColumns3 .contentWrapper .column .imageContent .yellow {
          top: -7.75rem;
          width: 16.88231rem; }
        .imageWithTextColumns3 .contentWrapper .column .imageContent .red {
          top: -4rem;
          right: -7.75rem;
          width: 15.74956rem; }

@media screen and (max-width: 1580px) {
  .imageWithTextColumns3 .contentWrapper {
    width: 100%;
    column-gap: 2.5rem;
    row-gap: 8rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
    .imageWithTextColumns3 .contentWrapper .column .textContent {
      width: 50%; }
      .imageWithTextColumns3 .contentWrapper .column .textContent .heading {
        width: 100%; }
      .imageWithTextColumns3 .contentWrapper .column .textContent .description {
        width: 100%; } }

@media (max-width: 1024px) {
  .imageWithTextColumns3 {
    background-color: var(--tertiary);
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 6.5625rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
    .imageWithTextColumns3 .contentWrapper {
      width: 100%;
      padding-left: 0;
      padding-right: 0;
      gap: 5rem; }
      .imageWithTextColumns3 .contentWrapper .column {
        display: flex;
        gap: 1.5rem; }
        .imageWithTextColumns3 .contentWrapper .column .textContent {
          width: 50%; }
          .imageWithTextColumns3 .contentWrapper .column .textContent .heading {
            width: 100%;
            margin-bottom: 2.5rem; }
          .imageWithTextColumns3 .contentWrapper .column .textContent .description {
            width: 100%;
            margin-bottom: 3.81rem; }
        .imageWithTextColumns3 .contentWrapper .column .imageContent {
          width: 50%;
          height: 18.125rem;
          transform: none;
          margin-top: 2.5rem; }
          .imageWithTextColumns3 .contentWrapper .column .imageContent img {
            width: 100%;
            height: 100%;
            object-fit: cover; }
          .imageWithTextColumns3 .contentWrapper .column .imageContent .mask {
            display: none; } }

@media (max-width: 768px) {
  .imageWithTextColumns3 {
    background-color: var(--tertiary);
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 6.5625rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
    .imageWithTextColumns3 .contentWrapper {
      width: 100%;
      padding-left: 0;
      padding-right: 0;
      gap: 5rem; }
      .imageWithTextColumns3 .contentWrapper .column {
        display: flex;
        flex-direction: column;
        gap: 0; }
        .imageWithTextColumns3 .contentWrapper .column .textContent {
          width: 100%; }
          .imageWithTextColumns3 .contentWrapper .column .textContent .heading {
            width: 100%;
            margin-bottom: 2.5rem; }
          .imageWithTextColumns3 .contentWrapper .column .textContent .description {
            width: 100%;
            margin-bottom: 3.81rem; }
        .imageWithTextColumns3 .contentWrapper .column .imageContent {
          width: 100%;
          height: 18.125rem;
          transform: none;
          margin-top: 2.5rem; }
          .imageWithTextColumns3 .contentWrapper .column .imageContent img {
            width: 100%;
            height: 100%;
            object-fit: cover; }
          .imageWithTextColumns3 .contentWrapper .column .imageContent .mask {
            display: none; } }

.relatedArticles {
  background-color: var(--primary);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%; }
  .relatedArticles .contentWrapper {
    align-items: flex-start;
    width: fit-content;
    padding-top: 9.75rem;
    padding-bottom: 12rem; }
    .relatedArticles .contentWrapper h2 {
      margin-top: 0px;
      color: var(--text_light);
      font-size: 3rem;
      font-weight: 700;
      line-height: 115%;
      font-family: sofia-pro; }
      .relatedArticles .contentWrapper h2 span {
        color: var(--secondary); }
    .relatedArticles .contentWrapper .cards {
      display: flex;
      gap: 2.5rem; }
      .relatedArticles .contentWrapper .cards .card {
        all: unset;
        width: 30rem;
        cursor: pointer; }
        .relatedArticles .contentWrapper .cards .card .imageContent {
          width: 100%;
          height: 23.75rem;
          padding-bottom: 60%;
          position: relative;
          transition: 0.2s ease; }
          .relatedArticles .contentWrapper .cards .card .imageContent img {
            position: absolute;
            width: 100%;
            height: 100%;
            object-fit: cover; }
        .relatedArticles .contentWrapper .cards .card .textContent {
          color: var(--text_light); }
          .relatedArticles .contentWrapper .cards .card .textContent .heading {
            font-size: 2rem;
            font-weight: 700;
            line-height: 2rem;
            margin: 1.25rem 0 1.5rem;
            font-family: sofia-pro; }
            .relatedArticles .contentWrapper .cards .card .textContent .heading h3 {
              margin-top: 2rem;
              margin-bottom: 2rem; }
          .relatedArticles .contentWrapper .cards .card .textContent .description {
            opacity: 0.75;
            line-height: 1.5;
            font-family: outfit; }
            .relatedArticles .contentWrapper .cards .card .textContent .description * {
              font-size: 1rem;
              font-weight: 400;
              line-height: 1.5rem; }
        .relatedArticles .contentWrapper .cards .card:hover .imageContent {
          transform: translateY(-0.5rem); }

@media screen and (max-width: 1580px) {
  .relatedArticles .contentWrapper {
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
    .relatedArticles .contentWrapper .cards .card {
      width: 100%; }
      .relatedArticles .contentWrapper .cards .card .imageContent {
        height: 0; } }

@media screen and (max-width: 1024px) {
  .relatedArticles .contentWrapper {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
    .relatedArticles .contentWrapper h2 {
      font-size: 2.5rem;
      margin-bottom: 5rem; }
    .relatedArticles .contentWrapper .cards {
      flex-wrap: wrap;
      justify-content: space-between;
      column-gap: 0px;
      row-gap: 2.5rem; }
      .relatedArticles .contentWrapper .cards .card {
        width: calc(50% - 1rem); }
        .relatedArticles .contentWrapper .cards .card .textContent .heading {
          margin-top: 2rem;
          margin-bottom: 2rem; } }

@media screen and (max-width: 768px) {
  .relatedArticles .contentWrapper .cards .card {
    width: 100%; }
    .relatedArticles .contentWrapper .cards .card .imageContent {
      height: 22.875rem; } }

@media screen and (max-width: 576px) {
  .relatedArticles .contentWrapper .cards .card {
    width: 100%; }
    .relatedArticles .contentWrapper .cards .card .imageContent {
      height: auto; } }

.contactBlock {
  background-color: var(--tertiary);
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative; }
  .contactBlock .contentWrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    position: static;
    padding-top: 9.62rem;
    padding-bottom: 5rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 8.5rem; }
    .contactBlock .contentWrapper .textContent {
      max-width: 46.25rem;
      margin-left: auto; }
      .contactBlock .contentWrapper .textContent .superscript {
        color: var(--secondary);
        font-size: 1rem;
        font-weight: 700;
        line-height: 110%;
        letter-spacing: 0.2rem;
        text-transform: uppercase;
        margin: 0;
        font-family: outfit; }
      .contactBlock .contentWrapper .textContent h1 {
        font-size: 5rem;
        font-weight: 700;
        line-height: 110%;
        margin: 0;
        margin-top: 1.5rem;
        width: 46.25rem;
        font-family: sofia-pro; }
        .contactBlock .contentWrapper .textContent h1 span {
          color: var(--secondary); }
      .contactBlock .contentWrapper .textContent svg {
        position: absolute;
        left: -17rem;
        bottom: 12rem;
        width: 38.12494rem;
        height: 28.26525rem; }
      .contactBlock .contentWrapper .textContent .list {
        position: relative;
        z-index: 1;
        margin-left: 16.5rem;
        margin-top: 4.75rem; }
        .contactBlock .contentWrapper .textContent .list .item {
          width: 32.1875rem;
          margin-bottom: 2.5rem; }
          .contactBlock .contentWrapper .textContent .list .item .heading {
            font-size: 1.5rem;
            font-weight: 700;
            line-height: 2rem;
            font-family: sofia-pro; }
          .contactBlock .contentWrapper .textContent .list .item .description * {
            font-size: 1rem;
            font-weight: 400;
            line-height: 1.5rem;
            font-family: outfit; }
    .contactBlock .contentWrapper .decorTopRight {
      position: absolute;
      top: 0;
      right: 0;
      width: 30.61231rem;
      height: 30.1875rem;
      z-index: 0; }
    .contactBlock .contentWrapper > .form {
      background-color: var(--primary);
      color: var(--text_light);
      padding: 2.5rem 2.5rem 3rem 2.5rem;
      width: 38.125rem;
      min-width: 38.125rem;
      position: relative;
      height: 100%;
      z-index: 1; }
      .contactBlock .contentWrapper > .form .gform_validation_errors, .contactBlock .contentWrapper > .form .gform_required_legend {
        display: none; }
      .contactBlock .contentWrapper > .form h2 {
        font-size: 2rem;
        font-weight: 700;
        line-height: 110%;
        margin: 0;
        margin-bottom: 1.5rem;
        font-family: sofia-pro; }
      .contactBlock .contentWrapper > .form p {
        font-size: 1rem;
        font-weight: 400;
        line-height: 1.5rem;
        margin: 0;
        font-family: outfit; }
      .contactBlock .contentWrapper > .form .gform_confirmation_wrapper {
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        pointer-events: none;
        padding: 3.5rem 0 2rem; }
        .contactBlock .contentWrapper > .form .gform_confirmation_wrapper svg {
          width: 33.125rem;
          height: fit-content;
          margin-top: 5rem; }
      .contactBlock .contentWrapper > .form form {
        display: flex;
        flex-flow: column;
        gap: 1rem;
        margin-top: 2rem; }
        .contactBlock .contentWrapper > .form form .gfield_description.validation_message {
          padding-left: 0px;
          font-size: 0.75rem;
          margin-top: 0px; }
        .contactBlock .contentWrapper > .form form .gfield_label {
          color: var(--text_light);
          font-size: 1rem;
          font-weight: 400;
          font-family: sofia-pro; }
        .contactBlock .contentWrapper > .form form .gfield {
          position: relative; }
        .contactBlock .contentWrapper > .form form .gform-field-label {
          position: absolute;
          pointer-events: none;
          transition: 0.2s ease;
          top: 2rem;
          margin: 0; }
        .contactBlock .contentWrapper > .form form .gfield--type-textarea {
          margin-top: 1rem; }
          .contactBlock .contentWrapper > .form form .gfield--type-textarea .gform-field-label {
            top: 0.75rem;
            left: 1rem; }
        .contactBlock .contentWrapper > .form form .gfield_required .gfield_required_asterisk {
          color: var(--secondary);
          font-size: 1rem;
          font-weight: 400;
          line-height: 1.125rem; }
        .contactBlock .contentWrapper > .form form .gfield_error [aria-invalid=true] {
          border: none;
          border-bottom: 0.01rem solid var(--text_light_opacity_2); }
        .contactBlock .contentWrapper > .form form .gfield_description {
          color: var(--secondary);
          background-color: transparent;
          border: none;
          padding: 0.5rem 1rem 1rem;
          font-size: 1rem;
          font-weight: 400;
          line-height: 1.125rem; }
        .contactBlock .contentWrapper > .form form input, .contactBlock .contentWrapper > .form form textarea {
          all: unset;
          border-bottom: 0.01rem solid var(--text_light_opacity_2);
          padding: 2rem 0 1rem;
          color: var(--text_light);
          font-size: 1rem;
          font-weight: 400;
          line-height: 1.125rem;
          width: 100%;
          font-family: sofia-pro; }
          .contactBlock .contentWrapper > .form form input::placeholder, .contactBlock .contentWrapper > .form form textarea::placeholder {
            color: var(--text_light); }
        .contactBlock .contentWrapper > .form form textarea {
          background-color: rgba(255, 255, 255, 0.1);
          padding: 1rem;
          box-sizing: border-box;
          height: 14rem !important; }
        .contactBlock .contentWrapper > .form form .gform_footer {
          width: fit-content;
          align-self: flex-end;
          justify-self: flex-end; }
          .contactBlock .contentWrapper > .form form .gform_footer input[type="submit"] {
            all: unset;
            cursor: pointer;
            color: var(--primary);
            background-color: var(--secondary);
            padding: 1rem 1.125rem 0.8rem 1.125rem;
            border-radius: 100rem;
            line-height: 1;
            font-size: 1rem;
            font-style: normal;
            font-weight: 400;
            line-height: 120%;
            letter-spacing: -0.016rem;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 0.5rem;
            transition: 0.2s ease;
            position: relative; }
        .contactBlock .contentWrapper > .form form button {
          transform: translateX(-1.5rem);
          align-self: flex-end; }

@media screen and (max-width: 1580px) {
  .contactBlock .contentWrapper {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    gap: 2.5rem; }
    .contactBlock .contentWrapper .textContent {
      width: 100%;
      max-width: 100%; }
      .contactBlock .contentWrapper .textContent h1 {
        width: 100%; }
      .contactBlock .contentWrapper .textContent svg {
        bottom: 0px;
        display: none; }
      .contactBlock .contentWrapper .textContent .list {
        margin-left: 0px; }
    .contactBlock .contentWrapper .form {
      width: 100%;
      min-width: unset; } }

@media screen and (max-width: 1200px) {
  .contactBlock .contentWrapper {
    position: relative;
    padding: 0rem;
    padding-top: 5rem;
    padding-bottom: 5rem;
    margin-left: 1.5rem;
    margin-right: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 2.5rem; }
    .contactBlock .contentWrapper .form {
      width: 100%;
      padding-top: 2.5rem 1.5rem;
      min-width: unset; }
      .contactBlock .contentWrapper .form form button {
        align-self: start;
        transform: none; }
    .contactBlock .contentWrapper .textContent {
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 0rem; }
      .contactBlock .contentWrapper .textContent svg {
        bottom: auto;
        top: 62rem;
        width: auto;
        height: 28rem;
        left: -8rem; }
      .contactBlock .contentWrapper .textContent .superscript {
        margin-bottom: 1.5rem; }
      .contactBlock .contentWrapper .textContent h1 {
        width: auto;
        font-size: 3.5rem; }
      .contactBlock .contentWrapper .textContent .list {
        margin-left: 0px;
        margin-top: 5rem; }
        .contactBlock .contentWrapper .textContent .list .item {
          width: 100%;
          margin-bottom: 2.5rem; }
          .contactBlock .contentWrapper .textContent .list .item .heading {
            margin-top: 0px;
            margin-bottom: 1.5rem; }
          .contactBlock .contentWrapper .textContent .list .item .description p {
            margin: 0px;
            color: #0F463C;
            font-style: normal;
            font-weight: 400;
            line-height: 150%; }
    .contactBlock .contentWrapper .decorTopRight {
      bottom: 0rem;
      width: 14.375rem;
      right: -6rem;
      top: 82.8%; } }

@media screen and (max-width: 768px) {
  .contactBlock .contentWrapper {
    display: flex;
    gap: 5rem; }
    .contactBlock .contentWrapper .textContent {
      margin-bottom: 0px; }
      .contactBlock .contentWrapper .textContent .list .item:last-of-type {
        margin-bottom: 0px; }
    .contactBlock .contentWrapper .form {
      padding-left: 1.5rem;
      padding-right: 1.5rem; }
      .contactBlock .contentWrapper .form .gform_footer {
        align-self: start; } }

.caseStudiesBlock {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column; }
  .caseStudiesBlock .filter-wrapper {
    background-color: var(--primary);
    width: 100vw; }
    .caseStudiesBlock .filter-wrapper .filters {
      display: flex;
      gap: 2.5rem;
      padding: 4.56rem 1.5rem;
      justify-content: center;
      user-select: none; }
      .caseStudiesBlock .filter-wrapper .filters .filters-inner-wrapper {
        display: flex;
        flex-direction: row;
        gap: 2.5rem; }
      .caseStudiesBlock .filter-wrapper .filters .clearFilter {
        font-family: outfit;
        border: none;
        margin-top: 1.5rem;
        align-self: flex-end;
        margin-left: 5rem;
        cursor: pointer;
        color: var(--primary);
        background-color: var(--secondary);
        padding: 1rem 2rem 0.9rem 2rem;
        border-radius: 100rem;
        line-height: 1;
        font-size: 1rem;
        font-style: normal;
        font-weight: 400;
        line-height: 120%;
        letter-spacing: -0.016rem;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        transition: 0.2s ease;
        height: fit-content;
        white-space: nowrap; }
        .caseStudiesBlock .filter-wrapper .filters .clearFilter:hover {
          background-color: var(--secondary_light_2); }
      .caseStudiesBlock .filter-wrapper .filters .filter {
        width: 100%;
        position: relative; }
        .caseStudiesBlock .filter-wrapper .filters .filter .activeOption {
          width: 41.5rem;
          color: var(--text_light);
          border-bottom: 0.01rem solid var(--text_light_opacity_2); }
          .caseStudiesBlock .filter-wrapper .filters .filter .activeOption .superscript {
            font-size: 1.125rem;
            font-family: sofia-pro;
            font-weight: 500;
            line-height: 110%; }
          .caseStudiesBlock .filter-wrapper .filters .filter .activeOption .activeTextContent {
            display: flex;
            justify-content: space-between;
            align-items: flex-end;
            cursor: pointer;
            margin-top: 1rem; }
            .caseStudiesBlock .filter-wrapper .filters .filter .activeOption .activeTextContent * {
              pointer-events: none; }
            .caseStudiesBlock .filter-wrapper .filters .filter .activeOption .activeTextContent .activeOptionText {
              font-family: sofia-pro;
              font-size: 3.75rem;
              font-weight: 400;
              line-height: 175%;
              opacity: 0.4000000059604645;
              white-space: nowrap;
              overflow: hidden;
              text-overflow: ellipsis; }
            .caseStudiesBlock .filter-wrapper .filters .filter .activeOption .activeTextContent svg {
              margin-bottom: 1.5rem;
              width: 1.5rem;
              height: 1.5rem;
              min-width: 1.5rem;
              min-height: 1.5rem;
              transition: 0.2s ease; }
        .caseStudiesBlock .filter-wrapper .filters .filter .options {
          display: none;
          position: absolute;
          background-color: var(--primary_dark3);
          width: 100%;
          max-height: 29.25rem;
          overflow-x: hidden;
          overflow-y: overlay;
          top: calc( 100% + 1.5rem);
          z-index: 2;
          padding: 0 2rem; }
          .caseStudiesBlock .filter-wrapper .filters .filter .options .option {
            color: var(--text_light);
            font-size: 2.5rem;
            font-weight: 400;
            line-height: 110%;
            opacity: 0.4000000059604645;
            padding: 1rem 0;
            transition: 0.2s ease;
            cursor: pointer;
            border-bottom: 0.01rem solid var(--text_light_opacity_2); }
            .caseStudiesBlock .filter-wrapper .filters .filter .options .option:hover {
              opacity: 1; }
            .caseStudiesBlock .filter-wrapper .filters .filter .options .option * {
              pointer-events: none; }
          .caseStudiesBlock .filter-wrapper .filters .filter .options .activeOption {
            background-color: var(--secondary);
            opacity: 1;
            transform: translateX(-2rem);
            padding-left: 2rem;
            width: calc( 100% + 4rem); }
      .caseStudiesBlock .filter-wrapper .filters .activeFilter .activeTextContent svg {
        transform: rotate(180deg); }
      .caseStudiesBlock .filter-wrapper .filters .activeFilter .options {
        display: block; }
  .caseStudiesBlock .contentWrapper {
    padding: 0;
    padding-bottom: 1.5rem; }
    .caseStudiesBlock .contentWrapper .cards {
      display: grid;
      grid-template-columns: repeat(3, 32.5rem);
      gap: 2.5rem;
      row-gap: 5rem;
      padding-top: 5rem;
      min-height: 32.5rem; }
      .caseStudiesBlock .contentWrapper .cards .card {
        all: unset;
        cursor: pointer; }
        .caseStudiesBlock .contentWrapper .cards .card .thumbnail {
          width: 100%;
          height: 36.25rem;
          transition: 0.2s ease; }
          .caseStudiesBlock .contentWrapper .cards .card .thumbnail img {
            width: 100%;
            height: 100%;
            object-fit: cover; }
        .caseStudiesBlock .contentWrapper .cards .card .textContent {
          color: var(--text_light); }
          .caseStudiesBlock .contentWrapper .cards .card .textContent h2 {
            font-family: sofia-pro;
            font-size: 2rem;
            font-weight: 700;
            line-height: 140%;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
            line-clamp: 2;
            overflow: hidden;
            text-overflow: ellipsis; }
          .caseStudiesBlock .contentWrapper .cards .card .textContent .excerpt * {
            opacity: 0.75;
            font-size: 1rem;
            font-weight: 400;
            line-height: 1.5rem;
            font-family: outfit; }
          .caseStudiesBlock .contentWrapper .cards .card .textContent .tags {
            display: flex;
            flex-flow: wrap;
            gap: 0.9rem;
            margin-top: 1.5rem;
            border-color: inherit;
            color: inherit; }
            .caseStudiesBlock .contentWrapper .cards .card .textContent .tags .tag {
              font-family: sofia-pro;
              width: fit-content;
              font-size: 0.875rem;
              line-height: 1.25rem;
              letter-spacing: -0.0014rem;
              border-width: 0.0625rem;
              border-style: solid;
              border-color: inherit;
              border-radius: 0.375rem;
              padding: 0.75rem 0.5rem;
              color: inherit;
              text-transform: capitalize; }
        .caseStudiesBlock .contentWrapper .cards .card:hover .thumbnail {
          transform: translateY(-0.3rem); }
  .caseStudiesBlock .pagination {
    padding-top: 1.5rem;
    width: 100vw;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    margin-top: 6.75rem;
    border-top: 0.125rem solid rgba(255, 255, 255, 0.2); }
    .caseStudiesBlock .pagination .prev svg, .caseStudiesBlock .pagination .next svg {
      background-color: var(--text_light);
      border-radius: 100%;
      width: 1.5rem;
      height: 1.5rem;
      padding: 0.45rem; }
      .caseStudiesBlock .pagination .prev svg path, .caseStudiesBlock .pagination .next svg path {
        stroke: var(--primary); }
    .caseStudiesBlock .pagination .mobile-pagination {
      display: none;
      color: var(--text_light); }
    .caseStudiesBlock .pagination .paginationItem {
      all: unset;
      cursor: pointer;
      width: 1.5rem;
      height: 1.5rem;
      display: flex;
      justify-content: center;
      align-items: center;
      color: var(--text_light);
      font-size: 1.125rem;
      font-style: normal;
      font-weight: 700;
      line-height: 2.5rem;
      transition: 0.2s ease; }
      .caseStudiesBlock .pagination .paginationItem:hover {
        opacity: 0.5; }
    .caseStudiesBlock .pagination .current {
      color: var(--primary2);
      text-decoration: underline; }
      .caseStudiesBlock .pagination .current:hover {
        opacity: 1; }
    .caseStudiesBlock .pagination .ellipsis:hover {
      opacity: 1; }
  .caseStudiesBlock .no_result_message_div {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center; }
    .caseStudiesBlock .no_result_message_div .no_result_message {
      position: absolute;
      left: 50%;
      font-size: 2rem;
      transform: translate(-50%, -2.5rem);
      color: white;
      opacity: 0.75; }

@media screen and (max-width: 1580px) {
  .caseStudiesBlock .contentWrapper {
    width: 100vw; }
    .caseStudiesBlock .contentWrapper .filters {
      padding-left: 1.5rem;
      padding-right: 1.5rem;
      width: 100%;
      flex-direction: column; }
      .caseStudiesBlock .contentWrapper .filters .clearFilter {
        margin-left: 0px;
        margin-top: 0px;
        align-self: start; }
      .caseStudiesBlock .contentWrapper .filters .filters-inner-wrapper {
        width: 100%; }
      .caseStudiesBlock .contentWrapper .filters .filter {
        width: 50%; }
        .caseStudiesBlock .contentWrapper .filters .filter .activeOption {
          width: 100%; }
          .caseStudiesBlock .contentWrapper .filters .filter .activeOption .activeTextContent .activeOptionText {
            font-size: 2.5rem; }
        .caseStudiesBlock .contentWrapper .filters .filter > .activeOption {
          width: 100%; }
        .caseStudiesBlock .contentWrapper .filters .filter .options {
          width: 100%; }
          .caseStudiesBlock .contentWrapper .filters .filter .options .option {
            font-size: 1.5rem; }
    .caseStudiesBlock .contentWrapper .cards {
      grid-template-columns: repeat(2, 1fr);
      padding-left: 1.5rem;
      padding-right: 1.5rem; }
      .caseStudiesBlock .contentWrapper .cards .card .thumbnail {
        height: 32rem; } }

@media (max-width: 1024px) {
  .caseStudiesBlock {
    display: flex; }
    .caseStudiesBlock .filters {
      justify-content: center;
      gap: 1rem;
      padding: 0;
      padding-top: 2.5rem;
      padding-bottom: 2.5rem;
      width: 100vw; }
      .caseStudiesBlock .filters .clearFilter {
        margin-right: 1.5rem; }
      .caseStudiesBlock .filters .filter {
        width: 50%; }
        .caseStudiesBlock .filters .filter .activeOption {
          width: 100%; }
          .caseStudiesBlock .filters .filter .activeOption .superscript {
            font-size: 0.875rem; }
          .caseStudiesBlock .filters .filter .activeOption .activeTextContent .activeOptionText {
            font-size: 2.5rem; }
    .caseStudiesBlock .contentWrapper .cards {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 2.5rem;
      padding-top: 5rem; }
      .caseStudiesBlock .contentWrapper .cards .card .thumbnail {
        height: 22.875rem; }
      .caseStudiesBlock .contentWrapper .cards .card .textContent h2 {
        font-size: 1.5rem;
        letter-spacing: -0.015rem; }
      .caseStudiesBlock .contentWrapper .cards .card .textContent .excerpt * {
        margin-top: 1.5rem;
        font-size: 1rem; }
      .caseStudiesBlock .contentWrapper .cards .card .textContent .tags {
        margin-top: 1.5rem;
        margin-bottom: 2.5rem; } }

@media (max-width: 768px) {
  .caseStudiesBlock {
    display: flex;
    overflow: hidden; }
    .caseStudiesBlock .filter-wrapper .filters {
      padding-left: 1.5rem;
      padding-right: 1.5rem;
      width: 100%;
      display: flex;
      flex-direction: column;
      gap: 1.25rem;
      padding-top: 2.5rem;
      padding-bottom: 2.5rem;
      width: 100vw !important; }
      .caseStudiesBlock .filter-wrapper .filters .filters-inner-wrapper {
        display: flex;
        flex-direction: column; }
      .caseStudiesBlock .filter-wrapper .filters .clearFilter {
        width: 100%; }
      .caseStudiesBlock .filter-wrapper .filters .filter {
        width: 100%;
        padding-left: 0px;
        padding-right: 0px; }
        .caseStudiesBlock .filter-wrapper .filters .filter .options {
          left: 0;
          top: calc( 100% + 0.5rem); }
        .caseStudiesBlock .filter-wrapper .filters .filter .activeOption {
          width: 100%; }
          .caseStudiesBlock .filter-wrapper .filters .filter .activeOption .superscript {
            font-size: 0.875rem; }
          .caseStudiesBlock .filter-wrapper .filters .filter .activeOption .activeTextContent .activeOptionText {
            font-size: 2.5rem; }
          .caseStudiesBlock .filter-wrapper .filters .filter .activeOption .activeTextContent svg {
            margin-bottom: 1rem; }
    .caseStudiesBlock .contentWrapper {
      padding-bottom: 1.5rem; }
      .caseStudiesBlock .contentWrapper .pagination {
        margin-top: 0px;
        justify-content: space-between;
        padding-left: 1.5rem;
        padding-right: 1.5rem; }
        .caseStudiesBlock .contentWrapper .pagination .paginationItem {
          display: none; }
        .caseStudiesBlock .contentWrapper .pagination .paginationItem.prev {
          display: block; }
        .caseStudiesBlock .contentWrapper .pagination .paginationItem.next {
          display: block; }
        .caseStudiesBlock .contentWrapper .pagination .mobile-pagination {
          display: block; }
      .caseStudiesBlock .contentWrapper .cards {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        width: 100%;
        gap: 2.5rem;
        padding-top: 5rem; }
        .caseStudiesBlock .contentWrapper .cards .card .thumbnail {
          height: 22.875rem; }
        .caseStudiesBlock .contentWrapper .cards .card .textContent h2 {
          font-size: 1.5rem;
          letter-spacing: -0.015rem; }
        .caseStudiesBlock .contentWrapper .cards .card .textContent .excerpt * {
          margin-top: 1.5rem;
          font-size: 1rem; }
        .caseStudiesBlock .contentWrapper .cards .card .textContent .tags {
          margin-top: 1.5rem;
          margin-bottom: 2.5rem; }
    .caseStudiesBlock .no_result_message_div .no_result_message {
      font-size: 1rem; } }

.caseStudiesBlock.newsBlock {
  background-color: var(--tertiary);
  position: relative; }
  .caseStudiesBlock.newsBlock .filters {
    padding-left: 8.5rem;
    padding-right: 8.5rem; }
    .caseStudiesBlock.newsBlock .filters .filter .activeOption {
      width: 32rem; }
  .caseStudiesBlock.newsBlock .contentWrapper .cards .card .thumbnail {
    height: 23.75rem; }
  .caseStudiesBlock.newsBlock .contentWrapper .cards .card .textContent {
    color: var(--text_dark); }
  .caseStudiesBlock.newsBlock .pagination {
    border-top: 0.125rem solid rgba(15, 70, 60, 0.2); }
    .caseStudiesBlock.newsBlock .pagination .prev svg, .caseStudiesBlock.newsBlock .pagination .next svg {
      background-color: var(--primary); }
      .caseStudiesBlock.newsBlock .pagination .prev svg path, .caseStudiesBlock.newsBlock .pagination .next svg path {
        stroke: var(--text_light); }
    .caseStudiesBlock.newsBlock .pagination .paginationItem {
      color: var(--primary); }
    .caseStudiesBlock.newsBlock .pagination .current {
      color: var(--primary2); }
    .caseStudiesBlock.newsBlock .pagination .mobile-pagination {
      color: var(--primary); }
  .caseStudiesBlock.newsBlock .no_result_message_div .no_result_message {
    color: var(--textColor); }

@media screen and (max-width: 1580px) {
  .newsBlock.caseStudiesBlock .contentWrapper .filter-wrapper .filters {
    flex-direction: row;
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
    .newsBlock.caseStudiesBlock .contentWrapper .filter-wrapper .filters .filter {
      width: 33.33%; }
      .newsBlock.caseStudiesBlock .contentWrapper .filter-wrapper .filters .filter .activeOption .activeTextContent .activeOptionText {
        font-size: 2.5rem; }
      .newsBlock.caseStudiesBlock .contentWrapper .filter-wrapper .filters .filter > .activeOption {
        width: 100%; }
      .newsBlock.caseStudiesBlock .contentWrapper .filter-wrapper .filters .filter .options {
        width: 100%; }
        .newsBlock.caseStudiesBlock .contentWrapper .filter-wrapper .filters .filter .options .option {
          font-size: 1.5rem; } }

@media screen and (max-width: 1024px) {
  .caseStudiesBlock.newsBlock .contentWrapper .filter-wrapper .filters {
    flex-direction: column;
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
    .caseStudiesBlock.newsBlock .contentWrapper .filter-wrapper .filters .filter {
      width: 100%;
      padding-left: 0px;
      padding-right: 0px; }
      .caseStudiesBlock.newsBlock .contentWrapper .filter-wrapper .filters .filter > .activeOption {
        width: 100%; } }

@media screen and (max-width: 768px) {
  .caseStudiesBlock.newsBlock .contentWrapper .filters .filter .options {
    width: 100%; } }

.textBlock {
  display: flex;
  justify-content: center;
  align-items: center;
  --textColor: var(--text_light);
  --backgroundColor: var(--primary);
  background-color: var(--backgroundColor); }
  .textBlock .contentWrapper {
    width: 78.75rem;
    padding: 10rem 0; }
    .textBlock .contentWrapper .text * {
      color: var(--textColor);
      text-align: center;
      font-size: 2rem;
      font-weight: 400;
      line-height: 3rem;
      font-family: sofia-pro; }

.padding_bottom_sm .textBlock .contentWrapper {
  padding-top: 10rem;
  padding-bottom: 0rem; }

@media screen and (max-width: 1580px) {
  .textBlock .contentWrapper {
    padding-left: 1.5rem;
    padding-right: 1.5rem; } }

@media screen and (max-width: 1024px) {
  .textBlock .contentWrapper {
    padding-top: 5rem;
    padding-bottom: 2.5rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
    .textBlock .contentWrapper .text * {
      font-size: 1.5rem;
      line-height: 2rem;
      margin: 0px; } }

.imageWithTextColumns4 {
  display: flex;
  justify-content: center;
  align-items: center;
  --textColor: var(--text_light);
  --backgroundColor: var(--primary);
  background-color: var(--backgroundColor); }
  .imageWithTextColumns4 .contentWrapper {
    padding: 10rem 12.5rem 9.69rem;
    display: flex;
    flex-flow: column;
    gap: 10rem; }
    .imageWithTextColumns4 .contentWrapper .column {
      display: flex;
      color: var(--textColor);
      gap: 10.62rem; }
      .imageWithTextColumns4 .contentWrapper .column .textContent {
        width: 38.125rem;
        font-family: outfit; }
        .imageWithTextColumns4 .contentWrapper .column .textContent .heading {
          font-size: 4rem;
          font-weight: 700;
          line-height: 110%;
          margin: 0;
          margin-bottom: 2rem;
          font-family: sofia-pro; }
          .imageWithTextColumns4 .contentWrapper .column .textContent .heading span {
            color: var(--secondary); }
        .imageWithTextColumns4 .contentWrapper .column .textContent .description {
          font-family: outfit; }
          .imageWithTextColumns4 .contentWrapper .column .textContent .description * {
            font-size: 1.125rem;
            font-weight: 400;
            line-height: 140%;
            letter-spacing: -0.00113rem;
            opacity: 0.75; }
        .imageWithTextColumns4 .contentWrapper .column .textContent .list {
          display: grid;
          grid-template-columns: repeat(2, 1fr);
          margin-top: 2rem;
          gap: 2rem; }
          .imageWithTextColumns4 .contentWrapper .column .textContent .list .item {
            display: flex;
            align-items: center;
            gap: 1rem; }
      .imageWithTextColumns4 .contentWrapper .column .imageContent img {
        height: 39rem;
        object-fit: cover; }

@media screen and (max-width: 1580px) {
  .imageWithTextColumns4 .contentWrapper {
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
    .imageWithTextColumns4 .contentWrapper .column {
      width: 100%;
      gap: 5rem; }
      .imageWithTextColumns4 .contentWrapper .column .textContent {
        width: 50%; }
      .imageWithTextColumns4 .contentWrapper .column .imageContent {
        width: 50%; }
        .imageWithTextColumns4 .contentWrapper .column .imageContent img {
          width: 100%;
          object-fit: contain; } }

@media screen and (max-width: 1024px) {
  .imageWithTextColumns4 .contentWrapper {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 5rem;
    padding-bottom: 5rem;
    gap: 7.5rem; }
    .imageWithTextColumns4 .contentWrapper .column {
      column-gap: 2.5rem;
      flex-direction: column; }
      .imageWithTextColumns4 .contentWrapper .column .textContent {
        width: 100%; }
        .imageWithTextColumns4 .contentWrapper .column .textContent .heading {
          font-size: 3rem; }
        .imageWithTextColumns4 .contentWrapper .column .textContent .description p {
          font-size: 1rem; }
        .imageWithTextColumns4 .contentWrapper .column .textContent .list {
          column-gap: 0.8rem;
          row-gap: 1.5rem; }
      .imageWithTextColumns4 .contentWrapper .column .imageContent {
        width: 100%;
        order: 2; }
        .imageWithTextColumns4 .contentWrapper .column .imageContent img {
          display: block;
          max-width: 36rem;
          margin-left: auto;
          margin-right: auto;
          width: 100%;
          height: auto;
          object-fit: cover; } }

@media screen and (max-width: 768px) {
  .imageWithTextColumns4 .contentWrapper .column {
    flex-direction: column;
    column-gap: 2.5rem;
    row-gap: 2.5rem; } }

.carouselCaseStudies {
  position: relative;
  color: var(--text_light);
  background-color: var(--primary);
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 6.375rem; }
  .carouselCaseStudies .contentWrapper {
    padding-left: 0px;
    padding-right: 0px; }
  .carouselCaseStudies .case_studies_carousel {
    transform: translateX(-16.5%); }
  .carouselCaseStudies .textContent {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15.5625rem;
    padding: 10rem 12.5rem 5rem;
    width: 100%; }
    .carouselCaseStudies .textContent h3 {
      font-size: 4rem;
      width: 35rem;
      font-weight: 700;
      line-height: 115%;
      margin: 0;
      font-family: sofia-pro; }
      .carouselCaseStudies .textContent h3 span {
        color: var(--secondary); }
    .carouselCaseStudies .textContent .buttons {
      display: flex;
      align-items: center;
      gap: 1rem;
      margin-top: 6.5rem;
      margin-left: 0.125rem; }
    .carouselCaseStudies .textContent .descriptionContent {
      margin-left: 0;
      width: 38rem; }
      .carouselCaseStudies .textContent .descriptionContent p {
        width: 100%;
        font-size: 1rem;
        line-height: 1.4rem;
        letter-spacing: -0.001rem;
        opacity: 0.75; }
      .carouselCaseStudies .textContent .descriptionContent a {
        margin-top: 2rem; }
  .carouselCaseStudies .carousel {
    width: 100%;
    overflow: hidden; }
    .carouselCaseStudies .carousel .card {
      all: unset;
      color: var(--text_light);
      padding: 0 1.25rem;
      user-select: none;
      cursor: pointer;
      box-sizing: border-box;
      display: block; }
      .carouselCaseStudies .carousel .card .decription {
        font-family: outfit; }
      .carouselCaseStudies .carousel .card img {
        width: 100%;
        height: 28.6875rem;
        object-fit: cover;
        transition: 0.2s ease; }
      .carouselCaseStudies .carousel .card h5 {
        font-size: 2rem;
        line-height: 115%;
        letter-spacing: -0.02rem;
        font-weight: 700;
        margin: 0;
        margin-top: 1.5rem;
        font-family: sofia-pro; }
      .carouselCaseStudies .carousel .card .tags {
        display: flex;
        flex-flow: wrap;
        gap: 0.9rem;
        margin-top: 1.5rem;
        border-color: inherit;
        color: inherit; }
        .carouselCaseStudies .carousel .card .tags .tag {
          font-size: 0.875rem;
          line-height: 1.25rem;
          letter-spacing: -0.0014rem;
          border-width: 0.0625rem;
          border-style: solid;
          border-color: inherit;
          border-radius: 0.375rem;
          padding: 0.75rem 0.5rem;
          color: inherit;
          text-transform: capitalize;
          font-family: sofia-pro; }
      .carouselCaseStudies .carousel .card:hover img {
        transform: translateY(0.25rem); }

@media screen and (max-width: 1580px) {
  .carouselCaseStudies .case_studies_carousel {
    transform: none;
    margin-botto: 1px; }
  .carouselCaseStudies .contentWrapper .textContent {
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
    .carouselCaseStudies .contentWrapper .textContent h3 {
      width: fit-content; }
    .carouselCaseStudies .contentWrapper .textContent .buttons {
      margin-top: 0px; }
  .carouselCaseStudies .contentWrapper .carousel .card img {
    height: 25rem; } }

@media screen and (max-width: 1024px) {
  .carouselCaseStudies .contentWrapper {
    position: relative;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 7.5rem;
    padding-bottom: 7.5rem; }
    .carouselCaseStudies .contentWrapper .textContent {
      padding: 0px;
      padding-bottom: 2.5rem; }
      .carouselCaseStudies .contentWrapper .textContent h3 {
        font-size: 2.9rem;
        max-width: 100%;
        width: 100%; }
      .carouselCaseStudies .contentWrapper .textContent .buttons {
        position: absolute;
        bottom: 0px;
        margin-top: 0px; }
    .carouselCaseStudies .contentWrapper .carousel .case_studies_carousel {
      transform: none; }
      .carouselCaseStudies .contentWrapper .carousel .case_studies_carousel .card {
        padding: 0px; }
        .carouselCaseStudies .contentWrapper .carousel .case_studies_carousel .card img {
          height: 22.875rem; } }

@media screen and (max-width: 768px) {
  .carouselCaseStudies {
    padding-bottom: 5rem; } }

.imageWithTextColumns5 {
  display: flex;
  justify-content: center;
  align-items: center;
  --backgroundColor: var(--primary);
  --textColor: var(--text_light);
  background-color: var(--backgroundColor); }
  .imageWithTextColumns5 .contentWrapper {
    display: flex;
    flex-flow: column;
    padding: 10rem 0 9.69rem;
    gap: 10rem; }
    .imageWithTextColumns5 .contentWrapper .column {
      padding: 0 8.5rem 0 12.5rem;
      display: flex;
      align-items: center;
      color: var(--textColor);
      column-gap: 5rem; }
      .imageWithTextColumns5 .contentWrapper .column .textContent {
        width: 36.125rem; }
        .imageWithTextColumns5 .contentWrapper .column .textContent .heading {
          font-size: 4rem;
          font-weight: 700;
          line-height: 110%;
          margin: 0;
          margin-bottom: 2rem; }
          .imageWithTextColumns5 .contentWrapper .column .textContent .heading span {
            color: var(--secondary); }
        .imageWithTextColumns5 .contentWrapper .column .textContent .description * {
          font-size: 1.125rem;
          font-weight: 400;
          line-height: 140%;
          letter-spacing: -0.00113rem;
          opacity: 0.75; }
        .imageWithTextColumns5 .contentWrapper .column .textContent .list {
          display: flex;
          flex-flow: column;
          margin-top: 2rem;
          margin-left: 1.75em;
          gap: 1rem; }
          .imageWithTextColumns5 .contentWrapper .column .textContent .list .item {
            display: flex;
            align-items: center;
            gap: 1rem; }
            .imageWithTextColumns5 .contentWrapper .column .textContent .list .item .dot {
              width: 0.5rem;
              height: 0.5rem;
              background-color: var(--secondary);
              border-radius: 100%; }
            .imageWithTextColumns5 .contentWrapper .column .textContent .list .item .text {
              width: 28rem; }
      .imageWithTextColumns5 .contentWrapper .column .imageContent img {
        width: 60.0625rem;
        object-fit: cover;
        position: relative;
        z-index: 1; }
      .imageWithTextColumns5 .contentWrapper .column .triangleTopLeft, .imageWithTextColumns5 .contentWrapper .column .pyramidTopLeft, .imageWithTextColumns5 .contentWrapper .column .diamondTopLeft {
        position: relative; }
        .imageWithTextColumns5 .contentWrapper .column .triangleTopLeft svg, .imageWithTextColumns5 .contentWrapper .column .pyramidTopLeft svg, .imageWithTextColumns5 .contentWrapper .column .diamondTopLeft svg {
          position: absolute;
          left: 0;
          top: 0;
          z-index: 0; }
      .imageWithTextColumns5 .contentWrapper .column .triangleTopLeft svg {
        width: 24.82913rem;
        height: 17.48125rem; }
      .imageWithTextColumns5 .contentWrapper .column .pyramidTopLeft svg {
        width: 30.87963rem;
        height: 16.33756rem; }
      .imageWithTextColumns5 .contentWrapper .column .diamondTopLeft svg {
        width: 20.41969rem;
        height: 11.0965rem; }
      .imageWithTextColumns5 .contentWrapper .column .triangleBottomRight {
        position: relative; }
        .imageWithTextColumns5 .contentWrapper .column .triangleBottomRight svg {
          position: absolute;
          z-index: 0;
          bottom: 0;
          right: 0;
          width: 24.82913rem;
          height: 17.48125rem; }
    .imageWithTextColumns5 .contentWrapper .imageOnLeft {
      padding: 0 12.5rem 0 8.5rem; }

@media screen and (max-width: 1580px) {
  .imageWithTextColumns5 .contentWrapper {
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
    .imageWithTextColumns5 .contentWrapper .column {
      padding-left: 0px;
      padding-right: 0px;
      gap: 4rem;
      width: 100%; }
      .imageWithTextColumns5 .contentWrapper .column .textContent {
        width: 40%; }
        .imageWithTextColumns5 .contentWrapper .column .textContent .heading {
          width: 100%; }
      .imageWithTextColumns5 .contentWrapper .column .imageContent {
        width: 60%; }
        .imageWithTextColumns5 .contentWrapper .column .imageContent svg {
          width: 45%;
          height: auto; }
        .imageWithTextColumns5 .contentWrapper .column .imageContent img {
          width: 100%; } }

@media screen and (max-width: 1024px) {
  .imageWithTextColumns5 .contentWrapper {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 5rem;
    padding-bottom: 5rem;
    gap: 7.5rem; }
    .imageWithTextColumns5 .contentWrapper .column {
      width: 100%;
      padding: 0px;
      column-gap: 2.5rem; }
      .imageWithTextColumns5 .contentWrapper .column .textContent {
        width: 40%; }
        .imageWithTextColumns5 .contentWrapper .column .textContent .heading {
          width: 100%;
          margin: 0px;
          font-size: 3rem;
          margin-bottom: 2.5rem; }
        .imageWithTextColumns5 .contentWrapper .column .textContent .description p {
          font-size: 1rem; }
        .imageWithTextColumns5 .contentWrapper .column .textContent .list {
          column-gap: 0.8rem;
          row-gap: 1rem; }
      .imageWithTextColumns5 .contentWrapper .column .imageContent {
        width: 60%; }
        .imageWithTextColumns5 .contentWrapper .column .imageContent img {
          width: 100%;
          height: auto;
          object-fit: cover; } }

@media screen and (max-width: 768px) {
  .imageWithTextColumns5 .contentWrapper .column {
    flex-direction: column;
    column-gap: 2.5rem;
    row-gap: 5rem; }
    .imageWithTextColumns5 .contentWrapper .column .textContent {
      width: 100%; }
    .imageWithTextColumns5 .contentWrapper .column .imageContent {
      width: 100%;
      order: 2; } }

.technologyBanner2 {
  background: var(--primary);
  padding-top: 9.63rem;
  padding-bottom: 0rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: column;
  position: relative; }
  .technologyBanner2 .contentWrapper {
    position: static; }
  .technologyBanner2 .textContent {
    display: flex;
    gap: 10.81rem; }
    .technologyBanner2 .textContent .headingSection {
      position: relative; }
      .technologyBanner2 .textContent .headingSection .superscript {
        position: absolute;
        top: -3rem;
        color: var(--primary_light2);
        font-size: 1rem;
        font-weight: 700;
        line-height: 110%;
        letter-spacing: 0.2rem;
        text-transform: uppercase; }
      .technologyBanner2 .textContent .headingSection .heading {
        font-size: 5rem;
        line-height: 110%;
        font-weight: 700;
        margin-bottom: 0;
        color: var(--text_light);
        width: 46.25rem;
        margin: 0; }
        .technologyBanner2 .textContent .headingSection .heading span {
          color: var(--secondary); }
    .technologyBanner2 .textContent .description {
      width: 29.375rem; }
      .technologyBanner2 .textContent .description * {
        color: var(--text_light);
        line-height: 2rem;
        font-size: 1.375rem; }
  .technologyBanner2 .imageSection {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding-bottom: 12.5rem; }
    .technologyBanner2 .imageSection .image {
      position: relative;
      width: 100vw;
      min-width: 100%;
      max-width: 1580px;
      margin-top: 2rem;
      z-index: 1;
      transform: translateY(5.25rem);
      -webkit-filter: drop-shadow(5px 11px 69px #0000001f);
      filter: drop-shadow(5px 11px 69px #0000001f); }
    .technologyBanner2 .imageSection .background {
      background-color: #D2E4E1;
      width: 100%;
      height: 65%;
      position: absolute;
      z-index: 0;
      bottom: 0;
      left: 0; }

@media screen and (max-width: 1580px) {
  .technologyBanner2 {
    padding-top: 7.5rem; }
    .technologyBanner2 .contentWrapper {
      row-gap: 5rem; }
      .technologyBanner2 .contentWrapper .textContent {
        gap: 5rem; }
        .technologyBanner2 .contentWrapper .textContent .heading {
          width: 100%;
          font-size: 4rem; }
        .technologyBanner2 .contentWrapper .textContent .description {
          width: 100%; }
      .technologyBanner2 .contentWrapper .imageSection {
        margin-left: -2.8125rem;
        margin-right: -2.8125rem;
        width: 100vw;
        padding-bottom: 4rem; }
        .technologyBanner2 .contentWrapper .imageSection .image {
          transform: none;
          margin-top: 0px; }
        .technologyBanner2 .contentWrapper .imageSection .background {
          height: 70%; } }

@media screen and (max-width: 1024px) {
  .technologyBanner2 .contentWrapper .textContent {
    flex-direction: column; }
    .technologyBanner2 .contentWrapper .textContent .headingSection .superscript {
      position: relative;
      margin-bottom: 1.5rem;
      top: unset; }
    .technologyBanner2 .contentWrapper .textContent .headingSection .heading {
      font-size: 3rem; }
    .technologyBanner2 .contentWrapper .textContent .description p {
      margin: 0px; }
  .technologyBanner2 .contentWrapper .imageSection {
    display: flex;
    justify-content: center;
    align-items: center; }
    .technologyBanner2 .contentWrapper .imageSection .image {
      margin-top: 0px;
      transform: none;
      min-width: 125vw;
      width: 125vw;
      height: auto;
      object-fit: cover; } }
