﻿/* ============================================
   Bootstrap 3 to Bootstrap 5 Compatibility
   ClaimPower Login Page
   ============================================ */

/* Hidden Classes - Bootstrap 3 to 5 Compatibility */

/* hidden-xs = hide on extra small screens (< 576px) */
.hidden-xs {
	display: block !important;
}

@media (max-width: 575.98px) {
	.hidden-xs {
		display: none !important;
	}
}

/* hidden-sm = hide on small screens (576px - 768px) */
.hidden-sm {
	display: block !important;
}

@media (min-width: 576px) and (max-width: 767.98px) {
	.hidden-sm {
		display: none !important;
	}
}

/* hidden-md = hide on medium screens (768px - 992px) */
.hidden-md {
	display: block !important;
}

@media (min-width: 768px) and (max-width: 991.98px) {
	.hidden-md {
		display: none !important;
	}
}

/* hidden-lg = hide on large screens (≥ 992px) */
.hidden-lg {
	display: block !important;
}

@media (min-width: 992px) {
	.hidden-lg {
		display: none !important;
	}
}

/* Visible Classes - Bootstrap 3 to 5 Compatibility */
.visible-xs {
	display: none !important;
}

@media (max-width: 575.98px) {
	.visible-xs {
		display: block !important;
	}
}

.visible-sm {
	display: none !important;
}

@media (min-width: 576px) and (max-width: 767.98px) {
	.visible-sm {
		display: block !important;
	}
}

.visible-md {
	display: none !important;
}

@media (min-width: 768px) and (max-width: 991.98px) {
	.visible-md {
		display: block !important;
	}
}

.visible-lg {
	display: none !important;
}

@media (min-width: 992px) {
	.visible-lg {
		display: block !important;
	}
}

/* Pull utilities - Bootstrap 3 compatibility */
.pull-right {
	float: right !important;
}

.pull-left {
	float: left !important;
}

/* Text alignment - Bootstrap 3 compatibility */
.text-right {
	text-align: right !important;
}

.text-left {
	text-align: left !important;
}

.text-center {
	text-align: center !important;
}

.text-uppercase {
	text-transform: uppercase !important;
}

/* Grid system - Bootstrap 3 col-xs compatibility */
@media (max-width: 575.98px) {
	.col-xs-1 {
		flex: 0 0 auto;
		width: 8.333333%;
	}

	.col-xs-2 {
		flex: 0 0 auto;
		width: 16.666667%;
	}

	.col-xs-3 {
		flex: 0 0 auto;
		width: 25%;
	}

	.col-xs-4 {
		flex: 0 0 auto;
		width: 33.333333%;
	}

	.col-xs-5 {
		flex: 0 0 auto;
		width: 41.666667%;
	}

	.col-xs-6 {
		flex: 0 0 auto;
		width: 50%;
	}

	.col-xs-7 {
		flex: 0 0 auto;
		width: 58.333333%;
	}

	.col-xs-8 {
		flex: 0 0 auto;
		width: 66.666667%;
	}

	.col-xs-9 {
		flex: 0 0 auto;
		width: 75%;
	}

	.col-xs-10 {
		flex: 0 0 auto;
		width: 83.333333%;
	}

	.col-xs-11 {
		flex: 0 0 auto;
		width: 91.666667%;
	}

	.col-xs-12 {
		flex: 0 0 auto;
		width: 100%;
	}
}

[class*="col-xs-"] {
	padding-right: 15px;
	padding-left: 15px;
	position: relative;
}

/* Form Groups - Bootstrap 3 compatibility */
.form-group {
	margin-bottom: 1rem;
}

/* Form Controls */
.form-control {
	display: block;
	width: 100%;
	padding: 0.375rem 0.75rem;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: #212529;
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid #ced4da;
	appearance: none;
	border-radius: 0.25rem;
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

	.form-control:focus {
		color: #212529;
		background-color: #fff;
		border-color: #86b7fe;
		outline: 0;
		box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
	}

/* Input Groups - Bootstrap 3 compatibility */
.input-group {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	width: 100%;
}

.input-group-addon,
.input-group-text {
	display: flex;
	align-items: center;
	padding: 0.375rem 0.75rem;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: #212529;
	text-align: center;
	white-space: nowrap;
	background-color: #e9ecef;
	border: 1px solid #ced4da;
	border-radius: 0.25rem;
}

/* Buttons - Bootstrap 3 compatibility */
.btn {
	display: inline-block;
	font-weight: 400;
	line-height: 1.5;
	color: #212529;
	text-align: center;
	text-decoration: none;
	vertical-align: middle;
	cursor: pointer;
	user-select: none;
	background-color: transparent;
	border: 1px solid transparent;
	padding: 0.375rem 0.75rem;
	font-size: 1rem;
	border-radius: 0.25rem;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.btn-default,
.btn-secondary {
	color: #fff;
	background-color: #6c757d;
	border-color: #6c757d;
}

	.btn-default:hover,
	.btn-secondary:hover {
		color: #fff;
		background-color: #5c636a;
		border-color: #565e64;
	}

.btn-primary {
	color: #fff;
	background-color: #0d6efd;
	border-color: #0d6efd;
}

	.btn-primary:hover {
		color: #fff;
		background-color: #0b5ed7;
		border-color: #0a58ca;
	}

.btn-success {
	color: #fff;
	background-color: #198754;
	border-color: #198754;
}

	.btn-success:hover {
		color: #fff;
		background-color: #157347;
		border-color: #146c43;
	}

.btn-info {
	color: #000;
	background-color: #0dcaf0;
	border-color: #0dcaf0;
}

	.btn-info:hover {
		color: #000;
		background-color: #31d2f2;
		border-color: #25cff2;
	}

.btn-warning {
	color: #000;
	background-color: #ffc107;
	border-color: #ffc107;
}

	.btn-warning:hover {
		color: #000;
		background-color: #ffca2c;
		border-color: #ffc720;
	}

.btn-danger {
	color: #fff;
	background-color: #dc3545;
	border-color: #dc3545;
}

	.btn-danger:hover {
		color: #fff;
		background-color: #bb2d3b;
		border-color: #b02a37;
	}

/* Container - Bootstrap 3 compatibility */
.container {
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;
}

@media (min-width: 576px) {
	.container {
		max-width: 540px;
	}
}

@media (min-width: 768px) {
	.container {
		max-width: 720px;
	}
}

@media (min-width: 992px) {
	.container {
		max-width: 960px;
	}
}

@media (min-width: 1200px) {
	.container {
		max-width: 1140px;
	}
}

.container-fluid {
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;
}

/* Row - Bootstrap 3 compatibility */
.row {
	display: flex;
	flex-wrap: wrap;
	margin-right: -15px;
	margin-left: -15px;
}

/* Clearfix utility */
.clearfix::after {
	display: block;
	clear: both;
	content: "";
}

/* Center block */
.center-block {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/* Image utilities */
.img-responsive {
	display: block;
	max-width: 100%;
	height: auto;
}

.img-circle {
	border-radius: 50%;
}

.img-rounded {
	border-radius: 0.25rem;
}

/* Labels/Badges - Bootstrap 3 compatibility */
.label {
	display: inline-block;
	padding: 0.25em 0.4em;
	font-size: 75%;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	white-space: nowrap;
	vertical-align: baseline;
	border-radius: 0.25rem;
}

.label-default {
	background-color: #6c757d;
	color: #fff;
}

.label-primary {
	background-color: #0d6efd;
	color: #fff;
}

.label-success {
	background-color: #198754;
	color: #fff;
}

.label-info {
	background-color: #0dcaf0;
	color: #000;
}

.label-warning {
	background-color: #ffc107;
	color: #000;
}

.label-danger {
	background-color: #dc3545;
	color: #fff;
}

/* Accordion - Bootstrap 3 compatibility */
.accordion-group {
	margin-bottom: 2px;
	border: 1px solid #dee2e6;
	border-radius: 0.25rem;
}

.accordion-heading {
	border-bottom: 0;
}

.accordion-toggle {
	display: block;
	padding: 8px 15px;
	cursor: pointer;
	text-decoration: none;
	color: #212529;
}

	.accordion-toggle:hover {
		background-color: #f8f9fa;
	}

.accordion-body {
	border-top: 1px solid #dee2e6;
}

.accordion-inner {
	padding: 9px 15px;
}

.collapse {
	display: none;
}

	.collapse.in,
	.collapse.show {
		display: block;
	}

/* Modal fixes */
.modal-backdrop {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1050;
	width: 100vw;
	height: 100vh;
	background-color: #000;
}

	.modal-backdrop.show {
		opacity: 0.5;
	}

/* Topbar utility */
.topbar {
	width: 100%;
}

/* Footer navigation */
.footer-nav {
	padding: 15px;
}

/* Menu items */
.menu {
	list-style: none;
	padding-left: 0;
}

.menu-item {
	padding: 5px 0;
}

/* Ensure custom popups appear above everything */
div[style*="position: fixed"][style*="z-index: 1000"] {
	z-index: 9999 !important;
}

/* Font Awesome 4 to 6 compatibility (fa to fas) */
.fa {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
}

.fa-angle-double-right:before {
	content: "\f101";
}

.fa-twitter:before {
	content: "\f099";
	font-family: "Font Awesome 6 Brands";
	font-weight: 400;
}

/* Login page specific fixes */
#login-wrapper {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

/* Ensure footer stays at bottom */
footer {
	margin-top: auto;
}

/* Fix for social links */
.ft-social-links {
	margin-top: 20px;
}

/* Widget styling */
.widget {
	margin-bottom: 20px;
}

.widget-title {
	font-size: 1.25rem;
	margin-bottom: 1rem;
	font-weight: 600;
}

.footer-widget {
	color: #6c757d;
}

/* Text widget */
.textwidget p {
	margin-bottom: 10px;
}

/* Responsive utilities for inline elements */
.hidden-xs.inline {
	display: inline !important;
}

@media (max-width: 575.98px) {
	.hidden-xs.inline {
		display: none !important;
	}
}

/* Fix for navbar */
.navbar {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	padding: 0.5rem 1rem;
}

/* Fix for header top section */
.header-top {
	padding: 10px 0;
}

/* PowerClaimFeed specific fixes (from your inline styles) */
#PowerClaimFeed {
	font-family: 'PT Sans', sans-serif;
	overflow-x: hidden;
}

	#PowerClaimFeed .entry-title a {
		color: #4A3E6F;
		margin-top: 0;
		font-size: 24px;
	}

	#PowerClaimFeed a.read_more {
		text-decoration: underline;
	}

	#PowerClaimFeed p {
		font-size: 18px;
		color: #090909;
		margin: 10px 0;
	}

	#PowerClaimFeed a,
	#PowerClaimFeed a:visited {
		color: #E34111;
	}

		#PowerClaimFeed a:hover {
			color: #523C76;
			text-decoration: none;
		}

	#PowerClaimFeed .entry-date {
		color: #858B95;
		font-size: 15px;
		display: inline-block;
		font-weight: bold;
	}

	#PowerClaimFeed .row {
		padding-bottom: 0px;
		padding-top: 10px;
	}

	#PowerClaimFeed .entry-date:hover {
		color: #523C76;
	}

	#PowerClaimFeed .card {
		border: none;
	}

	#PowerClaimFeed hr.divider {
		width: 100%;
	}

/* ============================================
   NAVBAR BOOTSTRAP 5 FIXES
   ============================================ */

/* Navbar base styles */
.navbar {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	padding: 0.5rem 0;
}

.navbar-brand {
	padding-top: 0.3125rem;
	padding-bottom: 0.3125rem;
	margin-right: 1rem;
	font-size: 1.25rem;
	text-decoration: none;
	white-space: nowrap;
}

	.navbar-brand img {
		max-height: 60px;
		width: auto;
	}

/* Navbar toggler (hamburger menu) */
.navbar-toggler {
	padding: 0.25rem 0.75rem;
	font-size: 1.25rem;
	line-height: 1;
	background-color: transparent;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 0.25rem;
	transition: box-shadow 0.15s ease-in-out;
}

	.navbar-toggler:hover {
		text-decoration: none;
	}

	.navbar-toggler:focus {
		text-decoration: none;
		outline: 0;
		box-shadow: 0 0 0 0.25rem;
	}

.navbar-toggler-icon {
	display: inline-block;
	width: 1.5em;
	height: 1.5em;
	vertical-align: middle;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100%;
}

/* Navbar collapse */
.navbar-collapse {
	flex-basis: 100%;
	flex-grow: 1;
	align-items: center;
}

/* Navbar navigation */
.navbar-nav {
	display: flex;
	flex-direction: column;
	padding-left: 0;
	margin-bottom: 0;
	list-style: none;
}

	.navbar-nav .nav-link {
		padding-right: 0;
		padding-left: 0;
	}

	.navbar-nav .dropdown-menu {
		position: static;
	}

/* Nav items */
.nav-item {
	display: list-item;
}

.nav-link {
	display: block;
	padding: 0.5rem 1rem;
	color: #212529;
	text-decoration: none;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out;
}

	.nav-link:hover,
	.nav-link:focus {
		color: #0a58ca;
	}

/* Dropdown styles */
.dropdown {
	position: relative;
}

.dropdown-toggle::after {
	display: inline-block;
	margin-left: 0.255em;
	vertical-align: 0.255em;
	content: "";
	border-top: 0.3em solid;
	border-right: 0.3em solid transparent;
	border-bottom: 0;
	border-left: 0.3em solid transparent;
}

.dropdown-menu {
	position: absolute;
	z-index: 1000;
	display: none;
	min-width: 10rem;
	padding: 0.5rem 0;
	margin: 0;
	font-size: 1rem;
	color: #212529;
	text-align: left;
	list-style: none;
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid rgba(0, 0, 0, 0.15);
	border-radius: 0.25rem;
}

	.dropdown-menu.show {
		display: block;
	}

.dropdown-item {
	display: block;
	width: 100%;
	padding: 0.25rem 1rem;
	clear: both;
	font-weight: 400;
	color: #212529;
	text-align: inherit;
	text-decoration: none;
	white-space: nowrap;
	background-color: transparent;
	border: 0;
}

	.dropdown-item:hover,
	.dropdown-item:focus {
		color: #1e2125;
		background-color: #e9ecef;
	}

/* Responsive navbar - Desktop */
@media (min-width: 992px) {
	.navbar-expand-lg {
		flex-wrap: nowrap;
		justify-content: flex-start;
	}

		.navbar-expand-lg .navbar-nav {
			flex-direction: row;
		}

			.navbar-expand-lg .navbar-nav .nav-link {
				padding-right: 0.5rem;
				padding-left: 0.5rem;
			}

			.navbar-expand-lg .navbar-nav .dropdown-menu {
				position: absolute;
			}

		.navbar-expand-lg .navbar-collapse {
			display: flex !important;
			flex-basis: auto;
		}

		.navbar-expand-lg .navbar-toggler {
			display: none;
		}
}

/* Margin start auto (for navbar-nav ms-auto) */
.ms-auto {
	margin-left: auto !important;
}

/* Header top section styling */
.header-top {
	padding: 10px 0;
	background-color: #f8f9fa;
}

/* Topbar styles */
.topbar {
	padding: 10px 0;
}

	.topbar a {
		color: #666;
		text-decoration: none;
		margin: 0 10px;
	}

		.topbar a:hover {
			color: #333;
		}

#email, #phone {
	font-size: 14px;
}

/* Icon-bar for Bootstrap 3 compatibility (if needed) */
.icon-bar {
	display: block;
	width: 22px;
	height: 2px;
	background-color: #888;
	border-radius: 1px;
	margin: 4px 0;
}

/* Navbar right alignment - Bootstrap 3 compatibility */
.navbar-right {
	margin-left: auto;
}

/* Caret for dropdowns - Bootstrap 3 compatibility */
.caret {
	display: inline-block;
	width: 0;
	height: 0;
	margin-left: 2px;
	vertical-align: middle;
	border-top: 4px dashed;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
}

/* ============================================
   ADDITIONAL FIXES FOR TOPBAR AND TOTP
   ============================================ */

/* Enhanced topbar float-end styling */
.topbar.float-end {
	float: right !important;
	text-align: right !important;
	width: auto !important;
	display: block !important;
}

/* Ensure float utilities work */
.float-end {
	float: right !important;
}

.float-start {
	float: left !important;
}

/* Topbar links and spacing */
.topbar a {
	color: #666 !important;
	text-decoration: none !important;
	margin: 0 5px !important;
}

	.topbar a:hover {
		color: #333 !important;
	}

.topbar span {
	display: inline-block !important;
	margin: 0 5px !important;
}

/* TOTP indicator styling - minimal, let JavaScript control display */
#totpIndicator span {
	background-color: #fff3cd;
	color: #856404;
	border: 1px solid #ffeaa7;
	padding: 8px 12px;
	border-radius: 4px;
	display: inline-block;
	font-size: 13px;
	font-weight: 500;
	margin-top: 5px;
}

	/* Green badge for TOTP Enabled */
	#totpIndicator span[style*="green"] {
		background-color: #d4edda;
		color: #155724;
		border: 1px solid #c3e6cb;
	}
/* Enhanced Font Awesome 6 support */
.fas, .far, .fal, .fat, .fad {
	font-family: "Font Awesome 6 Free" !important;
	font-weight: 900 !important;
}

.fab {
	font-family: "Font Awesome 6 Brands" !important;
	font-weight: 400 !important;
}

.fa {
	font-family: "Font Awesome 6 Free" !important;
	font-weight: 900 !important;
}

/* Specific icon content codes */
.fa-angle-double-right:before,
.fas.fa-angle-double-right:before {
	content: "\f101" !important;
}

.fa-twitter:before,
.fab.fa-twitter:before {
	content: "\f099" !important;
	font-family: "Font Awesome 6 Brands" !important;
	font-weight: 400 !important;
}

.fa-times:before,
.fas.fa-times:before {
	content: "\f00d" !important;
}

/* Enhanced clearfix */
.clearfix::after,
.row::after,
.container::after {
	display: block !important;
	clear: both !important;
	content: "" !important;
}

/* Ensure col-md-12 works properly */
.col-md-12 {
	flex: 0 0 auto;
	width: 100% !important;
}

/* Row display fix */
.row.hidden-xs {
	display: flex !important;
	margin-right: -15px;
	margin-left: -15px;
}

@media (max-width: 575.98px) {
	.row.hidden-xs {
		display: none !important;
	}
}

/* Header spacing */
header.container-fluid {
	padding: 0;
}

header .container {
	padding-top: 10px;
	padding-bottom: 10px;
}
