/* Global */

@font-face {
  font-family: "PP Neue Machina";
  src:
    url("../fonts/PPNeueMachina-PlainRegular.woff2") format("woff2"),
    url("../fonts/PPNeueMachina-PlainRegular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  box-sizing: border-box;
  font-family: "tt-commons-pro", sans-serif;
  position: relative;
  font-variant-ligatures: none;
  font-feature-settings: "liga" 0, "calt" 0, "dlig" 0;
}

body:before {
  background: rgba(0, 0, 0, 0.51);
  backdrop-filter: blur(10px);
  content: '';
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 0;
  width: 100%;
  z-index: 5;
  transition: 300ms;
}

body.megamenu-active:before {
  opacity: 1;
  height: 100%;
  
}

div, main, article, section {
  box-sizing: border-box;
}

p, span, ul, ol, li, a {
  font-family: "tt-commons-pro", sans-serif;
  font-size: 18px;
  line-height: 20px;
  font-weight: 300;
  font-style: normal;
  margin:0;
  text-rendering: geometricPrecision;
}

@media only screen and (max-width: 767px) {
  p, span, ul, ol, li, a {
    line-height: 22px;
  }
}

a {
  text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
  line-height: 1.1;
}

.weight-500, 
.weight-500 p {
  font-weight: 500;
}

.dot {
  animation: flash 500ms infinite;
  color: #00FDC7;
}

.font-machina {
  font-family: 'PP Neue Machina';
}


/* lity */

.lity {
  z-index: 9990;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  white-space: nowrap;
  background: #0b0b0b;
  background: rgba(0, 0, 0, 0.9);
  outline: none !important;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.lity.lity-opened {
  opacity: 1;
}
.lity.lity-closed {
  opacity: 0;
}
.lity * {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
.lity-wrap {
  z-index: 9990;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: center;
  outline: none !important;
}
.lity-wrap:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.25em;
}
.lity-loader {
  z-index: 9991;
  color: #fff;
  position: absolute;
  top: 50%;
  margin-top: -0.8em;
  width: 100%;
  text-align: center;
  font-size: 14px;
  line-height: 17.5px;
  font-family: Arial, Helvetica, sans-serif;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.lity-loading .lity-loader {
  opacity: 1;
}
.lity-container {
  z-index: 9992;
  position: relative;
  text-align: left;
  vertical-align: middle;
  display: inline-block;
  white-space: normal;
  max-width: 100%;
  max-height: 100%;
  outline: none !important;
}
.lity-content {
  z-index: 9993;
  width: 100%;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
       -o-transform: scale(1);
          transform: scale(1);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  -o-transition: -o-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease, -o-transform 0.3s ease;
}
.lity-loading .lity-content,
.lity-closed .lity-content {
  -webkit-transform: scale(0.8);
      -ms-transform: scale(0.8);
       -o-transform: scale(0.8);
          transform: scale(0.8);
}
.lity-content:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
          box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}
.lity-close {
  z-index: 9994;
  width: 35px;
  height: 35px;
  position: fixed;
  right: 0;
  top: 0;
  -webkit-appearance: none;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  padding: 0;
  color: #fff;
  font-style: normal;
  font-size: 35px;
  font-family: Arial, Baskerville, monospace;
  line-height: 35px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  border: 0;
  background: none;
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.lity-close::-moz-focus-inner {
  border: 0;
  padding: 0;
}
.lity-close:hover,
.lity-close:focus,
.lity-close:active,
.lity-close:visited {
  text-decoration: none;
  text-align: center;
  padding: 0;
  color: #fff;
  font-style: normal;
  font-size: 35px;
  font-family: Arial, Baskerville, monospace;
  line-height: 35px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  border: 0;
  background: none;
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.lity-close:active {
  top: 1px;
}
/* Image */
.lity-image img {
  max-width: 100%;
  display: block;
  line-height: 0;
  border: 0;
}
/* iFrame */
.lity-iframe .lity-container,
.lity-youtube .lity-container,
.lity-vimeo .lity-container,
.lity-facebookvideo .lity-container,
.lity-googlemaps .lity-container {
  width: 100%;
  max-width: 964px;
}
.lity-iframe-container {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  overflow: auto;
  pointer-events: auto;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-overflow-scrolling: touch;
}
.lity-iframe-container iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
          box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000;
}
.lity-hide {
  display: none;
}

/* Core */

.flex-1  { flex: 0 0 8.3333%; }
.flex-2  { flex: 0 0 16.6667%; }
.flex-3  { flex: 0 0 25%; }
.flex-4  { flex: 0 0 33.3333%; }
.flex-5  { flex: 0 0 41.6667%; }
.flex-6  { flex: 0 0 50%; }
.flex-7  { flex: 0 0 58.3333%; }
.flex-8  { flex: 0 0 66.6667%; }
.flex-9  { flex: 0 0 75%; }
.flex-10 { flex: 0 0 83.3333%; }
.flex-11 { flex: 0 0 91.6667%; }
.flex-12 { flex: 0 0 100%; }

.flex-container {
  max-width: calc(100vw - 70px);
  margin:auto;
}

@media only screen and (max-width: 768px) {
  .flex-container {
    max-width: calc(100vw - 40px);
  }
}

.flex-content {
  display: flex;
}

.flex-wrap {
  flex-wrap: wrap;
}

.justify-between {
  justify-content: space-between;
}

.gap-10 {
  gap:10px;
}

.gap-20 {
  gap:20px;
}

.gap-30 {
  gap:30px;
}

.gap-40 {
  gap:40px;
}

.gap-80 {
  gap:80px;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

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

.space-between  {
  justify-content: space-between;
}

.justify-center {
  justify-content: center;
}

.flex-end {
  justify-content: flex-end;
}


@media only screen and (max-width: 767px) {
  .flex-content {
    flex-direction: column;
  }
}

.bg-white {
  background-color:#fff;
}

.bg-black {
  background-color:#292C3F;
}

.text-white {
  color:#fff;
}

.text-black {
  color:#292C3F;
}

.text-teal {
  color:#00FAC8;
}

.font-80 {
  font-size:80px;
  line-height:82px;
}

.font-100,
.font-100 span {
  font-size:100px;
  line-height:102px;
}

.font-60 {
  font-size:60px;
  margin: 0;
  line-height:1;
}

.font-50 {
  font-size:50px;
  margin: 0;
  line-height:52px;
}

.font-25 {
  font-size: 25px;
  margin: 0;
  line-height: 25px;
}

.font-40 {
  font-size:40px;
  margin: 0;
  line-height:1;
}

@media only screen and (max-width: 1060px) {
  .font-80 {
    font-size: 60px;
  }
}

@media only screen and (max-width: 767px) {

  .font-100,
  .font-100 span {
    font-size:50px;
    line-height: 52px;
  }


  .font-80 {
    font-size:50px;
    line-height: 52px;
  }
}

@media only screen and (max-width: 425px) {
  .font-80 {
    font-size: 40px;
    line-height: 40px;
  }
}

.m-auto {
  margin: auto;
}

.mb-40 {
  margin-bottom:40px;
}

ul li::marker {
  color: #00FDC7;
}

@media only screen and (max-width: 767px) {
  .hide-sm {
    display: none;
  }
}

.show-sm {
  display: none;
}

@media only screen and (max-width: 767px) {
  .show-sm {
    display: block;
  }
}

/* buttons */

p.label {
  padding-left:20px;
  position:relative;
}

p.label::before {
    background-color: #00FAC8;
    border-radius: 100%;
    content: "";
    position: absolute;
    top: 5px;
    left: 0;
    height: 10px;
    width: 10px;
    animation: flash 500ms infinite;
}

.btn-wrapper {
  display:flex;
  gap:20px;
}

.btn {
  white-space: nowrap;
}

.btn-solid-black {
  background-color: #292C3F;
  border: 1px solid #292C3F;
  border-radius: 30px;
  color:#FFF;
  font-size:16px;
  font-weight: 500;
  padding:17px 25px;
  line-height:0;
  text-decoration:none;
  transition:300ms;
}

.btn-solid-black:hover {
  background-color:#00FAC8;
  border: 1px solid #00FAC8;
  border-radius: 30px;
  color:#000;
  font-size:16px;
  text-decoration:none;
  transition:300ms;
}

.btn-solid-teal {
  background-color: #00FAC8;
  border: 1px solid #00FAC8;
  border-radius: 30px;
  color:#292C3F;
  font-size:16px;
  font-weight: 500;
  padding:17px 25px;
  line-height:0;
  text-decoration:none;
  transition:300ms;
}

.btn-solid-teal:hover {
  background-color:#FFF;
  border: 1px solid #FFF;
  border-radius: 30px;
  color:#292C3F;
  font-size:16px;
  text-decoration:none;
  transition:300ms;

}

.btn-solid-teal.dark-hover:hover {
  background-color:#292C3F;
  border: 1px solid #292C3F;
  border-radius: 30px;
  color:#FFF;
  font-size:16px;
  line-height:0;
  text-decoration:none;
  transition:300ms;

}

.btn-solid-white {
  background-color: #fff;
  border: 1px solid #fff;
  border-radius: 30px;
  color:#292C3F;
  font-size:16px;
  font-weight: 500;
  padding:17px 25px;
  line-height:0;
  text-decoration:none;
  transition:300ms;
}

.btn-solid-white:hover {
  background-color:#00FAC8;
  border: 1px solid #00FAC8;
  border-radius: 30px;
  color:#292C3F;
  font-size:16px;
  text-decoration:none;
  transition:300ms;

}

.btn-ghost-white {
  background-color:transparent;
  border: 1px solid #FFF;
  border-radius: 30px;
  color:#FFF;
  font-size:16px;
  font-weight: 500;
  padding:17px 25px;
  line-height:0;
  text-decoration:none;
  transition:300ms;
}

.btn-ghost-white:hover {
  background-color:#00FAC8;
  border: 1px solid #00FAC8;
  border-radius: 30px;
  color:#292C3F;
  font-size:16px;
  text-decoration:none;
  transition:300ms;

}

.btn-ghost-black {
  background-color:transparent;
  border: 1px solid #292C3F;
  border-radius: 30px;
  color:#292C3F;
  font-size:16px;
  font-weight: 500;
  padding:17px 25px;
  line-height:0;
  text-decoration:none;
  transition:300ms;
}

.btn-ghost-black:hover {
  background-color:#00FAC8;
  border: 1px solid #00FAC8;
  border-radius: 30px;
  color:#000;
  font-size:16px;
  text-decoration:none;
  transition:300ms;
}

.btn-solid-black:before,
.btn-solid-teal:before,
.btn-solid-white:before,
.btn-ghost-black:before,
.btn-ghost-white:before {
  content: '•';
  position: relative;
  right: 7px;
  animation: flash 500ms infinite;
  visibility: hidden;
}

.btn-solid-black:after,
.btn-solid-teal:after,
.btn-solid-white:after,
.btn-ghost-black:after,
.btn-ghost-white:after {
  content: '•';
  position: relative;
  left: 7px;
  animation: flash 500ms infinite;
  visibility: hidden;
}

.btn-solid-black:hover:before,
.btn-solid-teal:hover:before,
.btn-solid-white:hover:before,
.btn-ghost-black:hover:before,
.btn-ghost-white:hover:before,
.btn-solid-black:hover:after,
.btn-solid-teal:hover:after,
.btn-solid-white:hover:after,
.btn-ghost-black:hover:after,
.btn-ghost-white:hover:after {
  visibility: visible;
}

.tertiary-btn {
  color:#292C3F;
  font-weight: 500;
  position: relative;
  text-decoration: none;
}

.tertiary-btn:hover {
  color: #292C3F !important;
}

.tertiary-btn .underline {
  height: 2px;
  width: 100%;
  background-color: #00FDC7;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  transition: 300ms ease-in-out;
}

.tertiary-btn:before {
  content: '•';
  position: absolute;
  right: -12px;
  animation: flash 500ms infinite;
  visibility: hidden;
}

.tertiary-btn:after {
  content: '•';
  position: absolute;
  left: -12px;
  animation: flash 500ms infinite;
  visibility: hidden;
}

.tertiary-btn:hover:before {
  visibility: visible;
}

.tertiary-btn:hover:after {
  visibility: visible;
}

/* Navigation */

.site-header {
  background-color: #fff;
  position: fixed;
  top: env(safe-area-inset-top, 0);
  width: 100%;
  padding: 0;
  display: flex;
  flex-direction: column;
  z-index: 10;
  transition: 300ms;
}

.site-header.header--hidden {
  top: -140px;
}

.site-header .topbar {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  padding: 10px 40px;
}

@media only screen and (max-width:1000px) {
  .site-header.header--transparent {
      background-color: #fff !important;
  }

  .site-header .topbar {
    display: none;
  }

  .site-header.header--hidden {
    top: 0;
  }


  .site-header.header--transparent .bottom-bar img.black-logo {
      opacity: 1 !important;;
      visibility: visible !important;;
  }


  .site-header.header--transparent .bottom-bar img.white-logo {
      opacity: 0 !important;
      visibility: hidden !important;
  }
}

.site-header .topbar nav,
.site-header .topbar .language {
  display: flex;
  flex-direction: row;
}


/* Remove to add languages */
.lang-switch {
  display: none !important;
}

.site-header ul,
.site-header li {
  list-style: none;
  display: flex;
  flex-direction: row;
  gap: 20px;
  font-size: 12px;
  line-height: 15px;
  color: #292C3F;
}

.site-header .topbar .lang-switch li a {
  text-underline-offset: 2px;
}

.site-header .topbar .lang-switch li.is-active a {
  color: #006751;

}

.site-header li a {
  color: #292C3F;
  transition: 300ms;
}

.site-header li a:hover {
  color: #00FAC8;
}

.site-header .menu li a {
  font-weight: 500;
  text-decoration: none;
  padding: 24px 15px;
  position: relative;
}

@media only screen and (max-width: 1200px) {

  .site-header ul, .site-header li {
    gap:10px;
  }

.site-header .menu li a {
    padding: 24px 10px;
  }
}


.site-header .menu li a:after {
  content:'+';
  position: relative;
  right: -5px;
  display: inline-block;
  width: 5px;
}

.site-header .menu li a.active:after {
  content:'-';
}

.site-header .menu li:last-of-type a {
  background-color: #00FAC8;
  border-radius: 60px;
  color: #292C3F;
  margin: 14px 0;
  padding: 10px 20px;
  position: relative;
}

.site-header .menu li:last-of-type a:before {
  content: '•';
  position: relative;
  right: 7px;
  animation: flash 500ms infinite;
  visibility: hidden;
}

.site-header .menu li:last-of-type a:after {
  content: '•';
  position: relative;
  left: 7px;
  animation: flash 500ms infinite;
  visibility: hidden;
}

.site-header .menu li:last-of-type a:hover:before,
.site-header .menu li:last-of-type a:hover:after {
  visibility: visible;
}

.site-header .menu li:last-of-type a:hover {
  background-color: #292C3F;
  border-radius: 60px;
  color: #FFF;
}

.site-header .topbar nav .topbar-links li {
  position: relative;
}

.site-header .topbar nav .topbar-links .label {
  font-size: 12px;
}



.site-header .topbar nav .topbar-links li a {
  text-decoration: none;
}

.site-header .topbar nav .topbar-links .child-links {
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 3;
  background: #fff;
  padding: 10px;
  min-width: 200px;
  border: solid 1px #CFCED8;
  display: flex;
  flex-direction: column;
  opacity: 0;
  transform: translateY(6px);
  pointer-events: none;
  transition: opacity 300ms ease, transform 300ms ease;
}

.site-header .topbar nav .topbar-links .child-links li {
  white-space: nowrap;
}

.site-header .topbar nav .topbar-links .child-links li a {
  color: #292C3F;
  transition: 300ms ease-in-out;
}

.site-header .topbar nav .topbar-links .child-links li a:hover {
  color: #00FAC8;
}

.site-header .topbar nav .topbar-links li:hover > .child-links,
.site-header .topbar nav .topbar-links li:focus-within > .child-links {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.site-header .topbar nav .topbar-links li.has-children > a {
  position: relative; 
  display: inline-flex; 
  align-items: center; 
  gap: 4px;
}
.site-header .topbar nav .topbar-links li.has-children > a .submenu-indicator {
  position: relative;
  height: 20px;
}

/* stack plus and minus; fade between */
.site-header .topbar nav .topbar-links li.has-children > a .submenu-indicator .plus,
.site-header .topbar nav .topbar-links li.has-children > a .submenu-indicator .minus {
  transition: opacity 300ms ease;
  position: absolute;
  font-size: 12px;
}

.site-header .topbar nav .topbar-links li.has-children > a .submenu-indicator .plus { 
  opacity: 1; 
  top: 0;
  left: 0;
}
.site-header .topbar nav .topbar-links li.has-children > a .submenu-indicator .minus { 
  opacity: 0; 
  top: -1px;
  left: 0;
}

/* when open (hover or keyboard focus): fade to minus */
.site-header .topbar nav .topbar-links li.has-children:hover > a .submenu-indicator .plus,
.site-header .topbar nav .topbar-links li.has-children:focus-within > a .submenu-indicator .plus {
  opacity: 0; 
}
.site-header .topbar nav .topbar-links li.has-children:hover > a .submenu-indicator .minus,
.site-header .topbar nav .topbar-links li.has-children:focus-within > a .submenu-indicator .minus {
  opacity: 1; 
}

.site-header .bottom-bar {
  border-top:solid 1px #CFCED8;
  border-bottom:solid 1px #CFCED8;
  display: flex;
  justify-content: space-between;
  padding: 0 30px;
}

.site-header .bottom-bar .brand-row {
  display: flex;
  flex-direction: row;
}

.site-header .bottom-bar .logo {
  border-right:solid 1px #CFCED8;
  display: flex;
  align-items: center;
  position: relative;
  padding: 20px 30px 20px 0;
  height: 30px;
  width: 120px;
}

.site-header .bottom-bar img,
.site-header .bottom-bar svg {
  object-fit: contain;
  height: 30px;
  width: 120px;
  position: absolute;
  width: auto;
  top: 20px;
  left: 0;
  
}

.site-header .bottom-bar img.white-logo {
  opacity: 0;
  visibility: hidden;
}

.site-header .bottom-bar .tagline {
  border-right:solid 1px #CFCED8;
  color: #292C3F;
  font-weight: 500;
  padding: 10px 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}


.site-header .bottom-bar .tagline span {
  display: block;
  font-weight: 500; 
}

@media only screen and (max-width:1310px) {
  .site-header .bottom-bar .tagline {
    display: none;
  }
}


/* search */

.search {
  border-right:solid 1px #CFCED8;
  position: relative;
  margin: 0 !important;
}

@media only screen and (max-width:1000px) {
  .search {
    display: none;
  }
}

.search:before {
  background-image: url('../images/search-icon-black.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  content: '';
  position: absolute;
  top: 0px;
  left: 10px;
  height: 100%;
  width: 22px;
  z-index: 2;
}

.search label {
  display: none;
}

.search input {
  background-color: rgba(41, 44, 63, 0.1);
  backdrop-filter: blur(2px);
  border: none;
  box-shadow: none;
  color: #292C3F;
  outline:0;
  padding: 26px 16px 26px 40px;
  height: 100%;
  width: 20vw;
  transition: 300ms;
}

.search input:focus {
    background-color: rgba(41, 44, 63, 0.3);

}

.search button {
  display: none;
}

.search label {
  display: none;
}

.search-filter-select {
  padding: 10px 20px;
  border-radius: 30px;
  margin-left: 20px;
}

.site-header .bottom-bar .mobile-menu {
  display: none;
}

.mobile-navigation {
  display: none;
}


.megamenu-mobile {
  display: none;
}

@media only screen and (max-width:1200px) {
  .search input {
    width: 17vw;
  }
}

@media only screen and (max-width:1000px) {

  .site-header .bottom-bar {
    border-top: solid 0px #CFCED8;
    padding: 0 0 0 20px;
  }

  .site-header .bottom-bar .logo {
    border-right: solid 0px #CFCED8;
    padding: 20px 20px 20px 0;
    width: 100px;
  }

  .site-header .bottom-bar .logo img {
    width: 100px;
  }

  .site-header .bottom-bar .main-nav {
    display: none;
  }

  .site-header .bottom-bar .mobile-menu {
    display: flex;    
  }

  .site-header .bottom-bar .mobile-menu  .contact-link a {
    background: rgba(0, 250, 200, 01);
    border-left: solid 1px #CFCED8;
    background-blend-mode: soft-light;
    color: #292C3F;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 20px;
    height: 100%;
    text-decoration: none;
    transition: 100ms;
  }

  .site-header .bottom-bar .mobile-menu  .contact-link a:hover {
    background: rgba(0, 250, 200, 1);
  }

  .site-header .bottom-bar .mobile-menu  .menu-link a {
    background: rgba(255,255,255,0.5);
    border-left: solid 1px #CFCED8;
    background-blend-mode: soft-light;
    color: #292C3F;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 20px;
    height: 100%;
    text-decoration: none;
  }

  .site-header .bottom-bar .mobile-menu  .menu-link a:hover {
    background: rgba(255, 255, 255, 1);
  }

  .mobile-navigation {
    display: block;
    opacity: 0;
    visibility: hidden;
    background-color: #fff;
    position: fixed;
    padding-top: 70px;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100vw;
    z-index: 9;
    overflow: hidden;
    overflow-y: scroll;
    transition: 300ms;
    transform: translateX(100vw);
  }

  /* .mobile-navigation {
    opacity: 1;
    visibility: visible;
  } */

  .mobile-navigation.active {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
  }

  .mobile-navigation .search {
    display: block;
    position: relative;
    z-index: 20;
  }

  .mobile-navigation .search:before {
    left: 20px;
  }

  .mobile-navigation .search input {
    background: rgba(207, 206, 216, 0.30);
    border-bottom: 1px solid #CFCED8;
    border-top: 1px solid #CFCED8;
    padding-left: 60px;
    font-size: 16px;
    width: 100vw;
    height: fit-content;
  }

  .mobile-navigation .mobile-nav ul {
    list-style-type: none;
    padding: 20px;
    margin: 0;
  }

  .mobile-navigation .mobile-nav ul li a {
    color:#292C3F;
    font-size: 22px;
    font-weight: 400;
    display: block;
    line-height: 1;
    text-decoration: none;
    padding: 20px 0 30px;
    position: relative;
  }

  .mobile-navigation .mobile-nav ul li a span {
    background-image: url('/assets/images/swiper-arrow-black.svg');
    background-position: center;
    background-repeat: no-repeat;
    border: 1px solid #292C3F;
    border-radius: 100%;
    position: absolute;
    right: 0;
    top: 10px;
    height: 40px;
    width: 40px;
  }

  .mobile-navigation .mobile-nav ul li.contact-link a {
    background-color: #00FDC7;
    border-radius: 30px;
    color:#292C3F;
    font-size: 22px;
    font-weight: 400;
    display: block;
    margin: 20px 0;
    line-height: 1;
    text-decoration: none;
    text-align: center;
    padding: 20px;
    position: relative;
  }

  .mobile-navigation .mobile-nav ul li.contact-link a:before {
    content: '•';
    position: relative;
    left: -5px;
  }

  .mobile-navigation .mobile-nav ul li.contact-link a:after {
    content: '•';
    position: relative;
    right: -5px;
  }


  .sub-mobile-menu {
      border-top: 1px solid #CFCED8;
      padding: 20px;
  }

  .mobile-links-list {
    list-style-type: none;
    padding: 0;
    margin: 0;
  }

  .mobile-links-list li a {
    color:#292C3F;
    font-size: 16px;
    display: block;
    margin-bottom: 20px;
    text-decoration: none;
  }

  .megamenu-mobile {
    display: block;
    background-color: #fff;
    padding-top: 80px;
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index:8;
    transition: 300ms;
    transform: translateX(100vw);
    opacity: 0;
    visibility: hidden;
  }

  .megamenu-mobile.active {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
    z-index: 9;
    overflow: scroll;
  }

  .megamenu-mobile ul {
    list-style-type: none;
    padding: 20px;
    margin: 0;
  }

  .megamenu-mobile ul li a {
    color:#292C3F;
    font-size: 22px;
    font-weight: 400;
    display: block;
    line-height: 1;
    text-decoration: none;
    padding: 20px 40px 30px 0;
    position: relative;
  }

  .megamenu-mobile ul li a span {
    background-image: url('/assets/images/swiper-arrow-black.svg');
    background-position: center;
    background-repeat: no-repeat;
    border: 1px solid #292C3F;
    border-radius: 100%;
    position: absolute;
    right: 0;
    top: 10px;
    height: 40px;
    width: 40px;
  }

  .megamenu-mobile ul li a span.nav-arrow-diagonal {
    transform: rotate(-45deg);
    z-index: -1;
  }

  .megamenu-mobile .heading {
    border-bottom: 1px solid #CFCED8;
    display: flex;
  }


  .megamenu-mobile .heading-label {
    line-height: 1;
    padding: 20px;
    width:50%;
  }

  .megamenu-mobile .heading-label h3 {
    font-size: 25px;
    line-height: 25px;
    margin: 0;
  }


  .megamenu-mobile .heading-link {
    font-size: 15px;
    padding: 20px;
    position: relative;
    text-align: right;
    width:50%;
  }

  .megamenu-mobile .heading-link a {
    color:#292C3F;
    padding-left: 30px;
    position: relative;
    text-decoration: none;
  }

  .megamenu-mobile .heading-link a:before {
    background-image: url('/assets/images/swiper-arrow-black.svg');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    content:'';
    position: absolute;
    left: 0;
    top: 0;
    height: 20px;
    width: 20px;
    transform: scale(-1);
  }

  ul.megamenu-mobile {
    margin: 0;
    padding: 20px;
    top: 146px;
    width: calc(100% - 40px);
  }
}

.site-header.header--transparent {
  background-color: transparent;
}

.site-header.header--transparent .bottom-bar img.black-logo {
  opacity: 0;
  visibility: hidden;
}

.site-header.header--transparent .bottom-bar img.white-logo {
  opacity: 1;
  visibility: visible;
}

.site-header.header--transparent li a {
    color: #FFF;
}

.site-header.header--transparent li a:hover {
    color: #00FAC8;
}

.site-header.header--transparent .bottom-bar .tagline {
  color: #FFF;
}

.site-header.header--transparent .search input {
  color: #FFF;
}

.site-header.header--transparent .search input::placeholder {
  color: #fff;
  opacity: 1;
}

.site-header.header--transparent .search:before {
  background-image: url('../images/search-icon-white.svg');
}

/* megamenu active  */

.site-header.megamenu-active {
  background-color: #fff;
}

.site-header.megamenu-active .bottom-bar img.black-logo {
  opacity: 1;
  visibility: visible;
}

.site-header.megamenu-active .bottom-bar img.white-logo {
  opacity: 0;
  visibility: hidden;
}

.site-header.megamenu-active .bottom-bar .tagline {
  color: #292C3F;
}


.site-header.megamenu-active .search input {
  color: #292C3F;
}

.site-header.megamenu-active .search input::placeholder {
  color: #292C3F;
  opacity: 1;
}

.site-header.megamenu-active li a {
    color: #292C3F;
}

.site-header.megamenu-active .search:before {
  background-image: url('../images/search-icon-black.svg');
}


/* megamenu */

.megamenu {
  background: #fff;
  opacity: 0;
  visibility: hidden;
  position: fixed;
  padding: 170px 0 40px;
  top: -100vh;
  height: auto;
  width: 100%;
  z-index: 5;
  transition: 600ms;
}

.megamenu.active {
  top: 0;
  opacity: 1;
  visibility: visible;
}

/* #locations-nav {
  top: 0;
  opacity: 1;
  visibility: visible;
} */

.megamenu img {
  max-width: 100%;
}

.nav-cards {
  display: flex;
  flex-wrap: wrap;
  padding: 0 50px;
}

.nav-card {
  background-color: #FFF;
  margin: 0 10px 10px 0;
  position: relative;
  padding: 10px;
  width: calc(50% - 10px);
  transition: 300ms;
}

.nav-card:hover {
  background-color: #CFCED8;

}

.nav-card h3 {
  color: #292C3F;
  margin: 0 0 10px 0;
  position: relative;
  width: fit-content;
}

.nav-card h3:before {
  background-color: #00FAC8;
  content: '';
  position: absolute;
  bottom:-1px;
  left: 0px;
  height: 3px;
  width: 0;
  transition: 200ms;
}

.nav-card h3:after {
  background-image: url('../images/arrow-right-black.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  content: '';
  position: absolute;
  top: 6px;
  right: -5px;
  height: 16px;
  width: 16px;
  opacity: 0;
  transition: 100ms;
}

.nav-card:hover h3:before {
  width: 100%;
}

.nav-card:hover h3:after {
  opacity: 1;
  right: -22px;
}

.nav-card p {
  color: #292C3F;
  font-size: 14px;
  text-wrap: balance;
}

.nav-card a {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
}


.nested-groups {
  position: relative;
  padding-left: 100px;
}

.nested-groups a {
    position: relative;
    display: inline-block;
    margin-bottom: 20px;
    text-decoration: none;  
    width: fit-content;
    margin-right: 50%;
}

.nested-groups a span {
  color: #292C3F;
  font-size: 18px;
  font-weight: 500;
  position: relative;
  text-decoration: none;
}

.nested-groups a span:before {
  background-color: #00FAC8;
  content: '';
  position: absolute;
  bottom:-1px;
  left: 0px;
  height: 3px;
  width: 0;
  transition: 200ms;
}

.nested-groups a span:after {
  background-image: url('../images/arrow-right-black.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  content: '';
  position: absolute;
  right: -5px;
  height: 20px;
  width: 16px;
  opacity: 0;
  transition: 100ms;
}

.nested-group .child-items {
  opacity: 0;
  visibility: hidden;
  transition: 100ms;
}

.nested-group .child-items.active {
  opacity: 1;
  visibility: visible;
}

.nested-groups a:hover span:before,
.nested-groups a.active span:before {
    width: 100%;

}
.nested-groups a:hover span:after,
.nested-groups a.active span:after {
  opacity: 1;
  right: -25px;
}

.nested-group .child-items {
  position: absolute;
  right: 0;
  top: 0;
  width: 40%;
}

.nested-group .child-item a {
  font-weight: 500;
}

.nested-label {
  font-size: 14px;
  margin-bottom: 20px;
  text-transform: uppercase;
}

/* Swiper */

.swiper-wrapper {
  height: fit-content;
}

/* Homepage Hero */

.home-hero {
  position:relative;
  overflow:hidden;
  height: 100vh;
  padding: 250px 0 0;
}

.home-hero h1 {
  margin: 0 0 40px;

}

.home-hero h1 span {
  color:#00FAC8;
  display:block;
  font-family:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height: 102px;
}

.home-hero h1 span .dot {
  display: inline;
}

.block--home-hero {
  width: 100%;
  height: 80vh;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 45px 30px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
}

.hero-img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  top: 0;
  left: 0;
  z-index: -2;
}

@media only screen and (max-width: 350px) {
  .home-hero .btn-wrapper {
    flex-direction: column;
  }

  .home-hero .btn-wrapper .btn {
    text-align: center;
  }
}

.video-overlay {
  background-color:rgba(41,44,63,0.7);
  position:absolute;
  top:0;
  left:0;
  height:100%;
  width:100%;
  z-index:2;
}

.desktop-video {
  object-fit:cover;
  position:absolute;
  top:0;
  left:0;
  height:100%;
  width:100%;
  z-index:1;
}

.home-hero .flex-8 {
  position:relative;
  z-index:3;
}

.block__text {
  max-width:500px;
}

.hero-news-swiper {
  max-width:300px;
}

.hero-news-swiper .swiper-slide {
  background-color:rgba(207,206,216,0.5);
  backdrop-filter: blur(10px);
  padding:20px 20px 40px 20px;
  height:auto;
}

.news-card-label {
  color:#3E4152;
  font-size:12px;
  text-transform:uppercase;
}

.news-card-link {
  text-decoration:none;
}

.news-card-link h3 {
  color:#292C3F;
  font-size:18px;
  transition:100ms;
}

.news-card-link:hover h3 {
  color:#00FAC8;
}

.hero-news-swiper  .swiper-pagination {
  padding: 0 20px;
  text-align:right;
}

.hero-news-swiper  .swiper-pagination-bullet {
  background:#292C3F;
}

.hero-news-swiper  .swiper-pagination-bullet-active {
  background:#00FAC8;
}

.home-hero .flex-3 {
  display:flex;
  flex-direction:column;
  justify-content: flex-end;
  position:absolute;
  right: 20px;
  bottom: 20px;
  z-index:3;
}

@media only screen and (max-width: 767px) {

  .home-hero {
    height: unset;
  }

  .home-hero h1 span {
    font-size: 50px;
    line-height: 52px;
  }

  .home-hero .flex-3 {
    background:#fff;
    margin-top: 50px;
    position:relative;
    left:-35px;
    bottom: 0;
    padding:35px 35px 0; 
    width: calc(100% + 70px);
  }
  .hero-news-swiper {
    max-width:100%;
  }

  .hero-news-swiper .swiper-slide {
    background-color:rgba(207,206,216,1);
    backdrop-filter: blur(0px);
  }
}

/* title-text */

.title-text {
  padding: 50px 30px 25px;
  margin: auto;
  /* max-width: 50%; */
}

.title-text .label {
  margin-bottom: 30px;

}

.title-text h2 {
  font-size: 40px;
  line-height: 1;
  margin: 0 0 20px;
  max-width: 680px;
}

.title-text .flex-content {
  gap: 50px;
  /* flex-direction: column; */
}

.title-text .flex-6 {
  flex: 0 0 calc(50% - 50px);
}

.title-text .text p,
.title-text .text p span {
  font-size: 20px;
  line-height: 22px;
  font-weight: 300;
  margin-bottom: 10px;
}

.title-text ul,
.title-text li,
.title-text li p {
  font-size: 16px;
  font-weight: 200;
}

.title-text ul li:before {
  top: calc(50% - 8px) !important;
}

.title-text ul li p {
  font-weight: 200;
}

.title-text .bullets-title {
  font-size: 20px;
  line-height: 22px;
}

.title-text ul li p.bullet-title {
  font-weight: 500;
}

.title-text .bullets {
  margin-top: 20px;
}

.title-text .btn-wrapper {
  margin-top: 30px;
}

.title-text p:not(.label) a span {
  color: #26283b;
  transition: 300ms ease-in-out;
}

.title-text p:not(.label) a:hover span {
  color: #00FDC7;
}


@media only screen and (max-width: 767px) {
  .title-text {
    padding: 25px 0;
    max-width: 100%;
  }

  .title-text .flex-content {
    gap: 0;
  }

  .title-text .label {
    margin-bottom: 20px;
  }

  .title-text h2 {
    font-size: 30px;
    line-height: 34px;
    margin: 0 0 20px;
  }

  .title-text p:not(.label),
  .title-text p:not(.label) span {
    font-size: 16px;
  }
}

/* large-image */

.large-image {
  padding:50px 0
}

.large-image img {
  width:100%;
}

@media only screen and (max-width: 767px) {
  .large-image {
    padding: 50px 0;
  }
}

@media only screen and (max-width: 500px) {
  .large-image {
    padding: 20px 0;
  }
}

/* stats-banner */

.stats {
  padding: 25px 0;
}

@media only screen and (max-width: 767px) {
  .stats {
    padding: 10px 0;
  }
}

.stat__value {
  white-space: nowrap;
}

.stats .flex-3 {
  flex: 0 0 calc(25% - 20px);
}

.stats-banner .stat {
  border-left: 1px solid #00FAC8;
}

.stats-banner .stat:last-of-type {
  border-right: 1px solid #00FAC8;
}

.stats-banner .flex-content {
  justify-content: space-evenly;
}

.stat__pre {
  font-size: 20px;
  line-height: 1;
}

.stat__number, 
.stat__post {
  font-size:80px;
  line-height: 1;
}

.stat__unit {
  font-size:60px;
}

.stat__subtitle {
  text-transform:uppercase;
}

.stat__text {
  margin-top:100px;
}

@media only screen and (max-width: 1150px) {
  .stat__number, 
  .stat__post {
  font-size:40px;
  }
  .stat__unit {
    font-size:30px;
  }
}

@media only screen and (max-width: 767px) {
  .stats-banner .stat {
    border-left: none;
    border-bottom: 1px solid #00FAC8;
    padding: 30px 20px !important;
  }
}

@media only screen and (max-width: 767px) {
  .stats-banner .stat:last-of-type {
    border-right: none;
  }
}

@media only screen and (max-width: 767px) {
  .stat__text {
    margin-top: 35px;
    margin-bottom: 30px;
  }
}


/* services-slider */

.services-slider {
  padding:50px 0;
  position: relative;
  z-index: 0;
}

.services-slider .swiper-wrapper {
  padding-left: 30px;
}

@media only screen and (max-width: 767px) {
  .services-slider {
    padding: 0;
  }
}

.services-slider h2 {
  font-size:50px;
  margin:0 0 20px;
}

@media only screen and (max-width: 767px) {
  .services-slider h2 {
    font-size: 30px;
    line-height: 34px;
    margin: 30px 0;
  }
}

.serviceSwiper {
  margin-top:100px;
  padding: 0 0 100px;
}

.serviceSwiper .col-3 { width: 33.333%; }

.serviceSwiper .col-4 { width: 25%; }

.serviceSwiper .col-3 .cover {
  background-color:#292C3F;
  aspect-ratio: 1/1;
  overflow: hidden;
}

.serviceSwiper .col-4 .cover {
  background-color:#292C3F;
  aspect-ratio: 1/1;
  overflow: hidden;
}

.serviceSwiper .slide-content a {
  text-decoration: none;
}

.serviceSwiper .col-3 .cover img,
.serviceSwiper .col-4 .cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 300ms ease-in-out;
}

.serviceSwiper .swiper-slide a:hover img {
  scale: 1.1;
}

.serviceSwiper a:hover .slide-content .tertiary-btn:after {
  opacity: 1;
  right: -25px;
}

.serviceSwiper .slide-content a p {
  margin-bottom: 20px;
  text-decoration: none;
  color: #26283b;
}

.serviceSwiper .slide-content a h3 {
  color: #26283b;
  text-decoration: none;
  font-size: 30px;
  line-height: 34px;
  margin: 20px 0;
}

.service-swiper-button-prev {
  background-image: url('/assets/images/swiper-arrow-black.svg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px;
  border-radius: 100%;
  border: 1px solid #000;
  left: 20px !important;
  bottom: 0 !important;
  top: unset !important;
  transform: scale(-1);
  height: 60px;
  width: 60px;
  transition: 300ms;
}

.service-swiper-button-prev:hover {
    background-image: url('/assets/images/swiper-arrow-black.svg');
    background-color: #00FDC7;
    border: 1px solid #00FDC7;
    color: #292C3F;
}

.service-swiper-button-prev svg {
  display: none;
}

.service-swiper-button-next {
  background-image: url('/assets/images/swiper-arrow-black.svg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px;
  border-radius: 100%;
  border: 1px solid #000;
  right: 20px !important;
  bottom: 0 !important;
  top: unset !important;
  height: 60px;
  width: 60px;
  transition: 300ms;
}

.service-swiper-button-next:hover {
    background-image: url('/assets/images/swiper-arrow-black.svg');
    background-color: #00FDC7;
    border: 1px solid #00FDC7;
    color: #292C3F;
}

.service-swiper-button-next svg {
  display: none;
}

@media only screen and (max-width: 767px) {
  .serviceSwiper .col-3,
  .serviceSwiper .col-4 {
    width: 80%;
  }

  .serviceSwiper .slide-content a h3 {
    font-size: 25px;
    line-height: 25px;
  }

  .serviceSwiper {
    padding: 0 0 100px;
    margin-top: 50px;
  }

  .services-slider {
    padding-top: 50px;
  }
  
  /* .serviceSwiper .col-3 .cover,
  .serviceSwiper .col-4 .cover {
    min-height: 50vw;
    height: 50vw;
  } */

  /* .serviceSwiper .col-3 .cover img {
    min-height: calc(50vw + 10px);
  }
  
  .serviceSwiper .col-4 .cover img {
    min-height: calc(50vw + 10px);
  } */

  .service-swiper-button-next,
  .service-swiper-button-prev {
    margin-bottom: 20px;
  }
}

/* image-text-split */

.image-text-split {
}

.image-text-split .background-image {
  display: flex;
  height: 100%;
}

.image-text-split img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.image-text-split .flex-container {
  max-width: 100%;
}

.image-text-split h2 {
  margin: 20px 0 40px;
}

.image-text-split .content {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding: 35px;
}

.image-text-split .content .text p {
  margin-bottom: 10px;
  font-size: 18px;
  line-height: 22.5px;
}

.image-text-split .content .text p:last-of-type {
  margin-bottom: 0;
}

.direction-image-right {
  flex-direction: row-reverse;
}

.image-text-split .btn {
  margin-top:40px;
}

@media only screen and (max-width: 767px) {
  .background-image {
    margin-bottom: 50px;
  }

  .image-text-split {
    padding: 25px 0;
  }

  .image-text-split .flex-content {
    flex-direction: column;
  }

  .image-text-split .font-50 {
    font-size: 40px;
    line-height: 40px;
  }

  .image-text-split .content {
    padding: 0 20px;
  }

  .image-text-split .btn {
    margin: 30px 0;
  }
}

/* location-map */

.location-map {
  background-color:#26283b;
  padding:100px 0;
}

/* case-studies-slider */





/* resources-list */

.resources-list {
    padding: 50px 0;
    background-color: #fff;
}

.resources-list .resources {
  border-top: 1px solid #545665;
  margin-bottom: 40px;
}

.resources-list .resource {
  border-bottom: 1px solid #545665;
  display: flex;
  justify-content: space-between;
  padding: 20px 0;
}

.resources-list .resource .cat-tags {
  display: flex;
  justify-content: center;
  flex-direction: column;
  width: 100px;
}

.resources-list .resource .category-tag {
  border: 1px solid #545665;
  border-radius: 40px;
  font-size: 14px;
  line-height: 1;
  margin: 0;
  padding: 5px 10px;
  width: fit-content;
}

.resources-list .resource h4 {
  align-self: center;
  font-size: 18px;
  margin: 0;
  width: 50%;
}

.resources-list .download-details {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.download-details span {
  font-size: 12px;
  display: inline-block;
  text-align: center;
}

.resources-list .download-btn {
  background-color: #292C3F;
  border: 1px solid #292C3F;
  border-radius: 40px;
  color: #fff;
  font-size: 16px;
  line-height: 1;
  margin: 0;
  padding: 10px 15px;
  text-decoration: none;
  transition: 300ms ease-in-out;
  height: fit-content;
}

.resources-list .download-btn:hover {
  background-color: #00FDC7;
  border: 1px solid #00FDC7;
  color: #292C3F;
}

@media only screen and (max-width: 767px) {

  .resources-list {
    padding: 50px 0;
  }

  .resources-list .label {
    margin-bottom: 30px;
  }
}

/* enquiry-banner */

.enquiry-banner {
  background-color:#292C3F;
  padding:100px 0 200px;
  position:relative;
  z-index: 2;
}

.enquiry-banner:after {
  background-image:url('../images/enquiry-banner-bg.svg');
  background-size:contain;
  background-repeat:no-repeat;
  content:'';
  position:absolute;
  left:5vw;
  bottom:0;
  height:100px;
  width:90vw;
}

.enquiry-banner h2 {
  margin:0;
}

@media only screen and (max-width: 800px) {
  .enquiry-banner h2 {
    margin: 0 0 30px;
  }
}

.enquiry-banner .btn {
  margin-top:40px;
}

@media only screen and (max-width: 800px) {
  .enquiry-banner .flex-content {
    flex-direction: column;
  }
}

/* timeline-banner */

.timeline-banner {
    background-color:#292C3F;
    overflow: hidden;
    padding: 100px 0 0;
    position: relative;
}

.timeline-banner .flex-container .intro-container {
  border-bottom: 1px solid #545665;
  margin-bottom: 100px;
}

.timeline-banner h2 {
  font-size: 50px;
  line-height: 52px;
  max-width: 580px;
}

.timeline__intro {
  margin-top: 60px;
  margin-bottom: 100px;
  margin-left: 70px;
}

.timeline__intro p {
  font-size: 18px;
  line-height: 22.5px;
}

.timeline-swiper {

  margin-bottom: 100px;
}

.timeline__item {
  display: flex;
  justify-content: space-between;
  max-width: 90vw;
}

.timeline__item .timeline__media {
  width: 50%;
  aspect-ratio: 1/0.75;
  margin: 0;
}

.timeline__item .timeline__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.timeline__item .content {
  width: 41.6667%;
}

.timeline__item-title {
  font-size: 100px;
  line-height: 102px;
  margin: 0 0 40px 0;
  padding: 0;
}

.timeline__item-subtitle {
  margin: 0 0 20px 0;
}

.timeline-swiper-button-prev {
  background-image: url('/assets/images/swiper-arrow-white.svg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px;
  border-radius: 100%;
  border: 1px solid #FFF;
  left: 53.3333vw !important;
  bottom: 0 !important;
  top: unset !important;
  transform: scale(-1);
  height: 60px;
  width: 60px;
  transition: 300ms;
}

.timeline-swiper-button-prev:hover {
    background-image: url('/assets/images/swiper-arrow-black.svg');
    background-color: #00FDC7;
    border: 1px solid #00FDC7;
    color: #292C3F;
}

.timeline-swiper-button-prev svg {
  display: none;
}

.timeline-swiper-button-next {
  background-image: url('/assets/images/swiper-arrow-white.svg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px;
  border-radius: 100%;
  border: 1px solid #FFF;
  left: calc(53.3333vw + 80px) !important;
  right: unset !important;
  bottom: 0 !important;
  top: unset !important;
  height: 60px;
  width: 60px;
  transition: 300ms;
}

.timeline-swiper-button-next:hover {
    background-image: url('/assets/images/swiper-arrow-black.svg');
    background-color: #00FDC7;
    border: 1px solid #00FDC7;
    color: #292C3F;
}

.timeline-swiper-button-next svg {
  display: none;
}

.timeline-rail {
   margin-top: 24px;
   margin-bottom: 30px;
  }

.timeline-dates {
  display: flex;
  align-items: flex-end; 
  justify-content: space-between;
  list-style: none; 
  padding: 0; 
  margin: 0; 
  width: 100%;
}

.timeline-date {
   color: #fff;
   transition: 300ms ease-in-out;
  }

.timeline-date.active { 
  color: #00FAC8;
}

.timeline-date__btn {
  background: none; border: 0; padding: 0; cursor: pointer; color: inherit;
  display: grid; place-items: center; gap: 8px;
}

.timeline-date__tick {
  width: 2px; height: 40px; background: #00FDC7;
  display: block;
}

.timeline-date__tick-small {
  width: 2px; height: 20px; background: #00FDC7;
  display: block;
}

.timeline-date__label {
   font-size: 14px; white-space: nowrap;
  }


@media only screen and (max-width: 767px) {
  .timeline__item {
    flex-direction: column;
  }

  .timeline-banner h2 {
    font-size: 40px;
  }

  .timeline__title {
    margin: 20px 0;
  }

  .timeline__intro {
    margin-top: 0;
    margin-bottom: 30px;
    margin-left: 0;
  }

  .timeline-banner .flex-container .intro-container {
    margin-bottom: 50px;
  }

  .timeline__item .content {
    width: 100%;
  }

  .timeline__item .timeline__media {
    width: 100%;

  }

  .timeline__item-title.font-100 {
    font-size: 50px;
    line-height: 52px;
    margin: 20px 0;
  }

  .timeline__media {
    margin: 0 0 20px;
  }

  .timeline-swiper .swiper-wrapper {
    margin-bottom: 100px;
  }

  .timeline-swiper-button-prev {
    left: 0 !important;
  }

  .timeline-swiper-button-next {
    right: 0 !important;
    left: initial !important;
  }

  .timeline-rail {
    display: none;
  }
}

.timeline-swiper { position: relative; overflow: hidden; }
.timeline-swiper .swiper-wrapper { display: flex; }
.timeline-swiper .swiper-slide { width: 100%; flex-shrink: 0; }

/* Make sure arrows are above content */
.timeline-swiper .swiper-button-next,
.timeline-swiper .swiper-button-prev { z-index: 5; }

/* 1) Let the flex item shrink (critical!) */
.flex-12, .timeline-swiper { min-width: 0; min-height: 0; }

/* 2) Keep wrapper constrained */
.timeline-swiper .swiper-wrapper { width: 100%; }

/* 3) Force each slide to the viewport width */
.timeline-swiper .swiper-slide { width: 100% !important; flex-shrink: 0; }
.flex-content, .flex-6, .flex-12 { min-width: 0; }


/* scrolling-image-split */

.scrolling-image-split {
  padding:0;
}

.scrolling-image-split .btn {
  align-self: flex-start;
  margin-top:50px;
}

.scrolling-image-split .vertical-scroll {
  height: 1000px; /* viewport height for visible slides */
  overflow: hidden;
  position: relative;
  text-align: center;
}

.scrolling-image-split .vertical-scroll:before {
  background-color: #CFCED8;
  background: linear-gradient(to bottom, #CFCED8 30%, rgba(207, 206, 216, 0) 100%);
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 150px;
  width: 100%;
  z-index: 1;
}

.scrolling-image-split .vertical-scroll:after {
  background-color: #CFCED8;
  background: linear-gradient(to top, #CFCED8 30%, rgba(207, 206, 216, 0) 100%);
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  height: 150px;
  width: 100%;
  z-index: 1;
}

.scrolling-image-split .content {
  display: flex;
  justify-content: center;
  flex-direction: column;
  height: 100%;
}


.scrolling-image-split .scroll-inner {
  display: flex;
  flex-direction: column;
  animation: scrollUp 40s linear infinite;
}

.scrolling-image-split .scroll-item {
  margin-bottom: 10px; /* space between images */
}

.scrolling-image-split .title {
  font-size: 50px;
  line-height: 52px;
}

@keyframes scrollUp {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-50%); /* moves up by half, because we duplicated slides */
  }
}

@media only screen and (max-width: 1000px) {
  .scrolling-image-split .flex-content {
    flex-direction: column;
  }

  .scrolling-image-split .vertical-scroll {
    height: 500px;
  }

  .scrolling-image-split .content {
    margin-bottom: 20px;
  }
}

@media only screen and (max-width: 767px) {
  .scrolling-image-split .title {
    font-size: 40px;
    line-height: 40px;
  }
}

/* about-hero */

.about-hero {
  min-height: calc(100% - 100px);
  padding: 40px 0;
  padding: 170px 0 50px;
  position: relative;
}

.about-hero h1 {
  color: #00FAC8;
  font-size: 80px;
  line-height: 0.85;
  max-width: 600px;
  padding: 0;
  margin: 0;
}

.about-hero .flex-6 {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 60vh;
}

.about-hero .flex-6.film-container {
  justify-content: flex-end;
  max-width: 337px;
  position: absolute;
  bottom: 20px;
  right: 20px;
  min-width: 337px;
}

.about-hero .watch-film {
  border: 2px solid rgba(243,232,204,0.6);
  display: flex;  
  position: relative;
  transition: 300ms;
}

.about-hero .watch-film:hover {
  border: 2px solid rgba(243,232,204,1);
}

.about-hero .watch-film a {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.about-hero .watch-film img {
  object-fit: cover;
  height: 100%;
  width: 55%;
}

.about-hero .watch-content {
  background-color: rgba(243,232,204,0.6);
  padding: 20px;
  width: 45%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: 300ms;
}

.about-hero .watch-film:hover .watch-content {
  background-color: rgba(243,232,204,1);
}

.about-hero .watch-content p {
  font-size: 15px;
  padding: 0;
  margin:0;
}

.about-hero .watch-content span {
  background-color: #292C3F;
  border-radius: 40px;
  color: #fff;
  display: block;
  font-weight: 500;
  padding: 10px 15px;
  text-align: center;
  transition: 300ms;
}

.about-hero .watch-film:hover .watch-content span {
  background-color: #00FAC8;
  color: #292C3F;
}

@media only screen and (max-width: 767px) {
  .about-hero h1 {
    font-size: 60px;
    margin: 100px 0;
  }

  .about-hero .flex-6 {
    min-height: fit-content;
  }
}

@media only screen and (max-width: 450px) {
  .about-hero .flex-6.film-container {
    max-width: 91%;
  }
}

/* page-contents-banner */

.page-contents-banner {
  background-color: #fff;
  border-top: 1px solid #CFCED8;
  border-bottom: 1px solid #CFCED8;
  display: flex;
  padding: 0 30px;
  position: sticky;
  top: 0;
  transition: 300ms;
  z-index: 4;
}

.page-contents-banner.active {
  top: 112px;
}

.page-contents-banner h2 {
  border-right: 1px solid #CFCED8;
  color: #292C3F;
  font-size: 18px;
  font-weight: 500;
  margin: 0;
  padding: 20px 0 20px 30px;
  position: relative;
  width: 300px;
}

.page-contents-banner h2:before {
    background-color: #00FAC8;
    border-radius: 100%;
    content: "";
    position: absolute;
    top: calc(50% - 5px);
    left: 0;
    height: 10px;
    width: 10px;
}


.page-contents-banner ul {
  display: flex;
  gap:20px;
  list-style-type: none;
  width: 100%;
  justify-content: space-evenly;
}


.page-contents-banner ul li {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.page-contents-banner ul li a {
  color: #292C3F;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: 300ms ease-in-out;
  position: relative;
}

.page-contents-banner ul li a::before {
  background-color:#00FAC8;
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 0;
  height: 2px;
  transition: 300ms;
}

.page-contents-banner ul li a:hover::before {
  width: 100%;
}

.page-contents-banner ul li a.active::before {
  width: 100%;
}

@media only screen and (max-width: 800px) {
  .page-contents-banner {
    display: none;
  }
}

/* quote-block */

.quote-block .flex-container {
  position: relative;
  z-index: -2;
}

.quote-block {
  padding: 50px 0;
  z-index: -2;
  position: relative;
}

.quote-block h2 {
  margin-bottom: 40px;
}

.quote-container {
  padding: 50px 50px 50px 100px;
  position: relative;
}

.quote-intro {
  height: 100%;
  position: relative;
}

.quote {
  margin-bottom: 20px;
  position: relative;
}


.quote:before {
  content: '“';
  font-size: 60px;
  line-height: 1;
  position: absolute;
  top: 5px;
  left: -100px;
  height: 30px;
  width: 100px;
  text-align: center;
}
.quote:after {
  content: '”';
  font-size: 60px;
  line-height: 1;
  position: absolute;
  top: 5px;
  right: -60px;
  height: 30px;
  width: 100px;
  text-align: center;
}
.quote p {
  color: #292C3F;
  font-size: 25px;
  font-weight: 400;
  line-height: 25px;
}

.name {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 50px;
}

.name-2 {
  margin-bottom: 0px;
}

@media only screen and (max-width: 1000px) {
    .quote-block .flex-content {
        flex-direction: column;
    }
}

@media only screen and (max-width: 767px) {
  .quote-container {
    padding: 20px;
  }

  .quote p {
    font-size: 18px;
    line-height: 22.5px;
  }

  .quote:before {
    top: -25px;
    left: -50px;
  }
  .quote::after {
    top: -25px;
    right: -50px;
  }
}

/* grid-content  */

.grid-content {
  padding: 50px 0;
}

.grid-content .grid {
  border-right: 1px solid #00FDC7;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
}

.grid-content .grid-item {
  border-left: 1px solid #00FDC7;
  padding: 30px;
  width: 33.3334%;
  transition: 300ms;
}

.grid-item svg {
  width: 80px;
  height: 80px;
  object-fit: contain;
  object-position: center;
  transition: 300ms;
}


.grid-content .grid-item.width-12 {
  width: 100%;
}

.grid-content .grid-item.width-6 {
  width: 50%;
}

.grid-content .grid-item.width-4 {
  width: 33.3334%;
}

.grid-content .grid-item.width-3 {
  width: 25%;
}

.grid-content .grid-item figure {
  margin: 0;
  max-width: 80px;
}

.grid-content .grid-item h3 {
  font-size: 14px;
  margin: 20px 0 0;
  text-transform: uppercase;
  transition: 300ms;
}

.grid-content .grid-item p {
  font-size: 14px;
  margin: 60px 0 0 80px;
  transition: 300ms;
}

.grid-content .grid-item:hover {
  background-color: #26283b;
  color: #fff;
}

.grid-content .grid-item:hover h3,
.grid-content .grid-item:hover p {
  color: #fff;
}

.grid-content .grid-item:hover svg {
  stroke: #00FDC7;
  fill: #00FDC7;
}

@media only screen and (max-width: 1200px) {
  .grid-content .grid-item.width-4,
  .grid-content .grid-item.width-3 {
    width: 50%;
  }
}

@media only screen and (max-width: 767px) {
  .grid-content {
    padding: 50px 0;
  }

  .grid-content .grid-item p {
    margin: 30px 0;
  }
}

@media only screen and (max-width: 650px) {
  .grid-content .grid-item.width-6,
  .grid-content .grid-item.width-4,
  .grid-content .grid-item.width-3 {
    width: 100%;
  }
}

/* breadcrumbs */

.breadcrumbs {
  overflow: hidden;
}

.breadcrumbs ul {
  display: flex;
  padding: 0 0 5px;
  list-style-type: none;
}

.breadcrumbs li {
  color: #CFCED8;
  font-size: 14px;
  font-weight: 500;
  margin-right: 30px;
  position: relative;
  white-space: nowrap;
}

.breadcrumbs .home-icon {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

.breadcrumbs li a {
  color: #FFF;
  font-weight: 500;
  text-decoration: none;
}

.breadcrumbs li span.arrow {
  background-image: url('../images/breadcrumb-chevron.svg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 8px;
  display: inline-flex;
  position: absolute;
  left: -20px;
  width: 10px;
  height: 24px;
}

.breadcrumbs li a:hover {
  color: #00FAC8;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.breadcrumbs ul{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:0; /* your spacing is coming from the arrow; adjust if needed */
  padding:0;
  margin:0;
  list-style:none;
}

/* Important: allow children to shrink so ellipsis works */
.breadcrumbs li{
  display:flex;
  align-items:center;
  min-width:0; /* critical for text-overflow in flex items */
}

.breadcrumbs li:first-of-type {
  min-width: 20px;
}

/* Arrows and icons shouldn’t shrink */
.breadcrumbs .arrow,
.breadcrumbs .home-icon{
  flex:0 0 auto;
}

/* Truncate ancestor links and current page label */
.breadcrumbs a,
.breadcrumbs [aria-current="page"]{
  display:inline-block;
  max-width:200px;        /* your target width */
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  vertical-align:bottom;
}

/* Don’t truncate the first (home) link */
.breadcrumbs li:first-child a{
  max-width:none;
}

/* Optional: a little spacing for the arrow */
.breadcrumbs .arrow{
  display:inline-block;
  width:10px;
  height:10px;
  margin:0 8px;
  /* add background-image if you use an icon, or use :before content */
}


/* page-content */

.page-content h2 {
 font-size: 40px;
 line-height: 1;
 margin: 0 0 27px 0;
}

@media only screen and (max-width: 767px) {
  .page-content {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }

  .page-content .label {
    margin-bottom: 20px;
  }

  .page-content h2 {
    font-size: 30px;
    line-height: 34px;
  }
}

/* list-content */


.list-content ul li {
  margin-left: 40px;
}

.list-content .list-heading {
  margin-left: 60px;
}

.list-content .bullet-title {
  font-size: 20px;
  font-weight: 500;
  line-height: 25px;
  margin-bottom: 10px;
}

@media only screen and (max-width: 767px) {
  .list-content .list-heading {
    margin-left: 20px;
  }
  .list-content ul li {
    margin-left: 0;
  }
}

/* latest-case-studies */

.latest-case-studies {
  padding: 50px 0;
}

.latest-case-studies h2 {
  margin: 0;
}

.latest-case-studies .btn-wrapper {
  margin: 50px 0 0 0;
}

/* meet-the-team */

.meet-the-team {
  padding: 50px 0;
}

.meet-the-team-swiper {
  margin-top:100px;
}

.meet-the-team-swiper .swiper-wrapper {
  height: fit-content;
}

.meet-the-team-swiper .swiper-wrapper {
  transition-timing-function:linear;
}


.meet-the-team-swiper .col-3 { width: 33.333%; }
.meet-the-team-swiper .col-4 { width: 25%; }

.meet-the-team-swiper img {
  object-fit:cover;
  object-position: center;
  height: 30vw;
  width: 100%;
}

.meet-the-team-swiper .col-4 img {
  object-fit:cover;
  object-position: center;
  height: 20vw;
  width: 100%;
}


.meet-the-team .btn-wrapper {
  margin-top: 40px;
}

@media only screen and (max-width: 767px) {

  .meet-the-team {
    padding: 50px 0;
  }

  .meet-the-team .font-60 {
    font-size: 40px;
    margin-bottom: 20px;
  }

  .meet-the-team-swiper {
    margin-top: 50px;
    padding: 0 0 50px;
  }

  .meet-the-team-swiper .col-3,
  .meet-the-team-swiper .col-4 {
    width: 75%;
  }

  .meet-the-team-swiper img {
    height: 80vw;
  }

  .meet-the-team-swiper .col-4 img {
    height: 70vw;
  }
}
/* netzero */

.net-zero-banner {
  padding: 100px 0 40px;
  position: relative;
  
}

.net-zero-banner h2 {
  margin: 30px 0;
}

.net-zero-banner .flex-9 .text-white {
  max-width: 445px;
  margin-top: 400px;
}

.net-zero-banner img {
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 0;
}

.net-zero-banner .overlay {
  background-color: #000;
  opacity: 0.4;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 1;
}

.net-zero-banner .content {
  position: relative;
  z-index: 2
}

.net-zero-banner .block-footer {
  margin-top: 400px;
  justify-content: space-between;
  display: flex;
}

.net-zero-banner .block-footer .text-white {
  max-width: 454px;
}

.net-zero-banner .btn-solid-white {
  height: fit-content;
  align-self: flex-end;
}

@media only screen and (max-width: 767px) {
  .net-zero-banner {
    padding: 50px 0 20px;
  }

  .net-zero-banner .font-50 {
    font-size: 20px;
    line-height: 25px;
    margin-top: 30px;
  }

  .net-zero-banner .block-footer {
    margin-top: 100px;
    flex-direction: column;
    gap: 30px;
  }
}

/* awards-block */

.awards-block {
  padding: 50px 0;
}

.award-items {
  border-top: 1px solid #545665;
  list-style-type: none;
  margin-top: 50px;
  padding-left: 0;
}

.award-item {
    border-bottom: 1px solid #545665;
    display: flex;
    padding: 20px 0;
}

.award-item span {
  color: #292C3F;
  width: 25%;
}

@media only screen and (max-width: 767px) {
  .awards-block {
    padding: 50px 0;
  }
}

/* services-hero */

.service-hero {
  position: relative;
  overflow: hidden;
  /* border-bottom: 1px solid #CFCED8; */
}

.service-hero .content-container {
  padding: 132px 50px 50px 0;
}

.service-hero .img-container {
  margin-top: 112px;
}

.service-hero .inner-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

.service-hero .label {
  margin-bottom: 30px;
}

.service-hero .breadcrumbs li a {
  color: #292C3F;
}

.service-hero .breadcrumbs {
  margin: 0 0 30px 0;

}

.service-hero .breadcrumbs li span {
  color: #292C3F;
}

.service-hero h1 {
  color: #292C3F;
  margin: 0 0 20px 0;
}

.service-hero .btn-wrapper {
  margin: 30px 0 50px 0;
}

.service-hero figure {
  width: 50vw;
  margin: 0;
  height: 100%;
  min-height: 500px;
}

.service-hero img {
  object-fit: cover;
  object-position: center;
  position: absolute;
  height: 100%;
  width: 50vw;
}

@media only screen and (max-width: 767px) {

  .service-hero {
    border-bottom: none;
  }

  .service-hero .img-container {
    margin-top: 0;
  }

  .service-hero img {
    width: 100%;
  }

  .service-hero .label {
    margin-bottom: 20px;
  }

  .service-hero h1 {
    margin: 0 0 20px 0;
  }

  .service-hero .content-container {
    padding: 100px 0 0;
  }

  .service-hero .inner-content {
    margin-bottom: 20px;
  }

  .service-hero figure {
    position: relative;
    width: 100%;
    height: 250px;
    min-height: 250px;
    top: 0;
    margin-top: 0;
  }
}

@media only screen and (max-width: 450px) {
  .service-hero .font-60 {
    font-size: 40px;
  }
}

/* services-list */
 
.services-list {
  overflow: hidden;
  position: relative;
  padding: 30px;
}
 
.services-list__items {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  padding: 0;
}
 
.services-list__item {
  padding: 50px 20px 60px;
  position: relative;
  border-right: 1px solid #00FAC8;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  transition:300ms;
}
 
.services-list__item a.absolute-link {
  position:absolute;
  top:0;
  left:0;
  height:100%;
  width:100%;
  z-index:1;
}
 
.services-list__item:nth-of-type(odd):hover,
.services-list__item:hover {
  background-color:#292c3fed;
  border-right: 1px solid transparent;
  transform:scale(1.02);
  z-index:10;
}
 @media only screen and (min-width: 768px) {
  .services-list__item:nth-of-type(odd):hover h2,
  .services-list__item:hover h2 {
    color:#FFF;
  }
  
  .services-list__item:nth-of-type(odd):hover .services-list__text p,
  .services-list__item:hover .services-list__text p,
  .services-list__item:nth-of-type(odd):hover .services-list__text p span,
  .services-list__item:hover .services-list__text p span {
    color:#FFF;
  }

  .services-list__item:hover .btn-solid-black {
    background-color: #00FAC8;
    border: 1px solid #00FAC8;
    color:#292C3F;
}

.services-list__item .btn-solid-black {
  position:absolute;
  bottom:40px;
  left:20px;
}
 } 
 
.services-list__item.width-6 {
  width: calc(50% - 41px);
}
 
.services-list__item.width-6:nth-child(2n) {
  border-right: none;
}
 
.services-list__item.width-4 {
  width: calc(33% - 41px);
}
 
.services-list__item.width-4:nth-child(3n) {
  border-right: none;
}
 
.services-list__item.width-3 {
  width: calc(25% - 41px);
}
 
.services-list__item.width-3:nth-child(4n) {
  border-right: none;
}
 
.category-matrix {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  margin: 20px 0;
  padding: 0;
}
 
.category-matrix li {
  border: 1px solid #292C3F;
  border-radius: 30px;
  list-style-type: none;
  margin: 0 10px 10px 0;
  padding: 5px 15px;
}
 
.services-list__media {
  position: absolute;
  left: 40px;
  bottom: 40px;
  margin: 0;
  padding: 0;
  max-width: 15vw;
}
 
.services-list__title {
  margin-bottom: 30px;
  position:relative;
  width:fit-content;
  transition:300ms;
}
 
.services-list__title:before {
  background-color:#00FAC8;
  content:'';
  position:absolute;
  bottom:-7px;
  left:0;
  height:2px;
  width:0;
  transition:300ms;
}
 
.services-list__item:hover .services-list__title:before {
  width:100%;
}
 
.services-list__cta {
  margin-top: 40px;
}
 
/* .services-list__media img {
  max-width: 100%;
}
 
.services-list__text {
  margin: 120px 0 0 17vw;
} */
 
/* .services-list__cta {
  margin: 40px 0 0 17vw;
} */

@media only screen and (max-width: 1150px) {
  .services-list__item.width-3 {
    width: calc(50% - 41px);
  }
}
 
@media only screen and (max-width: 920px) {
  .services-list__item.width-4 {
    width: calc(50% - 41px);
  }
 
  .services-list__item {
    border-right: none;
  }
  .services-list__item:nth-of-type(odd) {
    border-right: 1px solid #00FDC7 !important;
  }
}
 
@media only screen and (max-width: 767px) {
  .services-list__item a.absolute-link {
    display:none;
  }
  .services-list {
    padding: 20px;
  }
 
  .services-list__item,
  .services-list__item:nth-of-type(even) {
    min-height: fit-content;
    background-color: #F5F5F7 !important;
    border-right: none;
    border-top: 1px solid #CFCED8;
    padding: 30px 20px;
  }
 
  .services-list__item:nth-of-type(odd) {
    border-right: none !important;
  }
 
  .services-list__title {
    margin-bottom: 0;
    position: relative;
    font-size: 25px;
    line-height: 25px;
    padding-right: 40px;
    width:calc(100% - 40px);
  }
 
  .services-list__title:before {
    display:none;
  }
  
  .services-list__text {
    margin-top: 20px;
  }
  
  .services-list__item.width-6,
  .services-list__item.width-4,
  .services-list__item.width-3 {
    width: 100%;
  }
 
  .services-list__title[role="button"] { cursor: pointer; }
 
  .services-list__panel {
    overflow: hidden;
    height: 0;
    opacity: 0;
    transition: height .25s ease, opacity .25s ease;
    will-change: height, opacity;
  }
 
  .services-list__item.is-open .services-list__panel {
    opacity: 1;
    height: fit-content;
  }
 
  .services-list__title[role="button"]::after {
    content: '';
    background-image: url('/assets/images/arrow-right-black.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px;
    display: block;
    position: absolute;
    border-radius: 100%;
    border: 1px solid #000;
    right: 0;
    top: -5px;
    height: 40px;
    width: 40px;
    transition: 300ms;
    transform: rotate(90deg);
  }
  .services-list__item.is-open .services-list__title[role="button"]::after {
    transform: rotate(270deg);
    background-color: #00FDC7;
  }

  .services-list__item .btn-solid-black {
    width: fit-content;
    display: inline-block;
  }
}
 
@media only screen and (max-width: 420px) {
  .services-list__title {
    font-size: 18px;
    line-height: 22.5px;
  }
}
/* related-services */

.related-services {
  padding: 50px 0;
  overflow: hidden;
  background-color: #fff;
}

.related-services h2 {
  padding: 0;
  margin-bottom: 30px;
}

.related-list {
  margin-top: 50px;
}

.related-services .related-container {
  gap: 20px;
}

.related-service-card {
  margin-bottom: 50px;
  height: fit-content;
  position: relative;
  background-color: #26283b;
  padding: 10px;
  aspect-ratio: 1.5/1;
}

.related-service-card .absolute-link {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
}

.related-service-card.width-4 {
  width: calc(33.3333% - 20px);
}

.related-service-card.width-6 {
  width: calc(50% - 20px);
}

.related-service-card a {
  text-decoration: none;
}

.related-service-image {
  overflow: hidden;
  width: 100%;
  height: 100%;
  position: relative;
}

.related-service-image .overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.20);
}

.related-service-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 300ms ease-in-out;
}

.related-service-card:hover img {
  scale: 1.1;
}

.related-links {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  margin: 20px 0;
  padding: 0;
}

.related-service-content {
  display: flex;
  justify-content: space-between;
  padding: 0 55px 0 0;
  position: absolute;
  bottom: 10px;
  left: 10px;
  z-index: 2;
}

.related-service-card::before {
  background-image: url('/assets/images/arrow-right-black.svg');
  background-repeat: no-repeat;
  background-size: 15px;
  background-position: center;
  content: '';
  position: absolute;
  bottom: 20px;
  right: 20px;
  height: 40px;
  width: 40px;
  transition: 300ms;
  z-index: 3;
  border: 1px solid #000;
  border-radius: 50%;
  background-color: #fff;
}

.related-service-card:hover::before {
  background-color: #00FDC7;
  transform: rotate(-45deg);
  border: 1px solid #00FDC7;
}

.related-service-content h3 {
  margin: 0;
}

.related-service-title {
  color: #fff;
  transition: 300ms ease-in-out;
  font-size: 24px;
  font-weight: 500;
  line-height: 25px;
  position: relative;
}

.related-links a {
  border: 1px solid #292C3F;
  border-radius: 30px;
  color: #292C3F;
  font-size: 14px;
  list-style-type: none;
  margin: 0 10px 10px 0;
  padding: 5px 15px;
  text-decoration: none;
}

.related-links a:hover {
  background-color: #00FDC7;
  border: 1px solid #00FDC7;
  color: #292C3F;
}

.related-services .btn {
  margin-top: 30px;
}

.related-services-swiper .swiper-wrapper {
  margin-bottom: 30px;
}

.related-swiper-button-prev {
  background-image: url('/assets/images/swiper-arrow-black.svg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px;
  border-radius: 100%;
  border: 1px solid #000;
  left: initial !important;
  right: 70px !important;
  bottom: 0 !important;
  top: unset !important;
  transform: scale(-1);
  height: 60px;
  width: 60px;
  transition: 300ms;
}

.related-swiper-button-prev:hover {
    background-image: url('/assets/images/swiper-arrow-black.svg');
    background-color: #00FDC7;
    border: 1px solid #00FDC7;
    color: #292C3F;
}

.related-swiper-button-prev svg {
  display: none;
}

.related-swiper-button-next {
  background-image: url('/assets/images/swiper-arrow-black.svg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px;
  border-radius: 100%;
  border: 1px solid #000;
  right: 0 !important;
  bottom: 0 !important;
  top: unset !important;
  height: 60px;
  width: 60px;
  transition: 300ms;
}

.related-swiper-button-next:hover {
    background-image: url('/assets/images/swiper-arrow-black.svg');
    background-color: #00FDC7;
    border: 1px solid #00FDC7;
    color: #292C3F;
}

.related-swiper-button-next svg {
  display: none;
}

@media only screen and (max-width: 767px) {
  .related-services {
    padding: 25px 0;
  }

  .related-services .label {
    margin-bottom: 20px;
  }

  .related-services .font-50 {
    font-size: 30px;
    line-height: 34px;
  }

  .related-service-card {
    margin-bottom: 0;
  }

  .related-service-card.width-6,
  .related-service-card.width-4 {
    width: 100%;
    aspect-ratio: 1/1;
  }

  .related-services-swiper .swiper-wrapper {
    margin-bottom: 80px;
  }
}

/* service-intro */

.service-intro {
  position: relative;
  z-index: -1;
}

.service-intro .flex-container {
  margin: 0;
  max-width: 100%;
}

.service-intro .image-container {
  position: relative;
}

.service-intro img {
  position: absolute;
  right: 0;
  top: 0;
  max-width: 50vw;
  height: 100vh;
  width: 100%;
  object-fit: cover;
}

.service-intro .img {
  transition:  opacity 300ms ease;
}


.service-intro h2 {
  margin: 50px 0 20px;
  position: relative;
}


.service-intro .flex-6 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 30px;
}

.service-intro li {
  margin-bottom: 10px;
}

@media only screen and (max-width: 767px) {
  .service-intro {
    padding: 25px 0 0 0;
  }

  .service-intro h2 {
    margin: 0 0 20px;
  }

  .service-intro .flex-6 {
    padding: 0 20px;
  }

  .service-intro img {
    display: none;
  }

  .service-intro .font-60 {
    font-size: 30px;
    line-height: 34px;
  }
}

/* service-content */

.service-content {
  padding: 25px 0;
  position: relative;
  z-index: -2;
}

.service-content .text p {
  font-size: 18px;
  margin-bottom: 10px;
}

.service-content .statistic {
background-color: #fff;
border-left: 1px solid #00FDC7;
border-right: 1px solid #00FDC7;
position: relative;
width: fit-content;
margin-top: 40px;
}

.service-content .statistic-inner {
padding: 40px 30px;
}

.statistic-inner .statistic-number {
  font-weight: 500;
}

.service-content .flex-6 {
  padding: 0 0 0 30px;
}

.service-content .statistic-text {
  font-size: 14px;
  display: block;
  margin: 20px 0 0;
  text-transform: uppercase;
}

.service-content .service-label {
  font-size: 18px;
  font-weight: 500;
  margin-top: 50px;
}

.service-content .bullet-title {
  font-weight: 500;
  margin-bottom: 10px;
}

.service-content ul,
.list-content ul,
.title-text ul {
  margin-top: 10px;
  list-style-type: none;
  padding-left: 0;
}


.service-content ul li,
.list-content ul li,
.title-text ul li {
  border-bottom: 1px solid #CFCED8;
  margin-top: 0;
  padding: 30px 0 30px 40px;
  position: relative;
}

.service-content ul li:before,
.list-content ul li:before,
.title-text ul li:before {
  background-color: #00FDC7;
  border-radius: 100%;
  content: '';
  position: absolute;
  top: 35px;
  left: 0;
  height: 8px;
  width: 8px;
}

.service-content .btn-wrapper {
  margin-top: 30px;
}

@media only screen and (max-width: 767px) {
  .service-content {
    padding: 25px 0;
  }

  .service-content .flex-6 {
    padding: 0;
  }

  .service-content h2 {
    font-size: 30px;
    line-height: 34px;
  }

  .service-content .statistic {
    margin: 10px 0;
  }

  .service-content ul li,
.list-content ul li,
.title-text ul li {
  padding: 15px 0 15px 20px;
}

.service-content ul li:before,
.list-content ul li:before,
.title-text ul li:before {
  top: 21px;
}
}

/* locations-hero */

.locations-hero {
  padding: 132px 0 50px;

}

.locations-hero h1 {
  margin:60px 0 0;
}

.locations-hero .breadcrumbs li a {
  color: #292C3F;
}

.locations-hero .breadcrumbs {
  margin: 0 0 50px 0;

}

.locations-hero .breadcrumbs li span {
  color: #292C3F;
}

@media only screen and (max-width: 767px) {
  .locations-hero h1 {
    margin: 30px 0 0;
  }
  .locations-hero {
    padding: 82px 0 25px;
  }
  .locations-hero .font-50 {
    font-size: 30px;
    line-height: 34px;
  }
}

/* locations-list */

.locations-list .filter-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 30px;
}

.locations-list ul {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  list-style-type: none;
  padding: 0 0 50px 0 ;
}



.locations-list ul li {
  display: flex;
  gap: 20px;
  width: calc(50% - 20px);
}

.locations-list ul li .content {
  border-top: 1px solid #A9AAB2;
  padding: 50px 0;
  width: 50%;
}

.locations-list ul li .content h3 {
  margin: 0 0 40px 0;
}

.locations-list ul li .content .location-text {
  margin: 0 0 40px 0;
}

.locations-list ul li .content .location-phone,
.locations-list ul li .content .location-email {
  margin-bottom: 10px;
}

.locations-list ul li .content .location-phone a,
.locations-list ul li .content .location-email a {
  color: #A9AAB2;
  text-decoration: none;
}

.locations-list ul li .content .location-phone a:hover,
.locations-list ul li .content .location-email a:hover {
  color: #292C3F;
}

.locations-list ul li .image-frame {
  background-color: #A9AAB2;
  display: flex;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  width: 50%;
}

.locations-list .location-groups {
  gap: 8px;
  margin: 20px 0;
  padding: 0 0 20px 0;
}

.locations-list .location-groups li {
  width: auto;
}

.locations-list .location-groups li a {
  border: 1px solid #545665;
  border-radius: 40px;
  color: #545665;
  font-size: 14px;
  padding: 5px 10px;
  text-decoration: none;
}

@media only screen and (max-width: 767px) {
  .locations-list ul li {
    flex-direction: column;
    width: 100%;
  }

  .locations-list ul li .image-frame {
    min-height: 90vw;
    width: 100%;
  }

  .locations-list ul li .content {
    width: 100%;
  }
  .locations-list .filter-container {
    align-items: flex-start;
  }
}

/* subpage-hero */

.subpage-hero {
  background-color: #E7E7EB;
  padding: 112px 0 0;
  overflow: hidden;
  position: relative;
  /* border-bottom: 1px solid #CFCED8; */
}

.subpage-hero .content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: fit-content;
  padding-bottom: 20px;
  padding-right: 50px;
}

.subpage-hero .breadcrumbs li a {
  color: #292C3F;
}

.subpage-hero .breadcrumbs {
  margin: 20px 0 50px 0;

}

.subpage-hero .breadcrumbs li span {
  color: #292C3F;
}

.subpage-hero h1 {
  margin-bottom: 20px;
}

.subpage-hero .subtitle p {
  font-size: 20px;
  line-height: 25px;
  font-weight: 500;
  margin-bottom: 20px;
  max-width: 90%;
}

.subpage-hero .text a {
  color: #0b0b0b;
  transition: 300ms ease-in-out;
}

.subpage-hero .text a:hover {
  color: #00FDC7;
}

.subpage-hero .text {
  max-width: 90%;
}

.subpage-hero .text p {
  margin-bottom: 10px;
}

.subpage-hero .text p:last-of-type {
  margin-bottom: 0;
}

.subpage-hero .location-groups {
  display: flex;
  flex-flow: row wrap;
  list-style-type: none;
  gap: 8px;
  margin: 20px 0;
  padding: 0 0 20px 0;
}

.subpage-hero .location-groups li {
  width: auto;
}

.subpage-hero .location-groups li a {
  border: 1px solid #545665;
  border-radius: 40px;
  color: #545665;
  font-size: 14px;
  padding: 5px 10px;
  text-decoration: none;
  white-space: nowrap;
  display: inline-block;
}

.subpage-hero .bg-image {
  width: 50vw;
  max-height: 600px;
}

.subpage-hero img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.subpage-hero .btn-wrapper {
  margin: 20px 0 50px;
}

@media only screen and (max-width: 767px) {

  .subpage-hero {
    padding: 100px 0 0;
    border-bottom: none;
  }

  .subpage-hero .content {
    padding-right: 0;
  }

  .subpage-hero h1 {
    font-size: 50px;
    line-height: 52px;
  }

  .subpage-hero .text {
    max-width: 100%;
    height: fit-content;
    margin-bottom: 20px;
  }

  .subpage-hero .subtitle p {
    max-width: 100%;
  }

  .subpage-hero .bg-image {
    position: relative;
    top: 0;
    aspect-ratio: 1/0.75;
    width: 100%;
    max-height: 100%;
  }

  .subpage-hero img {
    width: 100%;
    height: 100%;
  }
}

/* our-value */

.our-value {
  background-color: #292C3F;
  padding: 100px 0;
  overflow: hidden;
  position: relative;
}

.our-value .label::before {
  top: 5px;
}

.our-value .copy {
  padding-right: 10vw;
}

.our-value .bg-image {
  width: 100%;
}

.our-value .bg-image img {
  width: 100%;
}

.our-value .values {
  border-left: 1px solid #00FDC7;
  margin-top: 100px;
}

.our-value .value {
  border-right: 1px solid #00FDC7;
  padding: 0 0 150px 50px;
  position: relative;
}

.our-value .value h3 {
  margin-bottom: 30px;
  max-width: 50%;
}

.our-value .value .value-text {
  max-width: 80%;
}

@media only screen and (max-width: 1160px) {
  .our-value .font-100 {
    font-size: 60px;
    line-height: 1;
  }
}

@media only screen and (max-width: 767px) {
  .our-value {
    padding: 100px 0;
  }

  .our-value .flex-content {
    flex-direction: column-reverse;
    gap: 30px;
  }

  .our-value .copy {
    padding-right: 0;
  }

  .our-value .values {
    border-left: none;
    margin-top: 30px;
  }

  .our-value .value {
    padding: 20px 0;
    border-right: none;
    border-bottom: 1px solid #00FDC7;
  }
}

/* accreditations-banner */

.accreditations-banner {
  padding: 50px 0;
  background-color: #fff;
}

.accreditations-banner .flex-content .accreditations {
  display: flex;
  margin: 25px 0;
}

.accreditations-banner .btn-ghost-black {
  margin-bottom: 30px;
}

.accreditations div {
  display: flex;
  align-items: center;
}

.accreditations-banner .accreditations img {
  object-fit: contain;
  object-position: center;
  max-width: 100%;
  max-height: 100%;
}

.accreditatons-swiper {
  height: fit-content;
}

.accreditatons-swiper .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.accreditatons-swiper img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  margin: 20px;
}

.accordion-content .panel a,
.accordion-content .panel p a {
  text-decoration: none;
  color: #26283b;
  transition: 300ms ease-in-out;
}

.accordion-content .panel a:hover,
.accordion-content .panel p a:hover {
  color: #00FDC7;
}

@media only screen and (max-width: 767px) {
  .accreditations-banner .label {
    margin-bottom: 50px;
  }

  .accreditatons-swiper {
    margin: 20px 0;
  }

  .accreditatons-swiper img {
    width: 90%;
  }

  .accreditatons-swiper .swiper-slide {
    height: 200px;
    padding: 30px;
  }
  .accreditations-banner .btn-wrapper {
    justify-content: center;
  }
}

/* Address Accordion  */

.address-accordion .panel {
  display: flex;
}

@media only screen and (max-width: 767px) {
  .address-accordion .panel {
    flex-direction: column;
  }
  .address-accordion .panel ul {
    padding-left: 0;
  }
}

/* network-banner */
 
.network-banner {
  background-color: #EAEAEC;
  padding: 50px 0;
}

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

.network-subtitle .btn-solid-black {
  margin: 20px 0;
  width: fit-content;
}

.network-banner .flex-6 {
  display: flex;
  flex-direction: column;
}

.network-banner .bg-image {
  width: 100%;
  height: 500px;
  aspect-ratio: 2/1;
  overflow: hidden;
  position: relative;
}

.network-banner .bg-image img {
  width: 100%;
  height: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  object-fit: cover;
  opacity: 0;
  transition: 300ms;
  position: absolute;
}

.network-banner .bg-image img.is-visible {
  opacity: 1;
}


@media only screen and (min-width: 768px) {
  .network-banner .label {
    margin-bottom: 40px;
  }
  .network-banner img {
    max-width: 100%;
  }
   
  .network-groups {
    display: flex;
    justify-content: center;
    flex-direction: column;
    list-style-type: none;
    min-height: 100%;
    padding: 0 5vw;
  }
   
  .network-groups li {
    margin-bottom: 30px;
    position: relative;
  }

  .network-item.is-open .network-name {
    color: #292C3F;
  }

  .network-item.is-open .network-name::before {
    background-color: rgb(0, 253, 199);
    content: "";
    position: absolute;
    bottom: -4px;
    left: 0px;
    height: 3px;
    width: 100%;
  }
   
  .network-groups li .network-name {
    color: #9D9EA7;
    margin-bottom: 10px;
    position: relative;
    transition: 300ms;
    display: inline-block;
    font-size: 30px;
    line-height: 30px;
  }
   
  .network-groups li .network-subtitle {
    opacity: 0;
    height: 0;
    transition: 300ms ease-in-out;
    padding-top: 20px;
  }
  
  .network-groups li .network-subtitle p,
  .network-groups li .network-subtitle li {
   color: #26283b;;
  }
   
  .network-groups li .network-name:before {
    background-color: #00FDC7;
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0px;
    height: 3px;
    width: 0;
  } 

  .network-groups li:hover .network-name {
    color: #292C3F;
    cursor: pointer;
  } 
   
  .network-groups li:hover .network-name:before {
    width: 100%;
  }
  
  .network-groups li:hover .network-subtitle p,
  .network-groups li:hover .network-subtitle li {
    color: #292C3F;
    transition: 300ms;
  }
}

/* Hide the image on mobile */
@media only screen and (max-width: 767px) {
  .network-banner .bg-image { display: none; }

  .network-groups .network-item { 
    position: relative; 
    list-style: none;
    padding: 30px 0;
    border-bottom: 1px solid #938C83;
  }
  .network-groups li > a { pointer-events: none !important; }

  /* make the title clickable and on top */
  .network-groups .network-name { 
    cursor: pointer; 
    position: relative; 
    z-index: 2; 
    padding-right: 45px;
    padding-top: 6px;
  }


  /* accordion panel (the subtitle) */
  .network-groups .network-subtitle {
    overflow: hidden;
    height: 0;
    opacity: 0;
    transition: height .25s ease, opacity .25s ease;
    will-change: height, opacity;
  }
  .network-groups li.is-open .network-subtitle { opacity: 1; }

  .network-groups .network-name::after {
    content: '';
    background-image: url('/assets/images/arrow-right-black.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px;
    display: block;
    position: absolute;
    border-radius: 100%;
    border: 1px solid #000;
    right: 0;
    top: -5px;
    height: 40px;
    width: 40px;
    transition: 300ms;
    transform: rotate(90deg);
    }
  .network-groups li.is-open .network-name::after {
    transform: rotate(270deg);
    background-color: #00FDC7;
    }

  .network-banner .font-40 {
    font-size: 25px;
    line-height: 25px;
  }

  .network-groups {
    padding: 0;
  }

  .network-subtitle p {
    margin-top: 20px;
  }

  .network-subtitle p {
    margin-bottom: 10px;
  }

  .network-subtitle li {
    list-style: disc;
    margin-bottom: 5px;
  }

}


/* articles */

.news-single-hero {
  padding: 132px 0 50px;
}

.news-single-hero .breadcrumbs li {
  color:#292C3F;
}

.news-single-hero .breadcrumbs li a {
  color:#292C3F;
}

.news-single-hero figure {
  margin: 50px 0;
}

.news-single-hero .content {
  padding: 30px;
}

.news-single-hero  .tertiary-btn {
 margin-top: 40px;
 display: inline-block;
 width: fit-content;
}

.news-single-hero figure img {
  width:100%;
  max-height: 845px;
  object-fit: cover;
}


.news-single-hero h1 {
  font-size: 40px;
  font-weight:500;
  margin:0;
}

.news-categories {
  display:flex;
  gap:10px;
  margin:50px 0 25px;
  flex-flow: row wrap;
}

.news-categories a {
  border: 1px solid #545665;
  color: #545665;
  border-radius: 40px;
  font-size: 14px;
  line-height: 1;
  margin: 0;
  padding: 5px 10px;
  text-decoration:none;
  width: fit-content;
  white-space: nowrap;
}

.news-categories a:hover {
  background-color: #545665;
  color: #FFF;

}

.news-single-hero .news-date {
  color: #545665;
}

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

.share-article p {
  color:#545665;
  font-size:14px;
  font-weight:500;
  margin-bottom:15px;
}

.share-article a {
  color:#292C3F;  
  font-size:14px;
  font-weight:500;
  margin-bottom:15px;
  text-decoration:none;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-color: #00FAC8;
  text-decoration-thickness: 15%;
  text-underline-offset: 25%;
}

.news-single .service-content ul li {
  padding: 20px 0 20px 40px;
}

.news-single .service-content ul li:before {
  top: 25px;
}

@media only screen and (max-width: 767px) {
  .news-single-hero h1 {
    font-size: 25px;
    line-height: 25px;
  }

  .news-single-hero .flex-content .flex-6 {
    display: flex;
    flex-direction: column;
  }

  .news-single-hero .content {
    padding: 20px;
  }

  .news-single-hero .back-link {
    margin-top: 20px;
    order: 1;
  }

  .news-single-hero .news-categories {
    order: 2;
    margin: 20px 0;
  }

  .news-single-hero .news-date {
    order: 3;
    margin-bottom: 20px;
  }
}

/* article-content */

.article-content {
  overflow:hidden;
  margin-bottom: 50px;
  background-color: #fff;
}

.article-content h1 {
  font-size:30px;
  margin:0 0 36px;
}

.article-content h2 {
  font-size:25px;
  margin:0 0 36px;
}

.article-content h3,
.article-content h4,
.article-content h5,
.article-content h6 {
  font-size:20px;
  line-height: 22px;
  margin:0 0 36px;
}


.article-content p {
  margin-bottom:20px;
}

.article-content ul {
  list-style-type:none;
  padding-left:0;
}

.article-content ul li {
  margin-bottom: 20px;
  padding-left:20px;
  position:relative;
}

.article-content ul li:before {
  background-color: #00FAC8;
  border-radius: 100%;
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  height: 8px;
  width: 8px;
  }

.article-content figure {
  margin:40px 0;
}

.article-content figure img {
  max-width:100%;
  object-fit: contain;
}

.article-content a {
  color: #0b0b0b;
  transition: 300ms ease-in-out;
}

.article-content a:hover {
  color: #00FDC7;
}

/* article-quote */

.article-quote .outer-quote {
  margin:40px 0;
  padding: 40px 32px 40px 86px;
  position:relative;
}

.article-quote .outer-quote.zero {
  margin:40px 0;
  padding: 0 0 0 86px;
  position:relative;
}

.article-quote .outer-quote:before {
  content:'“';
  font-size:50px;
  font-weight:500;
  position: absolute;
  line-height:1;
  left:20px;
  top:40px;
}

.article-quote .inner-quote p {
  font-size:24px;
}
.article-quote .quote-name {
  font-size:16px;
  margin:40px 0 0;
}

.article-quote .outer-quote.zero:before  {
  top:0;
  left:0;
}

/* article-stats */

.article-stats {
  padding:50px 0;
}

.article-stats .stats {
  display: flex;
  gap:20px;
}

.article-stats .stat {
  background-color:#CFCED8;
  padding:40px 20px;
  width: calc(50% - 10px);
}

.article-stats .stat .stat-number {
  font-size:60px;
  font-weight:500;
}


.article-stats .stat .stat-text {
  font-size:14px;
  font-weight:500;
  text-transform:uppercase;
}


.article-stats .stat-2 {
  width: 50%;
}

.article-stats .stat-3 {
  width: 33.3334%;
}

/* case-study-slider */

.case-study-slider {
  background:#000;
  position:relative;
}

.case-study-slider .labels-titles {
  padding:100px 0 0;
  min-height:300px;
  position:relative;
  z-index:2;
}

@media only screen and (max-width: 767px) {
  .case-study-slider .labels-titles {
    gap: 30px;
  }

  .case-study-slider .swiper-wrapper {
    height: 100%;
  }
}

.case-study-slider .buttons {
  padding:200px 0 250px;
  position:relative;
  z-index:2;
  justify-content: flex-end;
}

.case-study-slider .overlay {
  background: rgba(35, 40, 61, 0.67);
  position:absolute;
  top: 0;
  left: 0;
  height:100%;
  width:100%;
  z-index:1;
}

.case-study-slider .bg-image {
  background-size:cover;
  position:absolute;
  top: 0;
  left: 0;
  height:100%;
  width:100%;
  z-index:0;
}

.case-study-slider .bg-image img {
  display:none;
}

.case-study-slider .buttons-col {
  display: flex;
  gap:20px;
  justify-content:flex-end;
}

.case-study-nav {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  padding: 20px 0;
  z-index: 3;
  position: absolute;
  bottom:70px;
  z-index:3;
  width:90vw;
  left:5vw;
}

.case-study-nav-item {
  position: relative;
  flex: 0 0 auto;
  width:calc(25% - 20px);
}

.nav-text {
  display: block;
  color: #fff;
  font-size:14px;
  font-weight: 500;
  transition: 300ms ease-in-out;
}

.nav-text:hover {
  color: #00FDC7;
}

.nav-count {
  display: none;
  color: #fff;
  font-size:14px;
  font-weight: 500;
}
.progress-bar-outer {
  background: #545665;
  position: relative;
  margin: 0 0 10px 0;
  height: 3px;
  width: 100%;
}

.progress-bar {
  position: absolute;
  top: 0;
  left: 0;
  height: 3px;
  width: 0%;
  background: #00FAC8;
}

.case-study-slider a h2 {
  color: #fff;
  transition: 300ms ease-in-out;
}

.case-study-slider a:hover h2 {
  color: #00FDC7;
}

@media only screen and (max-width: 767px) {
  .nav-text {
    display:none;
  }

  .nav-count {
    display:block;
  }

  .case-study-slider .font-50 {
    font-size: 30px;
    line-height: 34px;
  }

  .case-study-slider .buttons-col {
    justify-content: space-between;
  }

  .case-study-nav {
    justify-content: space-between;
  }
}

@media only screen and (max-width: 500px) {
  .case-study-slider .case-studies-swiper {
    height: 600px;
  }

  .case-study-slider .buttons {
    padding: 30px 0 0;
  }

  .case-study-slider .labels-titles {
    padding: 20px 0 0;
  }
}

@media only screen and (max-width: 390px) {
  .case-study-slider .buttons-col {
    flex-direction: column;
  }
  .case-study-slider .buttons-col .btn {
    text-align: center;
  }
}

/* flashing / pulsing effect */
@keyframes flash {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0;
    transform: scale(1.1);
  }
}

/* footer  */

footer {
  padding: 60px 0 0;
  background-color: #fff;
  position: relative;
  z-index: 2;
}

footer h3 {
  margin: 0 0 40px;
}

footer p {
  color:#545665;
  font-size: 14px;
}

footer a {
  color:#545665;
  font-size: 14px;
  text-decoration: none;
  transition: 300ms;
}

footer a:hover {
  color:#00FDC7;
}

.footer__contact-details a {
  text-decoration: underline;
  text-underline-offset: 2px;
}

footer .footer__social  {
  font-size: 14px;
  list-style-type: none;
  margin: 20px 0 0 0;
  padding: 0;
}

.footer__group-list {
  font-size: 14px;
  list-style-type: none;
  margin: 20px 0 0 0;
  padding: 0;
}

.footer__group-list li {
  margin-bottom: 18px;
}

.footer-bottom {
  border-top: 1px solid #CFCED8;
  margin-top: 60px;
}

.footer-bottom .padding {
  padding: 10px 0;
}

.footer-bottom .text-right {
  text-align: right;
}

.footer-bottom .lang-nav {
  border-left: 1px solid #CFCED8;
  /* Remove to add languages */
  display: none;
}

/* .footer-bottom .employee-link {
  margin-right: 40px;
} */

.footer-bottom ul {
  display: flex;
  justify-content: flex-end;
  gap: 20px;
  list-style-type: none;
}

@media only screen and (max-width: 767px) {
  footer .flex-content {
    gap: 20px;
  }
  footer h3 {
    margin: 0 0 10px;
  }

  footer .footer__brand {
    margin-bottom: 30px;
  }
}

/* 404 */

.error-404 {
  height: 100vh;
  display: flex;
  margin: auto;
  justify-content: center;
  flex-direction: column;
}

.error-404 p {
  margin-bottom: 50px;
}

/* careers-hero */


.careers-hero {
  background-color: #000;
  padding: 132px 0 40px;
  position: relative;
}

.careers-hero .flex-9 {
  min-height: 450px;
}

/* .careers-hero .overlay {
  background-color: rgba(0, 0, 0, 0.6);
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  top: 0;
  left: 0;
  z-index: 1;
} */

.careers-hero img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  top: 0;
  left: 0;
  z-index: 0;
}

.careers-hero .title-content {
  position: relative;
  z-index: 2;
}

.careers-hero .btn-content {
  margin-bottom: 40px;
  position: relative;
  text-align: right;
  z-index: 2;
}

.careers-hero nav {
  margin-bottom: 100px;
  position: relative;
  z-index: 2;
}

.careers-hero h1 {
  margin: 20px 0 0 0;
}

@media only screen and (max-width: 767px) {
  .careers-hero .flex-column.space-between {
    justify-content: flex-start;
  }
}

/* careers-banner */

.careers-banner {
  padding: 50px 0;
  position: relative;
  overflow: hidden;
  background-color: #fff;
}

.careers-banner .btn-holder {
  margin-top: 60px;
}

@media only screen and (max-width: 767px) {
  .careers-banner .font-50 {
    font-size: 30px;
    line-height: 34px;
    margin-top: 20px;
  }
}

/* team-member-list */

.team-member-list {
  background-color: #CFCED8;
  padding: 50px 0;
}

.team-member-list .team-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.team-member-list .team-grid-item {
  width: calc(50% - 10px);
}

.team-member-list .team-grid-item img {
  max-width: 100%;
}

.team-grid-item {
  position: relative;
}

.team-grid-item .absolute-link {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.team-grid-item-inner {
  display: flex;
  gap: 20px;
}

.team-grid-item-content {
  border-top: 1px solid #545665;
  padding: 50px 0;
  position: relative;
  width: calc(50% - 10px);
}

.team-grid-item-content .btn {
  position: absolute;
  bottom: 0;
}

.team-grid-item-content h3 {
  color: #292C3F;
  margin-bottom: 20px;
}

.team-grid-item-content .team-subtitle {
  border: 1px solid #545665;
  color: #545665;
  margin-bottom: 20px;
  border-radius: 40px;
  padding: 5px 10px;
  width: fit-content;
}

.team-grid-item-content .team-subtitle p {
  font-size: 14px;
}

.team-grid-item-content .team-text p {
  font-size: 16px;
}

.team-grid-item-image {
  width: calc(50% - 10px);
  overflow: hidden;
}

.team-slider-wrapper {
  background: rgba(0, 0, 0, 0.71);
  backdrop-filter: blur(10px);
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 10;
  display: none; 
  justify-content: center;
  flex-direction: column;
}

.team-slider-wrapper.active {
  display: flex;
}

.team-slider {
  background-color: #fff;
  max-width: 60vw;
}

.team-slider .swiper-slide {
  display: flex;
}

.team-slider .team-slider-content {
  padding: 60px 30px 30px;
  width: 60%;
}

.team-slider .team-slider-content h3 {
  margin-bottom: 20px;
}

.team-slider .team-slider-content .team-subtitle {
  border: 1px solid #545665;
  color: #545665;
  margin: 10px 0 30px;
  border-radius: 40px;
  padding: 5px 10px;
  width: fit-content;
}

.team-slider .team-slider-content .team-text p {
  margin-bottom: 20px;
  font-size: 16px;
}

.team-slider .team-slider-content .team-subtitle p {
  font-size: 14px;
}

.team-slider .team-slider-content .team-text {
  font-size: 16px;
  padding-right: 40px;
}

.team-slider .team-slider-image {
  line-height: 0;
  width: 40%;
}

.team-slider .team-slider-image img {
  max-width: 100%;
  object-fit: cover;
  height: 100%;
  width: 100%;
}

.team-slider-close {
  border: 1px solid #CFCED8;
  color: #292C3F;
  font-size: 16px;
  padding: 10px 15px;
  text-decoration: none;
  position: absolute;
  top: 20px;
  right: 20px;
  transition: 300ms;
  z-index: 2;
}

.team-slider-close:hover {
  border: 1px solid #292C3F;
  background-color: #292C3F;
  color: #fff;
}

.team-slider .swiper-button-prev {
    background-image: url('/assets/images/swiper-arrow-black.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px;
    border: 1px solid #292C3F;
    border-radius: 100%;
    left: unset !important;
    right:70px !important;
    bottom: 20px !important;
    top: unset !important;
    height: 40px;
    width: 40px;
    transform:scale(-1);
}
.team-slider .swiper-button-prev svg {
  display: none;
}

.team-slider .swiper-button-next {
    background-image: url('/assets/images/swiper-arrow-black.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px;
    border: 1px solid #292C3F;
    border-radius: 100%;
    left: unset !important;
    right: 20px !important;
    bottom: 20px !important;
    top: unset !important;
    height: 40px;
    width: 40px;
}

.team-slider .swiper-button-next svg {
  display: none;
}

.team-grid-item img {
  transition: 300ms ease-in-out;
}

.team-grid-item:hover img {
  scale: 1.1;
}

.team-grid-item:hover .btn-solid-black {
  background-color: #00FAC8;
  border: 1px solid #00FAC8;
  border-radius: 30px;
  color: #000;
  font-size: 16px;
  text-decoration: none;
  transition: 300ms;
}

@media only screen and (max-width: 767px) {
  .team-member-list {
    padding: 50px 0;
  }

  .team-member-list .team-grid-item {
    width: 100%;
  }

  .team-slider {
    max-width: 90vw;
  }

  .team-slider .swiper-slide {
    width: 100%;
    height: 100vh;
  }

  .team-slider .team-slider-image {
    width: 100%;
    height: 40vh;
  }

  .team-slider .team-slider-content {
    width: 100%;
    padding: 30px 20px;
    overflow: scroll;
  }

  .team-slider .team-slider-content .team-text {
    margin-bottom: 40px;
  }

  .team-slider .swiper-slide {
    flex-direction: column;
  }

  .team-slider .swiper-button-prev,
  .team-slider .swiper-button-next {
    background-color: #fff;
  }
}

@media only screen and (max-width: 500px) {

  .team-grid-item-inner {
    flex-direction: column-reverse;
    gap: 0;
  }

  .team-grid-item-image {
    width: 100%;
  }

  .team-grid-item-content {
    border-top: 0px solid #545665;
    padding: 20px 0 70px;
    width: 100%;
  }

}

/* accreditations-hero */

.accreditations-hero {
  padding: 132px 0 50px;
}

.accreditations-hero .breadcrumbs li a {
  color: #292C3F;
}

.accreditations-hero .breadcrumbs {
  margin: 0 0 100px 0;

}

.accreditations-hero .breadcrumbs li span {
  color: #292C3F;
}

/* image-slider */

.image-slider {
  padding:50px 0 40px;
  position: relative;
}

.image-slider:after {
  background-image:url('../images/enquiry-banner-bg.svg');
  background-size:contain;
  background-repeat:no-repeat;
  content:'';
  position:absolute;
  left:5vw;
  top:0;
  height:100px;
  width:90vw;
}

.imageSwiper {
  padding: 0;
}

.imageSwiper .swiper-wrapper {
  transition-timing-function:linear;
}

.imageSwiper .col-3 { width: 33.333%; }
.imageSwiper .col-4 { width: 25%; }

.imageSwiper .col-3 .cover {
  background-color:#292C3F;
  background-size:cover;

  min-height:30vw;
}

.imageSwiper .col-4 .cover {
  background-color:#292C3F;
  background-size:cover;
  min-height:20vw;
}

/* accreditations-list */

.accreditations-list {
  padding: 50px 0;
}

.accreditations-items {
  border-top: 1px solid #CFCED8;
}

.accreditations-item {
  border-bottom: 1px solid #CFCED8;
  padding: 20px 0;
}

.accreditations-item .cover {
  background-color: #CFCED8;
  background-repeat: no-repeat;
  background-position: center;
  min-height: 200px;
}

.accreditations-item .flex-6 {
  display: flex;
  justify-content: center;
  flex-direction: column;
}

.accreditations-item h3 {
  font-size: 20px;
  line-height: 25px;
  line-height: 25px;
  margin: 0 0 20px;
}

.accreditations-item .text p {
  font-size: 16px;
}

@media only screen and (max-width: 767px) {
  .accreditations-item h3 {
    margin: 20px 0;
  }
}

/* review-slider */

.review-slider {
  padding-top: 30px;
}

.review-slider .btn-wrapper {
  margin-top: 40px;
}

.reviewSwiper {
  padding: 132px 0 50px;
}

.reviewSwiper .swiper-wrapper {
  min-height: 300px;
}

.reviewSwiper .swiper-slide {
  background-color: #E7E7EB;
  padding: 40px 40px 40px 100px;
  position: relative;
  width: 50%;
  height: 100%;
  min-height: 320px;
}

.reviewSwiper .swiper-slide:before {
  background-image: url('../images/quote.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  content: '';
  position: absolute;
  top: 40px;
  left: 40px;
  height: 20px;
  width: 20px;
}

.reviewSwiper .quote-wrapper {
  margin: 0 0 50px;
}

.reviewSwiper .quote-wrapper p {
  font-size: 22px;
  font-weight: 500;
  line-height: 1.2;
}

.reviewSwiper .quote-name p {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
}

.reviewSwiper .swiper-button-prev {
    background-image: url('/assets/images/swiper-arrow-black.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px;
    border: 1px solid #292C3F;
    border-radius: 100%;
    left: unset !important;
    right: calc(41.6667% - 30px) !important;
    top: 100px !important;
    height: 40px;
    width: 40px;
    transform:scale(-1);
}
.reviewSwiper .swiper-button-prev svg {
  display: none;
}

.reviewSwiper .swiper-button-next {
    background-image: url('/assets/images/swiper-arrow-black.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px;
    border: 1px solid #292C3F;
    border-radius: 100%;
    left: unset !important;
    right: calc(41.6667% - 80px) !important;
    top: 100px !important;
    height: 40px;
    width: 40px;
}

.reviewSwiper .swiper-button-next svg {
  display: none;
}

@media only screen and (max-width: 767px) {


  .review-slider h2 {
    margin-bottom: 40px;
  }

  .reviewSwiper .quote-wrapper p {
    font-size: 20px;
    line-height: 25px;
  }

  .reviewSwiper .swiper-slide {
    padding: 100px 40px 40px 40px;
    width: 100%;
  }

  .reviewSwiper {
    padding: 50px 0 100px;
  }

  .reviewSwiper .swiper-button-prev {
    left: 5% !important;
    right: unset !important;
    top:  94% !important;
  }

  .reviewSwiper .swiper-button-next {
    right:5% !important;
    top: 94% !important;
    height: 40px;
    width: 40px;
  }
}

/* highlights-banner */

.highlights-banner {
  background-color: #292C3F;
  padding: 50px 0;
}

.highlight-items {
  display: flex;
  flex-wrap: wrap;
  margin: 50px 0;
}

.highlight-item {
  border-left: 1px solid #00FDC7;
  margin-bottom: 40px;
  padding: 0 20px 100px 20px;
  position: relative;
  width: 33.33334%;
}

.highlight-item h3 {
  margin-bottom: 40px;
}

.highlight-item .dot {
  animation: flash 500ms infinite;
  background-color: #00FDC7;
  border-radius: 100%;
  height: 8px;
  width: 8px;
  position: absolute;
  top: 0;
  right: 20px;
}

@media only screen and (max-width: 767px) {
  .highlight-item {
    width: 100%;
    border-left: none;
    border-bottom: 1px solid #00FDC7;
    padding: 0 0 20px;
  }
}


/* safety-products-highlights */

.safety-products-highlights {
  background-color: #292C3F;
  padding: 50px 0;
}

.sp-highlight-items {
  display: flex;
  flex-wrap: wrap;
  margin: 50px 0;
}

.sp-highlight-item {
  border-left: 1px solid #00FDC7;
  margin-bottom: 40px;
  padding: 0 20px 100px 20px;
  position: relative;
  width: 25%;
}

.sp-highlight-item h3 {
  margin-bottom: 40px;
  max-width: 80%;
}

.sp-highlight-item .dot {
  animation: flash 500ms infinite;
  background-color: #00FDC7;
  border-radius: 100%;
  height: 8px;
  width: 8px;
  position: absolute;
  top: 0;
  right: 20px;
  animation: none !important;
}

@media only screen and (max-width: 767px) {
  .sp-highlight-item {
    width: 100%;
    padding: 0 0 20px;
    border-left: none;
    border-bottom: 1px solid #00FDC7;
  }
}

/* sustainability-intro */

.sustainability-intro {
  padding: 0 0 100px;
  position: relative;
  z-index: -1;
}

.sustainability-intro .image-container {
  position: relative;
}

.sustainability-intro img {
  max-width: 100%;
  width: 100%;
  position: absolute;
  left: -35px;
}

.sustainability-intro h2 {
  margin-top: 100px;
}

.sustainability-stats {
  display: flex;
  flex-wrap: wrap;
  gap:20px;
  margin-top: 50px;
}

.sustainability-intro .flex-6:not(.image-container) {
  padding-left: 30px;
}

.sustainability-stat {
  background-color: #CFCED8;
  margin-bottom: 18px;
  padding: 30px 20px;
  width: calc(50% - 10px);
}

.count-5 .sustainability-stat:nth-child(3) {
  width: 100%;
}

.sustainability-stat .statistic {
  color: #292C3F;
  font-size: 60px;
  line-height: 1;
  font-weight:500;
}

.sustainability-stat .statistic span {
  color: #292C3F;
  font-weight:500;
}

.sustainability-stat .inner-text p {
  color: #292C3F;
  font-weight:500;
}

@media only screen and (max-width: 767px) {
  .sustainability-intro {
    padding: 50px 0;
  }

  .sustainability-image {
    display: none;
  }

  .sustainability-intro .flex-6:not(.image-container) {
    padding-left: 0;
  }

  .sustainability-intro h2 {
    margin-top: 0;
  }

  .sustainability-stat {
    width: 100%;
  }

  .sustainability-stat .statistic {
    margin-bottom: 20px;
  }

  .sustainability-intro .img {
    display: none;
  }
}

/* block-links */

.block-links {
  padding: 0 0 50px;
  z-index: -2;
  position: relative;
}

.block-links .blocks {
  padding: 30px;
}

.block-links .inner-block {
  border-bottom: 1px solid #CFCED8;
  padding-bottom: 30px;
}

.block-links .inner-block h3 {
  margin: 30px 0 10px;
}

.block-links .inner-block:last-of-type {
  border-bottom: 0px solid #CFCED8;
  padding-bottom: 0;

}

.block-links .inner-block .btn {
  margin-top: 30px;
}


/* training-list */

.training-list {
  padding: 50px 0;
}

.training-filters {
  margin-bottom: 30px;
}

.field-mode {
  display: none;
  /* Hidden for initial launch */
}

.training-filters .filter-results .results-count {
  height: 50px;
  display: flex;
  align-items: center;
  gap: 5px;
}

.training-filters .filters {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-flow: row wrap;
  justify-content: flex-end;
}

.training-filters .field {
  position: relative;
}

.training-filters .field .select {
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: transparent;
  border-radius: 50px;
  border: 1px solid #CFCED8;
  color: #292C3F;
  padding: 15px 50px 15px 20px;
  width: 300px;
  font: inherit;
  cursor: pointer;
  position: relative;
  background-image: none;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.training-filters .field::after {
  border-right: 1px solid #292C3F;
    border-bottom: 1px solid #292C3F;
    content: "";
    position: absolute;
    height: 10px;
    width: 10px;
    right: 30px;
    top: calc(50% - 5px);
    transform: rotate(45deg) translateY(-50%);
    font-size: 12px;
    color: #CFCED8;
    pointer-events: none;
    transition: transform 0.2s ease;
}

.training-items {
  display: flex;
  gap: 20px;
  padding: 0;
  list-style-type: none;
  flex-wrap: wrap;
}

.training-item {
  width: calc(33% - 30px);
  position: relative;
  aspect-ratio: 1/1;
  background-color: #26283b;
  padding: 10px;
  transition: 300ms;
}

.training-item:hover {
  background-color: #00FDC7;
}

.training-item .absolute-link {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.training-item .training-image {
  overflow: hidden;
  position: relative;
}

.training-item .training-image .absolute-link {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.training-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 300ms ease-in-out;
}

.training-item:hover img {
  scale: 1.1;
}

.training-category {
  border-radius: 40px;
  color:#26283b;
  background-color: #00FDC7;
  padding: 5px 15px;
  font-size: 14px;
  font-weight: 500;
}

.training-header {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 10px;
  color: #fff;
  background-color: #26283b;
  min-height: 110px;
  position: absolute;
  bottom: 10px;
  width: calc(100% - 20px);
  transition: 300ms;
}

.training-item:hover .training-header {
  background-color: #00FDC7;
}

.training-titles {
  width: 100%;
}

.training-header h3 {
  color: #fff;
  font-size: 20px;
  line-height: 25px;
  margin: 0 0 10px;
  transition: 300ms ease-in-out;
}

.training-item:hover .training-header h3 {
  color: #26283b;
}

.training-header .view-course {
  font-size: 14px;
  padding: 5px 15px;
  background-color: #fff;
  color: #26283b;
  font-weight: 500;
  border-radius: 30px;
  width: fit-content;
  transition: 300ms;
}

.training-item:hover .training-header .view-course {
  background-color: #26283b;
  color: #fff;
}

.training-categories {
  display: flex;
  gap:10px;
  flex-wrap: wrap;
  height: fit-content;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  padding: 20px;
}

.training-categories span {
  align-self: flex-start;
}

.training-item .btn-container {
  gap: 20px;
  flex-flow: row wrap;
}

.training-item .btn {
  width: fit-content;
}

@media only screen and (max-width: 1070px) {
  .training-item {
    width: calc(50% - 30px);
  }
}

@media only screen and (max-width: 767px) {
  .training-filters .filters {
    justify-content: space-between;
  }
  .training-filters .field {
    margin-left: auto;
  }
  .training-list {
    padding: 0;
  }
  .training-item {
    width: 100%;
  }
  .training-item {
    width: 100%;
  }
}

@media (max-width: 500px) {
  .training-filters .field {
    width: 65%;
  }
  .training-filters .field .select {
    width: 100%;
  }
  .training-header {
    flex-direction: column-reverse;
  }
  .training-titles {
    width: 100%;
  }
  .training-categories {
    width: 100%;
    margin-bottom: 10px;
  }
}

/* more */
/* multi-image-hero */

.multi-image-hero {
  background-color: #FFF;
  border-bottom: 1px solid #CFCED8;
  padding: 132px 0 0;
  overflow: hidden;
  position: relative;
}

.multi-image-hero .content {
    padding: 0 35px 35px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.multi-image-hero .breadcrumbs li a {
  color: #292C3F;
}

.multi-image-hero .breadcrumbs {
  margin: 0 0 50px 0;
}

.multi-image-hero .breadcrumbs li span {
  color: #292C3F;
}

.multi-image-hero h1 {
  margin-bottom: 40px;
  max-width:60%;
}

.multi-image-hero .subtitle p {
  font-size: 20px;
  line-height: 25px;
  font-weight: 500;
  margin-bottom: 20px;
  max-width: 90%;
}

.multi-image-hero .text {
  max-width: 90%;
}

.multi-image-hero .text p {
  font-weight: 500;
  font-size:20px;
  line-height: 22px;
}

.multi-image-hero .images {
    position:relative;
    min-height: calc(50vw - 12vw);
    z-index: 0;
}

.multi-image-hero .bg-image-one {
    position: absolute;
    bottom:0;
    left:10vw;
    height:40vw;
    width:40vw;
}

.multi-image-hero .bg-image-one img {
    object-fit: cover;
    object-position: bottom center;
    height:100%;
    width:100%;
}

.multi-image-hero .bg-image-two {
    position: absolute;
    bottom:0;
    left:0;
    height:10vw;
    width:10vw;
}

.multi-image-hero .bg-image-two img {
    object-fit: cover;
    object-position: bottom center;
    height:100%;
    width:100%;
}

.apply-1 img {
    /* filter: grayscale(100%);
    -webkit-filter: grayscale(100%); */
    position:relative;
    z-index:1;
}

.apply-1:after {
    background:rgba(253,253,130,0.07);
    content:'';
    position:absolute;
    top:0;
    left:0;
    height:100%;
    width:100%;
    z-index:2;
}

.bg-square {
    position:absolute;
    bottom:10vw;
    left:0;
    height:10vw;
    width:10vw;
}

@media only screen and (max-width: 767px) {

    .multi-image-hero {
      padding: 100px 0 0;
      border-bottom: none;
    }

    .multi-image-hero .content {
      padding: 0 20px 20px;
    }

    .multi-image-hero .images {
        min-height:75vw;
    }

    .bg-square {
        height: 25vw;
        width: 25vw;
        bottom: 25vw;
    }

    .multi-image-hero .bg-image-one {
        position: absolute;
        bottom: 0;
        left: 25vw;
        height: 75vw;
        width: 75vw;
    }

    .multi-image-hero .bg-image-two {
        bottom: 0;
        height: 25vw;
        width: 25vw;
    }

    .multi-image-hero .text p {
      font-size:18px;
    }

    .multi-image-hero .breadcrumbs {
      margin: 0 0 20px 0;
    }

}

/* industries-list */

.industries-list {
  padding: 50px 0;
}

.industry-items {
  flex-wrap: wrap;
  gap:0;

}

.industry-item {
  border-right:1px solid #00FAC8;
  padding: 50px 20px;
  flex: 0 0 25%;
}

.industry-item:nth-of-type(4),
.industry-item:nth-of-type(8),
.industry-item:nth-of-type(12),
.industry-item:nth-of-type(16) {
  border-right:0px solid #00FAC8;
}

.industry-item:nth-of-type(1),
.industry-item:nth-of-type(3),
.industry-item:nth-of-type(6),
.industry-item:nth-of-type(8),
.industry-item:nth-of-type(9),
.industry-item:nth-of-type(11),
.industry-item:nth-of-type(14),
.industry-item:nth-of-type(16) {
  background-color: #CFCED833;
}

.industry-item h2 {
  color: #292C3F;
  font-size: 25px;
  line-height: 25px;
  margin: 20px 0;
  max-width: 90%;
}

.industry-item p {
  color: #292C3F;
  max-width: 90%;
}

.industry-item .btn-holder {
  margin: 40px 0 20px;
}

.industry-image img {
  max-width: 100%;
}

@media only screen and (min-width: 767px) {
  .industry-item {
    transition: 300ms;
    position: relative;
  }
  .industry-item:hover {
    background-color: rgba(41, 44, 63, 0.93);
    transform: scale(1.02);
    z-index: 10;
    border-right: 1px solid transparent;
  }
  .industry-item:hover h2,
  .industry-item:hover p,
  .industry-item:hover p span {
    color: #fff;
  }
  .industry-item h2::before {
    background-color: #00FAC8;
    content: '';
    position: absolute;
    bottom: -7px;
    left: 0;
    height: 2px;
    width: 0;
    transition: 300ms;
  }
  .industry-item:hover h2::before {
    width: 100%;
  }
  .industry-item .btn-solid-black {
    position: absolute;
    bottom: 40px;
    left: 20px;
  }
  .industry-item:hover .btn-solid-black {
    background-color: #00FAC8;
    border: 1px solid #00FAC8;
    color: #292C3F;
  }
  .industry-item a.absolute-link {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 1;
  }
  .industry-item .title {
    position: relative;
    width: fit-content;
  }
}

 @media only screen and (max-width: 1200px) {

  .industry-item {
    flex: 0 0 33.3334%;
  }

  .industry-item:nth-of-type(4),
  .industry-item:nth-of-type(3),
  .industry-item:nth-of-type(6),
  .industry-item:nth-of-type(8),
  .industry-item:nth-of-type(9),
  .industry-item:nth-of-type(11),
  .industry-item:nth-of-type(14),
  .industry-item:nth-of-type(16) {
    background-color: #FFF;
  }


  .industry-item:nth-of-type(odd) {
    background-color: #CFCED833;
  }


  .industry-item:nth-of-type(4),
  .industry-item:nth-of-type(8),
  .industry-item:nth-of-type(12),
  .industry-item:nth-of-type(16) {
    border-right:1px solid #00FAC8;
  }

  .industry-item:nth-of-type(3),
  .industry-item:nth-of-type(6),
  .industry-item:nth-of-type(9),
  .industry-item:nth-of-type(12),
  .industry-item:nth-of-type(15) {
    border-right:0px solid #00FAC8;
  }
}

 @media only screen and (max-width: 1000px) {
  .industry-item {
    flex: 0 0 50%;
  }

  .industry-item:nth-of-type(odd) {
    background-color: #FFF;
  }

  .industry-item:nth-of-type(1),
  .industry-item:nth-of-type(4),
  .industry-item:nth-of-type(5),
  .industry-item:nth-of-type(8),
  .industry-item:nth-of-type(9) {
    background-color: #CFCED833;
  }


  .industry-item:nth-of-type(3),
  .industry-item:nth-of-type(9),
  .industry-item:nth-of-type(15) {
    border-right:1px solid #00FAC8;
  }

  .industry-item:nth-of-type(2),
  .industry-item:nth-of-type(4),
  .industry-item:nth-of-type(8),
  .industry-item:nth-of-type(10),
  .industry-item:nth-of-type(15) {
    border-right:0px solid #00FAC8;
  }
 }

  @media only screen and (max-width: 767px) {
    .industries-list {
      padding: 20px;
    }
  
    .industry-item,
    .industry-item:nth-of-type(1),
    .industry-item:nth-of-type(2),
    .industry-item:nth-of-type(4),
    .industry-item:nth-of-type(5),
    .industry-item:nth-of-type(3),
    .industry-item:nth-of-type(6),
    .industry-item:nth-of-type(7),
    .industry-item:nth-of-type(8),
    .industry-item:nth-of-type(9),
    .industry-item:nth-of-type(10),
    .industry-item:nth-of-type(11),
    .industry-item:nth-of-type(12),
    .industry-item:nth-of-type(13),
    .industry-item:nth-of-type(14),
    .industry-item:nth-of-type(15),
    .industry-item:nth-of-type(16) {
      min-height: fit-content;
      background-color: #F5F5F7 !important;
      border-right: none;
      border-top: 1px solid #CFCED8;
      padding: 30px 20px;
    }
  
    .industry-item .title {
      margin: 0;
      position: relative;
      font-size: 25px;
      line-height: 25px;
      max-width: 100%;
    }
  
    .industry-item .text {
      margin-top: 20px;
    }
  
    .industry-item .btn-solid-black {
      width: fit-content;
      display: inline-block;
    }
    
    .industry-item.width-6,
    .industry-item.width-4,
    .industry-item.width-3 {
      width: 100%;
    }
  
    .industry-item .title[role="button"] { cursor: pointer; }
  
    .industry-panel {
      overflow: hidden;
      height: 0;
      opacity: 0;
      transition: height .25s ease, opacity .25s ease;
      will-change: height, opacity;
    }
  
    .industry-item.is-open .industry-panel {
      opacity: 1;
      height: fit-content;
    }
  
    .industry-item .title[role="button"]::after {
      content: '';
      background-image: url('/assets/images/arrow-right-black.svg');
      background-repeat: no-repeat;
      background-position: center;
      background-size: 14px;
      display: block;
      position: absolute;
      border-radius: 100%;
      border: 1px solid #000;
      right: 0;
      top: -5px;
      height: 40px;
      width: 40px;
      transition: 300ms;
      transform: rotate(90deg);
    }
    .industry-item.is-open .title[role="button"]::after {
      transform: rotate(270deg);
      background-color: #00FDC7;
    }
  }

  @media only screen and (max-width: 767px) {
    .industry-item .title {
      padding-right: 40px;
    }
  }

  @media only screen and (max-width: 420px) {
    .industry-item .title {
      font-size: 18px;
      line-height: 22.5px;
    }
  }

/* search-template */

.search-template {
  padding: 132px 0 50px;
}

.search-template .breadcrumbs li a {
  color: #292C3F;
}

.search-template .breadcrumbs {
  margin: 0 0 50px 0;

}

.search-template .breadcrumbs li span {
  color: #292C3F;
}

.search-intro-label {
    margin: 50px 0 0 0;
  display: block;
}

.search-intro-result {
  display: block;
  padding: 20px 0;
}

.search-result-items {
  border-top: 1px solid #545665;
  margin-top: 50px;
}

.search-result-item {
  border-bottom: 1px solid #545665;
  padding: 20px 0;
}

.search-result-item a {
  color: #0b0b0b;
  transition: 300ms ease-in-out;
}

.search-result-item a:hover {
  color: #00FDC7;
}

.search-result-item p {
  margin: 20px 0;
}

.search-result-image {
  padding-right: 20px;
}

.search-result-image img {
  object-fit: cover;
  height: 100%;
  width: 100%;
  max-height: 220px;
}

.search-template .type-label {
  border: 1px solid #545665;
  border-radius: 40px;
  color:#545665;
  padding: 5px 10px;
  font-size: 14px;
}

.search-result-item .tertiary-btn {
  width: fit-content;
}

@media only screen and (max-width: 767px) {
  .search-template .type-label {
    margin: 20px 0;
    display: inline-block;
  }
}

  /* news-list */

  .news-list {
    border-top:1px solid #CFCED8;
    padding: 20px 0;
  }

  .news-list .filter-total {
    display: flex;
    align-items: center;
  }

  .news-list .filter {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .news-list .filter span {
    margin-right: 5px;
  }

  .news-list .filter-container {
    justify-content: space-between;
  }

  .news-list .filter-container .filter select {
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: transparent;
    border-radius: 50px;
    border: 1px solid #CFCED8;
    color: #292C3F;
    padding: 15px 50px 15px 20px;
    width: 300px;
    font: inherit;
    cursor: pointer;
    position: relative;
    background-image: none;
    transition: border-color 0.2s ease, background-color 0.2s ease;
  }

  .news-list .filter-container .filter label {
    position: relative;
  }

  .news-list .filter-container .filter label::after {
    border-right: 1px solid #292C3F;
    border-bottom: 1px solid #292C3F;
    content: "";
    position: absolute;
    height: 10px;
    width: 10px;
    right: 30px;
    top: calc(50% - 5px);
    transform: rotate(45deg) translateY(-50%);
    font-size: 12px;
    color: #CFCED8;
    pointer-events: none;
    transition: transform 0.2s ease;
  }

  .news-list .news-cards {
    display: flex;
    flex-flow: row wrap;
    gap: 20px;
    margin: 30px 0;
  }

 .news-list .news-card {
    width: calc(33.3333% - 14px);
    position: relative;
  }

  .news-list .news-card .absolute-link {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
  }

  .news-list .news-card .flex-content {
    flex-direction: column;
  }

  .news-list .image-container {
    overflow: hidden;
    aspect-ratio: 1/1;
    position: relative;
    padding: 10px;
    display: flex;
    align-items: flex-end;
  }

  .news-list .news-card__content {
    padding: 10px 55px 10px 10px;
    background-color: #fff;
    color: #26283b;
    display: flex;
    flex-direction: column;
    min-height: 200px;
    height: fit-content;
    position: relative;
    z-index: 2;
  }

  .news-list .news-card__content::before {
    background-image: url('/assets/images/arrow-right-black.svg');
    background-repeat: no-repeat;
    background-size: 15px;
    background-position: center;
    content: '';
    position: absolute;
    bottom: 10px;
    right: 10px;
    height: 40px;
    width: 40px;
    transition: 300ms;
    z-index: 3;
    border: 1px solid #000;
    border-radius: 50%;
    background-color: #fff;
  }

  .news-list .news-card:hover .news-card__content::before {
    background-color: #00FDC7;
    transform: rotate(-45deg);
    border: 1px solid #00FDC7;
  }

  .news-list .news-card img {
    object-fit: cover;
    object-position: center;
    height: 100%;
    width: 100%;
    transition: 300ms ease-in-out;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
  }

  .news-list .news-card:hover img {
    scale: 1.1;
  }

  .news-list .news-date {
    color: #26283b; 
    font-size: 14px;
  }

  .news-list .news-categories {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    margin: 0;
  }

  .news-list .news-categories button {
    text-decoration: none;
    border-radius: 30px;
    padding: 5px 15px;
    background-color: #00FDC7;
    font-weight: 500;
  }

  .news-list h3 {
    color: #26283b;
    font-size:20px;
    line-height: 22px;
    font-weight: 500;
    text-decoration: none;
    transition: 300ms ease-in-out;
  }

  @media only screen and (max-width: 1100px) {
    .news-list .news-card {
      width: calc(50% - 10px);
    }
  }

  @media only screen and (max-width: 767px) {
    .news-list .news-card {
      width: 100%;
    }

    .news-list .filter-total {
      margin-bottom: 20px;
    }

    .news-list .btn-wrapper {
      justify-content: center;
    }

    .news-list .filter-container .filter select {
      width: 200px;
    }
    .news-list .image-container {
      aspect-ratio: 1/1.25;
    }
  }

  /* featured-news */

  .featured-news {
    overflow: hidden;
    padding: 0 0 50px 0;
  }

  .featured-article img {
    object-fit: cover;
    max-height: 50vw;
    width: 100%;
  }

  .featured-article .inner-content {
    display: flex;
    margin-top: 20px;
  }

   .featured-article .inner-content .news-categories {
    margin: 0;
    width:50%;  
   }

  .featured-article .inner-content .date {
    color: #A9AAB2;
    text-align: right;
    width:50%;  
  }

  .featured-article h2 {
    margin-bottom: 40px;
  }

  .featured-article h2 a {
    color: #292C3F;
    font-size:30px;
    line-height: 1;
    font-weight: 500;
    text-decoration: none;
  }

  .featured-article .btn-solid-black {
    display: inline-block;
  }

  .stacked-news {
    list-style-type: none;
    margin:0; 
  }

  .stacked-news img {
    object-fit: cover;
    object-position: center;
    max-height: 10vw;
    width: 100%;
  }

  .stacked-news-item {
    border-bottom:1px solid #CFCED8;
    display: flex;
    gap:20px;
    margin-bottom: 20px;
    padding-bottom: 20px;
  }

  .stacked-news-item .image {
    width:40%;
  }

  .stacked-news-item .content {
    width:60%;
  }

  .stacked-news-item .inner-content {
    display: flex;
  }

  .stacked-news-item h3 a {
    color: #292C3F;
    font-size:16px;
    font-weight: 500;
    text-decoration: none;
  }
  
   .stacked-news-item .inner-content .news-categories {
    margin: 0;
    width:50%;  
   }

  .stacked-news-item .inner-content .date {
    color: #A9AAB2;
    text-align: right;
    width:50%;  
  }

  @media only screen and (max-width: 767px) {
    .stacked-news {
      padding: 0;
      margin-top: 50px;
    }

    .stacked-news-item .image {
      display: flex;
      align-items: center;
    }

    .stacked-news img {
      max-height: 100%;
    }

    .featured-article h2 {
      margin: 20px 0;
    }

    .featured-article h2 a {
      line-height: 1;
    }
  }

  /* Intergrated services */

  .intergrated-services {
    background-color: #CFCED8;
    padding: 50px 0;
  }

  @media only screen and (max-width: 767px) {
    .intergrated-services h2 {
      font-size: 20px;
      line-height: 25px;
    }

    .intergrated-services {
      padding: 50px 0;
    }
  }

  /* Product List */

  .product-list {
  }

  .product-list .sp-items {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 50px;
    gap: 90px 20px;
  }

  .product-list .sp-item {
    position: relative;
  }

  .product-list .sp-item .absolute-link {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
  }

  .product-list .sp-item.flex-6 {
    flex: 0 0 calc(50% - 20px);
    display: flex;
  }

  .product-list .sp-item__content,
  .product-list .sp-item__image {
    width: 50%;
  }

  .product-list .sp-item__image {
    overflow: hidden;
  }

  .product-list .sp-item__content {
    gap: 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-right: 20px;
  }

  .product-list .bottom-content {
    display: flex;
    flex-direction: column;
    gap: 30px;
  }

  .product-list .sp-item__content p {
    color: #292C3F;
  }

  .product-list .sp-item__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: 300ms ease-in-out;
  }

  .sp-item:hover .sp-item__image img {
    scale: 1.1;
  }

  @media only screen and (max-width: 767px) {
    .product-list .sp-item.flex-6 {
      flex: 0 0 100%;
      flex-direction: column-reverse;
    }

    .product-list .sp-item__content,
    .product-list .sp-item__image {
      width: 100%;
    }

    .product-list .sp-item__content {
      gap: 20px;
      margin-top: 20px;
    }

    .product-list .sp-items {
      margin: 25px 0;
      gap: 20px;
    }

    .product-list .font-40 {
      font-size: 30px;
      line-height: 34px;
    }

  }

  /* Contact Form */

  .contact-form {
    background-color: #292b3e;
    color: #fff;
    padding: 80px 0 100px;
    margin-top: 100px;
    position: relative;
  }

  .contact-form::after {
    background-image: url(../images/enquiry-banner-bg.svg);
    background-size: contain;
    background-repeat: no-repeat;
    content: '';
    position: absolute;
    left: 5vw;
    bottom: 0;
    height: 100px;
    width: 90vw;
  }

  .contact-form h1 {
    font-size: 80px;
    line-height: 82px;
    color: #00FAC8;
  }

  .contact-form .flex-content div {
    width: 50%;
  }

  .contact-form div.text {
    width: 100%;
  }

  .contact-form .text p {
    font-size: 18px;
    line-height: 22.5px;
  }

  @media only screen and (max-width: 767px) {
    .contact-form h1 {
      font-size: 40px;
      line-height: 52px;
    }

    .contact-form .flex-content div {
      width: 100%;
    }
  }

  .form-all {
    box-shadow: none !important;
  }

/* Large Video */

.large-video {
  position:relative;
  height: 800px;
}

.large-video video {
  width:100%;
}

@media only screen and (max-width: 767px) {
  .large-video {
    height: 100vw;
  }
}

/* Latest Case Studies */

.latest-case-studies { padding: 50px 0; }
.latest-case-studies h2 { margin: 0; }
.latest-case-studies .btn-wrapper { margin: 50px 0 0; }

.latest-cs-swiper { margin-top: 50px; overflow: hidden;}

.card--case-study {
  width: 100%;
  background-color: #26283b;
  padding: 10px;
  transition: 300ms;
}

.card--case-study:hover {
  background-color: #00FDC7;
}

.latest-cs-swiper .swiper-slide {
  width: auto;
  flex-shrink: 0;
}

.card--case-study figure {
  aspect-ratio: 2/1;
  margin: 0; 
  overflow: hidden;
  position: relative;
}
.card--case-study figure img {
  object-fit: cover; width: 100%; height: 100%; transition: 300ms;
}
.card--case-study:hover figure img { transform: scale(1.05); }

.card__body { 
  display: flex; 
  flex-direction: column;
  justify-content: space-between;
  gap: 30px; 
  background-color: #26283b;
  padding: 20px 10px 10px;
  min-height: 130px;
  transition: 300ms;
}

.card--case-study:hover .card__body {
  background-color: #00FDC7;
}

.card__body .cs__label {
  font-weight: 500;
  margin-top: 5px;
}

.card__body .view-case-study {
  padding: 5px 10px;
  background-color: #fff;
  color: #26283b;
  font-size: 14px;
  font-weight: 500;
  width: fit-content;
  border-radius: 30px;
  transition: 300ms;
}

.card--case-study:hover .view-case-study {
  background-color: #26283b;
  color: #fff;
}

.card--case-study a { 
  color: #fff; 
  text-decoration: none; 
}

.card--case-study h3 { 
  font-size: 20px; 
  line-height: 25px; 
  margin: 0; 
}

.card--case-study h3 span { 
  font-size: 24px; 
  font-weight: 500;
  line-height: 1; 
  color: #fff; 
  position: relative; 
  transition: 300ms ease-in-out;
}

.card--case-study:hover h3 span {
  color: #26283b;
}

.card--case-study:hover h3 span:after {
      right: -25px;
      opacity: 1;
}

.card--case-study ul {
  display: flex; 
  flex-wrap: wrap; 
  gap: 10px; 
  list-style: none; 
  padding: 0;
  position: absolute;
  top: 5px;
  left: 5px;
  z-index: 2;
}

.card--case-study ul li {
  background-color: #00FDC7;
  border-radius: 40px;
  color: #26283b; 
  padding: 5px 10px;
  font-size: 14px;
  font-weight: 500;
}

@media only screen and (min-width: 768px) {
  .latest-swiper-button-prev,
.latest-swiper-button-next {
  display: none;
}
}

@media only screen and (max-width: 767px) {

  .latest-cs-swiper {
    padding-bottom: 70px;
  }

  .latest-case-studies { padding: 50px 0 }

  .latest-case-studies h2 {
    margin-bottom: 30px;
  }


  .latest-case-studies .label {
    margin-bottom:20px;
  }

  .latest-swiper-button-prev {
    background-image: url('/assets/images/swiper-arrow-black.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px;
    border-radius: 100%;
    border: 1px solid #000;
    left: initial !important;
    right: 70px !important;
    bottom: 0px !important;
    top: unset !important;
    transform: scale(-1);
    height: 60px;
    width: 60px;
    transition: 300ms;
    position: absolute;
  }
  
  .latest-swiper-button-prev:hover {
      background-image: url('/assets/images/swiper-arrow-black.svg');
      background-color: #00FDC7;
      border: 1px solid #00FDC7;
      color: #292C3F;
  }
  
  .latest-swiper-button-prev svg {
    display: none;
  }
  
  .latest-swiper-button-next {
    background-image: url('/assets/images/swiper-arrow-black.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px;
    border-radius: 100%;
    border: 1px solid #000;
    right: 0 !important;
    bottom: 0px !important;
    top: unset !important;
    height: 60px;
    width: 60px;
    transition: 300ms;
    position: absolute;
  }
  
  .latest-swiper-button-next:hover {
      background-image: url('/assets/images/swiper-arrow-black.svg');
      background-color: #00FDC7;
      border: 1px solid #00FDC7;
      color: #292C3F;
  }
  
  .latest-swiper-button-next svg {
    display: none;
  }

.world-swiper .swiper-button-prev svg,
.world-swiper .swiper-button-next svg {
    display:none;
}

  .card--case-study figure {
    height:60vw;
    width:100%;

  }

  .card__body {
     gap: 20px;
    width:100%;
    min-height: initial;
  }

  .latest-cs-swiper .swiper-slide {
    width: initial;
  }
  .card--case-study h3 span {
    font-size: 20px;
  }
}

/* Location Map */


.location-map .tooltip {
  background:#fff;
  position:absolute;
  top:10%;
  left:10%;
  padding:5px;
  opacity:0;
  transition:100ms;
}

.location-map .tooltip.active {
  opacity:1;
}

.location-map .tooltip p {
  font-size:12px;
}

@media only screen and (max-width: 767px) {
  .tooltip {
    display: none;
  }
}

.location-map .tooltip:after {
  background:#fff;
  content:'';
  position:absolute;
  bottom:-10px;
  right:-10px;
  height:10px;
  width:10px;
}

#us-tooltip {
  top:37%;
  left:14%;
}

#canada-tooltip {
  top:20%;
  left:14%;
}

#uk-tooltip {
  top:22%;
  left:37%;
}

#norway-tooltip {
  top:10%;
  left:48%;
}

#australia-tooltip {
  top:67%;
  left:76%;
}

#suriname-tooltip {
  top:57%;
  left:24.5%;
}

#trinidad-tooltip {
  top:53%;
  left:20.5%;
}

#senegal-tooltip {
  top:50%;
  left:36.5%;
}

#namibia-tooltip {
  top:70%;
  left:44.5%;
}

.map-group path {
    fill:#fff;
}

.map-group.active path {
    fill:#00FDC7;
}

#AUST:hover path {  
  fill:#00FDC7;
}

#AUST polygon {
  fill:transparent;
}

#US polygon {
  fill:transparent;
}

#US:hover path {
  fill:#00FDC7;
}

#CANADA polyline {
  fill:transparent;
}

#CANADA:hover path {
  fill:#00FDC7;
}

#UK polygon {
  fill:transparent;
}

#UK:hover path {
  fill:#00FDC7;
}

#NORWAY polygon {
  fill:transparent;
}

#NORWAY:hover path {
  fill:#00FDC7;
}

#SENEGAL polygon {
  fill:transparent;
}

#TRIN polygon {
  fill:transparent;
}

#TRIN:hover path {
  fill:#00FDC7;
}

#SURINAME polygon {
  fill:transparent;
}

#NAM polygon {
  fill:transparent;
}

#NAM:hover path {
  fill:#00FDC7;
}

.location-map {
  background-color:#292C3F;
  padding:100px 0;
}

.location-map h2 {
  margin: 50px 0;
}

.map {
  margin: 50px 35px;
  position: relative;
  text-align: center;
}

.map svg {
  max-width: 100%;
}

.label-text-white {
  color: #CFCED8;
  margin-top: 80px;
  margin-bottom: 20px;
}

#locationSwitcher {
  appearance: none;             /* Removes default styles (most browsers) */
  -webkit-appearance: none;     /* Removes default styles (Safari/iOS) */
  -moz-appearance: none;        /* Removes default styles (Firefox) */
  background-color: transparent;
  border-radius: 50px;
  border: 1px solid #545665;
  color: #CFCED8;
  padding: 15px 50px 15px 20px; /* Extra right padding for arrow */
  width: 100%;
  font: inherit;                /* Use parent font */
  cursor: pointer;
  position: relative;
  background-image: none;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

#LocationSwitcherWrapper {
  position: relative;
  display: inline-block;
  margin:20px 0 0;
  width: 100%;
}

#LocationSwitcherWrapper::after {
    border-right:1px solid #00FDC7;
    border-bottom:1px solid #00FDC7;
    content: "";
    position: absolute;
    height:10px;
    width:10px;
    right: 30px;
    top: calc(50% - 5px);
    transform: rotate(45deg) translateY(-50%);
    font-size: 12px;
    color: #CFCED8;
    pointer-events: none; /* Allow clicking through to select */
    transition: transform 0.2s ease;
}

#locationSwitcher:focus {
  outline: none;
  border-color: #888;
  background-color: rgba(255, 255, 255, 0.05);
}

#locationSwitcher:hover {
  border-color: #777;
}


.world-swiper {
    background-color:#545665;
    position: absolute;
    top:50px;
    right: 150px;
    width:300px;
}

.world-swiper .swiper-slide {
    padding:20px 20px 100px;
    text-align:left;
}

.world-swiper img {
    max-width:100%;
}

.world-swiper h3 {
    font-size:24px;
    margin:0 0 20px;
}

.world-swiper p {
    color:#CFCED8;
    font-size:14px;
    margin:0 0 20px;
}

.world-swiper .loc-btn {
    color: #fff;
    line-height: normal;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-color: #00FAC8;
    text-decoration-thickness: 10%; /* 1.6px */
    text-underline-offset: 25%; /* 4px */
    text-underline-position: from-font;
}


.world-swiper .swiper-button-prev {
    background-image: url('/assets/images/swiper-arrow-white.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px;
    border: 1px solid #fff;
    border-radius: 100%;
    left: 20px !important;
    bottom: 20px !important;
    top: unset !important;
    height: 40px;
    width: 40px;
    transform:scale(-1);
}

.world-swiper .swiper-button-next {
    background-image: url('/assets/images/swiper-arrow-white.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px;
    border: 1px solid #fff;
    border-radius: 100%;
    left: unset !important;
    right: 20px !important;
    bottom: 20px !important;
    top: unset !important;
    height: 40px;
    width: 40px;
}

.world-swiper .swiper-button-prev svg,
.world-swiper .swiper-button-next svg {
    display:none;
}

.map-group {
  cursor: pointer;
}

@media only screen and (max-width: 767px) {

    .location-map {
      padding:50px 0;
    }

    .location-map svg {
        display:none;
    }

    .label-text-white {
        margin: 40px 0 0;
    }

    .location-map .map {
        margin: 35px 35px 0;
    }

    .world-swiper {
        margin:50px 0 0;
        position: unset;
        left:-35px;
        width:100%;
    }

}

/* locations-list */

.locations-list {
  padding: 50px 0;
  background-color: #fff;
}

.locations-list .image-container {
  /* square: height == width */
  aspect-ratio: 1 / 1;
  width: 100%;         /* or any width you like */
  overflow: hidden;
}

.locations-list .image-container img {
  transition: 300ms ease-in-out;
}

.locations-list .image-container:hover img {
  scale: 1.1;
}

.locations-list .image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.locations-list ul {
display: flex;
gap: 20px;
flex-wrap: wrap;
list-style-type: none;
padding: 0;
}

.locations-list ul li {
display: flex;
gap: 20px;
width: calc(33.3334% - 20px);
}

.locations-list ul li .content {
padding: 50px 0;
position:relative;
width: 100%;
}

.locations-list ul li .content .btn {
  position:absolute;
  bottom:0;
  left:0;
}


.locations-list ul li .content h3 {
margin: 0 0 40px 0;
}

.locations-list ul li .content .location-text {
margin: 0 0 40px 0;
}

.locations-list ul li .content .location-phone,
.locations-list ul li .content .location-email {
margin-bottom: 10px;
}

.locations-list ul li .content .location-phone a,
.locations-list ul li .content .location-email a {
color: #A9AAB2;
text-decoration: none;
}

.locations-list ul li .content .location-phone a:hover,
.locations-list ul li .content .location-email a:hover {
color: #292C3F;
}

.locations-list .location-groups {
gap: 8px;
margin: 20px 0;
padding: 0 0 20px 0;
}

.locations-list .location-groups li {
width: auto;
}

.locations-list .location-groups li a {
border: 1px solid #545665;
border-radius: 40px;
color: #545665;
font-size: 14px;
padding: 5px 10px;
text-decoration: none;
}

.locations-list .update-text {
  position:relative;
  top:15px;
}

.locations-list .btn-wrapper {
  margin-top:50px;
  display: flex;
  justify-content:center;
}

.locations-list .btn-wrapper .btn {
  margin:auto;
}

#locationSwitch {
appearance: none;             /* Removes default styles (most browsers) */
-webkit-appearance: none;     /* Removes default styles (Safari/iOS) */
-moz-appearance: none;        /* Removes default styles (Firefox) */
background-color: transparent;
border-radius: 50px;
border: 1px solid #CFCED8;
color: #292C3F;
padding: 15px 50px 15px 20px; /* Extra right padding for arrow */
width: 300px;
font: inherit;                /* Use parent font */
cursor: pointer;
position: relative;
background-image: none;
transition: border-color 0.2s ease, background-color 0.2s ease;
}

.locationSwitchFrame {
position: relative;
display: flex;
justify-content: flex-end;
gap:20px;
margin:20px 0 0;
width: 100%;
}

.locationSwitchFrame::after {
  border-right:1px solid #292C3F;
  border-bottom:1px solid #292C3F;
  content: "";
  position: absolute;
  height:10px;
  width:10px;
  right: 30px;
  top: calc(50% - 5px);
  transform: rotate(45deg) translateY(-50%);
  font-size: 12px;
  color: #CFCED8;
  pointer-events: none; /* Allow clicking through to select */
  transition: transform 0.2s ease;
}


.locationSwitchFrame p {
  color: #545665;
  display: flex;
  flex-direction:column;
  justify-content: center;
}

#locationSwitch:focus {
outline: none;
border-color: #888;
background-color: rgba(255, 255, 255, 0.05);
}

#locationSwitch:hover {
border-color: #777;
}

.locations-list .contact-details {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.locations-list .contact-details a {
  color: #0b0b0b;
  transition: 300ms ease-in-out;
}

.locations-list .contact-details a:hover {
  color: #00FDC7;
}

@media only screen and (max-width: 1000px) {

  .locations-list ul li {
      width: calc(50% - 20px);
  }

}

@media only screen and (max-width: 767px) {

  .locations-list {
    padding: 25px 0;
  }

.locations-list ul li {
  flex-direction: column;
  width: 100%;
}

.locations-list img {
  display: none;
}

  .locationSwitchFrame {
      flex-direction: column;
      margin-top:20px;
  }

  .locationSwitchFrame:after {
      top: calc(70% - 15px);
  }

  .locations-list .update-text {
      top: 0;
  }

  #locationSwitch {
     width:100%;
     max-width: 200px;
  }

.locations-list ul li .image-frame {
  min-height: 90vw;
  width: 100%;
}

.locations-list ul li .content {
  width: 100%;
}

.locationSwitchFrame p {
  margin-bottom: 0;
  white-space: nowrap;
}

.locations-list .update-text {
  display: flex;
  gap: 5px;
}

.locationSwitchFrame {
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
}

/* News & Insights */

.news-insight {
  padding: 25px 0;
}

.news-insight .intro h2 {
  color:#292C3F;
  margin:30px 0;
  max-width:350px;
}

.news-insight .intro .subtitle {
  margin:0 0 30px 0;
}
.news-insight-swiper {
  margin:50px 0 0;
  padding: 0 0 100px;
}

.newspost .card__meta {
  position: absolute;
  top: 10px;
  left: 10px;
  display: flex;
  gap: 10px;
  z-index: 2;
  list-style: none;
  padding: 0;
}

.newspost .card__meta li {
  font-size: 14px;
  font-weight: 500;
  padding: 5px 15px;
  background-color: #00FDC7;
  color: #26283b;
  border-radius: 30px;
}

.news-insight-swiper .newspost-image {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.news-insight-swiper .newspost-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 300ms ease-in-out;
}

.news-insight-swiper .newspost:hover .newspost-image img {
  scale: 1.1;
}

.news-insight-swiper .newspost:hover .tertiary-btn:after,
.news-insight-swiper .newspost:hover .tertiary-btn:before {
  visibility: visible;
}

.news-insight-swiper .newspost {
  position: relative;
  aspect-ratio: 1/1;
  padding: 10px;
  display: flex;
  align-items: flex-end;
}

.news-insight-swiper .newspost .absolute-link {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.ni-slide .news-date {
  color:#545665;
  font-size: 14px;
}

.ni-slide h3 {
  font-size:20px;
  line-height: 22px;
  transition: 300ms ease-in-out;
}

.ni-swiper-button-prev {
  background-image: url('/assets/images/swiper-arrow-black.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px;
    border: 1px solid #292c3f;
    background-color: #fff;
    border-radius: 100%;
    left: unset !important;
    right: 50px !important;
    bottom: 20px !important;
    top: unset !important;
    height: 40px;
    width: 40px;
    transform: scale(-1);
    transition: 300ms;
}

.ni-swiper-button-prev svg {
  display:none;
}


.ni-swiper-button-next {
    background-image: url('/assets/images/swiper-arrow-black.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px;
    border: 1px solid #292c3f;
    background-color: #fff;
    border-radius: 100%;
    left: unset !important;
    right: 0px !important;
    bottom: 20px !important;
    top: unset !important;
    height: 40px;
    width: 40px;
    transition: 300ms;
}

.ni-swiper-button-next svg {
  display:none;
}

.ni-swiper-button-prev:hover,
.ni-swiper-button-next:hover {
  background-color: #00FDC7;
  border: 1px solid #00FDC7;
}


  .news-insight-swiper .newspost .newspost-content {
    width: 100%;
    min-height: 150px;
    background-color: #fff;
    color: #26283b;
    transition: 300ms ease-in-out;
    padding: 10px 55px 10px 10px;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 2;
  }

  .news-insight-swiper .newspost .newspost-content::before {
    background-image: url('/assets/images/arrow-right-black.svg');
    background-repeat: no-repeat;
    background-size: 15px;
    background-position: center;
    content: '';
    position: absolute;
    bottom: 10px;
    right: 10px;
    height: 40px;
    width: 40px;
    transition: 300ms;
    z-index: 3;
    border: 1px solid #000;
    border-radius: 50%;
    background-color: #fff;
  }

  .news-insight-swiper .newspost:hover .newspost-content::before {
    background-color: #00FDC7;
    transform: rotate(-45deg);
    border: 1px solid #00FDC7;
  }

  .ni-slide .news-date {
    opacity: 0.75;
  }


@media only screen and (max-width: 1000px) {
  .ni-slide img {
    height:45vw;
  }
}

@media only screen and (max-width: 767px) {
  .news-insight-swiper .newspost {
    aspect-ratio: 1/1.25;
  }
  .ni-slide img {
    height:75vw;
  }

  .news-insight-swiper {
    padding: 0 0 50px;
  }

  .tertiary-btn {
    color: #292C3F;
  }

  .ni-swiper-button-prev,
  .ni-swiper-button-next {
    bottom: 0 !important;
  }
  .ni-slide h3 {
    font-size: 18px;
  }
}

/* Category Case studies & News */

.news-category-hero {
  margin-bottom:50px;
  padding: 132px 0 0;
}

.news-category-hero .breadcrumbs li a {
  color: #292C3F;
}

.news-category-hero .breadcrumbs {
  margin: 0 0 50px 0;

}

.news-category-hero .breadcrumbs li span {
  color: #292C3F;
}


.news-category-hero .flex-content {
      border-bottom: 1px solid #292C3F;

}

.pagination {
  display:flex;
  justify-content: space-between;
  margin: 50px 0 0;
  position:relative;
}

.prev-pagination-link {
  border:1px solid #292C3F;
  border-radius:100%;
  display:inline-block;
  position:relative;
  height: 40px;
  width: 40px;
}

.prev-pagination-link.disabled {
  cursor: not-allowed;
  opacity:0.5;
}

.prev-pagination-link:hover {
  background-color:#00FAC8;
  border:1px solid #00FAC8;
}

.prev-pagination-link.disabled:hover {
  background-color:#FFF;
  border:1px solid #292C3F;
}

.prev-pagination-link:after {
  background-image: url('/assets/images/arrow-right-black.svg');
  background-repeat: no-repeat;
  background-size: 15px;
  background-position: center;
  content: '';
  position: absolute;
  top: 0;
  left: 0px;
  height: 40px;
  width: 40px;
  transition: 300ms;
  transform:scale(-1);
}

.next-pagination-link {
  border:1px solid #292C3F;
  border-radius:100%;
  display:inline-block;
  position:relative;
  height: 40px;
  width: 40px;
}

.next-pagination-link:hover {
  background-color:#00FAC8;
  border:1px solid #00FAC8;
}

.next-pagination-link.disabled {
  cursor: not-allowed;
  opacity:0.5;
}

.next-pagination-link.disabled:hover {
  background-color:#FFF;
  border:1px solid #292C3F;
}


.next-pagination-link:after {
  background-image: url('/assets/images/arrow-right-black.svg');
  background-repeat: no-repeat;
  background-size: 15px;
  background-position: center;
  content: '';
  position: absolute;
  top: 0;
  left: 0px;
  height: 40px;
  width: 40px;
  transition: 300ms;
}

.prev-next-links,
.numbered-links {
  display: flex;
  gap:10px;
  flex-flow: row wrap;
  margin-bottom: 10px;
}

.numbered-links span {
  background-color:#292C3F;
  border:1px solid #292C3F;
  border-radius:100%;
  color:#FFF;
  display:flex;
  font-weight:500;
  flex-direction:column;
  justify-content:center;
  text-align: center;
  height: 40px;
  width: 40px;
  text-decoration:none;
}

.numbered-links a {
  border:1px solid #292C3F;
  border-radius:100%;
  color:#292C3F;
  display:flex;
  font-weight:500;
  flex-direction:column;
  justify-content:center;
  text-align: center;
  height: 40px;
  width: 40px;
  text-decoration:none;
}

.numbered-links a:hover {
  background-color:#00FAC8;
  border:1px solid #00FAC8;
}

/* Sticky CTA */

.sticky-cta {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 10;
  background-color: #fff;
  box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.25);
  padding: 15px;
  max-width: 330px;
}

.sticky-cta .flex-content {
  gap: 15px;
}

.sticky-cta .flex-content div {
  display: flex;
  align-items: center;
  justify-content: center;
}

.sticky-cta .width-6 {
  width: 50%;
}

.sticky-cta .width-12 {
  width: 100%;
}

.sticky-cta span {
  font-size: 18px;
  line-height: 20.5px;
  font-weight: 500;
  margin-left: 5px;
}

.sticky-cta a {
  background-color: #00FAC8;
  border-radius: 60px;
  color: #292C3F;
  margin: 0;
  padding: 20px 25px;
  position: relative;
  transition: 300ms ease-in-out;
  text-decoration: none;
  white-space: nowrap;
  font-weight: 500;
}

.sticky-cta a:before {
  content: '•';
  position: relative;
  right: 7px;
  visibility: hidden;
  animation: flash 500ms infinite;
}

.sticky-cta a:after {
  content: '•';
  position: relative;
  left: 7px;
  visibility: hidden;
  animation: flash 500ms infinite;
}

.sticky-cta a:hover::before,
.sticky-cta a:hover::after {
  visibility: visible;
}

.sticky-cta a:hover {
  background-color: #292C3F;
  border-radius: 60px;
  color: #FFF;
}

.sticky-cta {
  opacity: 0;
  visibility: hidden;
  transition: 300ms ease-in-out;
  border-radius: 50px;
}
.sticky-cta.is-visible {
  opacity: 1;
  visibility: visible;
}

.megamenu-active .sticky-cta {
  opacity: 0;
}

@media only screen and (max-width: 767px) {
  .sticky-cta {
    display: none;
    /* width: 94vw;
    bottom: 10px;
    right: 10px; */
  }
  /* .sticky-cta .flex-content {
    flex-direction: row !important;
    gap: 10px;
  }

  .sticky-cta span {
    font-size: 16px;
    line-height: 20px;
  }

  .sticky-cta a {
    padding: 10px 15px;
  } */
}

/* @media only screen and (max-width: 410px) {
  .sticky-cta {
    width: 100vw;
    max-width: 94vw;
  }
} */

/* Case Study List */

.case-study-list {
  margin-bottom: 50px;
}

.case-study-list .case-study-items {
  display: flex;
  flex-flow: row wrap;
  gap: 20px;
}

.case-study-list .case-study-items .case-study-card {
  display: flex;
  flex-direction: column;
  margin-bottom: 10px;
  padding: 10px;
  background-color: #26283b;
  transition: 300ms;
}

.case-study-list .case-study-items .case-study-card:hover {
  background-color: #00FDC7;
}

.case-study-card { 
  width: calc(33.3333% - 14px); 
  position: relative;
}

.case-study-card .absolute-link {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
}

.case-study-card .case-study-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 20px 10px 10px;
  background-color: #26283b;
  color: #fff;
  min-height: 130px;
  transition: 300ms;
}

.case-study-card:hover .case-study-content {
  background-color: #00FDC7;
}

.case-study-items .case-study-card .case-study-image {
  width: 100%;
  aspect-ratio: 1/0.75;
  overflow: hidden;
}

.case-study-card .case-study-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 300ms ease-in-out;
}

.case-study-card h3 {
  margin: 0;
  color: #fff;
  font-size: 20px;
  line-height: 22px;
  font-weight: 400;
  transition: 300ms ease-in-out;
}

.case-study-card:hover h3 {
  color: #26283b;
}


.case-study-card .case-study-date {
  font-size: 14px;
  font-weight: 500;
  opacity: 0.5;
  margin-top: 20px;
  color: #fff;
}

.case-study-items .case-study-card:hover .case-study-image img {
  scale: 1.1;
}

.case-study-items .case-study-card .view-case-study {
  padding: 5px 10px;
  background-color: #fff;
  color: #26283b;
  font-size: 14px;
  font-weight: 500;
  width: fit-content;
  border-radius: 30px;
  transition: 300ms;
}

.case-study-items .case-study-card:hover .view-case-study {
  background-color: #26283b;
  color: #fff;
}

.case-study-card .card__meta {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 2;
  display: flex;
  flex-flow: row wrap;
  gap: 10px;
  list-style: none;
  padding: 0;
}

.case-study-card .card__meta li {
  font-size: 14px;
  font-weight: 500;
  padding: 5px 15px;
  background-color: #00FDC7;
  border-radius: 30px;
}

@media only screen and (max-width: 1100px) {
  .case-study-card {
   width: calc(50% - 10px);
  }
}

@media only screen and (max-width: 1020px) {
  .case-study-card h3 a {
    font-size: 20px;
    line-height: 22.5px;
  }
}

@media only screen and (max-width: 767px) {
  .case-study-card { 
    width: 100%; 
  }
}

/* Case Study Single */

#cs-feature {
  background-color:#fff;
  position:relative;
  z-index:2;
}

#cs-feature .flex-6 {
  padding:0px 35px;
  min-height: unset;
}

#cs-feature .flex-6:not(.image-container) {
  margin:50px 0;
}

#cs-feature .flex-6 h2 {
  border-bottom:2px solid #00FAC8;
  font-size:25px;
  margin:0 0 40px 0;
  padding: 0 0 2px 0;
  width:fit-content;
}

#cs-feature .flex-6 ul {
  padding:0 0 0 20px;
}

#cs-feature .flex-6 ul li {
  border-bottom: 1px solid #CFCED8;
  font-size:20px;
  font-weight:500;
  line-height:1.2;
  padding-bottom:20px;
  margin-bottom:20px;
}

/* Accordion Content */

.accordion-content {
  background-color: #e7e7eb;
  padding-bottom: 25px;
}

.accordion-content .flex-content {
  flex-direction: column;
}

.accordion-content .flex-6 {
  margin: auto;
  padding: 30px 0 0;
}

.accordion-content:not(.address-accordion) .flex-6 {
  max-width: 50%;
}

.accordion-content .accordion {
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid #545665;
}

.accordion-content .accordion .accordion-title {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.accordion-content .accordion .panel .text {
  padding: 0 20px 20px;
}

.accordion-content .accordion img {
  max-width: 50px;
  max-height: 50px;
  object-fit: contain;
  margin-right: 20px;
}

.accordion-content .accordion h2::after {
  content: '';
  background-image: url(/assets/images/arrow-right-black.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px;
  display: block;
  position: absolute;
  border-radius: 100%;
  border: 1px solid #000;
  right: 0;
  top: -5px;
  height: 40px;
  width: 40px;
  transition: 300ms;
  transform: rotate(90deg);
}

.accordion-content .accordion-title:hover h2::after {
  background-color: #00FDC7;
}

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

.accordion-content .panel {
  height: 0;
  opacity: 0;
  overflow: hidden;
  transition: height .25s ease, opacity .25s ease;
  will-change: height, opacity;
}

.accordion-content .accordion.is-open .panel{
  opacity: 1;
}

.accordion-content .accordion.is-open > h2 {
   cursor: pointer; 
  }
.accordion-content .accordion-title h2 { 
  cursor: pointer;
  position: relative;
  width: 100%;
  padding-right: 40px;
  margin: 30px 0;
}

.accordion-content .accordion.is-open h2::after {
  transform: rotate(270deg);
  background-color: #00FDC7;
}

@media only screen and (max-width: 767px) {
  .accordion-content .flex-6 {
    max-width: 100% !important;
  }
}

@media only screen and (max-width: 600px) {
  .accordion-content .accordion-title h2 {
    font-size: 20px;
  }

  .accordion-content .accordion img {
    margin-right: 10px;
  }

}

/* Catergories */

.category-hero {
  margin-bottom:50px;
  padding: 132px 0 0;
}

.category-hero .breadcrumbs li a {
  color: #292C3F;
}

.category-hero .breadcrumbs {
  margin: 0 0 50px 0;

}

.category-hero .breadcrumbs li span {
  color: #292C3F;
}


/* .category-hero .flex-content {
  border-bottom: 1px solid #CFCED8;
} */

.category-page {
  margin-bottom: 50px;
}

.category-page .flex-content {
  gap: 20px;
}

.category-page .card {
  width: calc(33.3333% - 20px);
  height: 100%;
  position: relative;
  padding: 10px;
  background-color: #26283b;
  transition: 300ms;
}

.category-page .card:hover {
  background-color: #00FDC7;
}

.category-page .card .card-image {
  overflow: hidden;
  width: 100%;
  height: 100%;
  aspect-ratio: 1/0.75;
}

.category-page .card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 300ms ease-in-out;
}

.category-page .card:hover img {
  scale: 1.1;
}

.category-page .card a {
  text-decoration: none;
}

.category-page .card h2 {
  font-size: 24px;
  line-height: 1;
  color: #fff;
  transition: 300ms ease-in-out;
}

.category-page .card:hover h2 {
  color: #26283b;
}

.category-page .card .date {
  color: #fff;
  font-weight: 500;
  font-size: 14px;
  margin-bottom: 10px;
  color: #fff;
  transition: 300ms;
}

.category-page .card:hover .date {
  color: #26283b;
}

.category-page .pagination {
  margin-bottom: 50px;
}

.category-page .card .absolute-link {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height:100%;
  width:100%;
  z-index:3;
}

.category-page .card .card__content {
  display: flex;
  flex-direction: column;
  color: #fff;
  min-height: 150px;
  height: fit-content;
  padding: 10px;
  background-color: #26283b;
  z-index: 2;
  position: relative;
  transition: 300ms;
}

.category-page .card:hover .card__content {
  background-color: #00FDC7;
}

.pagination {
  display:flex;
  justify-content: space-between;
  flex-flow: row wrap;
  margin: 50px 0 0;
  position:relative;
}

.prev-pagination-link {
  border:1px solid #292C3F;
  border-radius:100%;
  display:inline-block;
  position:relative;
  height: 40px;
  width: 40px;
}

.prev-pagination-link.disabled {
  cursor: not-allowed;
  opacity:0.5;
}

.prev-pagination-link:hover {
  background-color:#00FAC8;
  border:1px solid #00FAC8;
}

.prev-pagination-link.disabled:hover {
  background-color:#FFF;
  border:1px solid #292C3F;
}

.prev-pagination-link:after {
  background-image: url('/assets/images/arrow-right-black.svg');
  background-repeat: no-repeat;
  background-size: 15px;
  background-position: center;
  content: '';
  position: absolute;
  top: 0;
  left: 0px;
  height: 40px;
  width: 40px;
  transition: 300ms;
  transform:scale(-1);
}

.next-pagination-link {
  border:1px solid #292C3F;
  border-radius:100%;
  display:inline-block;
  position:relative;
  height: 40px;
  width: 40px;
}

.next-pagination-link:hover {
  background-color:#00FAC8;
  border:1px solid #00FAC8;
}

.next-pagination-link.disabled {
  cursor: not-allowed;
  opacity:0.5;
}

.next-pagination-link.disabled:hover {
  background-color:#FFF;
  border:1px solid #292C3F;
}


.next-pagination-link:after {
  background-image: url('/assets/images/arrow-right-black.svg');
  background-repeat: no-repeat;
  background-size: 15px;
  background-position: center;
  content: '';
  position: absolute;
  top: 0;
  left: 0px;
  height: 40px;
  width: 40px;
  transition: 300ms;
}

.prev-next-links,
.numbered-links {
  display: flex;
  gap:10px;
}

.numbered-links span {
  background-color:#292C3F;
  border:1px solid #292C3F;
  border-radius:100%;
  color:#FFF;
  display:flex;
  font-weight:500;
  flex-direction:column;
  justify-content:center;
  text-align: center;
  height: 40px;
  width: 40px;
  text-decoration:none;
}

.numbered-links a {
  border:1px solid #292C3F;
  border-radius:100%;
  color:#292C3F;
  display:flex;
  font-weight:500;
  flex-direction:column;
  justify-content:center;
  text-align: center;
  height: 40px;
  width: 40px;
  text-decoration:none;
}

.numbered-links a:hover {
  background-color:#00FAC8;
  border:1px solid #00FAC8;
}

.back-link
{
  color:#292C3F;  
  display:inline-block;
  font-size:14px;
  font-weight:500;
  margin-bottom:15px;
  text-decoration:none;
  position:relative;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-color: #00FAC8;
  text-decoration-thickness: 15%;
  text-underline-offset: 25%;
}

@media only screen and (max-width: 767px) {
  .category-page .flex-content {
    flex-direction: row;
  }

  .category-page .card {
    width: calc(50% - 20px);
  }
}

@media only screen and (max-width: 600px) {
  .flex-content {
    flex-direction: column;
  }

  .category-page .card {
    width: 100%;
  }
}

.loc-btn.tertiary-btn:hover {
  color: #fff !important;
}

/* Floating squares */

.layout-1, .layout-2, .layout-3,
.layout-4, .layout-5 {
  position: relative;
}

.square-1, .square-2, .square-3,
.square-4, .square-5, .square-6 {
  position: absolute;
  z-index: 2;
}

.layout-1 .square-1 {
  width: 15vw;
  height: 15vw;
  bottom: 0;
  left: 0;
  opacity: 1;
}

.layout-1 .square-2 {
  width: 5vw;
  height: 5vw;
  bottom: 15vw;
  left: 15vw;
  opacity: 1;
  background-color: #00FDC7 !important;
}

.layout-1 .square-3 {
  width: 10vw;
  height: 10vw;
  bottom: 5vw;
  left: 20vw;
  opacity: 0.75;
  background-color: #CFCED8 !important;
}

.layout-2 .square-1 {
  top: 0;
  left: 0;
  width: 10vw;
  height: 10vw;
  opacity: 0.5;
  background-color: rgb(60, 63, 80) !important;
}

.layout-2 .square-2 {
  top: 10vw;
  left: 10vw;
  width: 5vw;
  height: 5vw;
  opacity: 0.5;
  background-color: #00FDC7 !important;
}

.layout-2 .square-3 {
  bottom: 5vw;
  right: calc(10vw - 35px);
  width: 5vw;
  height: 5vw;
  opacity: 0.5;
  background-color: #3c3f50 !important;
}

.subpage-hero .layout-2 .square-3 {
  right: 10vw;
}

.layout-2 .square-4 {
  bottom: 10vw;
  right: -35px;
  width: 10vw;
  height: 10vw;
  opacity: 0.5;
  background-color: #CFCED8 !important;
}

.subpage-hero .layout-2 .square-4 {
  right: 0;
}

.layout-2 .square-5 {
  bottom: 0;
  right:  calc(5vw - 35px);
  width: 5vw;
  height: 5vw;
  opacity: 1;
  background-color: #00FDC7 !important;
}

.subpage-hero .layout-2 .square-5 {
  right: 5vw;
}

.layout-3 .square-1 {
  bottom: 0;
  left: 0;
  width: 10vw;
  height: 10vw;
  opacity: 1;
}

.layout-3 .square-2 {
  bottom: 10vw;
  left: 10vw;
  width: 10vw;
  height: 10vw;
  opacity: 0.5;
  background-color: #00FDC7 !important;
}

.layout-3 .square-3 {
  bottom: 0;
  left: 20vw;
  width: 10vw;
  height: 10vw;
  opacity: 0.5;
  background-color: #3c3f50 !important;
}

.layout-3 .square-4 {
  top: 0;
  right: -35px;
  width: 10vw;
  height: 10vw;
  opacity: 1;
}

.subpage-hero .layout-3 .square-4 {
  right: 0;
}

.layout-4 .square-1 {
  top: 0;
  left: 0;
  width: 10vw;
  height: 10vw;
  opacity: 1;
}

.layout-4 .square-2 {
  top: 20vw;
  left: 5vw;
  width: 5vw;
  height: 5vw;
  opacity: 1;
  background-color: #3c3f50 !important;
}

.layout-4 .square-3 {
  top: 10vw;
  left: 10vw;
  width: 10vw;
  height: 10vw;
  opacity: 0.5;
  background-color: #CFCED8 !important;
}

.layout-4 .square-4 {
  bottom: 0;
  right: -35px;
  width: 10vw;
  height: 10vw;
  opacity: 1;
}

.subpage-hero .layout-4 .square-4 {
  right: 0;
}

.layout-5 .square-1 {
  bottom: 10vw;
  left: 0;
  width: 10vw;
  height: 10vw;
  opacity: 0.75;
  background-color: #fff !important;
}

.layout-5 .square-2 {
  bottom: 0;
  left: 0;
  width: 10vw;
  height: 10vw;
  opacity: 1;
  background-color: #3c3f50 !important;

}

.layout-5 .square-3 {
  bottom: 0;
  left: 10vw;
  width: 10vw;
  height: 10vw;
  opacity: 0.5;
  background-color: #8f8c90 !important;
}

.layout-5 .square-4 {
  top: 0;
  right: calc(10vw - 35px);
  width: 10vw;
  height: 10vw;
  opacity: 0.75;
  background-color: #8f8c90 !important;
}

.subpage-hero .layout-5 .square-4 {
  right: 10vw;
}

.layout-5 .square-5 {
  top: 10vw;
  right: -35px;
  width: 10vw;
  height: 10vw;
  opacity: 0.75;
  background-color: #00FDC7 !important;
}

.subpage-hero .layout-5 .square-5 {
  right: 0;
}

@media only screen and (max-width: 767px) {
  .service-hero .layout-5 .square-5 {
    right: 0;
  }
  .service-hero .layout-5 .square-4 {
    right: 10vw;
  }
  .service-hero .layout-4 .square-4 {
    right: 0;
  }
  .service-hero .layout-3 .square-4 {
    right: 0;
  }
  .service-hero .layout-2 .square-5 {
    right: 5vw;
  }
  .service-hero .layout-2 .square-4 {
    right: 0;
  }
  .service-hero .layout-2 .square-4 {
    right: 0;
  }
  .service-hero .layout-2 .square-3 {
    right: 10vw;
  }
}

/* Cookie Consent */

#elc-cookie-consent {
  padding: 10px !important;
  background-color: #26283b !important;
  border-radius: 0 !important;
  color: #fff !important;
}

#elc-cookie-consent h3 {
  font-weight: 400 !important;
  margin: 0 0 10px !important;
}

#elc-cookie-consent .elc-text-link {
  color: #fff !important;
}

#elc-cookie-consent .elc-button-link {
  background-color: #00FDC7 !important;
}

#elc-cookie-consent .button-container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-flow: row wrap !important;
}

#elc-cookie-consent .elc-button-link,
#elc-cookie-consent .elc-text-link {
  text-transform: capitalize !important;
}

#elc-cookie-consent .elc-text-link {
  line-height: 1 !important;
  padding: calc(.375em - 1px) .75em !important;
  border: 1px solid #fff !important;
  margin-right: 0 !important;
}

.elc-header-description {
  margin-bottom: 10px !important;
}

#elc-cookie-consent .elc-button-link {
  color: #26283b !important;
}

.elc-header-description {
  font-size: 16px !important;
  line-height: 1 !important;
}

@media only screen and (max-width: 600px) {
  #elc-cookie-consent .button-container {
    flex-direction: column !important;
    gap: 10px !important;
  }
  #elc-cookie-consent .elc-secondary-button-link,
  #elc-cookie-consent .elc-button-link {
    width: 90% !important;
    text-align: center !important;
  }
  #elc-cookie-consent .elc-text-link {
    width: 81% !important;
    text-align: center !important;
  }
}