/*
 * Chrome 2026 — site FOOTER (deferred, self-contained)
 *
 * Reverse-engineered from the theme footer (footer.php) so it renders with
 * ZERO dependency on Bootstrap, jQuery, or shared theme CSS/JS. Every value
 * mirrors the original rules in css/general.css + css/media.css; the Bootstrap
 * grid/utility classes the markup uses (.container/.row/.col-*/.d-flex/...) are
 * reproduced here scoped to `footer` / `.footer-bottom` / `.scroll-to-top`.
 *
 * Footer is below the fold => fully deferred; no critical CSS needed.
 */

/* Base: lean mode removed the theme's body font; the footer is OUTSIDE .hp26.
 * A leaked widget/theme rule re-asserts the serif body default deeper in the
 * footer (headings/links rendered in Times even with `footer{}` + a scoped
 * `.footer-menu-columns{}` set). !important here neutralises that leaked rule
 * so the whole footer is Montserrat like prod. */
footer {
	font-family: 'Montserrat', 'Mont-fallback', -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	font-size: 16px;
	line-height: normal;
	/* Belt-and-braces: the Bootstrap-style negative-margin rows below must never
	 * leak a horizontal scrollbar across the page. */
	overflow-x: hidden;
}

/* ---------------------------------------------------------------------------
 * Container — mirrors theme .container (css/general.css:16). Theme uses
 * calc(1300px + 5em); we pin it to the resolved 1380px (font-size 16 → 5em=80)
 * so it is deterministic regardless of inherited font-size.
 *   Scoped to the footer subtrees so it never leaks to other .container nodes.
 * ------------------------------------------------------------------------- */
footer .footer-menu-columns > .container,
footer .footer-bottom > .container {
	width: 100%;
	max-width: 1380px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 40px;
	padding-left: 40px;
	box-sizing: border-box;
}

/* Bootstrap row / gutters reproduced (footer uses .row.gx-sm-5 and a plain
 * .row in footer-bottom). Bootstrap rows are flex with negative side margins
 * cancelled by per-column padding. The footer overrides the column padding
 * itself (40px below), so we only need the flex + wrap baseline here. */
footer .footer-menu-columns > .container > .row,
.footer-bottom > .container > .row {
	display: flex;
	flex-wrap: wrap;
	box-sizing: border-box;
}
footer .footer-menu-columns > .container > .row > [class^="col"],
footer .footer-menu-columns > .container > .row > [class*=" col"],
.footer-bottom > .container > .row > [class^="col"],
.footer-bottom > .container > .row > [class*=" col"] {
	box-sizing: border-box;
}

/* ---------------------------------------------------------------------------
 * Footer menu columns — css/general.css:792-845
 * ------------------------------------------------------------------------- */
footer .footer-menu-columns {
	padding: 80px 0 100px;
}

/* .row.gx-sm-5 negative-margin override (css/general.css:795) */
footer .footer-menu-columns > .container > .row {
	margin-left: -40px;
	margin-right: -40px;
}

/* 4 columns: .col-md-3 => 25% from >=768px; .col-12 => 100% below.
 * Footer overrides the column padding to 40px (css/general.css:829). */
footer .footer-menu-columns .col-md-3 {
	flex: 0 0 25%;
	max-width: 25%;
	padding-right: 40px;
	padding-left: 40px;
}

/* Column headings — h5 + .footer-menu-title (css/general.css:799) */
footer .footer-menu-columns h5,
footer .footer-menu-columns .footer-menu-title {
	margin-top: 0;
	margin-bottom: 13px;
	line-height: 1;
	font-weight: 400;
	font-size: 18px;
	color: #000;
}

/* The widget places an <hr> after each heading. Prod styles it via the global
   `hr { color:#1690d3; opacity:1 }` (lean removed that) → blue divider. */
footer .footer-menu-columns hr {
	margin: 1rem 0;
	border: 0;
	border-top: 1px solid #1690d3;
	opacity: 1;
	color: #1690d3;
}

/* Nav lists (.menu, incl. .list-unstyled .menu in Offices/Contact) */
footer .footer-menu-columns ul.menu {
	margin: 0;
	padding-left: 0;
	list-style: none;
}

/* Link list items (css/general.css:811) */
footer .footer-menu-columns ul.menu .menu-item a {
	color: rgba(0, 0, 0, 0.7);
	display: block;
	font-size: 1rem;
	line-height: normal;
	padding-bottom: 16px;
	word-break: break-all;
	text-decoration: none;
}
footer .footer-menu-columns ul.menu .menu-item a:hover {
	text-decoration: underline;
}

/* Offices/Contact rows: address <span> + icon <svg> sit in a flex row.
 * Markup uses .d-flex .mb-1 on the link/span and .me-2 on the svg, plus
 * .mb-4 on the <li>. Reproduce those utilities scoped to the footer. */
footer .footer-menu-columns ul.menu .menu-item .d-flex {
	display: flex;
}
footer .footer-menu-columns ul.menu .menu-item .mb-1 {
	margin-bottom: 0.25rem;
}
footer .footer-menu-columns ul.menu .menu-item.mb-4 {
	margin-bottom: 1.5rem;
}
footer .footer-menu-columns ul.menu .menu-item .me-2 {
	margin-right: 0.5rem;
}

/* Offices/Contact address text inside <span> (css/general.css:825) */
footer .offices-column li span,
footer .footer-menu-columns ul.menu .menu-item span {
	color: #000000b3;
	font-size: 14px;
	text-decoration: none;
}

/* Inline widget icons (css/general.css:833) */
footer .footer-menu-columns svg {
	width: 18px;
	height: 18px;
}
/* Offices icons must not shrink in the flex row (css/general.css:822) */
footer .offices-column .menu .menu-item svg {
	flex: none;
}

/* DMCA badge below the first column */
footer .footer-menu-columns .dmca-badge {
	display: inline-block;
}
footer .footer-menu-columns .dmca-badge img {
	display: block;
}

/* Contact "Contact Us" pill button — replicates .btn + .btn-outline-primary
 * + footer override + .rounded-pill, scoped (css/general.css:142-187, 866). */
footer a.btn.contact-us-btn {
	display: inline-block;
	color: #1690d3;
	border: 1px solid #1690d3;
	background: none;
	font-size: 16px;
	padding: 16px 25px;
	border-radius: 50rem;
	line-height: 1.25;
	text-decoration: none;
	transition: all 0.5s ease;
}
footer a.btn.contact-us-btn:hover,
footer a.btn.contact-us-btn:focus {
	color: #fff;
	background-color: #1d78ab;
	border-color: #1d78ab;
	text-decoration: none;
	box-shadow: none;
}

/* ---------------------------------------------------------------------------
 * Footer bottom bar — css/general.css:846-864
 * ------------------------------------------------------------------------- */
.footer-bottom {
	border-top: 1px solid rgba(74, 66, 77, 0.15);
	width: 100%;
	padding: 1rem 0;
}

/* Bottom row: .row.d-flex.justify-content-center.align-items-center */
.footer-bottom > .container > .row {
	justify-content: center;
	align-items: center;
}

/* Bottom columns: logo + socials are .col-lg-2 (>=992px) / .col-md-3 (>=768px)
 * / .col-12 (below); copyright is .col (fills remaining space). */
.footer-bottom .col-lg-2 {
	flex: 0 0 16.666667%;
	max-width: 16.666667%;
}
.footer-bottom .col {
	flex: 1 0 0%;
	max-width: 100%;
}

/* Logo block (css/general.css:837) + .mx-md-0 .mx-auto centering helpers */
footer .footer_logo {
	width: 160px;
	height: 100%;
	display: block;
}
footer .footer_logo img {
	display: block;
	width: 100%;
}
.footer-bottom .footer_logo.mx-md-0 {
	margin-right: 0;
	margin-left: 0;
}

/* Copyright (css/general.css:851) + .m-0 .text-center utilities */
.footer_copyright {
	margin: 0;
	color: #7c8cac;
	font-size: 14px;
	font-family: 'Montserrat', sans-serif;
	text-align: center;
}

/* Copyright width guard between 990–1150px (css/general.css:1137) */
@media (min-width: 990px) and (max-width: 1150px) {
	.footer_copyright {
		max-width: 85%;
	}
}

/* Copyright column vertical spacing: .my-4 applies ONLY on mobile; from >=768px
 * the markup's .my-md-0 zeroes it (handled in the <=767 block below). Keeping a
 * desktop margin here made footer-bottom taller than prod (69px). */

/* Socials column alignment — the markup puts the utilities directly on the
 * column: .d-flex.align-items-center.justify-content-md-end.justify-content-center.
 * Desktop base = end-aligned; mobile (<=767px) override centers it below. */
.footer-bottom .col-lg-2.d-flex {
	display: flex;
}
.footer-bottom .col-lg-2.d-flex.align-items-center {
	align-items: center;
}
.footer-bottom .col-lg-2.justify-content-md-end {
	justify-content: flex-end;
}

/* Socials row (markup: .d-flex.align-tems-center.footer_socials — the
 * align-tems-center typo carries no rule in the theme, so it is a no-op). */
.footer_socials {
	display: flex;
	align-items: center;
}
.footer_socials a {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}
.footer_socials a + a {
	margin-left: 44px;
}
.footer_socials a svg {
	height: 20.8px;
	width: auto;
}
/* Behance (last) is bigger (css/general.css:862) */
.footer_socials a:last-child svg {
	height: 28px;
	width: 28px;
}

/* ---------------------------------------------------------------------------
 * Scroll-to-top button — css/general.css:870-884
 *   Fixed bottom-right, hidden (opacity 0) until JS adds .show.
 * ------------------------------------------------------------------------- */
.scroll-to-top {
	cursor: pointer;
	width: 60px;
	position: fixed;
	z-index: 99;
	bottom: 5em;
	right: 1em;
	padding: 0.6em;
	opacity: 0;
	-webkit-transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, opacity 0.2s ease-in-out;
	transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, opacity 0.2s ease-in-out;
}
.scroll-to-top.show {
	opacity: 1;
}
.scroll-to-top a {
	display: block;
	line-height: 0;
}
.scroll-to-top img {
	display: block;
	width: 100%;
}

/* ===========================================================================
 * Responsive — mirrors css/media.css footer rules.
 * =========================================================================== */

/* <=1200px: column gutter padding tightens to 25px; socials gap 24px.
 * (css/media.css:40 block → :312, :316) */
@media screen and (max-width: 1200px) {
	footer .footer-menu-columns .col-md-3 {
		padding-right: 25px;
		padding-left: 25px;
	}
	.footer_socials a + a {
		margin-left: 24px;
	}
}

/* <=992px: link/address font shrinks to 0.8rem; contact pill 0.8rem/14x16.
 * (css/media.css:126 block → :175, :179) */
@media screen and (max-width: 992px) {
	footer {
		overflow-x: hidden;
	}
	footer .footer-menu-columns ul.menu .menu-item a,
	footer .footer-menu-columns ul.menu .menu-item span {
		font-size: 0.8rem;
	}
	footer a.btn.contact-us-btn {
		font-size: 0.8rem;
		padding: 14px 16px;
	}
}

/* <=767px: columns stack full-width. Below the .col-md-3 breakpoint the
 * Bootstrap columns fall back to their .col-12 (100%) base, and the bottom
 * .col-lg-2 / .col-md-3 also stack. Footer link/address font bumps back to
 * 16px (css/media.css:575 block → :653). */
@media screen and (max-width: 767px) {
	footer .footer-menu-columns .col-md-3 {
		flex: 0 0 100%;
		max-width: 100%;
	}
	.footer-bottom .col-lg-2 {
		flex: 0 0 100%;
		max-width: 100%;
	}
	.footer-bottom .col {
		flex: 0 0 100%;
		max-width: 100%;
	}
	footer .footer-menu-columns ul.menu .menu-item a,
	footer .footer-menu-columns ul.menu .menu-item span {
		font-size: 16px;
	}
	/* Logo + socials center on mobile (.mx-auto / .justify-content-center). */
	.footer-bottom .footer_logo.mx-md-0 {
		margin-right: auto;
		margin-left: auto;
	}
	.footer-bottom .col-lg-2.justify-content-center {
		justify-content: center;
	}
	/* Copyright gets vertical breathing room on mobile (.my-4 active). */
	.footer-bottom .col.my-4 {
		margin-top: 1.5rem;
		margin-bottom: 1.5rem;
	}
}

/* <=576px: container padding tightens to 1rem; column gutter restores to 40px;
 * menu-columns vertical padding shrinks; contact pill margin reset.
 * (css/media.css:854 block → :849, :858; :575 block contact reset at :1208/1211)
 * Note: the theme's .col-md-3 40px restore at media.css:849 lives in the 576px
 * block (overrides the 25px from the 1200px block at this width). */
@media screen and (max-width: 576px) {
	footer .footer-menu-columns > .container,
	footer .footer-bottom > .container {
		padding-left: 1rem;
		padding-right: 1rem;
	}
	footer .footer-menu-columns .col-md-3 {
		padding-right: 40px;
		padding-left: 40px;
	}
	footer .footer-menu-columns {
		padding: 50px 0 60px;
	}
	footer a.btn.contact-us-btn {
		margin: 0 !important;
	}
}
