* {
  box-sizing: border-box;
}

:root {
    --primary-color: #046aa3;
    --success-color: #10b981;
    --warning-color: #f59e0b;
    --danger-color: #ef4444;
    --info-color: #8b5cf6;
    --caution-color: #ff7ad1;
    --text-primary: #1f2937;
    --text-secondary: #6b7280;
    --label-color: #484848;
    --border-color: #e5e7eb;
    --bg-light: #f9fafb;
    --bg-body: #f5f6f8;
    --shadow-sm: 0 2px 10px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 15px rgba(0, 0, 0, 0.1);
    --border-radius: 12px;
    --secondery-color: #046aa3;
    --secondary-color: #6c757d;
    --third-color: #4e4e4e;
    --fourth-color: #e7e7e7;
    --fifth-color: #747474;
    --background-color: #f8f9fa;
    --white-color: #ffffff;
    --black-color: #000000;
    --table-th: #e5e9ff;
    --table-border: #e5e9ff;
    --card-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    --card-shadow-two: rgba(100, 100, 111, 0.2) 0px 7px 30px 0px;
    --hover-shadow: 0 10px 20px rgba(0, 0, 0, .12), 0 4px 8px rgba(0, 0, 0, .06);
}

.navbar {
    padding: 0.2rem 0.5rem !important;
}

/* .container-fluid.boxH {
	max-width: 1200px;
	margin: 30px auto;
	background: #fff;
	padding: 10px 20px 10px 20px;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
} */

.container-fluid.boxH {
	max-width: 1200px;
	margin: 30px auto;
	background: #fff;
	padding: 10px 20px 10px 20px;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.form-grid {
	display: grid;
	grid-template-columns: 200px auto;
	gap: 18px 25px;
	margin-top: 25px;
	align-items: center;
}

.label {
	text-align: right;
	font-weight: 600;
	color: #333;
}

.label span {
	color: red;
}

.form-group {
    margin: 0px 0px 5px 0px;
}

.form-group label {
    display: flex;
    align-items: center;
    margin-top: 2px !important;
    margin-bottom: 3px !important;
    font-weight: 500;
    font-size: 12px;
    letter-spacing: 0.2px;
    z-index: 9;
}

.form-control {
    width: 100%;
    display: block;
    height: 32px;
    padding: 0.25rem 0.5rem;
    line-height: 1.5;
    color: #000;
    background-clip: padding-box;
    background: var(--white-color);
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    
    border: 1px solid #2d6fb691 !important;
    box-shadow: inset -1px -1px 4px rgb(71 112 157 / 30%) !important;

    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 13px;
    font-weight: 400;
    border-radius: 5px;
}

.dflex .form-control{
	margin-right: 5px; 
}


.textBox, .TextBox, input[type="text"], input[type="password"], select, textarea {
	box-sizing: border-box;
}

.tablesorter-blue tbody tr td input[type="text"], .tablesorter-blue tbody tr td select, .tablesorter-blue tbody tr td textarea{
	/* min-width: 20% !important; */
}

.form-group .TextBox {
    width: 100% !important;
    box-sizing: border-box;
}

input[type="text"], input[type="password"], select {
	display: inline-block;
    padding: 0.25rem 0.5rem;
    line-height: 1.5;
    color: #000;
    background-clip: padding-box;
    background: var(--white-color);
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    
    border: 1px solid #b4b4b4;
    box-shadow: inset 0 1px 5px 1px rgb(244 244 244 / 78%) !important;

    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 13px;
    font-weight: 400;
    border-radius: 5px;
}

textarea {
	display: inline-block;
    padding: 0.25rem 0.5rem;
    line-height: 1.5;
    color: #000;
    background-clip: padding-box;
    background: var(--white-color);
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    
    border: 1px solid #b4b4b4;
    box-shadow: inset 0 1px 5px 1px rgb(244 244 244 / 78%) !important;

    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 13px;
    font-weight: 400;
    border-radius: 5px;	
	
	resize: vertical !important;
	min-height: 70px !important;
}

input[readonly] {
    background-color: #f5f5f5 !important; 
    color: #555;
    border: 1px solid #b4b4b4;
    cursor: not-allowed;

	height: 32px !important;
    padding: 0.25rem 0.5rem;
    line-height: 1.5;
    background-clip: padding-box;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    
    box-shadow: inset 0 1px 5px 1px rgb(244 244 244 / 78%) !important;

    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 13px;
    font-weight: 400;
    border-radius: 5px;	    
    
}

input[type="text"]:focus, input[type="password"]:focus, textarea:focus {
	border: none !important;
	outline: none !important;
	box-shadow: 0 0 6px rgba(0, 123, 255, 0.4) !important; /* focus shadow */
}

.twoColumns {
	width: 49%;
	display: inline-block;
}

.Button, .button {
	cursor: pointer;
	font-size: 12px;
	border-radius: 5px;
}

.otp-section {
	display: flex;
	gap: 10px;
	align-items: center;
}

.captchaDiv {
	background: #fff !important;
	margin-right: 10px;
}

.captchaDiv img {
	border: 0px solid #ccc;
	border-radius: 5px;
	height: 26px;
}

.form-container {
	width: 100%;
	max-width: 1000px;
}

.form-row {
	display: flex;
	margin-bottom: 10px;
	align-items: center;
}

.form-label {
	width: 30%;
	text-align: right;
	padding-right: 10px;
	font-weight: 600;
}

.form-field {
	width: 70%;
}

.captchaDiv {
	display: flex;
	align-items: center;
	gap: 10px;
}

.txt30 {
	width: 30% !important;
}

.mand {
	color: #f00;
}

.card {
	border-radius: 12px;
	box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
	margin: 10px auto;
	width: 99%;
	border: 1px solid #e9e9e9;
}

.card-heading {
	display: flex;
	justify-content: space-between;
	align-items: center;
	list-style: none;
	border-top-right-radius: 8px;
	border-top-left-radius: 8px;
	padding: 10px 15px;
	font-size: 13px;
	font-weight: 500;
	background: #ebebeb;
	color: #001139;
}

.card-body {
	padding: 1rem 1.5rem;
	background: #fff;
	border-radius: 10px;
	/* overflow: auto; */
}

.card-title {
	margin-bottom: 0px !important;
}

.card-overflow, .overflow{
	overflow: auto;
}

.btnBox {
	text-align: center !important;
	margin: 20px;
}

.text-center {
	text-align: center !important;
}

.mtb10 {
	margin: 10px 0px !important;
}

.p5 {
	padding: 5px !important;
}

.p10 {
	padding: 10px 10px !important;
}

.p20 {
	padding: 20px 20px !important;
}

.pt10pb10 {
	padding: 10px 10px !important;
}

.pt5pb5 {
	padding: 5px 5px !important;
}

.pt20pb10 {
	padding: 10px 20px !important;
}

.m0 {
	margin: 0px !important !important;
}

.registrationTerms {
	width: 100%;
	margin-bottom: 10px;
	padding: 15px 15px;
	border-radius: 12px;
	box-shadow: 0px 1px 6px 2px rgb(183 181 181/ 30%);
	height: 500px;
	overflow: auto;
}

.page-heading {
	display: flex;
	justify-content: space-between;
	align-items: center;
	list-style: none;
	padding: 5px 15px 0px 15px;
	font-size: 13px;
	font-weight: 500;
	color: #001139;
}

/* data-tooltip Styles startHere */

/* Add this attribute to the element that needs a tooltip */
[data-tooltip] {
	position: relative;
	z-index: 9999 !important;
	cursor: pointer;
	font-style: normal !important;
	text-transform: capitalize;
}

/* Hide the tooltip content by default */
[data-tooltip]:before, [data-tooltip]:after {
	visibility: hidden;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=0);
	opacity: 0;
	pointer-events: none;
}

/* Position tooltip above the element */
[data-tooltip]:before {
	position: absolute;
	bottom: 100%;
	left: 50%;
	margin-bottom: 5px;
	margin-left: -20px;
	padding: 5px 5px;
	border-radius: 3px;
	background: #000;
	color: #fff !important;
	content: attr(data-tooltip);
	text-align: center;
	font-size: 10px;
	font-weight: 400;
	line-height: 1.2;
}

/* Triangle hack to make tooltip look like a speech bubble */
[data-tooltip]:after {
	position: absolute;
	bottom: 100%;
	left: 50%;
	margin-left: -5px;
	width: 0;
	border-top: 5px solid #000;
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
	content: " ";
	font-size: 0;
	line-height: 0;
}

/* Show tooltip content on hover */
[data-tooltip]:hover:before, [data-tooltip]:hover:after {
	visibility: visible;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=100);
	opacity: 1;
}

/* data-tooltip Styles endstHere */

/* tooltip CSS startHere */
[tooltip] {
  position: relative; /* opinion 1 */
}

/* Applies to all tooltips */
[tooltip]::before,
[tooltip]::after {
  text-transform: none; /* opinion 2 */
  font-size: 10px; /* opinion 3 */
  font-weight: 400;
  font-style: normal !important;
  line-height: 0.8;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: none;
  position: absolute;
  display: none;
  opacity: 0;
}
[tooltip]::before {
  content: '';
  border: 5px solid transparent; /* opinion 4 */
  z-index: 9999; /* absurdity 1 */
}
[tooltip]::after {
  content: attr(tooltip); /* magic! */
  
  /* most of the rest of this is opinion */
  text-align: center;
  
  /* 
    Let the content set the size of the tooltips 
    but this will also keep them from being obnoxious
    */
  min-width: 3em;
  max-width: 21em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 1.3ch 1.5ch;
  border-radius: 3px;
  background: #000;
  color: var(--white-color);
  z-index: 9999;
}

/* Make the tooltips respond to hover */
[tooltip]:hover::before,
[tooltip]:hover::after {
  display: block;
}

/* don't show empty tooltips */
[tooltip='']::before,
[tooltip='']::after {
  display: none !important;
}

/* FLOW: UP */
[tooltip]:not([flow])::before,
[tooltip][flow^="up"]::before {
  bottom: 100%;
  border-bottom-width: 0;
  border-top-color: #000;
}
[tooltip]:not([flow])::after,
[tooltip][flow^="up"]::after {
  bottom: calc(100% + 5px);
}
[tooltip]:not([flow])::before,
[tooltip]:not([flow])::after,
[tooltip][flow^="up"]::before,
[tooltip][flow^="up"]::after {
  left: 50%;
  transform: translate(-50%, -.5em);
}

/* FLOW: DOWN */
[tooltip][flow^="down"]::before {
  top: 100%;
  border-top-width: 0;
  border-bottom-color: #000;
}
[tooltip][flow^="down"]::after {
  top: calc(100% + 5px);
}
[tooltip][flow^="down"]::before,
[tooltip][flow^="down"]::after {
  left: 50%;
  transform: translate(-50%, .5em);
}

/* FLOW: LEFT */
[tooltip][flow^="left"]::before {
  top: 20%;
  border-right-width: 0;
  border-left-color: #000;
  left: calc(0em - 5px);
  transform: translate(-.5em, -50%);
}
[tooltip][flow^="left"]::after {
  top: 20%;
  right: calc(100% + 5px);
  transform: translate(-.5em, -50%);
}

/* FLOW: RIGHT */
[tooltip][flow^="right"]::before {
  top: 50%;
  border-left-width: 0;
  border-right-color: #000;
  right: calc(0em - 5px);
  transform: translate(.5em, -50%);
}
[tooltip][flow^="right"]::after {
  top: 50%;
  left: calc(100% + 5px);
  transform: translate(.5em, -50%);
}

/* KEYFRAMES */
@-webkit-keyframes tooltips-vert {
  to {
    opacity: .9;
    transform: translate(-50%, 0);
  }
}
@keyframes tooltips-vert {
  to {
    opacity: .9;
    transform: translate(-50%, 0);
  }
}

@-webkit-keyframes tooltips-horz {
  to {
    opacity: .9;
    transform: translate(0, -50%);
  }
}

@keyframes tooltips-horz {
  to {
    opacity: .9;
    transform: translate(0, -50%);
  }
}

 
[tooltip]:not([flow]):hover::before,
[tooltip]:not([flow]):hover::after,
[tooltip][flow^="up"]:hover::before,
[tooltip][flow^="up"]:hover::after,
[tooltip][flow^="down"]:hover::before,
[tooltip][flow^="down"]:hover::after {
  -webkit-animation: tooltips-vert 300ms ease-out forwards;
          animation: tooltips-vert 300ms ease-out forwards;
}

[tooltip][flow^="left"]:hover::before,
[tooltip][flow^="left"]:hover::after,
[tooltip][flow^="right"]:hover::before,
[tooltip][flow^="right"]:hover::after {
  -webkit-animation: tooltips-horz 300ms ease-out forwards;
          animation: tooltips-horz 300ms ease-out forwards;
}

/* tooltip CSS endsHere */


/* tender DashBoard */

.dashboard-container {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 15px;
	margin: 10px 20px;
	box-shadow: rgba(100, 100, 111, 0.2) 0px 0px 10px 1px;
	padding: 15px;
	border-radius: 12px;
}

.DashBoardLink {
  flex: 0 0 calc((100% - 45px) / 4);
  text-decoration: none;
}

.tenderCard {
  background-color: var(--card-white);
  border-radius: 8px;
  padding: 15px;
  min-height: 50px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  box-shadow: rgba(100, 100, 111, 0.2) 0px 0px 10px 1px;
  cursor: pointer;
}

.tenderCard:hover {
  
}

.tenderCardLeft {
  display: flex;
  align-items: center;
  gap: 10px;
}

.icon {
  font-size: 24px;
}

.label {
  color: var(--text-green);
  font-weight: 500;
  font-size: 15px;
}

.tenderRequired {
  color: red;
  margin-right: 2px;
}

.tenderStatusIcon {
  color: #003366; /* Dark blue from your image */
}

/* Responsive adjustment for very small screens */
@media (max-width: 600px) {
  .tenderCard {
    border-radius: 10px;
    min-width: 100%;
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 30px 0px;;
  }
}

/* tender DashBoard */

.dateIcon {
    background-color: var(--white-color) !important;
    background-image: url(../img/date.png) !important;
    background-repeat: no-repeat !important;
    background-position: right 3px !important;
    padding: 5px 10px 5px 5px !important;
    border-bottom: 0px solid transparent;
}


.searchIcon {
	background: url(../img/searchIcon.svg) no-repeat 0 5px !important;
	background-position: right !important;
	padding: 5px 10px 5px 5px !important;
	border-bottom: 0px solid transparent;
}

footer, .bottomFooter, .footer-bg {
    background: #101f91 !important;
}

footer, .bottomFooter {
	background: #d5d4d4 !important;
}

.bgWhite{
	background: #fff !important;
}

.noShadow{
	box-shadow: none !important;
}

ol li{
	padding: 2.5px 0px;
	font-size: 12px;
}

/* form CSS */

/* .form-grid-row {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding: 5px 10px;
}

.form-grid-row .form-group {
    display: flex;
    flex-direction: column;
}

.form-grid-row .form-group>TextBox {
    width: 100%;
    box-sizing: border-box;
}

.datepickerwithtime{
	width: 100%;
} */

.termsConditions {
    width: 98%;
    margin-bottom: 10px;
    padding: 15px 15px;
    border-radius: 12px;
    box-shadow: 0px 1px 6px 2px rgb(183 181 181 / 30%);
    height: 500px;
    overflow: auto;
    margin: 10px auto;
}

/* toggleButton CSS startHere */

.toggle-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: #333;
}

.mini-switch {
  position: relative;
  width: 34px;
  height: 18px;
  transform: scale(1.2);        /* +20% */
  transform-origin: left center;
}

.mini-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.mini-slider {
  position: absolute;
  inset: 0;
  background-color: #dcdcdc;
  border-radius: 20px;
  cursor: pointer;
  transition: 0.3s;
}

.mini-slider::before {
  content: "";
  position: absolute;
  height: 14px;
  width: 14px;
  left: 2px;
  top: 2px;
  background-color: #fff;
  border-radius: 50%;
  transition: 0.3s;
  box-shadow: 0 0 2px rgba(0,0,0,0.2);
}

.mini-switch input:checked + .mini-slider {
  background-color: #1d2dad;
}

.mini-switch input:checked + .mini-slider::before {
  transform: translateX(16px);
}

.mini-switch {
  transform: scale(1.2);
  transform-origin: left center;
}


/* toggleButton CSS endsHere*/

select[multiple] {
    width: 100%;
    min-height: 100px;
    padding: 8px;
    font-size: 14px;
    border-radius: 0.375rem;
    border: 1px solid #dee2e6;
    background-color: #fff;
    overflow-y: auto;
}

/* Selected option */
select[multiple] option:checked {
    background-color: #0d6efd;
    color: #fff;
}

/* Hover option (works in most modern browsers) */
select[multiple] option:hover {
    background-color: #e9f2ff;
}

.dataTables_length{
	/* display: none; */
}

/* note list */

.important-note {
    width: 98%;
    margin: 10px auto;
    padding: 16px 20px;
    border: 1px solid #f5c2c7;
    border-left: 6px solid #dc3545;
    border-radius: 6px;
}

.note-title {
    font-size: 15px;
    font-weight: 700;
    color: #dc3545;
    text-decoration: underline;
    margin-bottom: 10px;
}

.note-subtitle {
    font-size: 13px;
    font-weight: 600;
    color: #b02a37;
    margin-bottom: 12px;
}

.note-list {
    padding-left: 20px;
    margin: 0;
    color: #842029;
    font-size: 13px;
}

.note-list li {
    margin-bottom: 10px;
    line-height: 1.5;
}

/* note list */

.width100{
	width: 100%;	
}

.ButtonSmall, .buttonSmall {
	font-size: 11px;
    color: #fff !important;
    padding: 0px 15px !important;
    cursor: pointer;
    margin-bottom: 1px;
    margin-right: 3px;
    height: 28px;
    font-weight: 600;
    background: #061691;
    border-radius:10px;
    border: 0px;
}


/* media */

/* Mobile (up to 576px) */
@media (max-width: 576px) {
  .allSectionsRow {
    flex-direction: column;
  }
}

/* Tablets (up to 768px) */
@media (max-width: 768px) {
  .allSectionsRow {
    flex-direction: column;
  }
}

/* Small laptops (up to 992px) */
@media (max-width: 992px) {
  .allSectionsRow {
    gap: 10px;
  }
}

/* Large screens */
@media (min-width: 1200px) {
  .allSectionsRow {
    flex-direction: row;
  }
}


/* radioButton CSS */

.radio-container {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

/* .radio-item {
    position: relative;
} */

.radio-item input {
    /* display: none; */
    margin-right: 5px;
}

.radio-item label {
    padding: 6px 15px 6px 15px;
    border-radius: 15px;
    cursor: pointer;
    background: #edf4ff;
    border: 1px solid #c3cae9;
    color: #333;
    transition: all 0.3s ease;
}

/* Hover */
.radio-item label:hover {
    background: #e6f0ff;
    border-color: #354895;
}

/* 🔥 ACTIVE (Selected) */
.radio-item input:checked + label {
    background: #354895 !important;
    color: #fff !important;
    border-color: #354895 !important;
    font-weight: 500 !important;
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3) !important;
}

/* Optional: click effect */
.radio-item label:active {
    transform: scale(0.97);
}

.radio-item input:checked {
    accent-color: #354895;
}

.radio-item label:has(input:checked) {
    background: #354895;
    color: #fff;
    border-color: #354895;
}

/* radioButton CSS */

.divCenter{
	margin: 0 auto;
    text-align: center;
}