/* Honor progressive/unauthenticated states even when Bootstrap sets display. */
[hidden] {
	display: none !important;
}

body {
	background: #F8F8F8;
	font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
	font-size: 16px;
	line-height: 1.5;
}

.portal-page { margin-top: 24px; margin-bottom: 32px; }
.portal-space-top { margin-top: 16px; }
.portal-space-bottom { margin-bottom: 16px; }
.form-control { font-size: 16px; min-height: 44px; }
textarea.form-control { height: auto; }
.btn { min-height: 44px; padding: 10px 14px; white-space: normal; }
.btn + .btn { margin-left: 4px; }
.form-group .btn, .panel-body > .btn { margin-top: 6px; }
a:focus, button:focus, input:focus, select:focus, textarea:focus, summary:focus {
    outline: 3px solid #145da0; outline-offset: 3px;
}
.skip-link { position: absolute; left: -10000px; top: 0; }
.skip-link:focus { left: 12px; top: 8px; z-index: 2000; background: #fff; padding: 12px; }
.workflow-progress { display: flex; flex-wrap: wrap; gap: 8px; padding-left: 24px; margin: 20px 0; }
.workflow-progress li { padding: 8px 12px; margin-right: 16px; color: #4b5563; }
.workflow-progress [aria-current="step"] { color: #133c63; background: #e7f1fa; font-weight: bold; border-bottom: 3px solid #145da0; }
details { margin-top: 20px; }
summary { cursor: pointer; padding: 10px 0; font-weight: bold; }
@media (max-width: 767px) {
    .navbar-brand { font-size: 17px; }
    .navbar-header { display: flex; align-items: center; flex-wrap: wrap; }
    .navbar-nav { margin-top: 8px; }
    .navbar-nav > li > a { padding-top: 12px; padding-bottom: 12px; }
    .workflow-progress { display: block; }
    .workflow-progress li { margin-right: 0; }
    .table-responsive { max-width: 100%; }
    input, select, textarea { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; scroll-behavior: auto !important; }
}

.logo {
	margin: 0 15px;
	padding: 0;
}

.text-area-lrg {
	height: 200px !important;
	/*	display:none; */
}

#success-alert {
	display: none;
}

#fail-alert {
	display: none;
}

p.bold {
	font-weight: bold;
}

input[type="radio"] {
	margin-left: 10px;
}

.help-block {
	color: #4b5563;
}

span.normal {
	font-weight: 400;
}

#fuelType {
	display: none;
}

p.largerFONT {
	font-size: 15px;
}

#notes {
	display: none;
}

#gallonsDiv {
	display: none;
}

.img-lrg {
	max-width: 100%;
}

.hr-dark {
	border: 1px solid #a6a6a6;
}

.img-max {
	max-width: 100%;
}

.top5 {
	margin-top: 5px;
}

.top7 {
	margin-top: 7px;
}

.top10 {
	margin-top: 10px;
}

.top15 {
	margin-top: 15px;
}

.top17 {
	margin-top: 17px;
}

.top30 {
	margin-top: 30px;
}

#flow_construction .construction-step {
	display: none;
}

#constructionSelectedInspections th,
#constructionSelectedInspections td {
	white-space: nowrap;
}

#constructionReviewTable th,
#constructionReviewTable td {
	white-space: nowrap;
}

.fi-spinner {
	display: inline-block;
	width: 16px;
	height: 16px;
	border: 2px solid #ccc;
	border-top-color: #555;
	border-radius: 50%;
	animation: fi-spin 0.6s linear infinite;
	margin-right: 6px;
	vertical-align: middle;
}

@keyframes fi-spin {
	to {
		transform: rotate(360deg);
	}
}

/* Keep history readable on a phone without sideways scrolling. Header associations
   remain available to assistive technology when the rows become stacked cards. */
.history-table td { overflow-wrap: anywhere; white-space: normal; }
#schedule-booking-notices, #reschedule-booking-notices,
#schedule-review-details dd, #reschedule-details dd { overflow-wrap: anywhere; }
@media (max-width: 767px) {
    .history-table-wrap { overflow: visible; border: 0; }
    .history-table { display: block; border: 0; width: 100%; }
    .history-table thead {
        position: absolute; width: 1px; height: 1px; padding: 0;
        margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0;
    }
    .history-table tbody { display: block; }
    .history-table tbody tr {
        display: block; margin-bottom: 16px; border: 1px solid #ddd;
        border-radius: 4px; overflow: hidden;
    }
    .history-table tbody td { display: block; border: 0; padding: 8px 12px; }
    .history-table td::before { content: attr(data-label); display: block; font-weight: 600; }
    .history-table .btn { white-space: normal; }
    .mobile-review-wrap { overflow: visible; border: 0; }
    .mobile-review-wrap .mobile-review-table { display: block; width: 100%; min-width: 0; border: 0; }
    .mobile-review-table thead {
        position: absolute; width: 1px; height: 1px; padding: 0;
        margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0;
    }
    .mobile-review-table tbody { display: block; }
    .mobile-review-table tbody tr { display: block; margin-bottom: 12px; border: 1px solid #ddd; border-radius: 4px; }
    .mobile-review-table tbody td { display: block; width: auto; padding: 8px 12px; border: 0; text-align: left; white-space: normal; overflow-wrap: break-word; }
    .mobile-review-table td::before { content: attr(data-label); display: block; font-weight: 600; }
}

/* Navigation remains visible without JavaScript; the menu enhances narrow screens. */
#customer-navigation[hidden], #customer-navigation-toggle[hidden] { display: none !important; }
#customer-navigation-toggle { color: #333; min-height: 44px; font-weight: 600; }
#customer-navigation-toggle:focus-visible, #customer-navigation a:focus-visible {
    outline: 3px solid #185c9b; outline-offset: 2px;
}
/* Help uses the same spacing as the adjacent navigation links. Its native
   disclosure state controls visibility, including when JavaScript is unavailable. */
#customer-help-menu { margin: 0; }
#customer-help-menu > summary {
    display: block; padding: 15px; line-height: 20px; list-style: none;
    font-weight: normal; color: #777;
}
#customer-help-menu > summary::-webkit-details-marker { display: none; }
#customer-help-menu > summary:hover,
#customer-help-menu > summary:focus { color: #333; background: transparent; }
#customer-help-menu > .dropdown-menu {
    display: none; width: 300px; max-width: calc(100vw - 32px);
    padding: 6px 0; margin-top: 0; border-radius: 4px;
}
#customer-help-menu[open] > .dropdown-menu { display: block; }
#customer-help-menu .dropdown-menu > li > a {
    padding: 8px 16px; min-height: 44px; white-space: normal;
    line-height: 24px; overflow-wrap: anywhere;
}
#customer-support-notice { margin: 6px 16px 10px; font-size: 14px; line-height: 1.5; }
@media (max-width: 767px) {
    #customer-navigation-toggle { display: block; clear: both; margin-top: 0; }
    #customer-navigation { clear: both; margin-top: 0; }
    #customer-navigation a { min-height: 44px; }
    #customer-help-menu > summary { padding: 12px 15px; min-height: 44px; }
    #customer-help-menu > .dropdown-menu {
        position: static; float: none; width: auto; max-width: 100%;
        margin: 0 12px 8px; box-shadow: none;
    }
}
