/**
 * Theme Name: GeoDataVision
 * Description: GeoDataVision site theme based on Blocksy
 * Author: GeoDataVision
 * Template: blocksy
 * Text Domain: blocksy-child
 */

:root {
	--gdv-navy: #082d73;
	--gdv-deep-navy: #05276a;
	--gdv-ink: #202124;
	--gdv-muted: #666;
	--gdv-page: #f8f9fb;
}

.gdv-theme {
	margin: 0;
	background: var(--gdv-page);
	color: var(--gdv-ink);
	font-family: Overpass, Arial, sans-serif;
}

.gdv-theme *, .gdv-theme *::before, .gdv-theme *::after { box-sizing: border-box; }
.gdv-theme a { text-decoration: none; }
.gdv-theme img { max-width: 100%; }
.gdv-theme .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.gdv-theme :focus-visible { outline: 3px solid #e8b633; outline-offset: 3px; }

.gdv-skip-link {
	position: absolute;
	top: -100px;
	left: 20px;
	z-index: 200;
	padding: 12px 18px;
	background: #fff;
	color: var(--gdv-navy);
}
.gdv-skip-link:focus { top: 12px; }

.gdv-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: #fff;
	box-shadow: 0 1px 6px #00000016;
}
.gdv-header-inner {
	display: flex;
	align-items: center;
	min-height: 113px;
	width: 100%;
}
.gdv-brand {
	display: flex;
	align-items: center;
	align-self: stretch;
	flex: 0 0 260px;
	padding: 0 20px;
	border-right: 1px solid #f1f1f1;
}
.gdv-brand img { display: block; width: 225px; height: auto; }
.gdv-nav { margin: 0 auto; }
.gdv-nav-list, .gdv-nav-list ul { margin: 0; padding: 0; list-style: none; }
.gdv-nav-list { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; }
.gdv-nav-list > li { position: relative; }
.gdv-nav-list > li > a {
	display: block;
	padding: 16px 11px;
	color: #151515;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
}
.gdv-nav-list a:hover, .gdv-nav-list a:focus { color: var(--gdv-navy); }
.gdv-nav-list .sub-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 230px;
	padding: 8px 0;
	background: #fff;
	box-shadow: 0 8px 24px #0002;
}
.gdv-nav-list .sub-menu .sub-menu { top: 0; left: 100%; }
.gdv-nav-list li:hover > .sub-menu, .gdv-nav-list li:focus-within > .sub-menu { display: block; }
.gdv-nav-list .sub-menu a { display: block; padding: 10px 16px; color: #202124; font-size: 14px; line-height: 1.3; }
.gdv-search { position: relative; flex: 0 0 76px; align-self: stretch; }
.gdv-search summary { display: grid; place-items: center; height: 100%; cursor: pointer; list-style: none; color: #202124; }
.gdv-search summary::-webkit-details-marker { display: none; }
.gdv-search form { position: absolute; top: 100%; right: 8px; width: min(340px, calc(100vw - 16px)); padding: 20px; background: #fff; box-shadow: 0 8px 24px #0002; }
.gdv-search label { display: block; margin-bottom: 8px; font-weight: 700; }
.gdv-search-row { display: flex; }
.gdv-search input { min-width: 0; flex: 1; padding: 10px; border: 1px solid #aaa; }
.gdv-search button, .gdv-button { display: inline-block; border: 0; padding: 12px 22px; background: var(--gdv-navy); color: #fff !important; font-size: 14px; font-weight: 700; text-transform: uppercase; cursor: pointer; }
.gdv-search button:hover, .gdv-button:hover { background: #114da7; }
.gdv-menu-button { display: none; }

.gdv-main { min-height: 45vh; }
.gdv-footer { background: var(--gdv-deep-navy); color: #fff; }
.gdv-footer-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 460px); gap: 80px; max-width: 1200px; margin: 0 auto; padding: 90px 20px 110px; }
.gdv-footer h2 { margin: 0 0 25px; color: inherit; font-size: 20px; font-weight: 700; }
.gdv-footer p, .gdv-footer address { margin: 0 0 18px; font-size: 16px; line-height: 1.8; font-style: normal; }
.gdv-footer a { color: #fff !important; }
.gdv-footer a:hover { text-decoration: underline; }
.gdv-footer .gdv-footer-line { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 12px; align-items: start; margin-bottom: 22px; }
.gdv-footer-line svg { width: 17px; height: 17px; margin-top: 5px; fill: currentColor; }
.gdv-footer .gdv-footer-email { color: #4e9fec !important; font-weight: 600; }
.gdv-footer-card { align-self: start; padding: 32px; border-radius: 12px; background: #fff; color: var(--gdv-ink); }
.gdv-footer-card:has([data-form]) { padding: 0; background: transparent; }
.gdv-footer-card h2 { color: #0870ca; }
.gdv-footer-card .gdv-button { color: #fff; }
.page-id-6765 .gdv-mailbluster { max-width: 460px; margin: 0 auto; }
.gdv-footer-bottom-inner { display: flex; align-items: center; justify-content: space-between; max-width: 1240px; margin: 0 auto; border-top: 1px solid #ffffff30; padding: 35px 20px 55px; }
.gdv-footer-bottom p { margin: 0; font-size: 14px; }
.gdv-footer-social { display: block; width: 24px; height: 24px; }
.gdv-footer-social svg { display: block; width: 100%; height: 100%; fill: #fff; }
.gdv-footer-social:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }

.gdv-home-content { background: var(--gdv-page); }
.gdv-home-content > .wp-block-group, .gdv-home-content > .wp-block-cover { margin: 0; }
.gdv-home-content .wp-block-buttons > .wp-block-button { padding: 0; border: 0; background: transparent; }
.gdv-home-cover { min-height: 790px; padding: 0; background: #fbf7f3; }
.gdv-home-cover .wp-block-cover__image-background { object-position: center top; }
.gdv-home-cover .wp-block-cover__inner-container { display: flex; align-items: flex-end; width: 100%; min-height: 790px; }
.gdv-home-hero-card { width: min(660px, 100%); margin: 0; padding: 36px 40px 40px; background: #fffffff0; box-shadow: 0 8px 25px #0000000d; }
.gdv-home-hero-card h1 { margin: 0 0 30px; color: var(--gdv-ink); font-size: clamp(32px, 3vw, 40px); line-height: 1.2; }
.gdv-home-hero-card h1 a { color: inherit; }
.gdv-home-hero-card .wp-block-buttons { margin: 0; }
.gdv-home-hero-card .wp-block-button__link { padding: 12px 20px; border-radius: 3px; background: #202124; color: #fff; font-size: 14px; font-weight: 700; }
.gdv-home-intro-columns { gap: 0 !important; align-items: stretch !important; margin: 0; }
.gdv-home-content .gdv-home-intro-columns > .wp-block-column.gdv-home-quote { display: flex; flex: 0 0 29%; flex-direction: column; min-height: 920px; padding: 70px 60px; background: var(--gdv-navy); color: #fff; }
.gdv-home-quote p { margin: 0 0 22px; color: #fff; font-size: 20px; font-weight: 700; line-height: 1.65; }
.gdv-home-quote .gdv-home-quote-author { color: #ffc72c; }
.gdv-home-more-quote { margin: 0 0 18px; border-top: 1px solid #ffffff55; padding-top: 18px; }
.gdv-home-more-quote summary { color: #ffc72c; font-size: 17px; font-weight: 700; cursor: pointer; }
.gdv-home-more-quote[open] p { margin: 15px 0 0; font-size: 16px; font-weight: 400; }
.gdv-home-quote .wp-block-buttons { margin-top: auto; }
.gdv-home-quote .wp-block-button { width: 100%; }
.gdv-home-quote .wp-block-button__link { display: block; padding: 18px 15px; border-radius: 0; background: #ffc72c; color: #fff; font-weight: 700; }
.gdv-home-content .gdv-home-intro-columns > .wp-block-column.gdv-home-benefits { flex: 1; min-width: 0; padding: 45px clamp(35px, 8vw, 130px); background: linear-gradient(#ffffffe0, #ffffffe0), url('assets/feature-man-r711.jpg') center / cover; }
.gdv-home-benefits > h2 { margin: 0 0 60px; color: var(--gdv-navy); font-size: clamp(27px, 2.5vw, 32px); line-height: 1.3; text-align: center; }
.gdv-home-benefit { position: relative; margin: 0 0 45px; padding-left: 72px; }
.gdv-home-benefit::before { content: ''; position: absolute; top: 3px; left: 0; width: 45px; height: 45px; background: center / contain no-repeat; }
.gdv-home-benefit-experts::before { background-image: url('assets/icon-experts.svg'); }
.gdv-home-benefit-mapping::before { background-image: url('assets/icon-map.svg'); }
.gdv-home-benefit-reports::before { background-image: url('assets/icon-chart.svg'); }
.gdv-home-benefit h3 { margin: 0 0 5px; color: #222; font-size: 19px; line-height: 1.35; }
.gdv-home-benefit p { margin: 0; color: #666; font-size: 16px; line-height: 1.85; }
.gdv-home-contact { min-height: 410px; padding: 40px 20px; text-align: center; }
.gdv-home-contact .wp-block-cover__inner-container { display: grid; justify-items: center; }
.gdv-home-contact h2 { max-width: 1080px; margin: 0 0 35px; color: #fff; font-size: 32px; line-height: 1.3; }
.gdv-home-contact .wp-block-button__link { padding: 16px 42px; border: 2px solid #fff; border-radius: 4px; background: transparent; color: #fff; font-size: 20px; font-weight: 700; }
.gdv-home-map { min-height: 570px; align-items: flex-start; padding-top: 80px; }
.gdv-home-map .wp-block-cover__inner-container { display: flex; justify-content: center; }
.gdv-home-map .wp-block-button__link { padding: 16px 40px; border-radius: 0; background: var(--gdv-navy); color: #fff; font-weight: 700; }
.gdv-home-services { max-width: 1290px; margin: 0 auto !important; padding: 55px 24px 80px; }
.gdv-home-services > h2 { margin: 0 0 50px; color: var(--gdv-ink); font-size: 30px; text-align: center; }
.gdv-home-services > .wp-block-columns { gap: 40px; align-items: stretch; margin: 0; }
.gdv-home-service { min-width: 0; border: 1px solid #ddd; border-radius: 8px; overflow: hidden; background: #fff; text-align: center; }
.gdv-home-service .wp-block-image { margin: 0; }
.gdv-home-service img { display: block; width: 100%; height: 220px; object-fit: cover; }
.gdv-home-service h3 { margin: 25px 24px 18px; color: #111; font-size: 18px; line-height: 1.4; }
.gdv-home-service p { margin: 0; padding: 0 24px 35px; color: #222; font-size: 16px; line-height: 1.9; }
.gdv-home-trust { position: relative; display: grid; grid-template-columns: 54% 46%; align-items: center; min-height: 550px; background: #ededed; }
.gdv-home-trust::before { content: ''; position: absolute; top: 0; right: 0; bottom: 0; width: 46%; background: url('assets/client-meeting-r711.jpeg') center / cover; }
.gdv-home-trust h2 { grid-column: 1; grid-row: 1; margin: 0; padding: 30px 12%; color: var(--gdv-ink); font-size: 34px; line-height: 1.3; }
.gdv-home-trust h2 strong { color: #fac327; }
.gdv-home-trust p { position: relative; z-index: 1; grid-column: 2; grid-row: 1; align-self: end; margin: 0; padding: 25px; background: var(--gdv-navy); color: #fff; font-size: 18px; font-weight: 700; text-align: center; }

.gdv-news-hero { display: grid; place-items: center; min-height: 353px; padding: 50px 24px; background: linear-gradient(#0009, #0009), url('assets/news-hero.jpeg') center 55% / cover; text-align: center; }
.gdv-news-hero h1 { margin: 0; color: #fff; font-size: clamp(34px, 4vw, 46px); line-height: 1.2; }
.gdv-news-wrap { max-width: 1290px; margin: 0 auto; padding: 100px 24px 130px; }
.gdv-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 60px 30px; }
.gdv-post-card { min-width: 0; text-align: center; }
.gdv-post-card-image { display: block; margin-bottom: 20px; overflow: hidden; background: #e9edf2; }
.gdv-post-card-image img { display: block; width: 100%; height: 292px; object-fit: cover; }
.gdv-post-card h2 { margin: 0 0 20px; font-size: 20px; font-weight: 700; line-height: 1.45; }
.gdv-post-card h2 a { color: var(--gdv-deep-navy); }
.gdv-post-card h2 a:hover { text-decoration: underline; }
.gdv-post-card p { min-height: 184px; margin: 0 0 20px; color: #666; font-size: 16px; line-height: 1.9; text-align: justify; }
.gdv-news-wrap .navigation.pagination { margin-top: 80px; }
.gdv-news-wrap .nav-links { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; }
.gdv-news-wrap .page-numbers { padding: 9px 14px; background: #fff; color: var(--gdv-navy); }
.gdv-news-wrap .page-numbers.current { background: var(--gdv-navy); color: #fff; }

.gdv-post-hero { position: relative; display: grid; place-items: center; min-height: 450px; padding: 60px 24px; overflow: hidden; background: var(--gdv-deep-navy); text-align: center; }
.single-download .gdv-post-hero { background: #363636; }
.single-download .gdv-post-hero-shade { display: none; }
.gdv-post-hero-image, .gdv-post-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.gdv-post-hero-image { object-fit: cover; object-position: center 65%; }
.gdv-post-hero-shade { background: #000a; }
.gdv-post-hero h1 { position: relative; z-index: 1; max-width: 1290px; margin: 0; color: #fff; font-size: clamp(32px, 4vw, 46px); line-height: 1.3; }
.gdv-content-layout { max-width: 1290px; margin: 0 auto; }
.gdv-single .gdv-content-layout { max-width: 1338px; padding: 80px 24px 130px; }
.gdv-content-layout.has-sidebar { display: grid; grid-template-columns: minmax(0, 1fr) 285px; gap: 48px; }
.gdv-article-content { min-width: 0; color: #111; font-size: 16px; line-height: 1.9; }
.gdv-article-content p { margin: 0 0 22px; }
.gdv-article-content h2, .gdv-article-content h3 { margin: 34px 0 16px; color: var(--gdv-ink); }
.gdv-article-content img { height: auto; }

.gdv-page { max-width: 1290px; margin: 0 auto; padding: 85px 24px 150px; }
body:is(.page-id-10125,.page-id-10126,.page-id-10127,.page-id-10128,.page-id-10129,.page-id-10130,.page-id-8363) .gdv-page { max-width: none; padding: 0; }
body:is(.page-id-10125,.page-id-10126,.page-id-10127,.page-id-10128,.page-id-10129,.page-id-10130,.page-id-8363) .gdv-page-title { display: grid; place-items: center; min-height: 220px; margin: 0; padding: 35px 24px; background: #363636; color: #fff; font-size: clamp(28px, 3vw, 36px); }
body:is(.page-id-10125,.page-id-10126,.page-id-10127,.page-id-10128,.page-id-10129,.page-id-10130,.page-id-8363) .gdv-content-layout { max-width: 1290px; padding: 40px 24px 70px; }
.gdv-page-title { margin: 0 0 42px; text-align: center; color: var(--gdv-ink); font-size: clamp(34px, 4vw, 46px); line-height: 1.2; }
.gdv-page-featured { margin: 0 auto 45px; text-align: center; }
.gdv-page-featured img { display: block; width: auto; max-height: 430px; margin: 0 auto; object-fit: contain; }
.gdv-page-content { min-width: 0; color: #666; font-size: 16px; line-height: 1.9; }
.gdv-page-content p { margin: 0 0 22px; }
.gdv-page-content h1, .gdv-page-content h2, .gdv-page-content h3 { color: var(--gdv-ink); line-height: 1.25; }
.gdv-page-content > .wp-block-heading { margin: 36px 0 18px; }
.gdv-page-content > .wp-block-image { margin: 0 0 30px; }
.gdv-page-content > .wp-block-image img { display: block; max-height: 550px; width: auto; }
.gdv-page-content > .wp-block-file { margin: 0 0 28px; }
.gdv-page-content h1 { display: block; margin: 0 0 28px; font-size: clamp(34px, 4vw, 46px); font-weight: 700; text-align: center; }
.page-id-3217 .gdv-page, .page-id-3217 .gdv-content-layout { max-width: none; padding: 0; }
.page-id-3217 .gdv-contact-band { margin: 0; padding: 86px 24px 90px; background: #ebebeb; }
.page-id-3217 .gdv-contact-columns { display: grid; grid-template-columns: minmax(0, 1fr) 515px; gap: 40px; align-items: start; max-width: 1000px; margin: 0 auto; }
.page-id-3217 .gdv-contact-info h1 { margin: 0 0 30px; font-size: 46px; text-align: left; }
.page-id-3217 .gdv-contact-info p { margin: 0; color: #333; line-height: 1.6; }
.page-id-3217 .wpforms-container { width: 100%; max-width: none !important; margin: 0 !important; padding: 32px !important; border: 0 !important; border-radius: 15px !important; background: #fff !important; box-shadow: 0 12px 24px #0000000d; }
.page-id-3217 .wpforms-field-row { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
.page-id-3217 .wpforms-field-row::before, .page-id-3217 .wpforms-field-row::after { display: none !important; }
.page-id-3217 .wpforms-field-row-block.wpforms-one-half { float: none !important; max-width: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
.page-id-3217 .wpforms-field-label { color: #173b7d !important; }
.page-id-3217 .wpforms-field-medium { max-width: 100% !important; width: 100% !important; }
.page-id-3217 .wpforms-form input:not([type='hidden']), .page-id-3217 .wpforms-form textarea { border-color: #c8d4e5 !important; border-radius: 8px !important; }
.page-id-3217 .wpforms-submit { padding: 12px 28px !important; border-radius: 7px !important; background: #173b7d !important; }
.page-id-7586 .gdv-page { padding-top: 97px; }
.page-id-3502 .gdv-page { padding-top: 100px; }
.page-id-3502 .gdv-page-content h2 { text-align: center; }
.gdv-testimonial-arrow { position: absolute; top: 50%; transform: translateY(-50%); border: 0; padding: 10px; background: none; color: var(--gdv-navy); font-size: 36px; cursor: pointer; }
.gdv-testimonial-arrow--prev { left: -42px; }
.gdv-testimonial-arrow--next { right: -42px; }
.page-id-7484 .gdv-page { padding-top: 40px; }
.page-id-7484 .gdv-page-content h4 { color: var(--gdv-navy); font-size: 22px; }
.gdv-widget { margin-bottom: 35px; }
.gdv-widget-title { font-size: 20px; }
.gdv-sidebar .gdv-help-card { margin: 0; padding: 28px; border-radius: 8px; background: var(--gdv-navy); color: #fff; }
.gdv-sidebar .gdv-help-card h2 { margin: 0 0 18px; color: #fff; font-size: 23px; }
.gdv-sidebar .gdv-help-card p { margin: 0 0 18px; line-height: 1.6; }
.gdv-sidebar .gdv-help-card p:last-child { margin: 0; font-size: 20px; font-weight: 700; }
.gdv-sidebar .gdv-help-card a { color: #fff !important; }
.gdv-product-links h2 { margin: 0 0 18px; color: var(--gdv-navy); font-size: 22px; }
.gdv-product-links ul { margin: 0; padding-left: 20px; }
.gdv-product-links li { margin: 0 0 9px; line-height: 1.4; }
.gdv-product-links ul ul { margin-top: 9px; }
.gdv-product-links a { color: var(--gdv-navy); }
.gdv-sidebar .wp-block-buttons, .gdv-sidebar .wp-block-button { margin: 0; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.gdv-sidebar .wp-block-button__link { padding: 14px 28px; border: 0 !important; border-radius: 4px; background: var(--gdv-navy) !important; color: #fff !important; box-shadow: none !important; }
.gdv-library-checkout .wp-block-button__link { padding: 14px 20px; border-radius: 4px; background: #1a73e8; color: #fff; }

@media (max-width: 1100px) {
	.gdv-brand { flex-basis: 220px; }
	.gdv-brand img { width: 185px; }
	.gdv-nav-list > li > a { padding-inline: 7px; font-size: 12px; }
}

@media (max-width: 900px) {
	.page-id-3217 .gdv-contact-columns { grid-template-columns: 190px minmax(0, 1fr); gap: 30px; max-width: 560px; }
	.page-id-3217 .gdv-contact-info h1 { font-size: 40px; }
	.page-id-3217 .gdv-contact-info p:first-of-type { white-space: nowrap; }
	.gdv-footer-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1.45fr); gap: 30px; }
	.gdv-header-inner { min-height: 78px; }
	.gdv-brand { flex-basis: auto; flex-grow: 1; border-right: 0; }
	.gdv-brand img { width: 190px; }
	.gdv-menu-button { display: grid; place-items: center; width: 44px; height: 44px; margin-left: auto; border: 0; padding: 0; background: transparent; color: var(--gdv-ink); font: inherit; font-size: 24px; cursor: pointer; }
	.gdv-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; max-height: 75vh; overflow-y: auto; margin: 0; padding: 12px 24px; background: #fff; box-shadow: 0 8px 24px #0002; }
	.gdv-nav.is-open { display: block; }
	.gdv-nav-list { display: block; }
	.gdv-nav-list > li > a { padding: 12px 0; font-size: 16px; }
	.gdv-nav-list .sub-menu, .gdv-nav-list .sub-menu .sub-menu { display: block; position: static; min-width: 0; padding: 0 0 0 18px; box-shadow: none; }
	.gdv-search { flex-basis: 60px; }
	.gdv-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gdv-content-layout.has-sidebar { grid-template-columns: 1fr; }
}

@media (max-width: 650px) {
	.gdv-news-hero { min-height: 217px; }
	.gdv-news-wrap { padding: 55px 18px 80px; }
	.gdv-post-grid { grid-template-columns: 1fr; gap: 50px; }
	.gdv-post-card-image img { height: 225px; }
	.gdv-post-card p { min-height: 0; }
	.gdv-post-hero { min-height: 240px; }
	.gdv-post-hero h1 { font-size: 28px; }
	.gdv-single .gdv-content-layout { padding: 35px 24px 80px; }
	.gdv-article-content { font-size: 14px; line-height: 1.7; }
	.gdv-page { padding: 55px 18px 80px; }
	.page-id-3217 .gdv-contact-band { padding: 40px 20px 35px; }
	.page-id-3217 .gdv-contact-columns { display: block; max-width: 286px; }
	.page-id-3217 .gdv-contact-info { margin-bottom: 42px; padding: 0 30px; }
	.page-id-3217 .gdv-contact-info h1 { font-size: 34px; }
	.page-id-3217 .gdv-contact-info p:first-of-type { white-space: normal; }
	.page-id-3217 .wpforms-container { padding: 20px !important; }
	.page-id-3217 .wpforms-field-row { grid-template-columns: 1fr; gap: 12px; }
	.page-id-3217 .wpforms-submit { width: 100%; }
	.page-id-7586 .gdv-page { padding-top: 45px; }
	.page-id-3502 .gdv-page { padding: 18px 44px 80px; }
	.gdv-testimonial-arrow--prev { left: -16px; }
	.gdv-testimonial-arrow--next { right: -16px; }
	.page-id-7484 .gdv-page { padding-top: 30px; }
	.gdv-footer-inner { grid-template-columns: 1fr; gap: 35px; padding: 45px 30px 55px; }
	.gdv-footer-bottom-inner { flex-direction: column; gap: 25px; padding: 35px 20px 50px; text-align: center; }
	.gdv-home-cover, .gdv-home-cover .wp-block-cover__inner-container { min-height: 488px; }
	.gdv-home-cover { overflow: hidden; }
	.gdv-home-cover .wp-block-cover__image-background { top: 0; left: 50%; width: 622px; max-width: none; height: 350px; object-fit: cover; transform: translateX(-50%); }
	.gdv-home-cover .wp-block-cover__inner-container { display: block; padding-top: 188px; }
	.gdv-home-hero-card { width: calc(100% - 40px); margin: 0 20px; padding: 22px; border-radius: 5px; }
	.gdv-home-hero-card h1 { margin-bottom: 22px; font-size: 27px; }
	.gdv-home-intro-columns { display: block; }
	.gdv-home-content .gdv-home-intro-columns > .wp-block-column.gdv-home-quote { display: none; }
	.gdv-home-content .gdv-home-intro-columns > .wp-block-column.gdv-home-benefits { padding: 35px 30px; }
	.gdv-home-benefits > h2 { margin-bottom: 35px; font-size: 27px; }
	.gdv-home-benefit { margin-bottom: 35px; padding-left: 52px; }
	.gdv-home-benefit::before { width: 38px; height: 38px; }
	.gdv-home-benefit h3 { color: var(--gdv-navy); font-size: 21px; }
	.gdv-home-benefit p { font-size: 14px; line-height: 1.7; }
	.gdv-home-contact { min-height: 290px; padding: 25px 20px; }
	.gdv-home-contact h2 { font-size: 24px; }
	.gdv-home-contact .wp-block-button__link { padding: 12px 30px; font-size: 16px; }
	.gdv-home-map { display: none; }
	.gdv-home-services { padding: 55px 20px 45px; }
	.gdv-home-services > h2 { text-align: left; font-size: 28px; }
	.gdv-home-services > .wp-block-columns { display: block; }
	.gdv-home-service { margin-bottom: 40px; text-align: left; }
	.gdv-home-service img { width: calc(100% - 36px); height: 230px; margin: 18px; border-radius: 6px; }
	.gdv-home-service h3 { color: var(--gdv-navy); font-size: 22px; }
	.gdv-home-service p { line-height: 1.65; }
	.gdv-home-trust { display: block; min-height: 0; padding: 30px 20px 15px; }
	.gdv-home-trust::before { display: none; }
	.gdv-home-trust h2 { padding: 0 0 30px; font-size: 28px; }
	.gdv-home-trust p { margin: 0 -20px -15px; padding: 25px; }
}

@media (min-width: 651px) and (max-width: 900px) {
	.gdv-testimonial-arrow--prev { left: -20px; }
	.gdv-testimonial-arrow--next { right: -20px; }
	.gdv-home-cover, .gdv-home-cover .wp-block-cover__inner-container { min-height: 900px; }
	.gdv-home-cover .wp-block-cover__image-background { top: 112px; height: 432px; object-fit: contain; }
	.gdv-home-cover .wp-block-cover__inner-container { display: block; padding-top: 430px; }
	.gdv-home-hero-card { width: min(650px, calc(100% - 120px)); margin: 0 0 0 60px; padding: 40px 40px 70px; }
	.gdv-home-hero-card h1 { font-size: 40px; }
	.gdv-home-content .gdv-home-intro-columns > .wp-block-column.gdv-home-quote { flex-basis: 44%; min-height: 0; padding: 45px 48px; }
	.gdv-home-content .gdv-home-intro-columns > .wp-block-column.gdv-home-benefits { padding: 40px 35px 80px; }
	.gdv-home-benefit { padding-left: 60px; }
	.gdv-home-benefit p { font-size: 14px; line-height: 1.6; }
	.gdv-home-contact { min-height: 280px; }
	.gdv-home-map { display: none; }
	.gdv-home-services { max-width: 708px; padding: 55px 24px; }
	.gdv-home-services > .wp-block-columns { gap: 30px; }
	.gdv-home-service img { height: 160px; }
	.gdv-home-service h3 { font-size: 16px; }
	.gdv-home-service p { font-size: 14px; line-height: 1.6; }
	.gdv-home-trust { display: flex; flex-direction: column; justify-content: center; min-height: 324px; padding: 60px 15px 40px; }
	.gdv-home-trust::before { display: none; }
	.gdv-home-trust h2 { padding: 0 0 35px; font-size: 27px; text-align: center; }
	.gdv-home-trust p { align-self: stretch; padding: 18px; }
}

/* Native galleries and paired product rows use the existing page images and links. */
.gdv-page-content .gdv-sample-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 24px 0 42px; }
.gdv-sample-gallery > .wp-block-image { display: block; width: 100% !important; min-width: 0; margin: 0; padding: 9px; border: 1px solid #dfe5ee; border-radius: 4px; background: #fff; }
.gdv-sample-gallery > .wp-block-image img { display: block; width: 100%; max-height: 310px; height: auto; object-fit: contain; cursor: zoom-in; }
.gdv-sample-gallery .wp-element-caption { position: static !important; width: auto !important; margin: 8px 0 0; padding: 0; background: none !important; color: var(--gdv-navy) !important; font-size: 13px; text-align: center; }
.gdv-sample-gallery .wp-element-caption a { color: var(--gdv-navy); text-decoration: underline; }
.gdv-page-content .gdv-product-teaser { gap: 32px; align-items: flex-start; margin: 0 0 34px; padding: 0 0 34px; border-bottom: 1px solid #dfe5ee; }
.gdv-product-teaser > .wp-block-column:first-child { flex-basis: 46%; }
.gdv-product-teaser > .wp-block-column:last-child { flex-basis: 54%; }
.gdv-product-teaser h2 { margin: 0 0 16px; color: var(--gdv-navy); font-size: 25px; line-height: 1.3; }
.gdv-product-teaser p, .gdv-product-teaser ul { margin: 0 0 16px; }
.gdv-product-teaser img, .gdv-product-teaser iframe { display: block; width: 100%; max-height: 360px; height: auto; object-fit: contain; }
.gdv-product-teaser iframe { aspect-ratio: 16 / 9; }
.gdv-page-content .gdv-executive-edition { gap: 30px; align-items: flex-start; margin: 40px 0; padding: 30px; background: #f4f6f9; }
.gdv-executive-edition .wp-block-image img { display: block; width: 100%; height: auto; }
.gdv-executive-edition .wp-block-file { margin: 20px 0 0; }
.gdv-executive-edition .wp-block-file a { color: var(--gdv-navy); }
.gdv-executive-edition .wp-block-file__button { background: var(--gdv-navy); color: #fff !important; }

/* Contrast, reading width, and aligned news actions. */
.gdv-home-quote .wp-block-button__link { color: var(--gdv-deep-navy) !important; }
.gdv-home-trust h2 strong { color: #8b6500; }
.gdv-post-card { display: flex; flex-direction: column; align-items: center; }
.gdv-post-card-image img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; }
.gdv-post-card p { min-height: 0; line-height: 1.6; text-align: left; }
.gdv-post-card .gdv-button { margin-top: auto; }

.archive .entries, .search .entries { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.archive .entry-card, .search .entry-card { min-width: 0; background: #fff; }
.archive .entry-card .entry-title, .search .entry-card .entry-title { font-size: 20px; line-height: 1.35; }
.archive .entry-card .meta-categories, .search .entry-card .meta-categories { font-size: 12px; text-transform: uppercase; }
@media (max-width: 900px) { .archive .entries, .search .entries { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .archive .entries, .search .entries { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .postid-10200 .gdv-buynow-card { float: none !important; width: 100% !important; box-sizing: border-box; margin: 24px 0 !important; } }
.gdv-single .gdv-content-layout:not(.has-sidebar) { max-width: 850px; }
.postid-10703 .gdv-single .gdv-content-layout:not(.has-sidebar) { max-width: 1290px; }
.gdv-article-content { line-height: 1.65; }
.gdv-testimonial-arrow { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--gdv-navy); border-radius: 50%; background: #fff; color: var(--gdv-navy); font-size: 28px; line-height: 1; }
.gdv-testimonial-arrow:focus-visible { outline: 3px solid var(--gdv-navy); outline-offset: 3px; }

@media (max-width: 900px) {
	.gdv-page-content .gdv-product-teaser, .gdv-page-content .gdv-executive-edition { display: flex; flex-wrap: nowrap !important; }
	.gdv-home-map { display: grid; place-items: center; min-height: 290px; padding: 35px 20px; }
	.gdv-home-trust { display: grid; grid-template-columns: 1fr; padding: 0 20px 20px; }
	.gdv-home-trust::before { position: static; display: block; grid-column: 1; grid-row: 2; width: 100%; height: 240px; }
	.gdv-home-trust h2 { grid-column: 1; grid-row: 1; }
	.gdv-home-trust p { grid-column: 1; grid-row: 3; margin: 0 -20px -20px; }
}

@media (max-width: 650px) {
	.gdv-page-content .gdv-sample-gallery { grid-template-columns: 1fr; gap: 10px; }
	.gdv-page-content .gdv-product-teaser, .gdv-page-content .gdv-executive-edition { display: block; }
	.gdv-product-teaser > .wp-block-column:first-child, .gdv-executive-edition > .wp-block-column:first-child { margin-bottom: 18px; }
	.gdv-page-content .gdv-executive-edition { padding: 20px; }
	.gdv-home-content .gdv-home-intro-columns { display: flex; flex-direction: column; }
	.gdv-home-content .gdv-home-intro-columns > .wp-block-column.gdv-home-quote { display: flex; width: 100%; min-height: 0; padding: 32px 30px; }
	.gdv-home-content .gdv-home-intro-columns > .wp-block-column.gdv-home-benefits { order: -1; width: 100%; }
	.gdv-home-map { min-height: 250px; }
	.gdv-article-content { font-size: 16px; line-height: 1.6; }
	.gdv-post-hero { display: block; min-height: 0; padding: 0; overflow: visible; background: transparent; text-align: left; }
	.gdv-post-hero-image { position: static; display: block; width: 100%; height: auto; max-height: none; object-fit: contain; }
	.gdv-post-hero-shade { display: none; }
	.gdv-post-hero h1 { max-width: none; padding: 22px 24px; background: var(--gdv-deep-navy); font-size: 28px; line-height: 1.25; }
	.single-download .gdv-post-hero h1 { background: #363636; }
	.gdv-testimonial-arrow { position: static; transform: none; }
	.gdv-testimonial-arrow--prev { justify-self: start; }
	.gdv-testimonial-arrow--next { justify-self: end; }
}

/* Remaining native page content. */
.gdv-r7-section { margin: 0 0 34px; }
.gdv-r7-row { gap: 32px; align-items: flex-start; margin: 0 0 30px; }
.gdv-r7-row > .wp-block-column { min-width: 0; }
.gdv-r7-image { margin: 0 0 22px; }
.gdv-r7-image img { display: block; width: 100%; height: auto; }
.gdv-r7-embed iframe { display: block; width: 100%; min-height: 600px; border: 0; }
.page-id-9637 .gdv-r7-embed iframe { min-height: 1200px; }
.gdv-r7-files table { width: 100%; border-collapse: collapse; }
.gdv-r7-files td { padding: 7px 10px; border-bottom: 1px solid #e2e7ee; }
.gdv-r7-files td:last-child:not(:first-child) { width: 50px; }
.gdv-r7-files img { display: inline-block; width: 28px; height: 35px; margin-right: 8px; vertical-align: middle; }
.gdv-r7-files a { color: var(--gdv-navy); text-decoration: underline; }
.page-id-3395 .gdv-r7-row { align-items: center; }
.page-id-3395 .gdv-r7-image:has(img[src*="aba-partner-network"]) { float: left; width: 120px; margin: 8px 28px 24px 0; }
.page-id-3395 .gdv-r7-image:has(img[src*="aba-partner-network"]) img { width: 120px; }
.page-id-3395 .gdv-r7-row { clear: both; }
.page-id-3395 .gdv-r7-row .gdv-r7-image img { max-height: 520px; object-fit: contain; }
.page-id-3477 .gdv-r7-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
.page-id-3477 .gdv-r7-row > .wp-block-column { display: flex; flex-direction: column; align-items: center; min-height: 480px; padding: 26px; border: 1px solid #d4d4d4; border-radius: 9px; text-align: center; }
.page-id-3477 .gdv-r7-row h2, .page-id-3477 .gdv-r7-row h3 { align-self: stretch; margin: 0 0 22px; color: var(--gdv-navy); font-size: 25px; }
.page-id-3477 .gdv-r7-image { width: 100%; margin: auto 0 22px; }
.page-id-3477 .gdv-r7-image img { width: 100%; max-height: 270px; object-fit: contain; }
.page-id-3477 .wp-block-buttons { justify-content: center; }
.page-id-3477 .wp-block-button { border: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; }
.page-id-3477 .wp-block-button__link { background: var(--gdv-navy); color: #fff; }
.page-id-7586 .gdv-r7-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.page-id-7586 .gdv-r7-row h3 { margin: 18px 0 60px; color: var(--gdv-navy); font-size: 26px; font-weight: 400; text-align: center; }
.page-id-7586 .gdv-r7-row h3 a { color: inherit; }
.page-id-7586 .gdv-r7-image img { aspect-ratio: 4 / 3; object-fit: cover; }
.page-id-9214 .gdv-r7-row .wp-block-column::after { content: ''; display: block; width: 100%; aspect-ratio: 4 / 3; margin: 14px auto 30px; background: #f4f5f7; }
.gdv-video { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #071a3b; }
.gdv-video-play { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; padding: 0; cursor: pointer; background: transparent; }
.gdv-video-play img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gdv-video-play span { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 72px; height: 52px; border-radius: 12px; background: #cf2727; transform: translate(-50%, -50%); }
.gdv-video-play span::before { content: ''; width: 0; height: 0; margin-left: 4px; border-top: 11px solid transparent; border-bottom: 11px solid transparent; border-left: 18px solid #fff; }
.gdv-video iframe { display: block; width: 100%; height: 100%; border: 0; }
.gdv-subscription-button, .gdv-subscription-placeholder { display: flex; justify-content: center; margin: 26px 0; }
.gdv-subscription-placeholder { width: fit-content; max-width: 100%; margin-inline: auto; padding: 18px 22px; background: var(--gdv-navy); color: #fff; font-weight: 700; text-align: center; }
.page-id-8368 .gdv-r7-row:has(img[src*="Work-2.jpg"]) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; gap: 20px; max-width: 760px; margin: 25px auto; text-align: center; }
.page-id-8368 .gdv-r7-row:has(img[src*="Work-2.jpg"]) .wp-block-column { display: flex; flex-direction: column; align-items: center; min-width: 0; }
.page-id-8368 .gdv-r7-row:has(img[src*="Work-2.jpg"]) img { width: 110px; height: 110px; object-fit: cover; object-position: center top; border-radius: 50%; }
.page-id-8368 .gdv-r7-row:has(img[src*="Work-2.jpg"]) p { margin: 5px 0; }
.page-id-8368 .gdv-r7-row:has(img[src*="Work-2.jpg"]) + .wp-block-image { text-align: center; }
.page-id-8368 .gdv-r7-row:has(img[src*="Work-2.jpg"]) + .wp-block-image img { width: min(100%, 780px); }
@media (max-width: 600px) { .page-id-8368 .gdv-r7-row:has(img[src*="Work-2.jpg"]) { gap: 8px; } .page-id-8368 .gdv-r7-row:has(img[src*="Work-2.jpg"]) img { width: 75px; height: 75px; } }
.gdv-sale-form { position: relative; padding-top: 96px !important; }
.gdv-states-ribbon { position: absolute; top: 22px; right: 0; z-index: 5; padding: 9px 28px 9px 40px; background: #f43f5e; color: #fff; font-size: 17px; font-weight: 800; clip-path: polygon(0 0,100% 0,100% 100%,0 100%,20px 50%); filter: drop-shadow(0 6px 10px #141b263d); }
.gdv-states-heading { margin: 0 0 20px; color: #1a3c5e; font-size: 22px; font-weight: 700; }
.gdv-included-ribbon { display: inline-block; margin-left: 12px; padding: 6px 14px; border-radius: 5px; background: #f43f5e; color: #fff; font-size: 15px; font-weight: 800; white-space: nowrap; }
.gdv-article-content form.edd_download_purchase_form del, .edd-blocks-cart .edd_cart_item_price del { text-decoration: line-through #f43f5e 2px; }
.gdv-testimonials { position: relative; margin: 50px 0 0; }
.gdv-testimonial-slider { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.gdv-testimonial-item { min-height: 600px; padding: 38px; border-radius: 5px; background: var(--gdv-navy); color: #fff; }
.gdv-testimonial-item * { color: inherit !important; }
.gdv-testimonial-item p { font-size: 19px; font-style: italic; font-weight: 700; line-height: 1.6; }
.gdv-testimonial-item[hidden] { display: none; }
.gdv-testimonial-item h5:first-of-type::before { content: ''; display: inline-block; width: 28px; height: 28px; margin-right: 12px; border-radius: 50%; background: radial-gradient(circle at 50% 35%, #9b2c68 0 19%, transparent 21%), radial-gradient(ellipse at 50% 88%, #9b2c68 0 33%, transparent 35%), #fff; vertical-align: middle; }
.gdv-testimonial-arrow--prev::before, .gdv-testimonial-arrow--next::before { content: ''; display: block; width: 11px; height: 11px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(225deg); }
.gdv-testimonial-arrow--next::before { transform: rotate(45deg); }

@media (max-width: 900px) {
	.page-id-3477 .gdv-r7-row > .wp-block-column { min-height: 0; padding: 20px; }
	.page-id-7586 .gdv-r7-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gdv-testimonial-slider { grid-template-columns: 1fr; }
	.gdv-testimonial-item { min-height: 0; }
}
@media (max-width: 650px) {
	.gdv-r7-row { display: block; }
	.gdv-r7-row > .wp-block-column { margin-bottom: 24px; }
	.page-id-3477 .gdv-r7-row, .page-id-7586 .gdv-r7-row { grid-template-columns: 1fr; }
	.page-id-3477 .gdv-r7-row h2, .page-id-3477 .gdv-r7-row h3 { font-size: 22px; }
	.page-id-7586 .gdv-r7-row h3 { margin-bottom: 32px; }
	.gdv-r7-embed iframe { min-height: 460px; }
	.page-id-9637 .gdv-r7-embed iframe { min-height: 1200px; }
	.gdv-testimonial-item { padding: 28px 24px; }
}

/* Purchase and cart styles formerly stored in Customizer CSS post 3415. */
.wp-block-buttons > .wp-block-button { background: #2872fa; padding: 10px; border-radius: 5px; }
.gdv-page-content p a, .gdv-article-content p a { color: #3581e4 !important; }
.gdv-page-content p a:hover, .gdv-article-content p a:hover { color: #fe4800 !important; }
form.edd_download_purchase_form { max-width: 1000px; margin: 2.5rem auto; padding: 32px 36px; box-sizing: border-box; background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; box-shadow: 0 4px 14px #00000014; font-family: inherit; }
.edd_price_options.edd_multi_mode ul { column-count: 3; column-gap: 2rem; margin: 0 0 1.5rem; padding: 0; list-style: none; }
.edd_price_options.edd_multi_mode ul li { break-inside: avoid; margin-bottom: .5rem; font-size: 15px; color: #1a3c5e; }
form.edd_download_purchase_form .edd-submit { display: inline-block; padding: 12px 28px; border: 0; border-radius: 8px; background: #1a73e8 !important; color: #fff !important; font-size: 15px; font-weight: 600; text-decoration: none; cursor: pointer; transition: background .15s ease; }
form.edd_download_purchase_form .edd-submit:hover { background: #1560c4 !important; }
form.edd_download_purchase_form del { text-decoration-line: line-through !important; text-decoration-color: #f43f5e !important; text-decoration-thickness: 2px !important; }
.gdv-cart-box { margin-top: 28px; padding: 22px 24px; background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; box-shadow: 0 8px 24px #141b260f; }
.gdv-cart-box .gdv-cart-title { font-family: Archivo, "Segoe UI", Arial, sans-serif; font-size: 18px; font-weight: 700; color: #1a3c5e; margin: 0 0 14px; }
.gdv-cart-box ul.edd-cart { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.gdv-cart-box ul.edd-cart li { list-style: none !important; margin: 0 !important; padding: 12px 2px !important; border-bottom: 1px solid #eef2f6; display: flex; justify-content: space-between; align-items: center; gap: 12px; color: #334155; font-size: 15px; }
.gdv-cart-box ul.edd-cart li.edd_total { font-weight: 800; color: #1a3c5e; font-size: 17px; border-bottom: 0; }
.gdv-cart-box ul.edd-cart li.edd_checkout { justify-content: flex-end; border-bottom: 0; padding-top: 16px !important; }
.gdv-cart-box ul.edd-cart li.edd_checkout a { display: inline-block; padding: 12px 28px; border-radius: 8px; background: #1a73e8; color: #fff !important; font-weight: 700; text-decoration: none !important; transition: background .15s ease; }
.gdv-cart-box ul.edd-cart li.edd_checkout a:hover { background: #1560c4; color: #fff !important; }
.gdv-cart-box ul.edd-cart li a.edd-remove-from-cart, .gdv-cart-box ul.edd-cart li a.edd_cart_remove_item_btn { color: #f43f5e !important; font-size: 13px; margin-left: 18px; text-decoration: none !important; white-space: nowrap; }
.gdv-cart-box ul.edd-cart li a.edd-remove-from-cart:hover { text-decoration: underline !important; }
.gdv-cart-box ul.edd-cart li .edd-cart-item-separator { display: none !important; }
.gdv-cart-box ul.edd-cart li .edd-cart-item-title { flex: 1 1 auto; }
.gdv-cart-box ul.edd-cart li .edd-cart-item-price { font-weight: 600; color: #1a3c5e; margin-left: auto; }
@media (min-width: 651px) { .page-id-10130 .edd-blocks__downloads { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 782px) { .edd_price_options.edd_multi_mode ul { column-count: 2; } }
@media (max-width: 480px) { .edd_price_options.edd_multi_mode ul { column-count: 1; } form.edd_download_purchase_form { padding: 20px; } }
