/*=============================================================
    CSS INDEX
    =============================
    01. good luck bruh
  =============================================================*/
  

body,
p,
a,
li,
span,
div,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Figtree', sans-serif !important;
}


/*#region CLIENT SLIDER CAROUSEL*/
/* This forces the row to stay in a line and allows them to shrink to fit */
/* 1. Target the row to align items and control spacing */
/* 1. The Container: Hides the logos that are "off-screen" */
.logo-slider {
    overflow: hidden;
	max-width: 100%;
    padding: 40px 0;
    background: white; /* Or your background color */
    white-space: nowrap;
    position: relative;
}

/* 2. The Track: This is the long strip that actually moves */
.logo-slide-track {
    display: flex;
    width: calc(250px * 12); /* Calculation: (Width of one logo * total number of logos including duplicates) */
    animation: scroll 30s linear infinite; /* Adjust '30s' to make it faster or slower */
}

/* 3. The Individual Slide */
.slide {
    width: 250px; /* Set a fixed width for each logo slot */
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0; /* Prevents logos from squishing */
}

.slide img {
    width: 150px; /* Control the size of the actual logo image */
    height: auto;
    
    transition: 0.3s;
    opacity: 0.7;
}

/* 4. The Animation: Moves the track left */
@keyframes scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        /* We move it by exactly half the width of the track (since we duplicated the logos) */
        transform: translateX(calc(-250px * 6)); 
    }
}

/* Pause animation on hover so users can look at a specific logo */
.logo-slider:hover .logo-slide-track {
    animation-play-state: paused;
}

/* 3. Ensure the images behave nicely */
.partner-logo .single_logo img {
    max-width: 150px; /* <--- CHANGE THIS: Controls the size of your logos */
    height: auto;
    display: block;
}

/* 4. Optional: Mobile adjustment */
@media (max-width: 991px) {
    .partner-logo .row {
        gap: 20px; /* Smaller gap on mobile */
        justify-content: flex-start !important; /* Allows scrolling from the left */
    }
    
    .partner-logo .single_logo img {
        max-width: 100px; /* Smaller logos on mobile */
    }
}

/*#endregion CLIENT SLIDER*/


/*#region BODY STYLE*/
body {
color: #000000;
font-size: 17px;
font-weight: 500;
line-height: 26px;
background:#fff;
overflow-x:hidden;

}
html,
body { height: 100%;position:relative;  }
h1,
h2,
h3,
h4,
h5,
h6 {
  letter-spacing: 0px;
  margin-top: 0px; 
  color: #1b2032;
  font-weight: 600;
}

a {
text-decoration: none;
-webkit-transition: all 0.2s ease 0s;
transition: all 0.2s ease 0s;
}
a:hover {
    color: #bd2125;
    text-decoration: none;
}
a:focus {
    outline: none;
    text-decoration: none;
}
p {
    margin-bottom: 0;
}
ul,
li {
    margin: 0;
    padding: 0;
}

::-webkit-input-placeholder {
  font-weight: 400;
font-family: 'Poppins', sans-serif; }

:-moz-placeholder {
  font-weight: 400;
font-family: 'Poppins', sans-serif;}

::-moz-placeholder {
  font-weight: 400;
font-family: 'Poppins', sans-serif;}

:-ms-input-placeholder {
  font-weight: 400;
font-family: 'Poppins', sans-serif;}
.form-control::placeholder {
	color: #232a34;
	opacity: 1;
}
fieldset {
    border: 0 none;
    margin: 0 auto;
    padding: 0;
}
/*#endregion BODY STYLE*/


/*#region PRELOADER DESIGN*/
/*START PRELOADER DESIGN*/
.preloader {
	background:#fff;
    bottom: 0;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 99999;	
}
.spinner {
	width: 50px;
	height: 50px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -25px 0 0 -25px;
	font-size: 10px;
	text-indent: -12345px;
	z-index: 10000;
}
.double-bounce1, .double-bounce2 {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background:#bd2125;
  opacity: 0.6;
  position: absolute;
  top: 0;
  left: 0;
  
  -webkit-animation: sk-bounce 2.0s infinite ease-in-out;
  animation: sk-bounce 2.0s infinite ease-in-out;
}
.double-bounce2 {
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s;
}
@-webkit-keyframes sk-bounce {
  0%, 100% { -webkit-transform: scale(0.0) }
  50% { -webkit-transform: scale(1.0) }
}
@keyframes sk-bounce {
  0%, 100% { 
    transform: scale(0.0);
    -webkit-transform: scale(0.0);
  } 50% { 
    transform: scale(1.0);
    -webkit-transform: scale(1.0);
  }
}
.status-mes h4 {
color: #f7f7f7;
position:relative;
font-size:24px;
margin-top: 30px;
text-transform: capitalize;
letter-spacing: 1px;
}
.no-padding { padding: 0 }
/*END PRELOADER DESIGN*/
/*#endregion PRELOADER DESIGN*/


/*#region SECTION TITLE DESIGN*/

/* Partner Carousel Central Padding*/
.partner-logo.section-padding {
    padding:70px 0;
    padding-left:15px;
	padding-right:15px;
}

@media (max-width: 1000px) {
.partner-logo.section-padding {
    padding:35px 0;
}
}

/*START SECTION TITLE DESIGN*/
.section-title{
    margin-bottom: 0px;
    padding: 0 10px;
    padding: 20px;
    width: 90%;
    margin: auto;
}


h2.section-title-white{
color:#000000;
font-size: 48px;
font-weight:600;
margin-top: 0;
position: relative;
text-transform: capitalize;
}

p.section-title-white{
    color:#000000;
}

.section-title span{
background: #f5325c none repeat scroll 0 0;
display: block;
height: 2px;
margin: 10px auto;
width: 100px;
}

.section-title-white{
    color:#fff;position:relative;
}

.section-title  p{
padding: 0 10px;
width: 60%;
margin: auto;	
}


.section-title h2{
font-size: 48px;
font-weight:600;
position: relative;
text-transform: capitalize;
}


/*END SECTION TITLE DESIGN*/
/*#endregion SECTION TITLE DESIGN*/

/*#region HOME BIG BOLD CALL BUTTON CSS*/
.call-btn {
    position: relative;
    display: flex;
    align-items: center;
	min-width: 250px;
    max-width: 100%;
    height: 56px;
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 30px;
    text-decoration: none;
    color: #fff !important;
    box-sizing: border-box;
}
/* LEFT ICON */
.call-btn-icon {
    position: absolute;
	
    left: 12px;
	
    width: 36px;
    height: 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(255,255,255,0.15);
    border-radius: 50%;
}

/* keep image stable */
.call-btn-icon img {
    width: 20px;
    height: 20px;
    display: block;
}

/* TRUE CENTERED TEXT (independent of icon) */
.call-btn-text {
	padding-left: 30px !important;
	
    position: absolute;
    left: 50%;
    transform: translateX(-50%);

    text-align: center;
    white-space: nowrap;
}

.call-btn-text strong {
    font-size: 20px;
    font-weight: 700;
}

.call-btn {
    justify-content: center;
}
/*#endregion*/

/*#region BUTTON DESIGN*/
/* Merged into later PERMIT SERVICES GRID override to avoid duplicate base definitions. */
/*#endregion*/


/*#region HOME DESIGN*/
.home_bg{
	position:static;
	background-attachment: fixed;
}
.home_bg::before {
	background: #000000bf;
	bottom: 0;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
}

.hero-text{
padding-top: 0px;
position: relative;
}

.hero-text h2 {
	color: #ffffff;
	font-weight: 700;
	padding-bottom: 2px;
    letter-spacing: 1px;
}
.hero-text span {
	color: #ffffff;
	padding: 5px;
	font-size: 20px;
	font-weight: 1000;
	letter-spacing: 1px;

}
.hero-text a{
	background:#0000006c;
	border: 3px solid #5757577c;
	color: #ffffff;
	padding: 8px 40px;
	font-weight: 500;
	font-size: 20px;
	border-radius: 30px;
	transition: 0.3s;
	margin-top: 15px;
	box-shadow: 0 5px 50px -5px rgba(0, 64, 128, 0.438);
	display: inline-block;
}
.hero-text a:hover {
background:none;
border:2px solid #fff;
color:#fff;
}
.hero-text p {
  color: #fff;
  margin: auto;
  width: 90%;
  	font-weight: 600;
  margin-bottom: 25px;
}
/*#endregion HOME DESIGN*/


/*#region FEATURES (PERMITS) AREA*/
.feature_area {
	position: relative;
	margin-top: 0px;
	
}

@media only screen and (max-width:991px) { 
.feature_area{
	margin-top:0px;
}

}
.feature_bg{
	padding-left:20px;
	padding-right:20px;
	padding-bottom:20px;
	background: #fff;
	box-shadow: 0 10px 40px -10px rgba(0,64,128,.2);
	border-radius: 10px;
	margin-top:50px;
}

@media only screen and (max-width:991px) { 
.feature_bg{
	margin-top:0px;
}

}
.single_feature {
	background: #f9fcff;
	position: relative;
	padding: 60px;
	border: 1px solid #eee;
	border-radius: 5px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 100%; 
	transition:0.3s;
    
}

.single_feature:hover{
background:#fff;
box-shadow:0px 60px 60px rgba(0,0,0,0.1);
-webkit-transform: translate(0, -10px);
        transform: translate(0, -10px);
}

.single_feature img {
width:45px;
margin-bottom: 25px;
}

.single_feature h4 {
	margin-bottom: 15px;
	font-size: 20px;
}

.single_feature p{}

/*#endregion*/




/*#region START CONTACT DESIGN*/
.contact_area{background:#ffffff;}

.contact input {
	background: #fff;
	border-bottom: 1px solid #ccc;
	border-radius: 0px;
	box-shadow: none;
	color: #1b2032;
	font-size: 18px;
	font-weight:400;
	height: 70px;
	padding: 20px;
	width: 100%;
	margin-bottom: 15px;
	
}
.contact textarea {
	background: #fff;
	border-bottom: 1px solid #ccc;
	border-radius: 0px;
	box-shadow: none;
	color: #1b2032;
	font-size:18px;
	margin-bottom: 15px;
	font-weight:400;
	padding: 20px;
	width: 100%;
	
}
.contact input:focus {
	border: 1px solid #f6f6f6;
    box-shadow: none;
	color: #1b2032;
	background: #fff;
    outline: 0 none;
}
.contact textarea:focus {
	border: 1px solid #fff;
    box-shadow: #f6f6f6;
    outline: 0 none;
	color: #1b2032;
	background: #fff;
}
.contact button {
	font-size: 16px;
}
.contact_btn {
	background: #bd2125;
	display: inline-block;
	color: #fff;
	border: 2px solid #bd2125;
	padding: 12px 40px;
	margin-bottom: 50px;
	transition: 0.3s;
}
.contact_btn:hover{
	background: #232a34;
	border: 2px solid #232a34;
}
/*#endregion CONTACT AREA DESIGN*/


/*#region START SERVICES REGION*/
/*SERVICES TEXT AND SIDEBAR PADDING*/
.xpermit_page{
	margin-bottom: 10px;
	padding: 0 30px;
	
}

.xpermit_page h3{
	  letter-spacing: 0px;
	  font-weight: 550;
	  text-align: left;
	  
}


/*SERVICES MAIN TEXT UNDER HERO*/
.xpermit_page p{
    font-weight: 535;
	font-size: 29px;
	padding: 10px;
    padding-top: 10px
	color: #000000;
	text-align: center;
}


/* PHONE FORMATTING */
@media (max-width: 991px) {
    .xpermit_page p {
        font-size: 30px;
        font-weight: 600;
        margin-top: 10px;
        line-height: 35px;
    }
}

/* PC/LAPTOP FORMATTING */
@media (min-width: 991px) {
    .xpermit_page p {
        font-size: 40px;
        padding: 20px;
        line-height: normal;
    }
}

/*SERVICES BULLET POINTS TEXT*/
.xpermit_page li{
    font-weight: 400;
	font-size: 15px;
	color: #000000;
	text-align: left;

}

.xpermit_page ul {
    display: inline-block;
    text-align: left;
    padding-left: 0;
    margin: 0 auto;
}

.xpermit_page {
    text-align: left;
	
}
/*#endregion BULLET POINTS TEXT*/


/*#region HEADER HEIGHT CROPPING OVERRIDE*/
.home_bg{
	position:relative;
	
	  /* Takes up 100% of the visible screen height */
    /* Turns the section into a flex container to align the inner container */
    display: flex;
    align-items: center; /* Centers content vertically */
    justify-content: center; /* Centers content horizontally */
    background-attachment: scroll;
}

/* CHANGE HEADER BG HEIGHT FOR MOBILE */

.home_bg {
    min-height: 65dvh;
}

@media (max-width: 991px) {
    .home_bg {
        min-height: 60dvh;
    }
}

/*#endregion*/


/*#region SIDEBAR*/
/* PAGE LAYOUT WITH SIDEBAR */
.page-body-wrapper {
    display: flex;
    align-items: flex-start;
    max-width: 1400px;
    margin: 0 auto;
}

.page-main-content {
    flex: 1;
    min-width: 0;
}

.page-sidebar {
    display: none;
    width: 280px;
    flex-shrink: 0;
    padding: 40px 20px 40px 0;
    position: static;
    top: 80px;
    align-self: flex-start;
}

@media (min-width: 991px) {
    .page-sidebar {
        display: block;
        padding: 0px;
    }
}

/* Sidebar widgets */
.sidebar-widget {
    background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
    border-radius: 18px;
    border: 1px solid rgba(19, 33, 53, 0.12);
    padding: 24px;
    margin-bottom: 22px;
    margin-top: 0px;
    box-shadow:
        0 10px 30px rgba(15, 35, 60, 0.08),
        0 2px 8px rgba(15, 35, 60, 0.04);
    backdrop-filter: blur(6px);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.sidebar-widget:hover {
    box-shadow:
        0 16px 40px rgba(15, 35, 60, 0.12),
        0 4px 12px rgba(15, 35, 60, 0.06);
    border-color: rgba(14, 92, 166, 0.18);
}

.sidebar-widget-highlight {
    border-left: 4px solid #bd2125;
}

/* Widget titles */
.sidebar-widget-title {
    font-size: 14.5px;
    font-weight: 800;
    color: #162033;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(19, 33, 53, 0.08);
    line-height: 1.3;
}


/* Quick links list */
.sidebar-nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sidebar-nav-list li {
    border-bottom: none;
}

.sidebar-nav-list li:last-child {
    border-bottom: none;
}

.sidebar-nav-list li a {
    display: flex;
    align-items: center;
    padding: 12px 14px;
    font-size: 15px;
    font-weight: 500;
    color: #1b2032;
    text-align: left;
    text-decoration: none;

    border: 1px solid rgba(19, 33, 53, 0.322);
    border-radius: 10px;
    background: #fbfbff;

    margin: 6px 0;

    transition:
        color 0.2s ease,
        padding-left 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.sidebar-nav-list li a:hover {
    color: #a60e0e;
    padding-left: 18px;
    background: rgba(166, 14, 14, 0.103);
    border-color: rgba(166, 14, 14, 0.25);
    box-shadow: 0 4px 10px rgba(14, 92, 166, 0.08);
}

/* Icons */
.sidebar-nav-list img {
    width: 20px;
    height: 20px;
    object-fit: contain;
    vertical-align: middle;
    margin-right: 10px;
    opacity: 0.9;
}

.sidebar-nav-list li a img {
    width: 18px;
    height: 18px;
    margin-right: 10px;
    vertical-align: middle;
}

/* Visibility helpers */
.desktop-features-only {
    display: block;
}

.mobile-features-only {
    display: none;
}

@media (max-width: 991px) {
    .desktop-features-only {
        display: none;
    }

    .mobile-features-only {
        display: block;
    }
}



/* Sidebar Width */
.page-sidebar {
    width: 255px;      /* Fixed width for your sidebar */
    flex-shrink: 0;    /* Prevents the sidebar from squeezing */
}

/*#endregion SIDEBAR*/



/*#region PERMIT SERVICES GRID AND BUTTON/BTN APPEARANCE OVERRIDE*/
/*SERVICES GLOBAL OVERRIDE*/
.single_feature .permit_btn {
    margin-top: auto;
	align-self: center; /* or center */
    display: inline-block;
    text-decoration: none;
}

/*SERVICES BUTTON OVERRIDE*/
.permit_btn {
	background: linear-gradient(160deg, #ffffff, #ebf1f7);
	font-family: 'Figtree', sans-serif;
	border: 2px solid #1b2032da;
	color: #1b2032;
	padding: 4px 20px;
	border-radius: 30px;
	transition: 0.3s;
	box-shadow: 0 10px 20px -10px rgba(0, 64, 128, 0.596);
	display: inline-block;
	/* Typography */
    font-weight: 800;       /* bold */
    font-size: 14px;
    letter-spacing: 0.2px;
	line-height: 15px;
	width: 150px;        /* adjust to taste */
    text-align: center;
}

/*SERVICES BUTTON HOVER*/
.permit_btn:hover {
background:#bd2125;
border:2px solid #bd2125;
color:#fff;
 /* ... (Keep hover colors from Option 1) ... */
  transform: translateY(-5px); 
  box-shadow: 0 10px 20px -10px rgba(0, 64, 128, 0.596);
}

/* Equal height columns */
.feature_bg .row,
.feature_bg {
    display: flex;
    flex-wrap: wrap;
}
.feature_bg [class*="col-"] {
    display: flex;
	
}

.page-main-content {
    flex: 1;
    min-width: 0;
}

.page-sidebar {
    width: 320px;
    flex-shrink: 0;
}

.page-body-wrapper {
    display: flex;
    align-items: flex-start;
    max-width: 1200px; /* Adjust to match your design's max width */
    margin: 0 auto;    /* Centers the entire container on the page */
    padding: 0 0px;   /* Edge padding */
    gap: 20px;         /* CONTROLS THE GAP: Shrink this number to push the sidebar left */
}
/*#endregion*/


/*#region CONTACT US PHONE&EMAIL BLUE BUTTONS*/
.contact-action-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    width: 220px;
    margin-left: auto;
    margin-right: auto;

    padding: 12px 16px;

    background: linear-gradient(180deg, #272b4b  0%, #132135 100%);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 14px;

    color: #ffffff;
    text-decoration: none;

    font-weight: 500;
    font-size: 13px;
    letter-spacing: 0.5px;

    box-shadow:
        0 10px 28px rgba(1, 38, 151, 0.25),
        0 3px 8px rgba(8, 12, 24, 0.18);


    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        border-color 0.22s ease,
        background 0.22s ease;
}

.contact-action-btn:hover {
    transform: translateY(-2px);
    background: linear-gradient(180deg, #394074 0%, #292d52 100%);
    border:2px solid #bd2125;
    border-color: rgba(255,255,255,0.16);
    box-shadow:
        0 16px 36px rgba(8, 12, 24, 0.32),
        0 5px 14px rgba(8, 12, 24, 0.22);

    color: #ffffff;
    background:#bd2125;
   
    
}

.contact-action-btn img {
    width: 18px;
    height: 18px;
    object-fit: contain;
    opacity: 0.95;
    transition: transform 0.22s ease;
}

.contact-action-btn:hover img {
    transform: scale(1.05);
}
/*#endregion*/


/* ----------------------------------------------------------------------------------------
* FOOTER 
* ---------------------------------------------------------------------------------------*/

/*#region FOOTER*/

/*FOOTER BORDER*/
.footer {
	padding-bottom: 25px;
	padding-top: 25px;
	background-size: 100% 100%;
	background-color: #ffffff;
	border-top: 30px solid #132135;
	text-align: center;
}
/*THIS IS FOR FOOTER LOGO PADDING OVERRIDE*/
.footer_logo {padding-top:10px;}
/*THIS IS FOR FOOTER LOGO SIZE OVERRIDE*/
.footer_logo img{
	width:250px;
}
/*TEXT UNDER LOGO FOOTER*/
.footer_logo p {
	color: #000000;
	margin-top: 10px;
	margin-bottom: 25px;
	text-align: center;
	max-width: 250px;      /* or whatever width fits your design */
    margin-left: auto;
    margin-right: auto;
	overflow-wrap: break-word;
    word-break: break-word;
}
/*CENTER SOCIAL MEDIA ICON*/
.social_profile ul {
    list-style: none;
    margin: 0;
    padding: 0;

    display: flex;
    justify-content: center; /* centers horizontally */
    gap: 10px; /* spacing between icons */
}
/*#endregion*/



/* ----------------------------------------------------------------------------------------
* PERMIT SINGLE SERVICE PAGE OVERRIDE START
* ---------------------------------------------------------------------------------------*/





/* ----------------------------------------------------------------------------------------
* PERMIT SINGLE SERVICE PAGE OVERRIDE END
* ---------------------------------------------------------------------------------------*/
/*#region INTRO TEXT OVERRIDE*/
.intro-text{
    width: 100%;
    padding: 25px;
    text-align: center;

}
/*#endregion*/
#services, #contact {
  /*prevents sticky navbar from covering heading */
  scroll-margin-top: 90px; 
}


/* ==========================================================================
   Responsive Visibility Rules
   ========================================================================== */

/*#region MOBILE RESPONSIVE SETTINGS */
/* 1. Mobile Settings (Under 992px) */
@media (max-width: 991.98px) {
  .desktop-only-container {
    display: none !important;
  }
  .mobile-only-container {
    display: block !important;
  }
}

/* 2. Desktop Settings (992px and up) */
@media (min-width: 992px) {
  .desktop-only-container {
    display: block !important; /* Forces the layout container back into view */
  }
  .mobile-only-container {
    display: none !important;
  }
}


/* Target devices with screens smaller than 991px (standard mobile/tablet breakpoint) */


@media (min-width: 991px) {
    .hero-text p {
        font-size: 24px !important; /* Adjust this value to whatever size feels right */
        line-height: 1; /* Keeps the spacing looking proportional */
    }
}


@media (max-width: 991px) {
.hero-text h2 {
	color: #ffffff;
	font-size: 36px !important;
	font-weight: 700;
	padding-bottom: 2px;
    letter-spacing: 1px;
    }
}

@media (min-width: 992px) {
.hero-text h2 {
	color: #ffffff;
	font-size: 72px !important;
	font-weight: 700;
	padding-bottom: 2px;
    letter-spacing: 1px;
    }
}


/*#region PC/DESKTOP FOOTER FONT STYLE OVERRIDE*/
/* PCs / desktop screens */
@media (min-width: 1024px) {
  .footer_logo p {
	color: #132135;
	font-size: 23px;
	font-weight: 500;
	margin-top: 10px;
	margin-bottom: 25px;
	text-align: center;
	max-width: 550px;      /* or whatever width fits your design */
    margin-left: auto;
    margin-right: auto;
	overflow-wrap: break-word;
    word-break: break-word;
	
  }
}

@media (min-width: 1024px) {
  .footer_logo span {
	color: #132135;
	font-size: 17px;
	font-weight: 700;

  }
}

/*#endregion*/

/*#region MOBILE FOOTER FONT STYLE OVERRIDE*/
/* PCs / desktop screens */
@media (max-width: 991px) {
  .footer_logo p {
	color: #132135;
	font-size: 18px;
	font-weight: 500;
	margin-top: 10px;
	margin-bottom: 25px;
	text-align: center;
	max-width: 300px;      /* or whatever width fits your design */
    margin-left: auto;
    margin-right: auto;
	overflow-wrap: break-word;
    word-break: break-word;
	
  }
}

@media (max-width: 991px) {
  .footer_logo span {
	color: #132135;
	font-size: 17px;
	font-weight: 700;

  }
}

/*#endregion MOBILE FOOTER FONT STYLE OVERRIDE*/



/*#region MOBILE BUTTON OVERRIDE*/
@media (max-width: 991px) {
.permit_btn {
    font-weight: 800;      
    font-size: 13px;
	width: 130px;
	}
}
/*#endregion MOBILE BUTTON OVERRIDE*/


/*#region Responsive adjustment for mobile viewports */
@media (max-width: 991px) {
    .page-body-wrapper {
        flex-direction: column; /* Stacks them vertically on mobile */
    }
    .page-sidebar {
        width: 100%;
    }
}
/*#endregion Responsive adjustment for mobile viewports*/

/*#region MOBILE PERMIT SERVICES GRID FORMATTING*/
@media only screen and (max-width: 991px) {
    .feature_bg {
        padding-left:15px !important;
        padding-right:15px !important;
    }
    .feature_bg .col-lg-4 {
        width: 50% !important;
        
    }
    .single_feature {
        padding: 20px !important;
        text-align: center;
        height: 100%;
       
    }
    .single_feature img {
        width: 36px !important;
        margin-bottom: 12px !important;
    }
    .single_feature h4 {
        font-size: 15px;
        margin-bottom: 8px;
    }
    .single_feature p {
        font-size: 13px;
        line-height: 20px;
    }
}
/*MOBILE SERVICES GRID FORMATTING OVERRIDE END*/
/*#endregion SERVICES MOBILE GRID FORMATTING*/

@media (max-width: 1000px) {
.xpermit_page h3{
	  letter-spacing: 0px;
	  font-weight: 550;
	  text-align: left;
    }       
}

@media (max-width: 1000px) {
.xpermit_page{
	  padding: 10px;
      text-align: left;
    }       
}

@media (max-width: 1000px) {
.marketing_list_area{
    padding-bottom: 20px;
}
}

.section-title-white {
    text-align: center;
    font-size: 1.25rem; /* Use a smaller, more subtle text */
    font-weight: 550; /* Light weight looks modern */
    letter-spacing: normal; /* Spreads the letters out */
    color: #777; /* Use a soft gray instead of pure black */
    margin: 40px 0 20px 0;

}

.icon-menu{
    text-decoration: none !important;
}

/*#endregion MY ADDITIONS 2*/
















/* =================================== */
/* 1. GENERAL CONTAINER & SECTION STYLING */
/* =================================== */


/* Styling the main wrapper area for padding/structure */
.contact-wrapper {
    max-width: 800px; /* Keeping the form contained and readable */
    margin: 0 auto;
    padding: 40px 20px;
}

/* Styling the OR separator */
.section-title-white {
    text-align: center;
    font-size: 1.25rem; /* Use a smaller, more subtle text */
    font-weight: 550; /* Light weight looks modern */
    letter-spacing: normal; /* Spreads the letters out */
    color: #777; /* Use a soft gray instead of pure black */
    margin: 40px 0 20px 0;

}


/* =================================== */
/* 2. FORM ELEMENTS & LAYOUT */
/* =================================== */

/* Container for the entire form structure */
.contact-card {
    background: #ffffff; /* Ensure white background */
    padding: 30px 40px; /* More comfortable padding */
    border-radius: 12px; /* Soft rounded corners */
   box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
    margin-top: 0; 
    margin-bottom: 0; 
}

.contact-form-section {
    /* This container manages the visual grouping */
    margin-bottom: 60px; /* Set a clear break below the form */
}

/* 3. Control spacing between the button group and the form card */
.contact-form-section .section-title-white {
    /* The OR text is placed here. We use margin-bottom to space it from the card. */
    margin-bottom: 20px; 
}

/* Styling all standard inputs (text, email, textarea) */
.form-control {
    display: block; /* Make inputs take up full width */
    width: 100%;
    padding: 12px 15px;
    margin-bottom: 20px; /* Space below every field */
    border: 1px solid #ddd; /* Light, subtle border */
    border-radius: 8px; /* Slightly rounded input corners */
    transition: border-color 0.3s, box-shadow 0.3s; /* Smooth transitions */
    box-sizing: border-box; /* Important for padding consistency */
}

/* Focus state: This is crucial for modern UX */
.form-control:focus {
    border-color: #007bff; /* Primary blue color on focus */
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25); /* Soft blue glow */
    outline: none; /* Remove the default browser outline */
}

/* Styling for the textarea */
textarea.form-control {
    resize: vertical; /* Allows user to resize vertically only */
}

/* Grouping inputs in a row (assuming Bootstrap grid classes) */
/* This targets the inner form-groups to manage side-by-side inputs */
.row .form-group {
    margin-bottom: 20px; /* Ensure spacing between groups */
}
/* If you are using Bootstrap 4/5, the column classes handle the layout, 
   but this ensures internal spacing remains clean. */

/* =================================== */
/* 3. THE BUTTON (The Action Item) */
/* =================================== */

.contact_btn {
    /* Override existing styles for a modern look */
    width: 100%; /* Make the button full width */
    padding: 15px 20px;
    background: linear-gradient(180deg, #272b4b  0%, #132135 100%);
    color: white !important;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: background-color 0.3s, transform 0.1s;
    box-shadow: 0 4px 14px rgba(0, 123, 255, 0.3); /* Subtle lift effect */
}

/* Hover state: Makes the button feel interactive */
.contact_btn:hover {
    background-color: #bd2125; /* Slightly darker blue on hover */
    box-shadow: 0 6px 15px rgba(0, 123, 255, 0.4);
    transform: translateY(-1px); /* Slight lift effect */
}

/* Active state: Provides feedback when clicked */
.contact_btn:active {
    background-color: #bd2125;
    transform: translateY(0);
    box-shadow: 0 2px 5px rgba(0, 123, 255, 0.2);
}

/* =================================== */
/* RESPONSIVENESS TIP: Adjust padding for mobile */
/* =================================== */
@media (max-width: 768px) {
    .contact-card {
        padding: 25px 20px;
    }
    .form-control {
        margin-bottom: 15px;
    }
}


/* 4. Adjust the main form container flow */
/* This is critical: we ensure the form wrapper takes up the full width 
   of the column it's in, eliminating residual column margins. */
.contact-card .row {
    margin: 0 auto; /* Center the row within the card if needed */
    padding: 0; /* Clear any padding conflicts */
}