* {
	font-size:17px;
	line-height:28px;
	font-family:'Raleway', sans-serif;
	font-weight:500}

html {
	color:#1b1c21; 
	background:#111112;
}

h1,h2,h3,h4,h5 {
	color:#111112; 
	font-family: 'Raleway'; 
	font-weight:700}

.coloured {
	color:#5d5d5d !important;
}
.coloured2 {
	color:#13449c !important;
}

a {
	color:#13449c;
}
a:hover {
	color:#13449c;
}

strong, b {
	font-weight:700;
}

.header-menu ul li a {
	font-family: 'Raleway';
}

.button {
	border:0px solid #13449c;
	border-radius:20px;
	font-size:13px;
	font-weight:700;
	font-family: Raleway;
	background: #13449c; /* Old browsers */
	background: -moz-linear-gradient(left, #13449c 0%, #13449c 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #13449c 0%,#13449c 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #13449c 0%,#13449c 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#13449c', endColorstr='#13449c',GradientType=1 ); /* IE6-9 */
	color:#ffffff; 
	text-transform:uppercase; 
	letter-spacing:2px;
}
.button:hover {
	-webkit-box-shadow:0 0px 13px -4px rgba(44,125,232,.7),0 5px 12px -12px rgba(44,125,232,.5);
	box-shadow:0 0px 13px -4px rgba(44,125,232,.7),0 5px 12px -12px rgba(44,125,232,.5);
	color:#ffffff !important;
	border-color:#13449c !important;
}

.button-op {
	border-radius:20px;
	font-weight:700;
	font-family: 'Raleway';
	border: 2px solid #1b1c21;
	font-size:13px; 
	color:#1b1c21; 
	text-transform:uppercase; 
	letter-spacing:2px;
}
.button-op:hover {
	background:#1b1c21 !important;
	border-color:#1b1c21 !important;
	color:#ffffff !important;
}

.button-op-c {
	border-radius:20px;
	font-weight:700;
	font-family: 'Raleway';
	border: 2px solid #13449c; 
	font-size:13px; 
	color:#13449c !important; 
	text-transform:uppercase; 
	letter-spacing:2px;
}
.button-op-c:hover {
	border-color:#13449c !important;
	background-color:#13449c !important;
	color:#ffffff !important;
}

.dark-section .button-op:hover, .coloured-section .button-op:hover {
	color:#13449c !important;
	border-color:#ffffff !important;
}
.coloured-section .button-op-c:hover {
	color:#ffffff !important;
	background-color:#1b1c21 !important;
	border-color:#1b1c21 !important;
}

.page-container {
	background:#f7f8fc;
}
.header-info .header-info-item i {
	color:#5d5d5d;	
}

.white-section {
	background:#ffffff;
}
.grey-section {
	background:#f7f8fc;
}
.dark-section {
	background-color:#1b1c21;
}
.coloured-section {
	background: #5d5d5d; /* Old browsers */
	background: -moz-linear-gradient(left, #5d5d5d 0%, #5d5d5d 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #5d5d5d 0%,#5d5d5d 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #5d5d5d 0%,#5d5d5d 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5d5d5d', endColorstr='#5d5d5d',GradientType=1 ); /* IE6-9 */
}

.module h1, .module h2, .module h3, .module h4, .module h5 {
	color:#111112 !important;
}
.module, .module strong {
	color:#1b1c21 !important;
}

.contact-item i {
	color:#5d5d5d;
}

.footer-section {
	background:#1b1c21;
	color:#768596;
}
.footer-social a, .footer-section ul li, .footer-section ul li a {
	color:#768596;
}

.service-box-2-title {
	font-family: 'Raleway'; 
	font-weight:700;
}/*=======================
HEADER & NAVIGATION 
=======================*/
.header-logo {
max-width: 400px !important;
}

.header-info .header-info-item i {
color: #13449c;
}

.header-style-1 .header-menu {
float: none;
position: absolute;
left: 0;
width: 100%;
bottom: -60px;
background: linear-gradient(to bottom, #8f8f8f 0%, #434345 100%);
padding: 0 10px;
text-align: center;
}

.header-section {
padding: 20px 0 60px 0;
}

.header-menu ul li a {
padding: 10px 15px !important;
font-weight: 600 !important;
color: #fff !important;
font-size: 16px;
transition: background 0.3s ease;
}

.header-menu ul li a:hover {
background: #13449c;
color: #fff !important;
}

.header-logo-image {
display: flex;
justify-content: center;
align-items: center;
height: 100%;
position: absolute;
left: 50%;
transform: translateX(-50%);
}

.header-menu ul li .header-menu-sub-menu li a {
color: #121212 !important;
}

.header-menu ul li .header-menu-sub-menu li a:hover {
color: #121212 !important;
}

@media (max-width: 680px) {
.header-section {
padding: 10px 0;
}

.header-logo {
max-width: 230px;
}
}

/* ======================
HOMEPAGE COLLAGE (MOBILE) 
========================*/
@media (max-width: 768px) {
.half-section.pm-bg-image {
width: 90% !important;
height: 200px !important;
margin: 0 auto 18px auto !important;
border-radius: 16px !important;
display: flex !important;
align-items: flex-end !important;
justify-content: center !important;
text-align: center !important;
background-position: center !important;
background-size: cover !important;
overflow: hidden !important;
position: relative !important;
}

/* Text */
.half-section.pm-bg-image h4 {
position: absolute !important;
bottom: 18px !important;
left: 50% !important;
transform: translateX(-50%) !important;
margin: 0 !important;
padding: 0 8px !important;
width: 90% !important;
text-align: center !important;
color: #fff !important;
font-size: 1.1rem !important;
line-height: 1.4 !important;
font-weight: 700 !important;
text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
}

.padgrid,
.padgrid .grid-container,
.padgrid .grid-block {
display: block !important;
width: 100% !important;
margin: 0 auto !important;
padding: 0 !important;
}
}

/*================
REVIEW SECTIONS 
================*/
.reviewMainContent {
overflow: hidden !important;
text-overflow: ellipsis;
-ms-overflow-style: none;
scrollbar-width: none;
}

.reviewMainContent::-webkit-scrollbar {
display: none;
}

/*=================
CREDENTIAL LOGOS 
=================*/

.logos {
display: flex;
justify-content: center;
align-items: center;
gap: 40px;
flex-wrap: wrap;
}

.logos img {
max-height: 140px;
filter: none;
transition: transform 0.3s ease, filter 0.3s ease;
}

.logos img:hover {
transform: scale(1.05);
filter: brightness(0) invert(1);
}

.logo-white {
max-height: 80px;
}

@media (max-width: 768px) {
.logos {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 20px;
padding: 20px 10px;
}

.logos img {
max-width: 80px;
height: auto;
}
}

@media (max-width: 480px) {
.logos {
flex-wrap: nowrap;
overflow-x: auto;
justify-content: flex-start;
gap: 15px;
padding: 15px;
}

.logos img {
max-width: 70px;
height: auto;
flex-shrink: 0; 
}
}

/* =============
GLOBAL HOVERS  
==============*/

.half-section:hover,
.service-card:hover,
.info-card:hover {
transform: scale(1.03);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.25);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/*==============
 CALLBACK BOX 
===============*/

.boxbg4 {
background: linear-gradient(to right, #0C3070, #071F4A);
border-radius: 10px;
font-size: 18px;
padding-top: 40px;
}

.lift3 {
position: relative;
bottom: 155px;
}

/* ================
SERVICE CARDS
================= */
.service-card {
background: #1A212A !important;
border-radius: 12px !important;
overflow: hidden !important;
display: flex !important;
flex-direction: column !important;
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25) !important;
transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

@media (min-width: 1025px) {
.services-scroll-wrapper {
display: flex !important;
flex-wrap: nowrap !important; /* Keep all cards in one line */
justify-content: center !important;
align-items: stretch !important;
gap: 40px !important;
width: 100% !important;
max-width: 1600px !important;
margin: 0 auto !important;
overflow: visible !important;
padding: 40px 0 !important;
}

.service-card {
flex: 1 1 calc(25% - 40px) !important;
max-width: calc(25% - 40px) !important;
min-width: 320px !important;
height: 460px !important;
background: #1A212A !important;
border-radius: 12px !important;
overflow: hidden !important;
display: flex !important;
flex-direction: column !important;
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25) !important;
transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.service-card img {
width: 100% !important;
height: 250px !important;
object-fit: cover !important;
}

.service-card .sub-banner-box-content {
flex: 1 !important;
text-align: center !important;
padding: 25px !important;
}

.service-card h4 {
color: #fff !important;
margin-bottom: 15px !important;
font-size: 20px !important;
}
}


/* ==================
TABLET LAYOUT 
===================*/
@media (min-width: 769px) and (max-width: 1024px) {
.services-scroll-wrapper {
display: flex !important;
flex-wrap: wrap !important;
justify-content: center !important;
gap: 30px !important;
width: 90% !important;
margin: 0 auto !important;
overflow: visible !important;
}

.service-card {
flex: 0 0 45% !important;
max-width: 45% !important;
min-width: 280px !important;
}
}

/* ==========
MOBILE 
=========== */
@media (max-width: 768px) {
.pm-section.home-image.dark-section {
overflow: visible !important;
transform: none !important;
}

.pm-section.home-image.dark-section > .container {
overflow: visible !important;
width: 100vw !important;
max-width: 100vw !important;
padding: 0 !important;
margin: 0 auto !important;
}

.services-scroll-wrapper {
display: flex !important;
flex-wrap: nowrap !important;
width: 100vw !important;
max-width: 100vw !important;
overflow-x: auto !important;
overflow-y: hidden !important;
-webkit-overflow-scrolling: touch !important;
scroll-snap-type: x mandatory !important;
scroll-behavior: smooth !important;
gap: 20px !important;
padding: 25px 20px 45px 20px !important;
margin: 0 auto !important;
background: none !important;
}

.services-scroll-wrapper::before,
.services-scroll-wrapper::after {
content: "";
flex: 0 0 10px;
}

.service-card {
flex: 0 0 80% !important;
max-width: 80% !important;
min-width: 280px !important;
height: 440px !important;
scroll-snap-align: start;
}

.service-card img {
width: 100% !important;
height: 240px !important;
object-fit: cover !important;
}

.services-scroll-wrapper::-webkit-scrollbar {
height: 6px;
}

.services-scroll-wrapper::-webkit-scrollbar-thumb {
background: #13449c;
border-radius: 10px;
}

.services-scroll-wrapper::-webkit-scrollbar-track {
background: transparent;
}
}

/*===============
 INFO CARDS 
===============*/

.info-card {
width: 300px;
height: 300px;
border-radius: 20px;
margin: 30px auto;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
text-align: center;
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
background: #fff;
}

.info-card.primary {
background-color: #13449c;
color: #fff;
}

.info-card .icon-service-icon {
font-size: 70px;
margin-bottom: 20px;
transition: transform 0.3s ease, color 0.3s ease;
}

.info-card h5 {
font-size: 18px;
line-height: 1.5;
font-weight: 600;
}

.info-card:hover .icon-service-icon {
transform: scale(1.15) rotate(5deg);
color: #00aaff;
}

/*===================
COLOURED SECTIONS 
===================*/
.coloured-section {
background: linear-gradient(to right, #0c3070 50%, #071f4a 100%);
}

/*================= 
RESPONSIVE FIXES 
=================*/
@media (max-width: 1208px) {
.rd {
width: 90%;
}

.leftgap {
margin-left: 0;
}

.full1 {
width: 92%;
}

  .padgrid {
padding-bottom: 20px;
}
}

/*=============
GENERAL 
=============*/
.grid-block1 {
padding: 0 0 0 26px;
}

.toppad {
margin-top: 20px;
}

.nopad {
padding: 0px !important; 
margin-top: 20px;
}

.aboutpic1 {
padding: 3% 8% 3% 0%;
}

.boxbg {
background: #FB890C; 
border-radius: 50px; 
font-size: 18px;
}

.leftgap {
margin-left: 30px;
}

.button {
margin-bottom: 15px;
}

.textdrop {
margin-top: 100px;
}

.padtb {
padding: 6% 0%;
}

.lift1 {
position: relative; 
bottom: 70px;
}

.drop { 
position: relative; 
top: 35px;
}

.drop1 { 
position: relative; 
top: 45px;
}

.drop2 { 
position: relative; 
top: 25px;
}

.full {
width: 100%;
}

.textdrop {
font-size: clamp(8px, 18px, 24px);
}

.padsmall {
padding: 4px;
}

.aboutpic {
padding: clamp(2%, 3%, 4%);
}

.aboutpic1 {
padding: clamp(8%, 9%, 10%);
}

.aboutpic2 {
padding: clamp(2%, 3%, 4%);
}

.aboutpic3 {
padding: clamp(12%, 13%, 14%);
}

.aboutpic4 {
padding: clamp(29%, 30%, 31%);
}

.pad {
padding: 10% 5%;
}

.full1 {
width: 75%;
}

.pad5 {
padding-bottom: 20px;
}

.pad6 {
padding-bottom: 50px;
}

.radius {
border-radius: 20px;
}

.boxbg3 {
background-color: #FB890C; 
border-radius: 10px; 
font-size: 18px; 
padding-top: 40px;
}

.shade{
box-shadow: 0 18px 30px -12px rgba(50, 50, 93, .25), 0 10px 18px -18px rgba(0, 0, 0, .3);
}

.reviewtext1  {
font-size: clamp(1.5rem, 4vw, 2.2rem); 
line-height: clamp(1.5rem, 4vw, 2.2rem);
}

.reviewtext2  {
font-size: clamp(1.5rem, 5vw, 3rem); 
line-height: clamp(1.5rem, 5vw, 3rem);
}

.reviewtext3  {
font-size: clamp(1.5rem, 4vw, 1.7rem); 
line-height: clamp(1.5rem, 4vw, 1.7rem);
}

@media (max-width: 1208px) {
  .rd {width: 90%;}
.leftgap {margin-left: 0px;}
.full1 {width: 92%;}
.padgrid {padding-bottom: 20px;}
}

.coloured-section {
background: #ffffff;
background: -moz-linear-gradient(left, #0c3070 50%, #071f4a 100%);
background: -webkit-linear-gradient(left #0c3070 50%, #071f4a 100%);
background: linear-gradient(to right, #0c3070 50%,#071f4a 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0c3070', endColorstr='#071f4a',GradientType=1 );
}

.half-section:hover {
transform: scale(1.15) rotate(2deg);
box-shadow: 0 14px 35px rgba(0,0,0,0.3) !important;
}

@media (min-width: 680px) and (max-width:1260px) {.header-section {padding:10px 0 10px 0;}}@media (max-width: 680px) {.header-section {padding:10px 0 10px 0;}.header-logo {max-width:230px;}}

h1,h2,h3,h4,h5 {text-transform:uppercase;} h1 {font-size:36px;} h2 {font-size:32px;} h3 {font-size:28px;} h4 {font-size:24px;} h5 {font-size:21px;} .header-menu ul li a {font-weight:400; font-size:16px;}