* {
  font-family: "Poppins", sans-serif;
}

body.hidden {
  overflow: hidden;
}

.header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
  background: #123764;
  transition: 0.5s;
  -webkit-transition: 0.5s;
}
.header.scroll {
  transform: translateY(-100%);
}
.header .desktop_navigation_wrapper {
  margin-inline: auto;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .nav_logo {
  width: 150px;
  transition: 0.3s;
  padding: 1rem 0;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .burger_navigation {
  position: relative;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .burger_navigation:hover {
  cursor: pointer;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .burger_navigation .line {
  margin-top: 5px;
  width: 30px;
  height: 3px;
  background-color: #ffffff;
  border-radius: 5px;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .burger_navigation .transition {
  transition: 0.3s;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .burger_navigation.open_menu .line:nth-child(1) {
  transform: rotate(135deg) translate(6px, -5.5px);
  -webkit-transform: rotate(135deg) translate(6px, -5.5px);
  -moz-transform: rotate(135deg) translate(6px, -5.5px);
  -o-transform: rotate(135deg) translate(6px, -5.5px);
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .burger_navigation.open_menu .line:nth-child(2) {
  opacity: 0;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .burger_navigation.open_menu .line:nth-child(3) {
  transform: rotate(-135deg) translate(6px, 5.5px);
  -webkit-transform: rotate(-135deg) translate(6px, 5.5px);
  -moz-transform: rotate(-135deg) translate(6px, 5.5px);
  -o-transform: rotate(-135deg) translate(6px, 5.5px);
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .desktop_nav_items {
  margin: 0;
  display: none;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .desktop_nav_items .phone_link {
  text-align: right;
  padding: 1.1rem 0 1rem 0;
  color: #ffffff;
  margin-top: 0;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .desktop_nav_items .phone_link a {
  color: #ffffff;
  text-decoration: underline;
  transition: 0.1s;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .desktop_nav_items .phone_link a:hover {
  color: #71D0F9;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .desktop_nav_items .desktop_main_links {
  margin: 0;
  display: flex;
  list-style: none;
  gap: 60px;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .desktop_nav_items .desktop_main_links li a {
  color: #ffffff;
  text-decoration: none;
  display: inline-block;
  position: relative;
  text-decoration: none;
  transition: 0.1s;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .desktop_nav_items .desktop_main_links li a:hover {
  color: #71D0F9;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .desktop_nav_items .desktop_main_links li a.active {
  color: #71D0F9;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .desktop_nav_items .desktop_main_links .our_services {
  position: relative;
  padding-bottom: 1.1rem;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .desktop_nav_items .desktop_main_links .our_services:hover .service_hover {
  opacity: 1;
  visibility: visible;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .desktop_nav_items .desktop_main_links .our_services:hover a {
  background: none;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .desktop_nav_items .desktop_main_links .our_services:hover a::after {
  background: none;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .desktop_nav_items .desktop_main_links .our_services:hover a:hover:after {
  width: 0;
  left: 0;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .desktop_nav_items .desktop_main_links .our_services .flex {
  display: flex;
  gap: 0.7rem;
  cursor: pointer;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .desktop_nav_items .desktop_main_links .our_services .flex img {
  width: 0.9rem;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .desktop_nav_items .desktop_main_links .our_services .service_hover {
  background: #f8f8f8;
  background-size: 200px;
  transition: 0.2s;
  opacity: 0;
  visibility: hidden;
  padding: 1.5rem 2rem;
  position: absolute;
  width: 16.1rem;
  left: -32px;
  top: 2.9rem;
  box-shadow: 0px 10px 30px #00000021;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .desktop_nav_items .desktop_main_links .our_services .service_hover ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .desktop_nav_items .desktop_main_links .our_services .service_hover ul li a {
  color: #000000;
  padding: 0.5rem 0;
  transition: 0.1s;
  border-bottom: 0;
  display: block;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .desktop_nav_items .desktop_main_links .our_services .service_hover ul li a:hover {
  color: #71D0F9;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .desktop_nav_items .desktop_main_links .our_services .service_hover ul li a::after {
  background: transparent;
}
.header .desktop_navigation_wrapper .desktop_inner_wrapper .desktop_nav_items .desktop_main_links .our_services .service_hover ul li a.active {
  color: #71D0F9;
  text-decoration: none;
}

@media (min-width: 1000px) {
  .header .desktop_navigation_wrapper .desktop_inner_wrapper .nav_logo {
    width: 200px;
  }
  .header .desktop_navigation_wrapper .desktop_inner_wrapper .nav_logo.width {
    width: 150px;
  }
  .header .desktop_navigation_wrapper .desktop_inner_wrapper .burger_navigation {
    display: none;
  }
  .header .desktop_navigation_wrapper .desktop_inner_wrapper .desktop_nav_items {
    display: block;
  }
}
.mobile_navigation {
  background: #123764;
  transition: 0.5s ease-in-out;
  height: 0;
  overflow: hidden;
}
.mobile_navigation.show {
  height: 100vh;
  overflow: scroll;
}
.mobile_navigation .mobile_main_links {
  padding: 0;
  margin-top: 0;
  list-style: none;
  color: #ffffff;
}
.mobile_navigation .mobile_main_links li {
  text-align: center;
  border-top: 1px solid #ffffff6b;
}
.mobile_navigation .mobile_main_links li:last-child {
  border-bottom: 1px solid #ffffff6b;
}
.mobile_navigation .mobile_main_links li a {
  display: block;
  color: #ffffff;
  text-decoration: none;
  padding: 1.5rem 0;
}
.mobile_navigation .mobile_main_links li a.active {
  background: #71D0F9;
  color: #123764;
  font-weight: 700;
}
.mobile_navigation .mobile_main_links .mobile_nav_service .dropdown {
  display: flex;
  gap: 1rem;
  justify-content: center;
  cursor: pointer;
}
.mobile_navigation .mobile_main_links .mobile_nav_service .dropdown .mobile_nav_arrow {
  width: 0.9em;
  transition: 0.3s;
}
.mobile_navigation .mobile_main_links .mobile_nav_service .dropdown .mobile_nav_arrow.rotate {
  transform: rotate(180deg);
}
.mobile_navigation .mobile_main_links .mobile_nav_service .dropdown_children {
  display: none;
  padding: 0;
}
.mobile_navigation .mobile_main_links .mobile_nav_service .dropdown_children.active {
  display: block;
}
.mobile_navigation .mobile_main_links .mobile_nav_service .dropdown_children li {
  border: 0;
}
.mobile_navigation .mobile_main_links .mobile_nav_service .dropdown_children li:last-child {
  padding-bottom: 1.5rem;
}
.mobile_navigation .mobile_main_links .mobile_nav_service .dropdown_children li a {
  padding: 0.5rem 0;
}
.mobile_navigation .mobile_main_links .mobile_nav_service .dropdown_children li a.active {
  font-weight: 700;
  text-decoration: underline;
  background: transparent;
  color: #71D0F9;
}
.mobile_navigation .more_info {
  color: #ffffff;
  text-align: center;
  margin-top: 2rem;
  margin-bottom: 14rem;
}
.mobile_navigation .more_info a {
  color: #ffffff;
  font-weight: 700;
  text-decoration: underline;
}

.burger_navigation {
  margin-right: -23px;
}
.burger_navigation svg {
  height: 80px;
  position: absolute;
  width: 80px;
}
.burger_navigation .plates .plate2 {
  height: 80px;
  width: 80px;
}
.burger_navigation .plates .plate2 .burger {
  filter: url(#gooeyness);
}
.burger_navigation .plates .plate2 .burger .line1 {
  stroke-dasharray: 21 185.627532959;
  transition-delay: 0;
}
.burger_navigation .plates .plate2 .burger .line2 {
  stroke-dasharray: 21 178.6514129639;
  transition-delay: 30ms;
}
.burger_navigation .plates .plate2 .burger .line3 {
  stroke-dasharray: 21 197.9242553711;
  transition-delay: 60ms;
}
.burger_navigation .plates .plate2 .burger .line4 {
  stroke-dasharray: 21 190.6597137451;
  transition-delay: 90ms;
}
.burger_navigation .plates .plate2 .burger .line5 {
  stroke-dasharray: 21 208.5287475586;
  transition-delay: 120ms;
}
.burger_navigation .plates .plate2 .burger .line6 {
  stroke-dasharray: 21 186.5970306396;
  transition-delay: 150ms;
}
.burger_navigation .plates .plate2 .burger .line {
  fill: none;
  stroke: white;
  stroke-width: 6px;
  stroke-linecap: round;
  stroke-linejoin: round;
  transform-origin: 50%;
  transition: stroke-dasharray 500ms 200ms, stroke-dashoffset 500ms 200ms, transform 500ms 200ms;
}
.burger_navigation .x {
  transform: scale(0);
  transition: transform 400ms;
}
.burger_navigation .x .line {
  stroke-width: 5.5px;
  fill: none;
  stroke: white;
  stroke-width: 6px;
  stroke-linecap: round;
  stroke-linejoin: round;
  transform-origin: 50%;
  transition: stroke-dasharray 500ms 200ms, stroke-dashoffset 500ms 200ms, transform 500ms 200ms;
}
.burger_navigation .active .x {
  transform: scale(1);
  transition: transform 400ms 350ms;
}
.burger_navigation .active.plate2 .x {
  transition: transform 400ms 250ms;
}
.burger_navigation .active.plate2 .line1 {
  stroke-dasharray: 5 185.627532959;
  stroke-dashoffset: -141px;
}
.burger_navigation .active.plate2 .line2 {
  stroke-dasharray: 5 178.6514129639;
  stroke-dashoffset: -137px;
}
.burger_navigation .active.plate2 .line3 {
  stroke-dasharray: 5 197.9242553711;
  stroke-dashoffset: -176px;
}
.burger_navigation .active.plate2 .line4 {
  stroke-dasharray: 5 190.6597137451;
  stroke-dashoffset: -159px;
}
.burger_navigation .active.plate2 .line5 {
  stroke-dasharray: 5 208.5287475586;
  stroke-dashoffset: -139px;
}
.burger_navigation .active.plate2 .line6 {
  stroke-dasharray: 5 186.5970306396;
  stroke-dashoffset: -176px;
}
.burger_navigation .active.plate2 .x {
  transition: transform 400ms 250ms;
}

.footer {
  background: url("/images/backgrounds/blue-paint.jpg") no-repeat center/cover;
  color: #fff;
}
.footer .wrapper {
  padding: clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0 clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0;
}
.footer .wrapper .top {
  display: grid;
  gap: clamp(2.25rem, calc(1.45rem + 4.02vw), 4.31rem);
}
.footer .wrapper .top .sitemap .logo {
  max-width: 200px;
}
.footer .wrapper .top .sitemap .links ul {
  padding-left: 0;
}
.footer .wrapper .top .sitemap .links ul li {
  list-style: none;
  padding: 0.5rem 0;
}
.footer .wrapper .top .sitemap .links ul li a {
  text-decoration: none;
  color: #fff;
  transition: 0.1s;
}
@media (min-width: 768px) {
  .footer .wrapper .top .sitemap .links ul li a:hover {
    color: #71D0F9;
  }
}
.footer .wrapper .top .contact h3 {
  font-family: FullSlab-LC90Bold;
}
.footer .wrapper .top .contact .text a {
  color: #fff;
  text-decoration: underline;
  transition: 0.1s;
}
@media (min-width: 768px) {
  .footer .wrapper .top .contact .text a:hover {
    color: #71D0F9;
  }
}
.footer .wrapper .top .company_info a {
  color: #fff;
  text-decoration: underline;
  transition: 0.1s;
}
@media (min-width: 768px) {
  .footer .wrapper .top .company_info a:hover {
    color: #71D0F9;
  }
}
.footer .wrapper .logos {
  margin-top: clamp(3.00rem, calc(1.93rem + 5.37vw), 5.75rem);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  justify-content: center;
  align-items: center;
  gap: clamp(2.25rem, calc(1.45rem + 4.02vw), 4.31rem);
  justify-items: center;
}
@media (min-width: 450px) {
  .footer .wrapper .logos img {
    max-width: 6rem;
  }
}
.footer .wrapper .logos .constructionline {
  max-width: 8rem;
}
.footer .wrapper .logos .icats {
  max-width: 7rem;
}

@media (min-width: 800px) {
  .footer .wrapper .top {
    display: flex;
    justify-content: space-between;
  }
  .footer .wrapper .top .sitemap .logo {
    margin-bottom: clamp(1.50rem, calc(0.96rem + 2.68vw), 2.88rem);
  }
  .footer .wrapper .top .contact h3 {
    margin: 2.5rem 0 clamp(1.50rem, calc(0.96rem + 2.68vw), 2.88rem) 0;
  }
  .footer .wrapper .top .company_info .privacy_policy {
    margin: 2.5rem 0 clamp(1.50rem, calc(0.96rem + 2.68vw), 2.88rem) 0;
  }
}
@media (min-width: 1100px) {
  .footer .wrapper .logos {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
.card_wrapper {
  gap: clamp(2.25rem, calc(1.45rem + 4.02vw), 4.31rem);
  box-shadow: 1px 1px 30px rgba(0, 0, 0, 0.05);
}
.card_wrapper .card {
  position: relative;
  display: block;
  height: 100%;
  overflow: hidden;
  text-decoration: none;
}
@media (min-width: 900px) {
  .card_wrapper .card:hover .card_overlay {
    transform: translateY(0%);
  }
  .card_wrapper .card:hover .card_header {
    transform: translateY(0%);
  }
}
.card_wrapper .card .card_image {
  height: 350px;
}
.card_wrapper .card .card_overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  background-color: #fff;
  transform: translateY(100%);
  transition: 0.25s ease-in-out;
}
.card_wrapper .card .card_overlay .card_description {
  padding: 0 2rem 1rem 2rem;
  margin: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  color: #000;
}
.card_wrapper .card .card_overlay .card_description:last-child {
  padding: 0 2rem 2rem 2rem;
  display: flex;
  align-items: center;
  gap: 0.7rem;
}
.card_wrapper .card .card_overlay .card_description:last-child img {
  width: 2rem;
}

.card_header {
  position: relative;
  padding: 2rem;
  background-color: #fff;
  transform: translateY(-99%);
  transition: 0.25s ease-in-out;
}
.card_header .card_header_text {
  color: #000;
}
.card_header .card_header_text .card_title {
  font-size: clamp(1.44rem, calc(1.31rem + 0.56vw), 1.76rem);
  margin: 0 0 0.3rem;
  color: #123764;
}
.card_header .card_header_text .card_status {
  font-size: clamp(1.00rem, calc(0.95rem + 0.22vw), 1.13rem);
  color: #000;
}
.card_header .card_header_text .mobile_arrow {
  display: flex;
  justify-content: space-between;
}
.card_header .card_header_text .mobile_arrow p {
  display: flex;
  gap: 1rem;
  align-items: center;
}
.card_header .card_header_text .mobile_arrow p img {
  width: 2rem;
}
@media (min-width: 900px) {
  .card_header .card_header_text .mobile_arrow p {
    display: none;
  }
}

h1 {
  font-size: clamp(2.07rem, calc(1.79rem + 1.19vw), 3.65rem);
  line-height: 1.1;
  font-family: FullSlab-LC90Bold;
  letter-spacing: -1px;
}
@media (min-width: 768px) {
  h1 {
    letter-spacing: 0;
  }
}

h2 {
  font-weight: 700;
  font-size: clamp(2.07rem, calc(1.75rem + 1.63vw), 3.05rem);
  line-height: 1.1;
  font-family: FullSlab-LC90Bold;
  letter-spacing: -1px;
}
@media (min-width: 768px) {
  h2 {
    letter-spacing: 0;
  }
}

h3 {
  font-weight: 700;
  font-size: clamp(1.73rem, calc(1.53rem + 0.83vw), 2.44rem);
  line-height: 2rem;
  font-family: FullSlab-LC90Bold;
  letter-spacing: -1px;
}
@media (min-width: 768px) {
  h3 {
    letter-spacing: 0;
  }
}

body {
  font-size: clamp(1.00rem, calc(0.95rem + 0.22vw), 1.13rem);
}

p {
  margin-top: clamp(0.75rem, calc(0.48rem + 1.34vw), 1.44rem);
}

.bold {
  font-weight: 700;
}

.hero {
  height: clamp(22.50rem, calc(19.39rem + 13.26vw), 30.00rem);
  display: grid;
  place-content: center;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.hero h1 {
  font-family: FullSlab-LC90Bold;
  padding-top: 1.5rem;
  color: #ffffff;
  font-weight: 700;
  text-align: center;
}

.max_width {
  width: min(90%, 1280px);
  margin: 0 auto;
}

a {
  text-decoration: none;
}
a .btn {
  margin-top: clamp(0.75rem, calc(0.48rem + 1.34vw), 1.44rem);
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 1.5rem 0.5rem 0.5rem;
  border-radius: 50rem;
  font-weight: 700;
  cursor: pointer;
  background-repeat: repeat-x;
  background-position: 0 -100%;
  transition: 0.8s ease;
  font-size: 1rem;
}
@media (min-width: 768px) {
  a .btn:hover {
    background-position: center;
  }
}
a .btn img {
  width: 2.5rem;
}
a .btn-dark {
  color: white;
  background: #123764;
  background-image: url("/images/btn/light-blue-wave.png");
  background-repeat: repeat-x;
  background-position: 0 -65%;
  border: 0;
}
a .btn-light {
  color: #123764;
  background: #71D0F9;
  background-image: url("/images/btn/white-wave.png");
  background-repeat: repeat-x;
  background-position: 0 -65%;
  border: 0;
}
a .btn-white {
  color: #ffffff;
  border: 0;
  background: #71D0F9;
  background-image: url("/images/btn/dark-blue-wave.png");
  background-repeat: repeat-x;
  background-position: 0 -65%;
}

.like_what_you_see {
  background: linear-gradient(0deg, rgba(18, 55, 100, 0.5), rgba(18, 55, 100, 0.5)), url("/images/cta.jpg") no-repeat center/cover;
  display: grid;
  place-content: center;
}
.like_what_you_see .content {
  width: 100%;
  display: grid;
  justify-items: center;
  text-align: center;
  padding: clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0 clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0;
}
.like_what_you_see .content h2 {
  color: #fff;
}

.error_page {
  padding: 200px 0px 100px 0px;
}

.homepage {
  padding-top: 78px;
  transition: 0.1s;
}
@media (min-width: 1000px) {
  .homepage {
    padding-top: 107px;
  }
}
.homepage .home_hero {
  background: url("/images/home/hero-mobile.jpg") no-repeat center bottom/cover;
}
.homepage .home_hero .content {
  padding: clamp(3.75rem, calc(1.42rem + 9.94vw), 9.38rem) 0 clamp(11.25rem, calc(6.59rem + 19.89vw), 22.50rem) 0;
}
.homepage .home_hero .content h1 {
  color: #123764;
  font-family: FullSlab-LC90Bold;
  font-size: clamp(1.73rem, calc(1.53rem + 0.83vw), 2.44rem);
  line-height: 1;
  max-width: 600px;
}
@media (min-width: 400px) {
  .homepage .home_hero .content h1 {
    font-size: clamp(2.07rem, calc(1.79rem + 1.19vw), 3.65rem);
  }
}
.homepage .home_hero .content h1 span {
  font-family: FullSlab-LC30Light;
  letter-spacing: 1.5px;
  line-height: 1;
}
.homepage .home_hero .content p {
  font-size: clamp(1.20rem, calc(1.11rem + 0.36vw), 1.41rem);
  margin: 0;
  max-width: 450px;
}
.homepage .home_hero .content p strong {
  color: #123764;
}
.homepage .home_hero .content .btn {
  margin-top: clamp(0.75rem, calc(0.48rem + 1.34vw), 1.44rem);
}
.homepage .home_hero .second h1 {
  color: #fff;
}
.homepage .home_hero .second p {
  color: #fff;
}
.homepage .home_hero .second p strong {
  color: #fff;
}
@media (min-width: 1200px) {
  .homepage .home_hero {
    background: url("/images/home/hero.jpg") no-repeat right bottom/cover;
  }
  .homepage .home_hero .content {
    padding: clamp(7.50rem, calc(2.84rem + 19.89vw), 10rem) 0 clamp(7.50rem, calc(2.84rem + 19.89vw), 10rem);
  }
}
@media (min-width: 1500px) {
  .homepage .home_hero {
    background: url("/images/home/hero.jpg") no-repeat right bottom/cover;
  }
  .homepage .home_hero .content {
    padding: clamp(7.50rem, calc(2.84rem + 19.89vw), 17rem) 0 clamp(7.50rem, calc(2.84rem + 19.89vw), 17rem);
  }
}
.homepage .who_we_are {
  margin: -2px 0 0 0;
  background: url("/images/home/who-we-are-test.jpg") no-repeat bottom/cover;
}
@media (min-width: 800px) {
  .homepage .who_we_are {
    background: url("/images/home/cutout.png") no-repeat -220px 90%/700px, url("/images/backgrounds/home-test.jpg") no-repeat bottom/cover;
  }
}
@media (min-width: 1100px) {
  .homepage .who_we_are {
    background: url("/images/home/cutout.png") no-repeat -150px 100%/750px, url("/images/backgrounds/home-test.jpg") no-repeat bottom/cover;
  }
}
@media (min-width: 1300px) {
  .homepage .who_we_are {
    background: url("/images/home/cutout.png") no-repeat -50px 100%/800px, url("/images/backgrounds/home-test.jpg") no-repeat bottom/cover;
  }
}
@media (min-width: 1700px) {
  .homepage .who_we_are {
    background: url("/images/home/cutout.png") no-repeat 20% 30px/850px, url("/images/backgrounds/home-test.jpg") no-repeat bottom/cover;
  }
}
@media (min-width: 2350px) {
  .homepage .who_we_are {
    background: url("/images/home/cutout.png") no-repeat 30% 30px/850px, url("/images/backgrounds/home-test.jpg") no-repeat bottom/cover;
  }
}
.homepage .who_we_are .wrapper {
  max-width: 1280px;
  margin-inline: auto;
  padding: clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0 clamp(6.56rem, calc(1.51rem + 21.55vw), 17.75rem) 0;
}
.homepage .who_we_are .wrapper .image img {
  display: none;
}
.homepage .who_we_are .wrapper .text {
  color: #ffffff;
}
.homepage .who_we_are .wrapper .text h2 {
  font-family: FullSlab-LC90Bold;
}
.homepage .who_we_are .wrapper .text p {
  margin-top: 1rem;
}
.homepage .who_we_are .wrapper .text button {
  margin-top: 1.5rem;
}
@media (min-width: 800px) {
  .homepage .who_we_are .wrapper {
    padding: clamp(3.00rem, calc(1.93rem + 5.37vw), 5.75rem) 0 clamp(6.56rem, calc(1.51rem + 21.55vw), 17.75rem) 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
  }
  .homepage .who_we_are .wrapper .image {
    justify-self: center;
  }
  .homepage .who_we_are .wrapper .text {
    justify-self: center;
  }
  .homepage .who_we_are .wrapper .text p {
    max-width: 470px;
  }
}
.homepage .our_services {
  background: #71D0F9;
}
.homepage .our_services .content {
  padding: clamp(2.25rem, calc(1.45rem + 4.02vw), 4.31rem) 0 clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0;
}
@media (min-width: 800px) {
  .homepage .our_services .content {
    padding: clamp(0.38rem, calc(0.23rem + 0.73vw), 0.75rem) 0 clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0;
  }
}
.homepage .our_services .content h2 {
  text-align: center;
  color: #123764;
  margin-bottom: clamp(2.25rem, calc(1.45rem + 4.02vw), 4.31rem);
}
@media (min-width: 900px) {
  .homepage .our_services .content .services {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(1.50rem, calc(0.96rem + 2.68vw), 2.88rem);
  }
}
@media (min-width: 900px) {
  .homepage .our_services .content .services.mobile_services {
    display: none;
  }
}
.homepage .our_services .content .services.mobile_services .carousel__slide {
  width: 100%;
}
@media (min-width: 550px) {
  .homepage .our_services .content .services.mobile_services .carousel__slide {
    width: 75%;
  }
}
.homepage .our_services .content .services.mobile_services .carousel__dots {
  position: unset;
  margin-top: clamp(1.13rem, calc(0.71rem + 2.07vw), 2.19rem);
  justify-content: center;
  gap: 0.5rem;
}
.homepage .our_services .content .services.mobile_services .carousel__dots .carousel__dot {
  color: #717171;
}
.homepage .our_services .content .services.mobile_services .carousel__dots .carousel__dot.is-selected {
  color: #123764;
}
.homepage .our_services .content .services.mobile_services .carousel__dots .carousel__dot:after {
  border-radius: 0;
  width: 23px;
  height: 5px;
}
.homepage .our_services .content .services.desktop_services {
  display: none;
}
@media (min-width: 900px) {
  .homepage .our_services .content .services.desktop_services {
    display: grid;
  }
  .homepage .our_services .content .services.desktop_services .service {
    box-shadow: 5px 5px 25px rgba(0, 0, 0, 0.3);
  }
}
.homepage .our_services .content .services .service {
  height: 100%;
  width: 100%;
}
.homepage .our_services .content .services .service .wrapper {
  padding: clamp(2.25rem, calc(1.45rem + 4.02vw), 4.31rem) clamp(1.50rem, calc(0.96rem + 2.68vw), 2.88rem);
  color: #fff;
}
.homepage .our_services .content .services .service .wrapper h3 {
  font-size: clamp(1.73rem, calc(1.53rem + 0.83vw), 2.44rem);
}
.homepage .our_services .content .services .service .wrapper .arrow {
  margin-top: clamp(2.25rem, calc(1.45rem + 4.02vw), 4.31rem);
  font-weight: 700;
  gap: 1rem;
  display: flex;
  justify-content: end;
  align-items: center;
}
.homepage .our_services .content .services .service .wrapper .arrow img {
  width: 0.7rem;
}
.homepage .our_services .content .services .domestic {
  background: linear-gradient(0deg, rgba(35, 52, 66, 0.5), rgba(35, 52, 66, 0.5)), url("/images/home/domestic-new.jpg") no-repeat center/cover;
  transition: all 0.2s ease-in-out;
}
@media (min-width: 1300px) {
  .homepage .our_services .content .services .domestic {
    background-size: 100%;
  }
  .homepage .our_services .content .services .domestic:hover {
    background-size: 110%;
  }
}
.homepage .our_services .content .services .local_authorities {
  background: linear-gradient(0deg, rgba(35, 52, 66, 0.5), rgba(35, 52, 66, 0.5)), url("/images/home/local-authorities.jpg") no-repeat center/cover;
  transition: all 0.2s ease-in-out;
}
@media (min-width: 1300px) {
  .homepage .our_services .content .services .local_authorities {
    background-size: 100%;
  }
  .homepage .our_services .content .services .local_authorities:hover {
    background-size: 110%;
  }
}
.homepage .our_services .content .services .modular_buildings {
  background: linear-gradient(0deg, rgba(35, 52, 66, 0.5), rgba(35, 52, 66, 0.5)), url("/images/home/modular.jpg") no-repeat center/cover;
  transition: all 0.2s ease-in-out;
}
@media (min-width: 1300px) {
  .homepage .our_services .content .services .modular_buildings {
    background-size: 100%;
  }
  .homepage .our_services .content .services .modular_buildings:hover {
    background-size: 110%;
  }
}
.homepage .our_services .content .services .building_contractors {
  background: linear-gradient(0deg, rgba(35, 52, 66, 0.5), rgba(35, 52, 66, 0.5)), url("/images/home/building-contractors-new.jpg") no-repeat center/cover;
  transition: all 0.2s ease-in-out;
}
@media (min-width: 1300px) {
  .homepage .our_services .content .services .building_contractors {
    background-size: 100%;
  }
  .homepage .our_services .content .services .building_contractors:hover {
    background-size: 110%;
  }
}
.homepage .our_services .content .services .commercial {
  background: linear-gradient(0deg, rgba(35, 52, 66, 0.5), rgba(35, 52, 66, 0.5)), url("/images/home/commercial.jpg") no-repeat center/cover;
  transition: all 0.2s ease-in-out;
}
@media (min-width: 1300px) {
  .homepage .our_services .content .services .commercial {
    background-size: 100%;
  }
  .homepage .our_services .content .services .commercial:hover {
    background-size: 110%;
  }
}
.homepage .our_services .content .services .education {
  background: linear-gradient(0deg, rgba(35, 52, 66, 0.5), rgba(35, 52, 66, 0.5)), url("/images/home/education.jpg") no-repeat center/cover;
  transition: all 0.2s ease-in-out;
}
@media (min-width: 1300px) {
  .homepage .our_services .content .services .education {
    background-size: 100%;
  }
  .homepage .our_services .content .services .education:hover {
    background-size: 110%;
  }
}
@media (min-width: 1024px) {
  .homepage .history {
    background: url("/images/home/history-new.jpg") no-repeat right top/90%;
  }
}
@media (min-width: 1724px) {
  .homepage .history {
    background: url("/images/home/history-new.jpg") no-repeat right top/80%;
  }
}
.homepage .history .wrapper {
  padding: clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0 clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0;
  padding: clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0 clamp(3.00rem, calc(1.93rem + 5.37vw), 5.75rem) 0;
}
.homepage .history .wrapper .text h2 {
  color: #123764;
}
.homepage .history .test-image {
  background: url("/images/home/history.jpg") no-repeat center top/cover;
  height: clamp(18.50rem, calc(2.88rem + 41.03vw), 40.50rem);
}
@media (min-width: 1024px) {
  .homepage .history .wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .homepage .test-image {
    display: none;
  }
}

.about_page {
  padding-top: 78px;
  transition: 0.1s;
}
@media (min-width: 1000px) {
  .about_page {
    padding-top: 107px;
  }
}
.about_page .about_hero {
  background: url("/images/about/hero-paint.svg") no-repeat 50% 51.5%/clamp(15.00rem, calc(8.25rem + 28.80vw), 26.25rem), url("/images/about/hero.jpg") no-repeat left 25%/cover;
}
.about_page .about_intro {
  background: #01AED2;
}
.about_page .about_intro .text {
  padding: clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0 clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0;
  color: #fff;
}
.about_page .about_intro .text h2 {
  font-size: clamp(1.73rem, calc(1.53rem + 0.83vw), 2.44rem);
  max-width: 800px;
  margin-left: auto;
}
.about_page .about_intro .text p {
  max-width: 800px;
  margin-left: auto;
}
@media (min-width: 500px) {
  .about_page .about_intro {
    background: url("/images/about/mobile-intro.jpg") no-repeat bottom left/cover;
  }
  .about_page .about_intro .text {
    padding-left: clamp(3.00rem, calc(-0.42rem + 14.59vw), 11.25rem);
  }
}
@media (min-width: 1200px) {
  .about_page .about_intro {
    background: url("/images/about/about-intro.jpg") no-repeat bottom left/cover;
  }
}
.about_page .family_history .content {
  padding: clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0 clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0;
}
.about_page .family_history .content .text h2 {
  color: #123764;
}
.about_page .family_history .content .image {
  display: none;
}
@media (min-width: 1000px) {
  .about_page .family_history .content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(3.00rem, calc(1.93rem + 5.37vw), 5.75rem);
    align-items: flex-start;
  }
  .about_page .family_history .content .image {
    display: block;
    background: url("/images/about/history2.jpg") no-repeat center top/cover;
    height: 100%;
    box-shadow: 5px 5px 25px rgba(0, 0, 0, 0.3);
  }
}
.about_page .about_carousel .carousel__slide {
  padding: 0 clamp(1.13rem, calc(0.71rem + 2.07vw), 2.19rem) 0 clamp(1.13rem, calc(0.71rem + 2.07vw), 2.19rem);
  width: 80%;
}
@media (min-width: 768px) {
  .about_page .about_carousel .carousel__slide {
    width: 60%;
  }
}
.about_page .team .wrapper {
  padding: clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0 clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0;
  display: grid;
  gap: clamp(3.00rem, calc(1.93rem + 5.37vw), 5.75rem);
}
.about_page .team .wrapper h2 {
  color: #123764;
}
.about_page .team .wrapper .the_team {
  display: grid;
  align-items: flex-start;
  gap: clamp(1.50rem, calc(0.96rem + 2.68vw), 2.88rem);
}
.about_page .team .wrapper .the_team .image {
  box-shadow: 5px 5px 25px rgba(0, 0, 0, 0.15);
}
.about_page .team .wrapper .the_team .paint img {
  display: none;
}
.about_page .team .wrapper .recruiting {
  display: grid;
  align-items: flex-start;
  gap: clamp(1.50rem, calc(0.96rem + 2.68vw), 2.88rem);
}
.about_page .team .wrapper .recruiting .image {
  box-shadow: 5px 5px 25px rgba(0, 0, 0, 0.15);
}
.about_page .team .wrapper .recruiting .paint img {
  display: none;
}
@media (min-width: 768px) {
  .about_page .team .wrapper {
    gap: clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem);
  }
  .about_page .team .wrapper .the_team {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(3.00rem, calc(1.93rem + 5.37vw), 5.75rem);
    position: relative;
  }
  .about_page .team .wrapper .the_team .image {
    order: -1;
  }
  .about_page .team .wrapper .the_team .paint {
    position: absolute;
    z-index: -1;
    top: -35px;
    left: -15px;
  }
  .about_page .team .wrapper .the_team .paint img {
    display: block;
    width: 130px;
  }
  .about_page .team .wrapper .recruiting {
    position: relative;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(3.00rem, calc(1.93rem + 5.37vw), 5.75rem);
  }
  .about_page .team .wrapper .recruiting .paint {
    position: absolute;
    right: -15px;
    bottom: -90px;
    z-index: -1;
  }
  .about_page .team .wrapper .recruiting .paint img {
    display: block;
    width: 130px;
  }
}
.about_page .gallery_carousel {
  padding: 0 0 clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0;
}

.services_page {
  padding-top: 78px;
  transition: 0.1s;
}
@media (min-width: 1000px) {
  .services_page {
    padding-top: 107px;
  }
}
.services_page .service_hero {
  background: url("/images/about/hero-paint.svg") no-repeat 50% 51%/clamp(15.00rem, calc(8.25rem + 28.80vw), 26.25rem), url("/images/services/service-hero.jpg") no-repeat center 65%/cover;
}
.services_page .our_services .service .image {
  height: 300px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.services_page .our_services .service .text {
  padding: clamp(1.13rem, calc(0.71rem + 2.07vw), 2.19rem) clamp(1.13rem, calc(0.71rem + 2.07vw), 2.19rem) clamp(3.00rem, calc(1.93rem + 5.37vw), 5.75rem) clamp(1.13rem, calc(0.71rem + 2.07vw), 2.19rem);
}
.services_page .our_services .service .text h2 {
  font-size: clamp(1.44rem, calc(1.31rem + 0.56vw), 1.76rem);
  color: #123764;
}
.services_page .our_services .service .text p {
  margin-top: 0;
}
.services_page .our_services .domestic .image {
  background-image: url("/images/home/domestic-new.jpg");
}
.services_page .our_services .local .image {
  background-image: url("/images/services/local-authorities.jpg");
}
.services_page .our_services .modular .image {
  background-image: url("/images/home/modular.jpg");
  background-position: center 40%;
}
.services_page .our_services .contractors .image {
  background-image: url("/images/services/building.jpg");
  background-position: 50% 20%;
}
.services_page .our_services .commercial .image {
  background-image: url("/images/services/commercial.jpg");
  background-position: center bottom;
}
.services_page .our_services .education .image {
  background-image: url("/images/services/education.jpg");
}
@media (min-width: 768px) {
  .services_page .our_services .service {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .services_page .our_services .service .image {
    height: auto;
  }
  .services_page .our_services .service .text {
    justify-self: center;
    padding: clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) clamp(1.13rem, calc(0.71rem + 2.07vw), 2.19rem) clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) clamp(1.13rem, calc(0.71rem + 2.07vw), 2.19rem);
  }
  .services_page .our_services .service .text p {
    max-width: 445px;
  }
  .services_page .our_services .domestic .text,
.services_page .our_services .contractors .text,
.services_page .our_services .education .text {
    order: -1;
  }
}

.service_page {
  padding-top: 78px;
  transition: 0.1s;
}
@media (min-width: 1000px) {
  .service_page {
    padding-top: 107px;
  }
}
.service_page .service_intro {
  background: url("/images/backgrounds/white-bottom.jpg") no-repeat center bottom/cover;
}
.service_page .service_intro .wrapper {
  padding: clamp(3.00rem, calc(1.93rem + 5.37vw), 5.75rem) 0 clamp(11.56rem, calc(1.51rem + 21.55vw), 13.75rem) 0;
}
.service_page .service_intro .wrapper .text {
  color: #fff;
  margin-bottom: clamp(2.25rem, calc(1.45rem + 4.02vw), 4.31rem);
}
.service_page .service_intro .wrapper .images {
  display: grid;
  gap: clamp(1.13rem, calc(0.71rem + 2.07vw), 2.19rem);
}
@media (min-width: 600px) {
  .service_page .service_intro .wrapper .images {
    grid-template-columns: repeat(2, 1fr);
  }
}
.service_page .service_intro .wrapper .images img {
  box-shadow: 5px 5px 25px rgba(0, 0, 0, 0.3);
}
@media (min-width: 900px) {
  .service_page .service_intro .wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(3.00rem, calc(1.93rem + 5.37vw), 5.75rem);
  }
  .service_page .service_intro .wrapper .images {
    display: flex;
    flex-direction: column;
    gap: clamp(2.25rem, calc(1.45rem + 4.02vw), 4.31rem);
  }
}
.service_page .featured_work .wrapper {
  padding: 0 0 clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0;
}
@media (min-width: 900px) {
  .service_page .featured_work .wrapper {
    padding: clamp(2.25rem, calc(1.45rem + 4.02vw), 4.31rem) 0 clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0;
  }
}
.service_page .featured_work .wrapper h2 {
  color: #123764;
  text-align: center;
  margin-bottom: clamp(1.50rem, calc(0.96rem + 2.68vw), 2.88rem);
}
.service_page .featured_work .wrapper .featured_case_studies {
  display: grid;
  gap: clamp(1.50rem, calc(0.96rem + 2.68vw), 2.88rem);
}
@media (min-width: 768px) {
  .service_page .featured_work .wrapper .featured_case_studies {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1100px) {
  .service_page .featured_work .wrapper .featured_case_studies {
    grid-template-columns: repeat(3, 1fr);
  }
}

.our_work_page {
  padding-top: 78px;
  transition: 0.1s;
}
@media (min-width: 1000px) {
  .our_work_page {
    padding-top: 107px;
  }
}
.our_work_page .our_work_hero {
  background: url("/images/about/hero-paint.svg") no-repeat 50% 51.5%/clamp(15.00rem, calc(8.25rem + 28.80vw), 26.25rem), url("/images/our-work/hero.jpg") no-repeat right 30%/cover;
}
.our_work_page .back_to_top {
  position: fixed;
  z-index: 3;
  right: 30px;
  bottom: 30px;
  width: 70px;
  height: 70px;
  background: #fff;
  border: 5px solid #123764;
  border-radius: 100px;
  display: grid;
  place-content: center;
  transition: 0.2s;
  display: none;
}
.our_work_page .back_to_top.show {
  display: grid;
}
@media (min-width: 768px) {
  .our_work_page .back_to_top:hover svg {
    transform: translateY(-3px);
  }
}
.our_work_page .back_to_top svg {
  transition: 0.3s;
  width: 30px;
  height: 30px;
  margin-top: -4px;
}
.our_work_page .work .wrapper {
  padding: 0 0 clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0;
}
@media (min-width: 900px) {
  .our_work_page .work .wrapper {
    padding: clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0 clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0;
  }
}
.our_work_page .work .wrapper .sidenav {
  z-index: 10;
}
.our_work_page .work .wrapper .sidenav.scroll_stick {
  position: sticky;
  top: 70px;
}
@media (min-width: 900px) {
  .our_work_page .work .wrapper .sidenav.scroll_stick {
    top: 170px;
  }
}
.our_work_page .work .wrapper .sidenav .desktop_sidenav {
  background: #123764;
  display: none;
}
.our_work_page .work .wrapper .sidenav .desktop_sidenav .nav_title {
  color: #fff;
  padding: 2.5rem 0 1.7rem 2rem;
  transition: 0.1s;
}
.our_work_page .work .wrapper .sidenav .desktop_sidenav .nav_title:hover {
  color: #71D0F9;
}
.our_work_page .work .wrapper .sidenav .desktop_sidenav .links ul {
  padding: 0;
  margin: 0;
}
.our_work_page .work .wrapper .sidenav .desktop_sidenav .links ul li {
  border-top: 1px solid #ffffff80;
  list-style: none;
}
.our_work_page .work .wrapper .sidenav .desktop_sidenav .links ul li.active {
  background: #71D0F9;
  pointer-events: none;
}
.our_work_page .work .wrapper .sidenav .desktop_sidenav .links ul li.active a {
  font-weight: 700;
}
.our_work_page .work .wrapper .sidenav .desktop_sidenav .links ul li a {
  color: #fff;
  display: block;
  text-decoration: none;
  padding: 1.5rem 0rem 1.5rem 4rem;
  transition: 0.1s;
}
.our_work_page .work .wrapper .sidenav .desktop_sidenav .links ul li a:hover {
  color: #71D0F9;
}
.our_work_page .work .wrapper .sidenav .mobile_sidenav {
  padding: clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0 2rem 0;
  transition: 0.2s;
}
.our_work_page .work .wrapper .sidenav .mobile_sidenav.scroll_stick {
  background: #fff;
  padding: 2rem 0 1rem 0;
}
.our_work_page .work .wrapper .sidenav .mobile_sidenav .mobile_header {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: stretch;
}
.our_work_page .work .wrapper .sidenav .mobile_sidenav .mobile_header a {
  display: grid;
}
.our_work_page .work .wrapper .sidenav .mobile_sidenav .mobile_header a .title {
  display: grid;
  background: #123764;
  text-align: center;
  color: #fff;
  padding: 1.5rem 1rem 1rem 1rem;
}
.our_work_page .work .wrapper .sidenav .mobile_sidenav .mobile_header a .title h3 {
  align-self: center;
  font-size: 1.3rem;
}
.our_work_page .work .wrapper .sidenav .mobile_sidenav .mobile_header .mobile_section {
  cursor: pointer;
  background: #71D0F9;
  color: #fff;
  display: flex;
  align-items: center;
  padding: 1rem;
  justify-content: center;
  gap: 1rem;
}
.our_work_page .work .wrapper .sidenav .mobile_sidenav .mobile_header .mobile_section p {
  text-align: center;
  margin: 0;
  font-size: clamp(1.20rem, calc(1.11rem + 0.36vw), 1.41rem);
  font-weight: 700;
  line-height: 1.1;
}
.our_work_page .work .wrapper .sidenav .mobile_sidenav .mobile_header .mobile_section .arrow {
  width: 1rem;
  transition: 0.3s;
}
.our_work_page .work .wrapper .sidenav .mobile_sidenav .mobile_header .mobile_section .arrow.rotate {
  transform: rotate(180deg);
}
.our_work_page .work .wrapper .sidenav .mobile_sidenav .dropdown {
  background: #123764;
  display: none;
}
.our_work_page .work .wrapper .sidenav .mobile_sidenav .dropdown ul {
  padding: 0;
  margin: 0;
}
.our_work_page .work .wrapper .sidenav .mobile_sidenav .dropdown ul li {
  list-style: none;
  border-top: 1px solid #ffffff80;
}
.our_work_page .work .wrapper .sidenav .mobile_sidenav .dropdown ul li.active {
  background: #71D0F9;
}
.our_work_page .work .wrapper .sidenav .mobile_sidenav .dropdown ul li.active a {
  font-weight: 700;
}
.our_work_page .work .wrapper .sidenav .mobile_sidenav .dropdown ul li a {
  color: #fff;
  text-align: center;
  display: block;
  text-decoration: none;
  padding: 1.5rem 0rem;
}
.our_work_page .work .wrapper .listing {
  margin-top: clamp(3.00rem, calc(1.93rem + 5.37vw), 5.75rem);
  display: grid;
  gap: clamp(1.50rem, calc(0.96rem + 2.68vw), 2.88rem);
}
@media (min-width: 650px) {
  .our_work_page .work .wrapper .listing {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 900px) {
  .our_work_page .work .wrapper .listing {
    grid-template-columns: 1fr;
    margin-top: 0;
  }
}
@media (min-width: 1200px) {
  .our_work_page .work .wrapper .listing {
    grid-template-columns: repeat(2, 1fr);
  }
}
.our_work_page .work .wrapper .listing .case_study {
  color: #fff;
  display: grid;
  align-items: center;
  padding: 0rem 1.5rem;
  height: clamp(12.50rem, calc(10.69rem + 7.70vw), 15.63rem);
}
@media (min-width: 1350px) {
  .our_work_page .work .wrapper .listing .case_study {
    background-size: 120% !important;
    transition: 0.3s;
  }
  .our_work_page .work .wrapper .listing .case_study:hover {
    background-size: 130% !important;
  }
}
.our_work_page .work .wrapper .listing .case_study h4 {
  font-family: FullSlab-LC90Bold;
  text-align: center;
  font-size: clamp(1.44rem, calc(1.31rem + 0.56vw), 1.76rem);
  line-height: 1.1;
}
.our_work_page .work .wrapper .listing .case_study .view_btn {
  justify-self: end;
  display: flex;
  gap: 1rem;
  align-items: center;
}
.our_work_page .work .wrapper .listing .case_study .view_btn p {
  margin: 0;
}
@media (min-width: 900px) {
  .our_work_page .work .wrapper {
    display: grid;
    grid-template-columns: 350px 1fr;
    gap: clamp(3.00rem, calc(1.93rem + 5.37vw), 5.75rem);
    align-items: start;
  }
  .our_work_page .work .wrapper .sidenav .desktop_sidenav {
    display: block;
  }
  .our_work_page .work .wrapper .sidenav .mobile_sidenav {
    display: none;
  }
}
.our_work_page .pager-wrapper {
  margin-top: clamp(3.00rem, calc(1.93rem + 5.37vw), 5.75rem);
}
.our_work_page .pager-wrapper .pager {
  list-style: none;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 0;
}
.our_work_page .pager-wrapper .pager a {
  text-decoration: none;
  padding: 0.8rem 1.4rem;
  color: #123764;
  transition: 0.1s;
  outline: 2px solid #123764;
  outline-offset: -2px;
  margin-right: -1.7px;
}
.our_work_page .pager-wrapper .pager a:hover {
  background: #123764;
  color: #fff;
}
.our_work_page .pager-wrapper .pager .page-no span {
  background: #123764;
  color: #ffffff;
  padding: 0.8rem 1.4rem;
}

.case_study_page {
  padding-top: 78px;
  transition: 0.1s;
}
@media (min-width: 1000px) {
  .case_study_page {
    padding-top: 107px;
  }
}
.case_study_page .case_study .wrapper {
  padding: clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0 0 0;
}
.case_study_page .case_study .wrapper h2 {
  text-align: center;
  color: #123764;
  margin-bottom: clamp(1.50rem, calc(0.96rem + 2.68vw), 2.88rem);
}
.case_study_page .case_study .wrapper .information {
  display: grid;
  gap: clamp(3.00rem, calc(1.93rem + 5.37vw), 5.75rem);
  align-items: flex-start;
  justify-items: center;
}
.case_study_page .case_study .wrapper .information .slider_wrapper #mainCarousel {
  --carousel-button-color: $dark_blue;
  --carousel-button-bg: #fff;
  --carousel-button-shadow: 0 2px 1px -1px rgb(0 0 0 / 20%), 0 1px 1px 0 rgb(0 0 0 / 14%), 0 1px 3px 0 rgb(0 0 0 / 12%);
  --carousel-button-svg-width: 20px;
  --carousel-button-svg-height: 20px;
  --carousel-button-svg-stroke-width: 2.5;
}
.case_study_page .case_study .wrapper .information .slider_wrapper #mainCarousel .carousel__slide {
  width: 100%;
  padding: 0;
}
.case_study_page .case_study .wrapper .information .slider_wrapper #mainCarousel .carousel__button.is-prev {
  left: -1.5rem;
}
.case_study_page .case_study .wrapper .information .slider_wrapper #mainCarousel .carousel__button.is-next {
  right: -1.5rem;
}
.case_study_page .case_study .wrapper .information .slider_wrapper #mainCarousel .carousel__button:focus {
  outline: none;
  box-shadow: 0 0 0 4px #71D0F9;
}
.case_study_page .case_study .wrapper .information .slider_wrapper #mainCarousel .carousel__nav {
  display: none;
}
.case_study_page .case_study .wrapper .information .slider_wrapper #thumbCarousel .carousel__slide {
  opacity: 0.5;
  padding: 0;
  margin: 0.5rem 0.25rem 0 0.25rem;
  width: 25%;
}
.case_study_page .case_study .wrapper .information .slider_wrapper #thumbCarousel .carousel__slide.is-nav-selected {
  opacity: 1;
}
.case_study_page .case_study .wrapper .information .slider_wrapper #thumbCarousel .carousel__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  cursor: pointer;
}
.case_study_page .case_study .wrapper .information .text {
  display: grid;
  gap: clamp(1.50rem, calc(0.96rem + 2.68vw), 2.88rem);
}
.case_study_page .case_study .wrapper .information .text .block h3 {
  font-size: clamp(1.44rem, calc(1.31rem + 0.56vw), 1.76rem);
  color: #123764;
}
.case_study_page .case_study .wrapper .information .text .block p {
  margin-top: clamp(0.19rem, calc(0.11rem + 0.37vw), 0.38rem);
}
@media (min-width: 1100px) {
  .case_study_page .case_study .wrapper {
    padding: clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0 clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0;
  }
  .case_study_page .case_study .wrapper .information {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(3.00rem, calc(1.93rem + 5.37vw), 5.75rem);
  }
  .case_study_page .case_study .wrapper .information .slider_wrapper {
    max-width: 600px;
  }
  .case_study_page .case_study .wrapper .information .slider_wrapper.scroll_stick {
    position: sticky;
    top: 170px;
  }
  .case_study_page .case_study .wrapper .information .slider_wrapper #mainCarousel .carousel__nav {
    display: block;
  }
  .case_study_page .case_study .wrapper .information .text {
    order: -1;
  }
}
.case_study_page .related_work {
  background: url("/images/backgrounds/top-white.jpg") no-repeat center top/cover;
}
.case_study_page .related_work .wrapper {
  padding: clamp(11.56rem, calc(1.51rem + 21.55vw), 12.00rem) 0 clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0;
}
.case_study_page .related_work .wrapper h2 {
  text-align: center;
  color: #fff;
  margin-bottom: clamp(1.50rem, calc(0.96rem + 2.68vw), 2.88rem);
}
.case_study_page .related_work .wrapper .related_case_studies {
  display: grid;
  gap: clamp(1.50rem, calc(0.96rem + 2.68vw), 2.88rem);
}
@media (min-width: 768px) {
  .case_study_page .related_work .wrapper .related_case_studies {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1100px) {
  .case_study_page .related_work .wrapper .related_case_studies {
    grid-template-columns: repeat(3, 1fr);
  }
}
.case_study_page .related_work .wrapper .related_case_studies .related_case_study {
  display: grid;
  place-content: center;
  min-height: 250px;
  transition: 0.3s;
}
@media (min-width: 1280px) {
  .case_study_page .related_work .wrapper .related_case_studies .related_case_study {
    background-size: 100% !important;
  }
  .case_study_page .related_work .wrapper .related_case_studies .related_case_study:hover {
    background-size: 110% !important;
  }
}
.case_study_page .related_work .wrapper .related_case_studies .related_case_study h3 {
  padding: clamp(0.75rem, calc(0.48rem + 1.34vw), 1.44rem);
  color: #fff;
  font-family: FullSlab-LC90Bold;
  text-align: center;
  font-size: clamp(1.44rem, calc(1.31rem + 0.56vw), 1.76rem);
  line-height: 1.1;
}

.contact_page {
  padding-top: 78px;
  transition: 0.1s;
}
@media (min-width: 1000px) {
  .contact_page {
    padding-top: 107px;
  }
}
.contact_page .contact_hero {
  background: url("/images/about/paint.svg") no-repeat 51% 50%/clamp(18.75rem, calc(12.53rem + 26.52vw), 33.75rem), url("/images/services/service-hero.jpg") no-repeat center 65%/cover;
}
.contact_page .map_wrapper {
  max-width: 100%;
  max-height: 100%;
  margin: 0;
  padding: 0;
  border: 0 none;
  box-sizing: border-box;
  overflow: hidden;
}
.contact_page .map_wrapper .map {
  top: 0;
  left: 0;
  width: 100vw;
  height: 500px;
  display: block;
  position: absolute;
  z-index: 10;
  padding: 0px;
  margin-top: 78px;
  transition: 0.1s;
}
@media (min-width: 1000px) {
  .contact_page .map_wrapper .map {
    margin-top: 107px;
  }
}
.contact_page .clear {
  margin-top: 500px;
}
.contact_page .contact_info {
  padding: clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0 clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0;
  display: grid;
  gap: clamp(3.00rem, calc(1.93rem + 5.37vw), 5.75rem);
}
.contact_page .contact_info .text h2 {
  color: #123764;
  margin-bottom: clamp(1.50rem, calc(0.96rem + 2.68vw), 2.88rem);
}
.contact_page .contact_info .text .icons {
  display: grid;
  gap: clamp(1.50rem, calc(0.96rem + 2.68vw), 2.88rem);
}
.contact_page .contact_info .text .icons .icon {
  display: flex;
  align-items: center;
  gap: clamp(1.13rem, calc(0.71rem + 2.07vw), 2.19rem);
}
.contact_page .contact_info .text .icons .icon img {
  width: 60px;
}
.contact_page .contact_info .text .icons .icon a {
  color: #123764;
  text-decoration: underline;
  font-size: clamp(1.20rem, calc(1.11rem + 0.36vw), 1.41rem);
  transition: 0.1s;
}
@media (min-width: 768px) {
  .contact_page .contact_info .text .icons .icon a:hover {
    color: #71D0F9;
  }
}
.contact_page .contact_info .text .icons .icon p {
  margin-top: 0;
  font-size: clamp(1.20rem, calc(1.11rem + 0.36vw), 1.41rem);
}
.contact_page .contact_info .form h2 {
  color: #123764;
  margin-bottom: clamp(1.50rem, calc(0.96rem + 2.68vw), 2.88rem);
}
.contact_page .contact_info .form .enquiry_form .fieldblock {
  margin-bottom: clamp(1.13rem, calc(0.71rem + 2.07vw), 2.19rem);
}
.contact_page .contact_info .form .enquiry_form .fieldblock .error_text {
  color: #ed1000;
}
.contact_page .contact_info .form .enquiry_form .confirmation {
  padding: 0 0 1rem 0;
  color: #00c600;
}
.contact_page .contact_info .form .enquiry_form input, .contact_page .contact_info .form .enquiry_form textarea {
  width: 100%;
  padding: 1rem 1.5rem;
  border: 2px solid #123764;
}
.contact_page .contact_info .form .enquiry_form button {
  width: 100%;
  padding: 1rem 1.5rem;
  background: #123764;
  border: 0;
  color: #fff;
  cursor: pointer;
  background-repeat: repeat-x;
  background-position: 0 -100%;
  transition: 0.8s ease;
  background-image: url("/images/btn/light-blue-wave.png");
  background-repeat: repeat-x;
  background-position: 0 -65%;
  font-weight: 700;
}
.contact_page .contact_info .form .enquiry_form button:hover {
  background-position: center;
}
@media (min-width: 768px) {
  .contact_page .contact_info {
    grid-template-columns: repeat(2, 1fr);
  }
  .contact_page .contact_info .form h2 {
    display: none;
  }
}

.privacy_policy_page {
  padding-top: 78px;
  transition: 0.1s;
}
@media (min-width: 1000px) {
  .privacy_policy_page {
    padding-top: 107px;
  }
}
.privacy_policy_page .content {
  padding: clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0 clamp(4.4rem, calc(2.89rem + 8.05vw), 8.73rem) 0;
  width: min(90%, 700px);
  margin-inline: auto;
}
.privacy_policy_page .content h2 {
  color: #123764;
}
.privacy_policy_page .content h3 {
  color: #123764;
  line-height: 1.1;
}
.privacy_policy_page .content h4 {
  color: #123764;
  font-family: FullSlab-LC90Bold;
  font-size: clamp(1.20rem, calc(1.11rem + 0.36vw), 1.41rem);
  margin-top: clamp(1.13rem, calc(0.71rem + 2.07vw), 2.19rem);
}
.privacy_policy_page .content a {
  color: #123764;
  transition: 0.1s;
  text-decoration: underline;
}
.privacy_policy_page .content a:hover {
  color: #71D0F9;
}
.privacy_policy_page .content ul {
  display: grid;
  gap: clamp(0.38rem, calc(0.23rem + 0.73vw), 0.75rem);
}
.privacy_policy_page .content .privacy_header {
  margin-bottom: clamp(2.25rem, calc(1.45rem + 4.02vw), 4.31rem);
}
.privacy_policy_page .content .privacy_header p {
  margin-top: 0;
}
.privacy_policy_page .content .contents {
  margin-bottom: clamp(2.25rem, calc(1.45rem + 4.02vw), 4.31rem);
}
.privacy_policy_page .content .contents ol {
  display: grid;
  gap: clamp(0.38rem, calc(0.23rem + 0.73vw), 0.75rem);
}
.privacy_policy_page .content .block {
  margin-bottom: clamp(2.25rem, calc(1.45rem + 4.02vw), 4.31rem);
}
.privacy_policy_page .content .block:last-child {
  margin-bottom: 0;
}

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