/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
/* Reset CSS */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form,
	fieldset, input, textarea, p, blockquote, th, td {
	margin: 0;
	padding: 0;
}
html, body {
    height: 100%;
    margin: 0;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    flex: 1;
    display: flex; /* flex / block; */
}

main > div {
    flex: 1;
    display: flex; /* flex / block; */
    flex-direction: column; /* optional based on inner layout */
}

footer {
    margin: 0; /* avoid extra margin below */
}
/*--------------------------------------------------------------
/* After Login Pages */

.content-card {
    border: none;
    overflow: hidden;
    box-shadow: 
        0 10px 30px rgba(82, 19, 8, 0.15),
        0 5px 15px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    background: #fff;
}

.content-card-header {
    background: linear-gradient(135deg, #521308 0%, #9e240f 50%, #c5c6c6 100%);
    background-size: 200% 200%;
    border: none;
    position: relative;
    overflow: hidden;
}

.content-card-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(255, 255, 255, 0.15) 50%, 
        transparent 100%);
    transition: left 0.8s ease;
}

.content-card-header:hover::before {
    left: 100%;
}

.content-card-header h6 {
    color: #f8f9fa;
    margin: 0;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
    letter-spacing: 0.5px;
    position: relative;
    z-index: 2;
}

.content-card-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: #521308;
    box-shadow: 0 0 10px rgba(255, 107, 71, 0.5);
}

.content-card-body {
    background: linear-gradient(180deg, #ffffff 0%, #f8f9fa 100%);
    position: relative;
}

.content-card-body::before {
    content: '';
    position: absolute;
    top: 0;
    left: 2rem;
    right: 2rem;
    height: 1px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(82, 19, 8, 0.2) 50%, 
        transparent 100%);
}
/*--------------------------------------------------------------

.section {
	overflow: hidden;
}

/* .card {
	color: #000080;
} */
.card-body {
	/* padding: 1px; */
	cursor: pointer;
	opacity: 0.9;
}

.card-header {
	/* padding-top: 2px; */
	padding-bottom: 0;
	font-weight: bold;
}

.card-footer {
	padding-top: 0;
	padding-bottom: 0;
	font-weight: bold;
}

.card-body:hover {
	opacity: 1;
}

p img{
    max-width: 100%;
    height: auto;
}

marquee a {
	text-decoration: none;
	color: #0c2557 !important;
}

.custom_card {
	background-color: #0c2557 !important;
}

.custom_card marquee ul li::before {
  font-family: "Font Awesome 6 Free";
  content: "\f0a9";
  font-weight: 900;
  margin-right: 8px;
  color: #007bff;
}

/*--------------------------------------------------------------
# topHeader
--------------------------------------------------------------*/
#topHeader .bg-blue {
	background-color: #0c2557 !important;
}

.text-blue {
	color: #0c2557 !important;
}

#topHeader .font-small {
	font-size: 0.6rem;
}

#topHeader .font-original {
	font-size: 0.85rem;
}

#topHeader .font-big {
	font-size: 1rem;
}

/* titleHeader  css*/
#titleHeader .headLogo {
	width: 100px;
	height: 100px;
	object-fit: contain;
}

#titleHeader .main {
	color: #0c2557;
}

#titleHeader .sub {
	color: #521308;
}

.pageHeading {
	border-bottom: 2px solid orangered;
	padding-bottom: 5px;
	margin-top: 5px;
	margin-bottom: 15px;
}
/*--------------------------------------------------------------
# Preloader
--------------------------------------------------------------*/

.preloader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	z-index: 9999;
	display: flex;
	justify-content: center;
	align-items: center;
}

.preloader::after {
	content: "";
	width: 50px;
	height: 50px;
	border: 5px solid #ccc;
	border-top-color: #3498db;
	border-radius: 50%;
	animation: spin 1s linear infinite;
}

@keyframes spin {to { transform:rotate(360deg);}
}



/*--------------------------------------------------------------
# Scroll Button
--------------------------------------------------------------*/
#scrollButton {
	width: 50px;
	height: 50px;
	background-color: #dc3545;
	color: white;
	text-align: center;
	border-radius: 50%;
	position: fixed;
	bottom: 50px;
	right: 20px;
	cursor: pointer;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	opacity: 0.8;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

#scrollButton:hover {
	opacity: 1;
}

#scrollButton i {
	font-size: 18px;
}

#scrollButton i:first-child {
	margin-top: 5px;
}

#scrollButton i:last-child {
	margin-bottom: 5px;
}



/*--------------------------------------------------------------
# Carousel
--------------------------------------------------------------*/
.carousel-item img {
	height: 400px;
	object-fit: cover;
	width: 100%;
}

.carousel-controls {
	position: absolute;
	bottom: 20px;
	right: 20px;
	z-index: 10;
}

.carousel-hover-box {
	position: absolute;
	top: 20px;
	left: 20px;
	background-color: rgba(0, 0, 0, 0.7);
	padding: 15px;
	border-radius: 10px;
	display: none;
	z-index: 15;
}

.carousel-hover-box button {
	display: block;
	width: 100%;
	margin: 10px 0;
	padding: 10px;
	background-color: rgba(255, 255, 255, 0.8);
	border: none;
	border-radius: 5px;
	cursor: pointer;
	color: #000;
	font-size: 14px;
	text-align: left;
}

.carousel-hover-box button:hover {
	background-color: rgba(255, 255, 255, 1);
}

.carousel:hover .carousel-hover-box {
	display: block;
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Menu
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/
/**
* Desktop Navigation 
*/
.bg-brown {
	background: #521308;
}

.menu_nav {
	background: #D82148;
}

.navbar {
	padding: 0;
}

.navbar ul {
	margin: 0;
	padding: 0;
	display: flex;
	list-style: none;
	align-items: center;
}

.navbar li {
	position: relative;
}

.navbar a, .navbar a:focus {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 6px 15px;
	font-family: "Raleway", sans-serif;
	font-size: 0.85rem;
	font-weight: 500;
	color: #fff;
	white-space: nowrap;
	transition: 0.3s;
	text-transform: uppercase;
}

.navbar a i, .navbar a:focus i {
	font-size: 0.8rem;
	line-height: 0;
	margin-left: 5px;
}

.navbar a:hover, .navbar .active, .navbar .active:focus, .navbar li:hover>a
	{
	color: #fff;
}

.navbar .dropdown ul {
	display: block;
	position: absolute;
	left: 30px;
	top: calc(100% + 30px);
	margin: 0;
	padding: 2px 0;
	z-index: 99;
	opacity: 0;
	visibility: hidden;
	background: #fff;
	box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.15);
	transition: 0.3s;
}

.navbar .dropdown ul li {
	min-width: 200px;
}

.navbar .dropdown ul a {
	padding: 5px 15px;
	font-size: 0.75rem;
	color: #D82148;
}

.navbar .dropdown ul a i {
	font-size: 0.7rem;
}

.navbar .dropdown ul a:hover, .navbar .dropdown ul .active:hover,
	.navbar .dropdown ul li:hover>a {
	/*color: #fff;*/
	/*background: #D82148;*/
	padding-left: 25px;
}

.navbar .dropdown:hover>ul {
	opacity: 1;
	top: 100%;
	visibility: visible;
}

.navbar .dropdown .dropdown ul {
	top: 0;
	left: calc(100% - 30px);
	/*visibility: hidden;*/
}

.navbar .dropdown .dropdown:hover>ul:has(li) {
	/* top: 0;
	left: 10%;
	max-width: 350px; */
	z-index: 101;
	opacity: 1;
	visibility: visible;
}

.navbar .dropdown .dropdown:hover>ul:not(:has(li)) {
	opacity: 0;
}

.dropdown-item.active {
  background-color: orange !important;
  color: white;
}

.dropdown-item.show {
  background-color: orange !important;
  color: white;
}



@media ( max-width : 1366px) {
	.navbar .dropdown .dropdown ul {
		/*left: -90%;*/
		
	}
	.navbar .dropdown .dropdown:hover>ul {
		/*left: -100%;*/
		
	}
}

/**
* Mobile Navigation 
*/
.mobile-nav-toggle {
	color: #111111;
	font-size: 28px;
	cursor: pointer;
	display: none;
	line-height: 0;
	transition: 0.5s;
}

.mobile-nav-toggle.bi-x {
	color: #fff;
}

@media ( max-width : 991px) {
	.mobile-nav-toggle {
		display: block;
	}
	.navbar ul {
		display: none;
	}
}

.navbar-mobile {
	position: fixed;
	overflow: hidden;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.9);
	transition: 0.3s;
	z-index: 999;
}

.navbar-mobile .mobile-nav-toggle {
	position: absolute;
	top: 15px;
	right: 15px;
}

.navbar-mobile ul {
	display: block;
	position: absolute;
	top: 55px;
	right: 15px;
	/*	bottom: 15px;*/
	left: 15px;
	padding: 10px 0;
	background-color: #fff;
	transition: 0.3s;
}

p img {
	margin: auto;
	display: block;
}

.navbar-mobile a, .navbar-mobile a:focus {
	padding: 10px 20px;
	font-size: 15px;
	color: #111111;
}

.navbar-mobile a:hover, .navbar-mobile .active, .navbar-mobile li:hover>a
	{
	color: #f26522;
}

.navbar-mobile .getstarted, .navbar-mobile .getstarted:focus {
	margin: 15px;
}

.navbar-mobile .dropdown ul {
	/*	position: absoute;*/
	display: block;
	margin: 10px 20px;
	padding: 10px 0;
	z-index: 99;
	opacity: 1;
	/*	visibility: visible;*/
	background: #fff;
	box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
}

.navbar-mobile .dropdown:hover>ul {
	position: relative;
	visibility: visible;
}

.navbar-mobile .dropdown ul li {
	min-width: 200px;
}

.navbar-mobile .dropdown ul a {
	padding: 10px 20px;
}

.navbar-mobile .dropdown ul a i {
	font-size: 12px;
}

.navbar-mobile .dropdown ul a:hover, .navbar-mobile .dropdown ul .active:hover,
	.navbar-mobile .dropdown ul li:hover>a {
	color: #f26522;
}

.navbar-mobile .dropdown>.dropdown-active {
	display: block;
}

@media ( max-width : 991px) {
	.navbar ul {
		display: block;
		flex-direction: column;
		width: 100%; /* Take full width */
	}
	.navbar .collapse {
		display: none; /* Initially hidden */
	}
	.navbar .collapse.show {
		display: block; /* Show when toggled */
	}
}

/*--------------------------------------------------------------
# icons
--------------------------------------------------------------*/
#services .service-item {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

#services .service-icon {
  width: 100px;   /* or whatever consistent size you want */
  /* height: 100px; */
  object-fit: contain;
}

#services button.btn {
  white-space: normal; /* allows multiline text inside button */
  font-size: 13px;
  padding: 10px 15px;
}
/* .service-icon {
	max-width: 60px;
	height: auto;
} */

.service-item img{
	height: 60px !important;
	}

.service-item {
	text-align: center;
}

#services p {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

#services a {
  text-decoration: none;
  color: inherit;
  font-weight: bold;
}


.contact-item {
	text-align: center;
}

.contact-item i {
	font-size: 3rem;
}

.contact-item .phone-number {
	color: red;
	font-weight: bold;
}

.divider {
	border-left: 1px solid #000;
	height: 100px;
	margin: auto;
}

/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
.title h1 {
	font-size: 16px;
	color: #36458B;
	font-weight: 400;
	text-align: left;
	padding: 10px 0;
	background: #e0efff;
	margin: 0 0 10px 0;
	border-radius: 5px;
}

/*--------------------------------------------------------------
# CK Editor CSS
--------------------------------------------------------------*/

/* When tables have border-style: none set via the table properties UI */
/* Target tables with border-style:none at any level */
figure.table table[style*="border-style:none"],
figure.table table[style*="border-style: none"] {
    border-collapse: collapse !important;
    border: none !important;
}

/* Target all cells within these tables with high specificity */
figure.table table[style*="border-style:none"] > tbody > tr > td,
figure.table table[style*="border-style: none"] > tbody > tr > td {
    border: none !important;
    border-bottom: none !important;
    border-bottom-width: 0 !important;
    box-shadow: none !important;
}

/* Target nested tables too */
figure.table table[style*="border-style:none"] figure.table table,
figure.table table[style*="border-style: none"] figure.table table,
figure.table table[style*="border-style:none"] figure.table table td,
figure.table table[style*="border-style: none"] figure.table table td {
    border: none !important;
    border-bottom: none !important;
    border-bottom-width: 0 !important;
    box-shadow: none !important;
}

/* Override Bootstrap's table styles specifically */
.table > :not(caption) > * > * {
    border-bottom-width: inherit;
}

/* For tables with border-style:none */
figure.table table[style*="border-style:none"] > :not(caption) > * > *,
figure.table table[style*="border-style: none"] > :not(caption) > * > * {
    border-bottom-width: 0 !important;
    box-shadow: none !important;
}

/* IMPROVED: Center alignment for tables with higher specificity */

/* Target tables with center alignment in inline styles - FIXED with higher specificity */
figure.table[style*="text-align:center"],
figure.table[style*="text-align: center"] {
    margin: 0 auto !important;
    display: table !important;
    width: fit-content !important;
    text-align: center !important;
}

/* Target tables with center alignment via data attribute */
figure.table[data-alignment="center"] {
    margin: 0 auto !important;
    display: table !important;
    width: fit-content !important;
    text-align: center !important;
}

/* Target tables with center alignment via class */
figure.table.align-center,
figure.table.ck-widget__align-center {
    margin: 0 auto !important;
    display: table !important;
    width: fit-content !important;
    text-align: center !important;
}

/* NEW: Handle CKEditor 5 specific alignment classes */
figure.table.ck-widget_with-selection-handle.ck-widget_selected[style*="text-align: center"],
figure.table.ck-widget_with-selection-handle[style*="text-align: center"],
.ck-content figure.table[style*="text-align: center"],
.ck-content figure.table[style*="text-align:center"] {
    margin: 0 auto !important;
    display: table !important;
    width: fit-content !important;
    text-align: center !important;
}

/* Ensure the actual table element inside centered figures is also centered with higher specificity */
figure.table[style*="text-align:center"] table,
figure.table[style*="text-align: center"] table,
figure.table[data-alignment="center"] table,
figure.table.align-center table,
figure.table.ck-widget__align-center table,
.ck-content figure.table[style*="text-align: center"] table,
.ck-content figure.table[style*="text-align:center"] table {
    margin: 0 auto !important;
    width: auto !important; /* Allow table to shrink to content width */
}

/* NESTED TABLES: Special handling for tables inside tables */
figure.table table figure.table[style*="text-align:center"],
figure.table table figure.table[style*="text-align: center"] {
    margin: 0 auto !important;
    display: table !important;
    width: fit-content !important;
    text-align: center !important;
}

figure.table table figure.table[style*="text-align:center"] table,
figure.table table figure.table[style*="text-align: center"] table {
    margin: 0 auto !important;
    width: auto !important;
}

/* Override any potential conflicting styles for nested centered tables */
figure.table td figure.table[style*="text-align:center"],
figure.table td figure.table[style*="text-align: center"] {
    margin: 0 auto !important;
    display: table !important;
    width: fit-content !important;
    text-align: center !important;
}

/* Ckeditor Base Styles */
figure.table {
    /* margin: 1em 0; */
    margin: 0 auto;
    width: 100%;
}

figure.table table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    table-layout: fixed;
}

/* Override table-layout for centered tables to allow natural width */
figure.table[style*="text-align:center"] table,
figure.table[style*="text-align: center"] table,
figure.table[data-alignment="center"] table,
figure.table.align-center table,
figure.table.ck-widget__align-center table {
    table-layout: auto !important; /* Allow natural table width for centering */
}

figure.table:not(.table) table[style*="border-style:none"] td,
figure.table:not(.table) table[style*="border-style:none"] th,
figure.table:not(.table) table[style*="border-style:none"] tr,
figure.table:not(.table) table[style*="border-style:none"] {
    border: none !important;
    border-width: 0 !important;
    border-bottom: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    background-color: transparent !important;
}

figure.table td, figure.table th {
    min-width: 2em;
    padding: 0.4em;
    border: 1px solid #bfbfbf;
}

figure.table th {
    font-weight: bold;
    background: #f7f7f7;
}

/* Optional: For responsive behavior */
@media screen and (max-width: 768px) {
    figure.table {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        display: block;
    }
    figure.table table {
        min-width: 600px; /* Ensures table doesn't shrink too much */
    }
    
    /* Keep center alignment on mobile for centered tables */
    figure.table[style*="text-align:center"],
    figure.table[style*="text-align: center"],
    figure.table[data-alignment="center"],
    figure.table.align-center,
    figure.table.ck-widget__align-center {
        display: block !important;
        text-align: center !important;
    }
}

/* Base image styles */
figure.image {
    margin: 1em 0;
    display: table;
    text-align: center;
}

figure .resizeImg{
    width: 50px !important;
    height: 50px !important;
}

figure.image img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

/* Resized image styles */
figure.image_resized {
    overflow: hidden;
    margin-left: auto;
    margin-right: auto
}

figure.image_resized img {
    width: 100%;
    height: auto;
}

/* Alignment styles */
figure.image-style-block-align-left {
    float: left;
    margin-right: 1.5em;
}

figure.image-style-block-align-right {
    float: right;
    margin-left: 1.5em;
}

figure.image-style-block-align-center {
    margin-left: auto;
    margin-right: auto;
}

figure.image img[style*="aspect-ratio"] {
    height: auto !important;
    width: 100%;
}

figure.image figcaption {
    display: table-caption;
    caption-side: bottom;
    padding: 0.6em;
    font-size: 0.9em;
    color: #666;
    text-align: center;
}

@media screen and (max-width: 768px) {
    figure.image-style-block-align-left, figure.image-style-block-align-right{
        float: none;
        margin-left: auto;
        margin-right: auto;
    }
}

.image-row-style {
    display: inline-block;
    margin: 5px;
    max-width: 25%;
    vertical-align: top;
}

.ck-table-resized > tbody > tr {
    border-bottom-width: 0 !important;
}

.tab-content-wrapper-vertical {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-align: center;
    padding: 10px;
}