/*
Theme Name: Understrap Child
Theme URI: https://understrap.com
Template: understrap
Author: Howard Development &amp; Consulting
Author URI: https://howarddc.com
Description: The renowned WordPress starter theme framework that combined Underscores and Bootstrap. Trusted by more than 100,000 developers for building handcrafted, custom WordPress sites.
Tags: one-column,two-columns,three-columns,left-sidebar,right-sidebar,custom-background,custom-logo,custom-menu,featured-images,footer-widgets,full-width-template,theme-options,translation-ready,block-styles,wide-blocks,editor-style,threaded-comments,accessibility-ready
Version: 1.2.4.1722763495
Updated: 2024-08-04 09:24:55

*/

.container, .container-lg, .container-md, .container-sm, .container-xl {
	max-width: 100%;
	padding: 0 3rem;
}

#mega-menu-wrap-primary #mega-menu-primary {
    margin-top: 1rem;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
    margin-right: 1rem;
    line-height: 1.5;
    font-weight: 500;
    color: #3B3A3A !important;
}

.page-id-2 #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
    color: #FFF;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:after, #footer a:after, #socket a:after {
    content: '';
    display: block;
    width: 0;
    height: 1px;
    background: #2269D1;
    transition: width 0.3s ease-in-out;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:hover:after, #footer a:hover:after, #socket a:hover:after {
    width: 100%;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link:after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: #2269D1;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
    background: #FFF;
    padding: 0.2rem 1rem;
    color: #3B3A3A;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:hover, #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:focus {
    background: #FAFAFA;
    color: #3B3A3A;
}

body {
    background-color: #FFF !important;
    color: #000 !important;
}

html {
    scroll-behavior: smooth;
}

.img-fluid {
    width: 170px;
}

.banner-heading h1 {
	font-size: 8rem;
    color: #FFF;
    line-height: 0.8;
    max-width: 30rem;
}

h2, .page-title {
	font-family: Figtree, sans-serif;
	font-size: 1rem;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.1rem;
    color: #1C55AB;
}

.subheading, .insights-header h1 {
	font-size: 3rem !important;
	line-height: 1.1;
	color: #062B4C;
	margin: 2.2rem 0;
	letter-spacing: 0 !important;
	text-transform: none !important;
	font-weight: 400 !important;
}

h3 {
	font-family: Figtree, sans-serif;
	font-size: 1rem;
	line-height: 1.4;
    font-weight: 600;
    color: #062B4C;
    margin-bottom: 1rem;
}

#footer h3 {
	font-size: 1rem;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.1rem;
}

p, body {
	font-family: Figtree, sans-serif;
	color: #000;
	font-weight: 300;
    font-size: 1rem;
    line-height: 1.4;
}

p strong {
    font-weight: 400;
    color: #062B4C;
}

p:last-child {
	margin: 0;
}

.reversed h1, .reversed h2, .reversed p, .reversed a, .reversed a:hover, .reversed li {
	color: #FFF;
}

ul {
	padding-left: 1rem;
}

ul li {
    line-height: 2;
}

ul li::marker {
    color: #062B4C;
}

.insights-header h1 {
	margin: 1rem 0;
}

.link {
    color: #062B4C;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    margin-top: 2rem;
    position: relative;
    text-decoration: none;
}

p a {
    color: #062B4C;
    font-weight: 600;
}

.link:hover, p a:hover {
    color: #062B4C;
    text-decoration: none;
}

.link-text {
    display: inline-block;
    position: relative;
}

.link-text:after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #2269D1;
}

.link svg {
    margin-left: 0.5rem;
    width: 0.9rem;
    fill: #062B4C;
    transition: margin-left 0.3s ease-in-out;
}

.link:hover svg  {
  margin-left: 1rem;
}

.reversed .link-text:after, .active-card .link-text:after, .case-slide .link-text:after {
	background: #FFF;
}

.reversed .link svg, .active-card .link svg, .case-slide .link svg {
	fill: #FFF;
}

.btn, #load-more, .wpcf7 input[type=submit] {
	background-color: #000;
	color:  #FFF;
	padding: 5px 20px;
	border-radius: 2rem;
	transition: background 0.6s ease;
}

.call-to-action .btn:hover, #footer .btn:hover, #load-more:hover {
	background: #2566C9;
	color: #FFF;
}

#load-more {
	background-color: #1C55AB;
	border: none;
}

.load-more-btn {
	width: 100%;
	justify-content: center;
    display: grid;
    margin-top: 2rem;
}

header {
	position: fixed;
	width: 100%;
	z-index: 1;
}

#main-nav {
	background: #FFF !important;
	padding: 0.8rem 0;
}

.page-id-2 #main-nav {
    background: transparent !important;
    transition: background-color 0.3s ease-in-out;
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 1000;
    opacity: 1;
    visibility: visible;
}

.page-id-2.loaded #main-nav {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s ease-in-out, background-color 0.3s ease-in-out;
}

.page-id-2 #main-nav.scrolled {
    background: white !important;
}

.page-id-2 .responsive-menu-pro-inner.scrolled {
  background-color: #000 !important;
}

.page-id-2 .responsive-menu-pro-inner.scrolled::before,
.page-id-2 .responsive-menu-pro-inner.scrolled::after {
  background-color: #000 !important;
}


.page-id-2 #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
    color: #fff !important;
}

.page-id-2 #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link {
    color: #C0C0C0 !important;
}

.page-id-2 #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link:after {
    width: 0;
}

.page-id-2 #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link:after {
    width: 0;
}

.page-id-2 #main-nav.scrolled #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link:after {
    width: 100%;
}

.page-id-2 #main-nav.scrolled #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
    color: #000 !important;
}

#main-menu {
	gap: 2.5rem;
	align-items: center;
}

.navbar-dark .navbar-nav .nav-link, .navbar-dark .navbar-nav .nav-link:hover {
	color: #3B3A3A;
	padding: 0;
	transition: opacity 0.6s ease;
}

.navbar-nav .nav-link:hover {
	opacity: 0.6;
}

.navbar-dark .navbar-nav .active>.nav-link, .navbar-dark .navbar-nav .nav-link.active, .navbar-dark .navbar-nav .nav-link.show, .navbar-dark .navbar-nav .show>.nav-link {
	color: #8A8A8A;
}

#menu-item-126 a, #rmp-menu-item-126 a {
	background: #1C55AB !important;
    border-radius: 2rem;
    color: #FFF !important;
    padding: 0.4rem 1.3rem;
}

#rmp-menu-item-126 a {
    height: auto !important;
    padding: 0.5rem 2rem !important;
    margin-left: 1rem;
    margin-top: 1.5rem; 
}

.page-id-0 .sections-wrapper {
	height: 100vh;
    overflow-y: scroll;
    scroll-snap-type: y mandatory;
}

section {
	display:  flow-root;
	align-content: center;
    padding: 5rem 3rem;
    background-size: cover;
    background-position: center;
    min-height: 70vh;
}

.page-id-0 section {
	scroll-snap-align: start;
	min-height: 110vh;
}

.page-id-121 section .row {
	align-items: baseline;
	padding-top: 5rem;
}

.full-banner {
	height: 100vh;
	min-height: 500px;
	background: center/cover;
	display: grid;
    padding: 0;
    align-content: end;
}

.full-banner-row {
    height: 100vh;
    display: grid;
}

.full-banner .row .col-md-12 {
    display: grid;
    align-items: flex-end;
    height: 100%;
}

.banner-heading {
	align-items: end;
    height: 100%;
    display: flex;
    margin-left: 3rem;
}

.banner-subheading {
    width: 100%;
    background: rgba(28, 85, 171, 0.90);;
    padding: 2.8rem 2rem;
    height: fit-content;
}

.banner-subheading p {
	margin: 0;
	color: #FFF;
	font-weight: 400;
	font-size: 1.6rem;
}

.to-edge-left .col-md-6 {
	padding-right: 3.5rem;
}

.to-edge-right .col-md-6 {
	padding-left: 3.5rem;
}

.cards {
  padding: 0.5rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(20%, 1fr));
  gap: 0.5rem;
 }

.card-single {
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden;
    aspect-ratio: 5 / 7;
    border-radius: 4px;
}

.card-single h3, .card-single p {
  color: #FFF;
}

.card-single h3 {
    font-size: 1.5rem;
    line-height: 1.2;
    width: min-content;
}

.card-single p {
  font-size: 0.8rem;
  margin-bottom: 0;
}

.card-single .link {
  margin-top: 1.5rem;
  color: #FFF;
  z-index: 1;
}

.default-card, .active-card {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: end;
    transition: opacity 0.3s ease;
}

.default-card {
    background: rgba(0, 30, 58, 0.85);
    opacity: 1;
}

.default-card div {
    padding: 2rem;
    padding-top: 0;
    height: 50%;
}

.active-card {
    background: rgba(28, 85, 171, 0.95);
    opacity: 0;
}

.active-card div {
    padding: 2rem;
    padding-top: 0;
    height: 50%;
}

.card-single:hover .active-card {
  opacity: 1;
}

.card-single:hover .default-card {
  opacity: 0;
}

.case-studies-full {
	display: flow-root;
}

.case-studies a {
	margin-bottom: 3rem;
  display: flow-root;
}

.case-studies a:hover {
	text-decoration: none;
}

.case-studies .thumbnail {
	aspect-ratio: 5 / 2.5;
	background: #ccc center/cover;
}

.case-studies .col-md-6:nth-child(2) {
	padding-left: 4rem;
}

.case-studies h3 {
	font-size: 2rem;
	color: #062B4C;
}

.case-studies p {
	font-size: 1.3rem;
  margin: 1rem 0 2rem;
}

.insights-grid-sample {
	padding-top: 0;
	display: flow-root;
}

.insights-grid-full {
	display: flow-root;
	padding-top: 0;
}

.single section {
	padding: 0;
}

.insights-header {
	height: 70vh;
}

.insights-header .col-md-6 {
	height: 100%;
    align-content: center;
    display: grid;
    padding: 5rem 10rem 5rem 3rem;
    background: #FAFAFA;
}

.insights-header .col-md-6:last-child {
	background: #ccc center/cover;
}

#posts-container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(30%, 1fr));
  gap: 2rem;
}

.page-id-2 #posts-container {
	margin-top: 4rem;
}

#posts-container a {
	transition: margin-left 0.3s ease-in-out;
}

#posts-container a:hover {
	text-decoration: none;
}

#posts-container h3 {
	color: #062B4C;
}

#posts-container .link {
	margin-top: 0;
}

.thumbnail {
	background: #ccc center/cover;
	aspect-ratio: 5 / 3.5;
	border-radius: 12px;
	margin-bottom: 1rem;
    transition: filter 0.6s ease;
    overflow: hidden;
}

.thumbnail > div {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: transform 0.3s ease-in-out;
}

.thumbnail:hover > div {
    transform: scale(1.02);
}

.insights h3 {
	color: #000;
}

.insights p {
	color: #062B4C;
}

.insights a:hover {
	text-decoration: none
}

.call-to-action {
	background: linear-gradient(0deg, #FFF 25%, #FAFAFA 33.84%);
	display: flow-root;
}

.call-to-action .col-md-8 {
	display: grid;
	justify-items: center;
}

.call-to-action .subheading:first-child {
    margin-bottom: 2rem !important;
}

.call-to-action .subheading {
	text-align: center;
	padding: 0 4rem;
}

.call-to-action .col-md-4 {
	padding-left: 0;
	padding-right: 0.5rem;
}

.call-to-action .col-md-4:last-child {
	padding-right: 0;
}

.call-to-action .btn {
	background: #1C55AB;
}

.cta-box {
	background: #FFF;
	padding: 2rem;
    text-align: center;
    display: grid;
    justify-items: center;
    border-radius: 4px;
    height: 100%;
    align-items: baseline;
}

.cta-box .number {
	width: 2.5rem;
	height: 2.5rem;
	border: 1px solid #2269D1;
	border-radius: 50%;
	display: grid;
	justify-items: center;
	align-items: center;
	font-weight: 800;
	font-size: 1.3rem;
}

.cta-box img {
	max-width: 5.5rem;
	max-height: 5rem;
}

.cta-box .copy {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.3;
    padding: 0 3rem;
    margin-bottom: 2rem;
}

#signup {
	border-radius: 12px;
	background: #1F5FB6 url('/wp-content/uploads/2025/03/CTA-Background-scaled.webp') center/cover;
	margin: 0.5rem;
}

#signup .row {
	padding: 5rem;
    display: grid;
    justify-items: center;
    text-align: center;
}

.signup-heading {
	color: #FFF;
	font-size: 1.8rem;
    line-height: 1.2;
    padding: 0 25rem;
}

#signup .subheading {
    width: 50%;
    padding: 0;
}

#signup .modal-content p {
    color: #FFF;
}

#signup .btn, .wpcf7 input[type=submit], .subscribe-btn {
	background: #63B146;
	font-weight: 600;
	margin-top: 1rem;
	transition: background 0.6s ease;
}

#signup .btn:hover, .wpcf7 input[type=submit]:hover {
    background: #64C73F;
    color: #FFF;
}

#footer {
	background: #062B4C;
	color: #FFF;
	padding-top: 5rem;
}

#footer h3 {
	margin-bottom: 2rem;
	color: #FFF;
}

#footer .col-md-5 h3 {
	display: flex;
  align-items: center;
}

#footer .col-md-5 h3:before {
	content: '';
	display: block;
	width: 0.6rem;
	height: 0.6rem;
	background: #63B146;
	border-radius: 50%;
    margin-right: 0.5rem;
}

#footer .col-md-5 a {
	display: block;
	font-size: 1.3rem;
	width: fit-content;
}

#footer p, #footer a {
	color: #FFF;
	font-size: 0.9rem;
	transition: background 0.6s ease;
}

#footer .col-md-2 p  {
    width: fit-content;
}

#footer a:hover {
	text-decoration: none;
}

#footer .btn {
	width: fit-content;
	font-size: 1rem !important;
	background: #1C55AB;
	margin-top: 1.5rem;
	transition: background 0.6s ease;
}

#footer .btn:hover {
    opacity: 1;
}

#footer .btn:hover:after {
    width: 0;
}

#footer ul {
	padding: 0;
}

#footer li {
	list-style: none;
	line-height: 1.9;
}

#footer li a {
	display: block;
	width: fit-content;
}

#socket {
	margin-top: 10rem;
}

#socket p {
	font-size: 0.7rem;
	font-weight: 300;
	display: flex;
}

#socket a {
    font-size: 0.7rem;
	font-weight: 300;
	display: block;
	width: fit-content;
}

#socket p span {
	margin: 0 1rem;
	opacity: 0.3;
}

#socket .col-md-6:first-child a {
	margin-left: 1rem;
}

#socket .col-md-6:last-child {
	text-align: right;
	justify-content: end;
    display: flex
}

#socket .col-md-6:last-child a {
	font-weight: 600;
	margin-left: 3px;
}

#case-studies {
	display: flow-root;
	padding: 3rem;
}

#economic-news-and-insights-for-the-urban-development-sector .row {
    padding-top: 0 !important;
}

.case-studies-slideshow {
  position: relative;
  width: 100%;
}

.case-slide {
  display: none;
  height: 100%;
  aspect-ratio: 5 / 2.2;
  cursor: pointer;
}

.case-slide .row {
	height: 100%;
	margin: 0;
}

.case-slide .col-md-4 {
	height: 100%;
	background: #001E3A;
	padding: 3rem;
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
}

.case-slide .col-md-4 h2 {
	margin-bottom: 4rem;
}

.case-slide .col-md-4 h3 {
	font-size: 2rem;
}

.case-slide .col-md-4 h2, .case-slide .col-md-4 h3, .case-slide .col-md-4 p {
	color: #FFF;
}

.client {
	font-size: 1.3rem;
	margin: 1rem 0 2rem;
}

.case-slide .col-md-4 .link {
	color: #FFF;
}

.case-slide .col-md-8 {
	height: 100%;
	background: #ccc center/cover;
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
}

.case-study-dots {
	text-align: center;
	margin-top: 2rem;
}

.nav-dots {
	display: flex;
  justify-content: center;
}

.dot {
  cursor: pointer;
  height: 10px;
  width: 10px;
  margin: 0 0.8rem;
  border: 1px solid #8A8A8A;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}

.dot.active {
	background: #1C55AB;
	border: 1px solid #1C55AB;
	width: 12px;
	height: 12px;
}

.fade {
  animation-name: fade;
  animation-duration: 1.5s;
  -webkit-animation-name: fade;
  -webkit-animation-duration: 1.5s;
  -webkit-animation-fill-mode: forwards; 
  animation-name: fade;
  animation-duration: 1.5s;
  animation-fill-mode: forwards; 
}

@keyframes fade {
  from {opacity: .4}
  to {opacity: 1}
}

.team-grid {
    display: grid;
    gap: 4rem;
    grid-template-columns: repeat(auto-fill, minmax(29%, 1fr));
}

.team-grid a:hover {
	text-decoration: none;
}

.headshot {
    aspect-ratio: 5 / 5;
    margin: 0 auto 1rem;
    background: #ccc center/cover;
    transition: filter 0.6s ease;
    border-radius: 4px;
}

.headshot:hover {
    filter: brightness(120%);
}

.role {
	font-size: 0.9rem;
	line-height: 1.2;
}

.modal-content .role {
	margin-bottom: 2rem;
}

.modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  align-items: center;
  justify-content: center;
}

.modal-content {
  background: #fff;
  padding: 20px;
  position: relative;
  max-width: 100%;
  height: 100%;
  padding: 4rem;
  display: grid;
  align-items: center;
  border-radius: 0;
  overflow: auto;
  justify-items: center;
}

.modal-content .wpcf7 {
	max-width: 2000px;
	width: 50%;
}

.modal-content .row {
	align-items: flex-start;
	width: 70%;
}

.modal-content svg {
	width: 1.2rem;
	margin-right: 0.5rem;
	fill: #062B4C;
}

.modal-content .col-md-9 {
	padding-left: 2rem;
} 

.modal {
  display: none;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.modal.active {
  opacity: 1;
  transform: translateY(0);
}

.close {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 20px;
  cursor: pointer;
}

.close img {
	width: 2rem;
}

.bio p:last-child {
	margin: 0;
}

#services {
	background: #FAFAFA;
}

.services {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(32%, 1fr));
  gap: 0.5rem;
}

.services div {
	background: #FFF;
	display: flex;
	padding: 1.5rem 2rem;
	align-items: center;
    min-height: 6rem;
}

.services img {
	max-width: 2rem;
	max-heiht: 2rem;
	margin-right: 2rem;
}

.services h3 {
	font-size: 1.3rem;
	margin: 0;
}

.wpcf7-checkbox {
	display: block;
	margin-top: 1rem;
}

.wpcf7-list-item {
	margin: 0 1em 0 0;
    width: 47%;
    float: left;
}

input[type=checkbox], input[type=radio] {
    margin-right: 0.5rem;
}

.form-control, .wpcf7 .wpcf7-validation-errors, .wpcf7 input[type=email], .wpcf7 input[type=number], .wpcf7 input[type=submit], .wpcf7 input[type=tel], .wpcf7 input[type=text], .wpcf7 input[type=time], .wpcf7 input[type=url], .wpcf7 input[type=week], .wpcf7 select, .wpcf7 textarea {
	min-height: 3rem;
    padding: 0.5rem 1rem;
    margin-bottom: -0.8rem;
}

.form-control:focus, .wpcf7 .wpcf7-validation-errors, .wpcf7 input[type=email]:focus, .wpcf7 input[type=number]:focus, .wpcf7 input[type=submit], .wpcf7 input[type=tel]:focus, .wpcf7 input[type=text]:focus, .wpcf7 input[type=time]:focus, .wpcf7 input[type=url]:focus, .wpcf7 input[type=week]:focus, .wpcf7 select:focus, .wpcf7 textarea:focus {
    -webkit-box-shadow: 2px 2px 10px -3px rgba(27,85,172,0.63);
    -moz-box-shadow: 2px 2px 10px -3px rgba(27,85,172,0.63);
    box-shadow: 2px 2px 10px -3px rgba(27,85,172,0.63);
}

.left-column p a {
    font-size: 1.3rem;
    color: #000;
    transition: opacity 0.6s ease;
}

.left-column p a:hover {
    text-decoration: none;
    opacity: 0.6;
}

.subscribe span {
	font-size: 0.8rem;
	width: 100%;
	margin-bottom: 2rem;
}

.phone {
	margin-bottom: 0.5rem !important;
}

.wpcf7 textarea {
	margin-top: 1rem;
}

#subscribe .modal-content {
	background-image: url('/wp-content/uploads/2025/03/Subscribe-Background.webp');
	background-size: cover;
    background-position: center;
    justify-items: center;
    display: grid;
    text-align: left;
    align-content: center;
}

#subscribe .modal-content .wpcf7 input[type=text], #subscribe .modal-content .wpcf7 input[type=email] {
	background: none;
	border: none;
	border-bottom: 1px solid #FFF;
	border-radius: 0;
	padding: 0;
}

#subscribe .modal-content .wpcf7 input[type=text]::placeholder, #subscribe .modal-content .wpcf7 input[type=email]::placeholder {
	color: #FFF;
}

#subscribe .modal-content .close {
	color: #FFF;
}

.wpcf7 input[type=submit] {
	background-color: #63B146;
    border-radius: 30px;
    border: none;
    width: fit-content;
    color: #FFF;
    min-height: 1rem !important;
    box-shadow: none;
}

.wpcf7 input[type=submit]:focus {
    border: none;
}

.team-nav {
	display: none;
}

.fade-up {
  display: inline-block;
  opacity: 0; 
  transform: translateY(20px);
}

.fade-up.animate {
  opacity: 1; 
  transform: translateY(0);
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
}

#testimonials {
	padding: 0.5rem;
	min-height: 10vh;
    margin-bottom: 5rem;
}

.testimonials-slideshow {
	background: #FAFAFA;
    padding: 5rem 20rem;
    text-align: center;
    min-height: 55vh;
    display: grid;
    align-items: center;
}

.testimonials-slideshow p {
	color: #001E3AE6;
	font-size: 1.4rem;
	font-weight: 300;
}

.testimonials-slideshow p span {
	font-weight: 500;
	font-size: 1rem;
}

.testimonials-slideshow img {
    max-width: 12rem;
    max-height: 10rem;
    margin-top: 2rem;
}

.prev, .next {
	position: absolute
}

.prev {
	left: 2rem;
}

.next {
	right: 2rem;
}

.prev svg path, .next svg path {
    transition: stroke 0.3s ease-in-out;
}

.prev:hover svg path, .next:hover svg path {
	stroke: #001E3AE6;
}

.prev:hover, .next:hover {
	cursor: pointer;
}

.case-studies-slideshow.hide-nav .prev,
.case-studies-slideshow.hide-nav .next {
  display: none;
}

.testimonial-slide {
  display: none;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.testimonial-slide.fade {
  display: block;
  opacity: 1;
}

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

.flex p {
	margin: 0;
}

.insights-header span {
  width: 0.3rem;
  height: 0.3rem;
  background: #333;
  display: block;
  border-radius: 50%;
  margin: 0 0.5rem;
}

.insights-body {
	padding: 8rem 5rem;
}

.insights-body hr {
	margin: 2rem 0;
}

.social-share {
	display: flex;
  justify-content: end;
}

#copyLinkButton, .social-share a {
	background: none;
  padding: 0.3rem 0.8rem;
  border: none;
  cursor: pointer;
  font-size: 16px;
  border-radius: 8px;
  border: 1px solid #ccc;
  font-size: 0.8rem;
  font-weight: 500;
  display: flex;
  transition: opacity 0.6s ease;
  align-items: center;
  margin-right: 0.5rem;
  min-width: 2rem;
  justify-content: center;
}

.social-share a {
	padding: 0.3rem;
}

#copyLinkButton svg, .social-share svg {
  width: 0.8rem;
  max-height: 0.8rem;
  margin-right: 0.5rem;
}

.social-share svg {
	margin-right: 0;
}

#copyLinkButton:hover, .social-share a:hover {
  opacity: 0.6;
}

.excerpt p {
	font-size: 1.15rem;
}

.left-column {
	padding-right: 2.5rem;
}

.right-column {
	padding-left: 2.5rem;
}

.to-edge-left {
	padding-left: 0 !important;
}

.to-edge-right {
	padding-right: 0 !important;
}

.cards-wrapper {
  position: relative;
  width: 100%;
  margin: 0;
}

.cards {
    padding: 0;
    margin-top: 3rem;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(24%, 1fr));
    gap: 0.5rem;
}

.card-single {
  background-size: cover;
  background-position: center;
  color: white;
  padding: 1rem;
}

.navbar-dark .navbar-toggler {
	display: none;
}

.sectors {
    background: #FAFAFA;
    padding: 5rem 0.5rem 0.5rem;
}

.sectors .row:first-child {
    padding: 0 2.5rem 3rem;
}

.sectors h2 {
	margin-bottom: 2rem;
}

.dropdown-menu {
	border-radius: 0;
	border: none;
}

.dropdown-item {
	color: #062B4C !important;
	transition: opacity 0.6s ease;
}

.dropdown-item:hover {
	opacity: 0.6;
}

.dropdown-item:focus, .dropdown-item:hover {
	background: none;
}

#rmp-container-489 {
	min-width: 100%;
	max-width: 100%;
	padding-top: 1rem;
	background: #FFF;
}

#rmp-menu-wrap-489 {
	padding-left: 0;
	padding-top: 2rem;
}

#rmp-menu-additional-content-489 {
	text-align: left;
	padding-left: 1rem;
}

#rmp-menu-wrap-489 .rmp-menu-item-link {
	font-size: 1.5rem;
	margin-bottom: 1rem;
	color: #3B3A3A;
	background: none;
}

#rmp-menu-wrap-489 .rmp-menu-item-link {
	width: fit-content;
}

.dashicons-arrow-up-alt2:before {
	font-size: 1.5rem;
}

#rmp-menu-wrap-489 .rmp-submenu .rmp-menu-item-link {
	font-size: 1.2rem;
	margin-bottom: 0.5rem;
}

#rmp_menu_trigger-489 {
	top: 10px;
	z-index: 2;
}

#rmp_menu_trigger-489 .rmp-trigger-box {
	width: 3rem;
}

#rmp_menu_trigger-489 .responsive-menu-pro-inner, #rmp_menu_trigger-489 .responsive-menu-pro-inner::before, #rmp_menu_trigger-489 .responsive-menu-pro-inner::after {
	width: 3rem;
}

.page-id-2 .scrolled .responsive-menu-pro-inner,
.page-id-2 .scrolled .responsive-menu-pro-inner::before,
.page-id-2 .scrolled .responsive-menu-pro-inner::after {
  background-color: #062B4C !important;
}

.page-id-2 .responsive-menu-pro-inner,
.page-id-2 .responsive-menu-pro-inner::before,
.page-id-2 .responsive-menu-pro-inner::after {
  background-color: white !important;
}

#rmp-menu-wrap-489 .rmp-menu-subarrow {
    font-size: 0;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"/></svg>');
    background-repeat: no-repeat;
    background-size: 1.3rem;
    background-position: center;
    margin-top: 0.1rem;
}

.dropdown-toggle::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border: none;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="white" d="M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"/></svg>');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 0.7rem;
    height: 0.7rem;
}

#menu-item-dropdown-130 {
    display: flex;
    align-items: center;
}

#rmp-menu-wrap-489 .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link, #rmp-menu-wrap-489 .rmp-menu-item-link:hover, #rmp-menu-wrap-489 .rmp-menu-item-link:focus, #rmp-menu-wrap-489 .rmp-submenu .rmp-menu-item-link {
    color: #3B3A3A;
}

#rmp_menu_trigger-489.is-active .responsive-menu-pro-inner, #rmp_menu_trigger-489.is-active .responsive-menu-pro-inner::before, #rmp_menu_trigger-489.is-active .responsive-menu-pro-inner::after {
    background-color: #062b4c !important;
}

.case-slide {
  display: none;
  height: 100%;
  aspect-ratio: 5 / 2.2;
  cursor: pointer;
}

#about-us {
    padding: 8rem 3rem;
}

.two-column:first-child {
    padding-top: 12.5rem;
    min-height: 600px;
}

.two-column:first-child .right-column {
    margin-top: 4.5rem;
}

.page-id-111 #services .subheading {
    width: 65%;
    margin: 0 auto 3rem;
    text-align: center;
}

.page-id-111 #services {
    padding: 0.5rem;
    padding-top: 5rem;
}

.even-boxes {
    display: grid;
    gap: 0.5rem;
    grid-template-columns: repeat(auto-fill, minmax(29%, 1fr));
}









@media (min-width: 1024px) {
    .banner-subheading p {
        font-size: 1.2rem;
    }
    
    .case-studies-slideshow {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
    }

     .case-slide {
        display: block;
        flex: 1 1 calc(33.33% - 20px);
    }

}


@media only screen and (max-width: 2000px) {
    section {
        padding: 5rem 3rem;
    }
}


@media only screen and (max-width: 1024px) {
    #mega-menu-wrap-primary {
        display: none;
    }
}


@media only screen and (max-width: 768px) {
    #rmp-menu-wrap-489 .rmp-menu-current-item .rmp-menu-item-link {
        color: #3B3A3A;
        background: none !important;  
    }
    
	.sectors-nav {
		top: 5.5rem;
        position: absolute;
        width: 96%;
	}
	
	.subheading, .insights-header h1 {
	    font-size: 2.2rem !important;
	    padding-bottom: 1px;
	}
  
    .default-card, .active-card {
        padding: 2rem;
    }
  
    .case-slide .col-md-4 {
        padding: 3rem 2rem;
    }

    .sectors-nav button.prev-card,
    .sectors-nav button.next-card {
        position: absolute;
        transform: translateY(-50%);
        border: none;
        padding: 10px;
        cursor: pointer;
        z-index: 10;
        background: none;
        border: 1px solid #ccc;
        width: 3rem;
        height: 3rem;
        border-radius: 50%;
    }

    button.prev-card {
        left: 10px;
    }

    button.next-card {
        right: 10px;
    }

    button.prev-card svg, button.next-card svg {
  	    width: 1rem;
    }

	.services {
        grid-template-columns: repeat(auto-fill, minmax(49%, 1fr));
    }

    .insights {
        gap: 1rem;
	}

	.call-to-action .subheading {
		padding: 0;
	}

	section .row {
        align-items: flex-start;
	}

	.team-grid {
        grid-template-columns: repeat(auto-fill, minmax(20%, 1fr));
	}
	
	.sectors {
		padding-right: 0;
	}
	
	.testimonials-slideshow {
        padding: 5rem 6rem;
	}
	
	.case-slide {
	    aspect-ratio: auto;
	}
	
	.case-slide .row {
        display: flow-root;
    }
    
    .case-slide .col-md-4 {
        width: 100%;
        max-width: 100%;
    }
    
    .case-slide .col-md-8 {
        width: 100%;
        max-width: 100%;
        aspect-ratio: 5 / 3;
    }
    .case-slide .col-md-4 h2 {
        margin-bottom: 2rem;
    }
    
    #posts-container h3 {
        font-size: 1.5rem;
    }
    
    .call-to-action .subheading {
        font-size: 1.5rem;
    }
    
    .cta-box h3 {
        font-size: 1.3rem;
    }
    
    .cta-box img {
        max-height: 3rem;   
    }    
    
    #main-menu {
        display: none;
    }
    
    section .row {
        display: block;
    }
    
    .col-md-6 {
        width: 100%;
        max-width: 100%;
    }
    
    .to-edge-left .col-md-6 {
        padding-right: 0;
    }
    
    .to-edge-left .col-md-6 img {
        margin-bottom: 5rem;
        padding-left: 2rem;
    }
    
    .call-to-action .row {
        display: flex;
    }
    
    .to-edge-right .col-md-6 {
        padding-left: 0;
        padding-right: 3rem;
    }
    
    .right-column img {
        margin-top: 2rem;
    }
    
    .to-edge-right .row {
        display: flex;
        flex-direction: column-reverse;
    }
    
    section {
        padding: 5rem 2rem;
        min-height: 10vh;
    }
    
    .team-members {
        padding-top: 0;
    }
    
    .case-studies .col-md-6:nth-child(2) {
        padding-left: 1rem;
    }
    
    .case-studies p {
        margin-bottom: 0;
    }
    
    .case-studies a {
        margin-bottom: 5rem;
    }
    
    #contact .right-column {
        padding: 3rem 1rem 0;
    }
    
    .wpcf7 {
        width: 100%;
        max-width: 100%;
    }
    
    #socket .col-md-4 {
        display: inline-grid;
    }
    
     .case-slide .col-md-4 {
	    border-bottom-left-radius: 0;
	    border-top-right-radius: 4px;
    }

    .case-slide .col-md-8 {
    	border-top-right-radius: 0;
    	border-bottom-left-radius: 4px;
    }
}


@media only screen and (max-width: 480px) {
    .cards {
        grid-template-columns: 1fr;
    }

	html, body {
  	    overflow-x: hidden;
  	    max-width: 100%;
        margin: 0;
  	    padding: 0;
	}
	
	#about-us {
	    padding: 1rem;
	}
	
	.to-edge-left .col-md-6 {
	    padding: 0;
	}
	
	.left-column {
	    padding: 1rem !important;
	}
	
	.right-column {
	    padding: 0 2rem 4rem 1rem !important;
	}
	
	.sectors .row:first-child {
	    padding: 0 0.5rem;
	}
	
	.page-id-111 #services .subheading {
        width: 100%;
        margin: 0 0.5rem 3rem 0;
    }
    
    .two-column:first-child {
        padding-top: 9rem;
        height: auto;
    }
    
    .cta-box .copy {
        padding: 0;
    }
    
    section {
		padding: 5rem 1rem;
		min-height: 10vh;
	}

	#signup .row {
		padding: 4rem;
		display: block;
	}
	
	.signup-heading {
	    padding: 0;
	}
	
	.banner-subheading p {
        font-size: 1rem;
    }

	#case-studies {
        display: table;
        padding: 5rem 1rem;
	}

	.case-slide .row {
		height: auto;
	}

	.case-slide .col-md-4 {
		height: auto;
	}

	.case-slide .col-md-8 {
		aspect-ratio: 5 / 3;
	}

	.services {
        grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
    }

    .insights {
        grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
	   }

	.team-grid {
        grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
    }

	.banner-heading h1 {
        font-size: 4rem; 
        line-height: 1;
    }

    #footer .container {
  	    padding: 0 1rem;
    }

    #footer .col-md-5 {
  	    margin-bottom: 3rem;
    }

    #footer .col-md-2 {
  	    width: 33.3%;
  	    float: left;
    }

    #socket {
        margin-top: 3rem;
	}

    #socket .col-md-4 {
  	    text-align: left !important;
    }

    #socket .col-md-4 p {
  	    margin: 0;
    }

    .modal-content {
  	    padding: 2rem;
    }

    .team-members {
  	    padding: 1rem 0 4rem 1rem;
    }

	.single-team-member {
	  flex: 0 0 80%;
	  max-width: 100%;
	  scroll-snap-align: start;
	}

	.slider-btn {
	  background: #000;
	  color: #fff;
	  border: none;
	  padding: 10px 15px;
	  font-size: 24px;
	  cursor: pointer;
	  z-index: 10;
	}

	.team-nav {
		display: block;
		position: absolute;
        bottom: -4rem;
        right: 2rem;
	}

	#posts-container {
        grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
        gap: 4rem;
    }

    .to-edge-left .col-md-6 h1 {
  	    margin-top: 2rem;
    }

    .insights-header {
  	    height: auto;
    }

    .insights-body {
        padding: 5rem 1rem;
	}

	.social-share {
        justify-content: flex-start;
        margin-top: 1rem;
	}

	.insights-header .col-md-6 {
		padding: 10rem 2rem 5rem;
	}

	#main-nav {
   	    padding: 0.8rem 1rem;
	}
	
	#signup .subheading {
        width: 100%;
    }

	.modal-content .wpcf7 {
        max-width: 100%;
        width: 100%;
	}

	.modal-content .col-md-9 {
        padding: 2rem 1rem;
	}

	.testimonials-slideshow {
		padding: 0;
		position: relative;
	}

	.banner-subheading .col-md-11 {
		width: 90%;
	}

	.banner-subheading .col-md-1 {
		width: 10%;
	}
	
	.full-banner {
	    height: 95vh;
	}
	
	.to-edge-right .col-md-6 {
        padding-left: 1rem;
    } 
	
	.prev {
	    left: 1rem;
	}
	
	.next {
	    right: 1rem;
	}
	
	.testimonial-slide {
        max-width: 60%;
        margin: 0 auto;
    }
    
    .case-studies .col-md-6:nth-child(2) {
        padding-left: 1rem;
    }
    
    .case-studies p {
        margin-bottom: 0;
    }
    
    .case-studies a {
        margin-bottom: 4rem;
    }

    #insights { 
        padding-top: 0;
    }
    
    .to-edge-left .col-md-6 img {
        padding-left: 0;
        padding-top: 1rem;
    }
    
    .cards, .team-grid {
        padding-right: 1rem;
    }
    
    .two-column:first-child .right-column {
        margin-top: 0;
        padding-bottom: 0 !important;
    }
    
    #retail {
        padding-top: 3rem;
        padding-bottom: 2rem;
    }
    
    #retail .left-column {
        padding: 0 2rem 0 1rem !important;
    }
    
    #retail .right-column {
        padding-bottom: 0 !important;
    }
    
    #residential {
        padding-top: 0;
        padding-bottom: 1rem;
    }
    
    #residential .left-column {
        padding-bottom: 0 !important;
    }
    
    #residential .right-column {
        padding: 0 1rem 0 2rem !important;
    }
    
    #residential img {
        margin-bottom: 0;
    }
    
    #commercial {
        padding-top: 0;
        padding-bottom: 0;
    }
    
    #commercial .right-column {
        padding-bottom: 0 !important;
    }
    
    #commercial .left-column {
        padding: 0 2rem 0 1rem !important;
    }
    
    #industrial {
        padding-top: 2rem;
        padding-bottom: 0;
    }
    
    #industrial .left-column {
        padding-bottom: 0 !important;
    }
    
    #industrial .right-column {
        padding: 0 1rem 0 2rem !important;
    }
    
    #industrial img {
        margin-bottom: 0;
    }
    
    #tourism-hospitality {
        padding-top: 1rem;
        padding-bottom: 0;
    }

    #tourism-hospitality .right-column {
        padding-bottom: 0 !important;
    }    
    
    #tourism-hospitality .left-column {
        padding: 0 2rem 0 1rem !important;
    }
    
    #health {
        padding-top: 2rem;
        padding-bottom: 0;
    }
    
    #health img {
        margin-bottom: 0;
    }
    
    #health .left-column {
        padding-bottom: 0 !important;
    }
    
    #health .right-column {
        padding: 0 1rem 0 2rem !important;
    }
    
    #education {
        padding-top: 1rem;
        padding-bottom: 0;
    }
    
    #education img {
        margin-bottom: 0;
    }
    
    #education .right-column {
        padding-bottom: 0 !important;
    }
    
    #education .left-column {
        padding: 0 2rem 0 1rem !important;
    }
    
    #government {
        padding-top: 2rem;
    }
    
    #government img {
        margin-bottom: 0;
    }
    
    #government .left-column {
        padding-bottom: 0 !important;
    }
    
    #government .right-column {
        padding: 0 1rem 0 2rem !important;
    }
    
    .modal-content .row {
        width: 100%;
        padding-top: 1.5rem;
    }
    
    .page-id-2 #services .right-column {
        padding-bottom: 0 !important;
    }
    
    .banner-subheading {
        padding: 2.8rem 1rem;
    }
    
    .banner-subheading .row {
        display: flex;
        align-items: end;
    }

    .banner-heading {
        margin-left: 1rem;
    }

    #about-us .left-column {
        padding-left: 2rem !important;
    }
    
    #about-us .right-column {
        padding: 0 1rem 5rem 2rem !important;
    }
    
    .card-single h3 {
        font-size: 2rem;
    }
    
    .default-card, .active-card {
        padding: 1rem;
    }
    
    .card-single p {
        font-size: 1.1rem;
    }
    
    #socket p {
        display: block;
    }
    
    #socket .col-md-6:first-child a {
        margin-left: 0;
    }
    
    #socket .col-md-6:last-child {
        justify-content: left;
        margin-top: 0.5rem;
    }
    
    #socket a {
        display: inline;
    }
    
}