/* 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: 36px 40px 30px;
}

/* Top row: three menu columns + logo/office. space-between puts Personal at the left edge and the office
   block at the right edge with identical visible gaps between them. Menu columns are capped at 220px (long
   items wrap inside them) and may shrink; the office block never shrinks, so it can't be pushed past the
   container's right edge. Column 1 stacks Personal Insurance over Surety. */
.iai-footer__top .iai-footer__inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 32px;
}

.iai-footer__col {
	flex: 0 1 auto;
	min-width: 0;
	max-width: 220px;
}

.iai-footer__brand {
	flex: 0 0 auto;
}

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

.iai-footer .iai-footer__heading {
	margin: 0 0 10px;
	padding: 0;
	color: #cde5a8; /* light brand green, client round 4 (menu headings; the office heading stays white) */
	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 4px;
	padding: 0;
	font-size: 14px;
	line-height: 1.35;
	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: 16px;
}

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

.iai-footer .iai-footer__office .iai-footer__heading--office {
	font-size: 20px;
	margin-bottom: 8px;
	color: #ffffff;
}

.iai-footer .iai-address {
	margin: 0;
	font-style: normal;
	font-size: 14px;
	line-height: 1.6;
	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: text only, no logo (client round 4); "OrangeRoc" links out to orangeroc.com. */
.iai-footer__credit {
	text-align: right;
}

/* 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: 28px 32px;
	}

	.iai-footer__brand {
		flex: 1 0 100%;
		padding-top: 24px;
		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: 32px 20px 26px;
		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: 22px;
	}

	.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 {
		text-align: left;
	}
}

/* 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;
}
