/* Insurance Associates Footer & Agent Directory: sitewide footer. All rules scoped to .iai-footer. */

.iai-footer {
	/* OrangeRoc's custom CSS sets `footer { height: 75px }` on every <footer>; undo it for ours. */
	height: auto;
	position: relative;
	background: #666666;
	color: #eeeeee; /* 4.9:1 on #666666 (AA). */
	font-family: 'lucida_sansregular', 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
	font-size: 15px;
	line-height: 1.6;
	text-align: left;
}

.iai-footer a {
	color: #eeeeee;
	text-decoration: none;
	transition: color 0.15s ease;
}

.iai-footer a:hover,
.iai-footer a:focus {
	color: #ffffff;
	text-decoration: underline;
}

.iai-footer a:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

.iai-footer__inner {
	box-sizing: border-box;
	max-width: 1400px;
	margin: 0 auto;
	padding: 56px 40px 48px;
}

/* Top row: three menu columns + logo/office, each sized to its content. space-between puts Personal at the
   left edge and the office block at the right edge with identical visible gaps between them; items only
   wrap (via flex-shrink) when the row runs out of room. Column 1 stacks Personal Insurance over Surety. */
.iai-footer__top .iai-footer__inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 40px;
}

.iai-footer__col,
.iai-footer__brand {
	flex: 0 1 auto;
	min-width: 0;
}

.iai-footer__group + .iai-footer__group {
	margin-top: 32px;
}

.iai-footer .iai-footer__heading {
	margin: 0 0 14px;
	padding: 0;
	color: #ffffff;
	font-family: 'Adobe_Garamond', Georgia, serif !important; /* beats OrangeRoc's .custom-roc h2-h6 { lucida !important } */
	font-weight: 600;
	font-size: 20px;
	line-height: 1.25;
	letter-spacing: 0;
	text-transform: none;
	white-space: nowrap;
}

.iai-footer .iai-footer__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.iai-footer .iai-footer__list li {
	margin: 0 0 8px;
	padding: 0;
	line-height: 1.4;
	color: #eeeeee;
}

.iai-footer .iai-footer__text {
	color: #eeeeee;
}

/* Logo + Honolulu Office: the heading, address and phones are centered on the logo's center line. */
.iai-footer__brand {
	text-align: center;
}

.iai-footer__logo {
	display: inline-block;
	margin-bottom: 20px;
}

.iai-footer__logo-img {
	display: block;
	margin: 0 auto;
	width: 150px;
	max-width: 100%;
	height: auto;
}

.iai-footer__office .iai-footer__heading--office {
	font-size: 20px;
	margin-bottom: 10px;
}

.iai-footer .iai-address {
	margin: 0;
	font-style: normal;
	line-height: 1.7;
	color: #eeeeee;
}

/* Bottom bar grid (the top row is flex, above). */
.iai-footer__inner--bar {
	display: grid;
}

/* Bottom bar: white with gray text, as on the current site (the OrangeRoc logo is made for a white background). */
.iai-footer__bar {
	background: #ffffff;
	color: #666666;
	font-size: 14px;
}

.iai-footer .iai-footer__bar a {
	color: #666666;
}

.iai-footer .iai-footer__bar a:hover,
.iai-footer .iai-footer__bar a:focus {
	color: #3a3a3a;
}

.iai-footer .iai-footer__bar a:focus-visible {
	outline-color: #3a3a3a;
}

.iai-footer__inner--bar {
	padding-top: 18px;
	padding-bottom: 18px;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 16px 32px;
	align-items: center;
}

.iai-footer__legal,
.iai-footer__credit {
	margin: 0;
	padding: 0;
}

.iai-footer__legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 0;
}

.iai-footer__copyright,
.iai-footer .iai-footer__disclaimer {
	white-space: nowrap;
}

/* Divider between the copyright and the disclaimer link. */
.iai-footer__legal .iai-footer__divider {
	margin: 0 14px;
	color: #b5b5b5;
}

/* Disclaimer reads as a link: brand dark green (5.6:1 on white) + underline. */
.iai-footer .iai-footer__bar .iai-footer__disclaimer {
	color: #467320;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.iai-footer .iai-footer__bar .iai-footer__disclaimer:hover,
.iai-footer .iai-footer__bar .iai-footer__disclaimer:focus {
	color: #355818;
	text-decoration-thickness: 2px;
}

.iai-footer .iai-footer__bar .iai-footer__disclaimer:focus-visible {
	outline-color: #467320;
}

/* Credit: the OrangeRoc logo's box is vertically centered on the text line. */
.iai-footer__credit {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 4px 10px;
}

.iai-footer .iai-footer__bar .iai-footer__credit-link {
	display: flex;
	align-items: center;
	text-decoration: none;
}

.iai-footer__credit-logo {
	display: block;
	width: 129px;
	max-width: 100%;
	height: auto;
}

/* Narrow desktop / tablet: the logo/office block drops to its own full-width row below the three menu columns. */
@media (max-width: 1150px) {
	.iai-footer__top .iai-footer__inner {
		flex-wrap: wrap;
		gap: 40px 32px;
	}

	.iai-footer__brand {
		flex: 1 0 100%;
		padding-top: 32px;
		border-top: 1px solid rgba(255, 255, 255, 0.25);
	}
}

@media (max-width: 1024px) {
	.iai-footer__inner {
		padding-left: 30px;
		padding-right: 30px;
	}
}

/* Mobile: single column */
@media (max-width: 768px) {
	.iai-footer__inner {
		padding: 40px 20px 32px;
		gap: 32px;
	}

	.iai-footer__top .iai-footer__inner {
		flex-direction: column;
		gap: 28px;
	}

	.iai-footer__brand {
		flex-basis: auto;
		width: 100%;
	}

	.iai-footer__group + .iai-footer__group {
		margin-top: 28px;
	}

	.iai-footer__inner--bar {
		grid-template-columns: 1fr;
		padding-top: 18px;
		padding-bottom: 18px;
	}

	.iai-footer__legal {
		flex-direction: column;
		align-items: flex-start;
		gap: 6px;
	}

	.iai-footer__copyright,
	.iai-footer .iai-footer__disclaimer {
		white-space: normal;
	}

	.iai-footer__legal .iai-footer__divider {
		display: none;
	}

	.iai-footer__credit {
		justify-content: flex-start;
	}
}

/* Keep bar content clear of GeneratePress's fixed back-to-top button (40px wide, 30px from the right edge)
   at every width where the bar's content would otherwise reach under it (below ~1480px). */
@media (max-width: 1479px) {
	.iai-footer .iai-footer__inner.iai-footer__inner--bar {
		padding-right: 90px;
	}
}

/* GeneratePress back-to-top: its customizer background (#666666) matches the footer, so it vanished there.
   Dark green + white arrow with a white ring stays visible over the white page (5.6:1) and the gray footer
   (the ring gives 5.7:1 against #666666). 44x44 touch target. `body` outranks GP's inline
   `a.generate-back-to-top` rule, which prints after this stylesheet. */
body a.generate-back-to-top {
	width: 44px;
	height: 44px;
	line-height: 44px;
	background-color: #467320;
	color: #ffffff;
	box-shadow: 0 0 0 2px #ffffff, 0 2px 8px rgba(0, 0, 0, 0.3);
}

body a.generate-back-to-top:hover,
body a.generate-back-to-top:focus {
	background-color: #355818;
	color: #ffffff;
}

body a.generate-back-to-top:focus-visible {
	outline: 3px solid #467320;
	outline-offset: 4px;
}
