/*
Theme Name:   Positive Medium
Theme URI:    https://positivemedium.com/
Description:  Divi child theme for Positive Medium. Global header and footer are Divi Theme Builder templates (installed on first admin load), contact forms use Contact Form 7, and the newsletter signup posts to Sendy.
Author:       Positive Medium
Author URI:   https://positivemedium.com/
Template:     Divi
Version:      1.0.0
License:      GNU General Public License v2 or later
Text Domain:  positivemedium
*/

/* ==========================================================================
   Tokens + base
   ========================================================================== */
:root {
	--pm-green: #00a23d;
	--pm-green-link: #0c9b43;
	--pm-green-dark: #256419;
	--pm-black: #000;
	--pm-ink: #292d30;
	--pm-light: #f3f6f9;
	--pm-muted: #9fa2a7;
	--pm-font: "Outfit", sans-serif;
}

body { font-size: 14px; }
a { color: var(--pm-green-link); }
.container, .et_pb_row { max-width: 1180px; }
body .et_pb_row, body .container { width: 100%; }
/* Beat Divi's late-loading module CSS (it re-sets rows to 1080px on pages that use pricing tables, tabs, etc.) */
body .container, body .et_pb_row, body #page-container .et_pb_row { max-width: 1180px; }
.et-db #et-boc .et-l .et_pb_row { width: 100%; max-width: 1180px; }
.et_pb_text_inner a { color: var(--pm-green); }
html body #page-container form ::placeholder { opacity: 1; }

@media only screen and (min-width: 1475px) {
	.et_pb_row { padding: 29px 0; }
	.et_pb_section { padding: 59px 0; }
}

/* ==========================================================================
   Contact Form 7
   ========================================================================== */
body #page-container .wpcf7 form p input:not([type="checkbox"]):not([type="submit"]),
body #page-container .wpcf7 form p textarea,
body #page-container .wpcf7 form p select {
	line-height: 20px;
	background: none;
	color: var(--pm-ink);
	font: 400 15px/20px var(--pm-font);
	width: 100%;
	padding: 29px 0 24px;
	border: 0;
	border-bottom: 1px solid #707070;
	border-radius: 0;
	outline: none;
	box-shadow: none;
}
body #page-container .wpcf7 form p textarea { height: 135px; padding-top: 47px; }
body #page-container .wpcf7 form p select { padding: 12px 0; }
body #page-container .wpcf7 form p input:focus,
body #page-container .wpcf7 form p textarea:focus,
body #page-container .wpcf7 form p select:focus { border-bottom-color: var(--pm-green); }
.wpcf7 input.wpcf7-acceptance, .wpcf7 .wpcf7-acceptance input { width: auto !important; }
.wpcf7 .wpcf7-list-item { margin: 0 10px 0 0; }
.wpcf7 h4 { font-family: var(--pm-font); font-weight: 500; padding: 20px 0 0; }

/* Side-by-side name fields */
.wpcf7 input[name="first-name"] { width: 49% !important; }
.wpcf7 input[name="last-name"]  { width: 50% !important; }
.wpcf7 input[name="contact-city"], .wpcf7 input[name="contact-state"] { width: 33% !important; }
.wpcf7 input[name="contact-zip"] { width: 32% !important; }

body #page-container .wpcf7 form p.contact-form-submit input[type="submit"] {
	color: #d1ffe9;
	font: 400 16px/60px var(--pm-font);
	text-transform: capitalize;
	text-align: center;
	cursor: pointer;
	background: var(--pm-green) !important;
	border: 1px solid var(--pm-green);
	border-radius: 5px;
	padding: 0;
	float: right;
	margin-top: 50px;
	width: 135px;
}
body #page-container .wpcf7 form p.contact-form-submit input[type="submit"]:hover { background: var(--pm-green-dark) !important; border-color: var(--pm-green-dark); }
.wpcf7 form .wpcf7-response-output { margin: 2em 0 1em; clear: right; position: relative; top: 10px; }
.contact-form-full-left, .contact-form-full-right { width: 49%; }
.contact-form-full-left { float: left; }
.contact-form-full-right { float: right; }

/* ==========================================================================
   Sendy newsletter signup  ([pm_sendy_signup])
   ========================================================================== */
.pm-sendy { max-width: 330px; }
.pm-sendy__title { color: var(--pm-muted); font: 400 17px/20px var(--pm-font); padding: 0 0 15px; }
.pm-sendy__form { position: relative; display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; }
.pm-sendy__form input[type="email"] {
	flex: 1 1 60%;
	min-width: 0;
	height: 38px;
	padding: 0;
	background: transparent;
	color: var(--pm-muted);
	font: 400 13.33px/20px var(--pm-font);
	border: 0;
	border-bottom: 1px solid #707070;
	border-radius: 0;
	box-shadow: none;
	outline: none;
}
.pm-sendy__form input[type="email"]:focus { border-bottom-color: var(--pm-green); color: #fff; }
.pm-sendy__form button {
	flex: 0 0 auto;
	padding: 11px 18px;
	color: #fff;
	background: var(--pm-green);
	font: 400 12px/20px var(--pm-font);
	border: 0;
	border-radius: 4px;
	cursor: pointer;
}
.pm-sendy__form button:hover, .pm-sendy__form button:focus { background: var(--pm-green-dark); }
.pm-sendy__form button[disabled] { opacity: .6; cursor: wait; }
.pm-sendy__hp { position: absolute !important; left: -9999px !important; height: 0 !important; width: 0 !important; opacity: 0; }
.pm-sendy__msg { flex: 1 0 100%; margin: 0; padding: 0 !important; min-height: 20px; color: var(--pm-light); font: 400 13px/20px var(--pm-font); }
.pm-sendy__msg.is-error { color: #ff8a80; }
.pm-sendy__msg.is-success { color: #8ff0b1; }

/* ==========================================================================
   Global header  (Theme Builder header layout, section class .pm-header)
   ========================================================================== */
/* Solid dark bar by default; floats transparently over the page when it opens with a hero. */
.et-l--header { position: relative; z-index: 9999; background: #0b0b0b; }
.et-l--header .pm-header.et_pb_section { background: transparent !important; padding: 0 !important; }
body.home .et-l--header,
body.page-template-template_home .et-l--header,
body:has(.page-banner-section) .et-l--header { position: absolute; top: 0; left: 0; width: 100%; background: transparent; }
.pm-header .et_pb_row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	max-width: 1180px;
	padding: 0 !important;
}
.pm-header .et_pb_column { width: auto; margin: 0 !important; float: none; }
.pm-header .et_pb_column:first-child { flex: 0 0 240px; }
.pm-header .et_pb_column:last-child { flex: 1 1 auto; }
.pm-header .pm-logo { padding: 30px 0; }
.pm-header .pm-logo a { display: block; }
.pm-header .pm-logo img { display: block; width: 240px; max-width: 100%; height: auto; }

.pm-header .et_pb_menu { background: none !important; }
.pm-header .et_pb_menu .et_pb_menu__wrap { justify-content: flex-end; }
.pm-header .et_pb_menu .et_pb_menu_inner_container { padding: 0; }
.pm-header .et-menu { display: flex; align-items: center; }
.pm-header .et-menu > li { padding: 0 0 0 34px; }
.pm-header .et-menu > li > a {
	padding: 0 !important;
	color: var(--pm-light) !important;
	font: 600 15px/20px var(--pm-font);
	opacity: 1;
}
.pm-header .et-menu > li > a:hover,
.pm-header .et-menu > li.current-menu-item > a { color: var(--pm-light) !important; opacity: 1; }
.pm-header .et-menu > li:not(.pm-menu-portal) > a:hover { color: var(--pm-green) !important; }
.pm-header .et-menu li li { width: 100%; padding: 0; }
.pm-header .et-menu .sub-menu {
	width: 230px;
	padding: 0;
	background: var(--pm-green);
	border: 0;
	box-shadow: none;
}
.pm-header .et-menu .sub-menu li a {
	width: auto;
	padding: 15px 14px;
	color: var(--pm-light) !important;
	font: 400 15px/18px var(--pm-font);
	border-bottom: 1px dotted var(--pm-light);
}
.pm-header .et-menu .sub-menu li:last-child a { border-bottom: 0; }
.pm-header .et-menu .sub-menu li a:hover { background: var(--pm-green-dark); }
/* "Client Portal" menu item styled as the outlined button */
.pm-header .et-menu > li.pm-menu-portal > a {
	display: block;
	width: 150px;
	padding: 14px 0 !important;
	text-align: center;
	border: 1px solid var(--pm-light);
	border-radius: 3px;
}
.pm-header .et-menu > li.pm-menu-portal > a:hover { background: var(--pm-green); border-color: var(--pm-green); }

/* Mobile menu */
.pm-header .mobile_menu_bar:before { color: var(--pm-light); }
.pm-header .et_mobile_menu { background: var(--pm-green); border-top-color: var(--pm-green-dark); }
.pm-header .et_mobile_menu li a { color: var(--pm-light); font-family: var(--pm-font); border-bottom-color: rgba(255,255,255,.25); }
.pm-header .et_mobile_menu li.pm-menu-portal > a { font-weight: 600; }

/* Mobile dropdown: full width under the header bar, live-site styling, submenus fold away behind a +/- button */
@media (max-width: 980px) {
	/* The menu is positioned against the nearest positioned ancestor, which was the 32px hamburger wrapper; use the header instead */
	.et-db #et-boc .et-l .pm-header .et_pb_row, .et-db #et-boc .et-l .pm-header .et_pb_column, .et-db #et-boc .et-l .pm-header .et_pb_menu, .et-db #et-boc .et-l .pm-header .et_pb_menu_inner_container { position: static !important; }
	.et-db #et-boc .et-l .pm-header .et_mobile_menu { top: 100%; left: 0; width: 100%; box-sizing: border-box; padding: 4px 20px 14px; max-height: calc(100vh - 90px); overflow-y: auto; border-top: 3px solid var(--pm-green-dark); box-shadow: 0 10px 18px rgba(0,0,0,.35); z-index: 99999; }
	.et-db #et-boc .et-l .pm-header .et_mobile_menu li { position: relative; padding: 0; }
	.et-db #et-boc .et-l .pm-header .et_mobile_menu li > a { padding: 15px 56px 15px 0; color: #fff; font: 600 16px/24px var(--pm-font); text-transform: uppercase; border-bottom: 1px dotted rgba(255,255,255,.9); background: none; text-shadow: none; }
	.et-db #et-boc .et-l .pm-header .et_mobile_menu li > a:hover { background: none; opacity: .85; }
	.et-db #et-boc .et-l .pm-header .et_mobile_menu li:not(.pm-open) > ul.sub-menu { display: none !important; }
	.et-db #et-boc .et-l .pm-header .et_mobile_menu li.pm-open > ul.sub-menu { display: block !important; padding-left: 16px !important; }
	.et-db #et-boc .et-l .pm-header .et_mobile_menu li li > a { padding: 13px 0; font: 500 15px/22px var(--pm-font); text-transform: none; }
	.et-db #et-boc .et-l .pm-header .mobile_menu_bar:before { color: var(--pm-light) !important; }
	.pm-header .pm-sub-toggle { position: absolute; top: 0; right: 0; width: 56px; height: 55px; padding: 0; border: 0; background: none; color: #fff; cursor: pointer; }
	.pm-header .pm-sub-toggle::before { content: "+"; font: 400 30px/55px var(--pm-font); }
	.pm-header li.pm-open > .pm-sub-toggle::before { content: "\2212"; }
	.pm-header .pm-sub-toggle:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }
}
@media (max-width: 980px) {
	.pm-header .pm-logo { padding: 20px 0; }
	.pm-header .pm-logo img { width: 180px; }
	.pm-header .et_pb_column:first-child { flex-basis: 180px; }
	.pm-header .et_pb_row { padding: 0 20px !important; width: 100%; }
}

/* ==========================================================================
   Global footer  (Theme Builder footer layout)
   ========================================================================== */
.pm-cta.et_pb_section { background: var(--pm-green); padding: 100px 0 85px; }
.pm-cta .pm-cta__inner { display: flex; flex-wrap: wrap; gap: 30px 60px; align-items: center; justify-content: space-between; }
.pm-cta__lead { max-width: 364px; margin: 0; padding: 0; color: #f7fffb; font: 400 30px/43px var(--pm-font); }
.pm-cta__lead span { font-weight: 600; border-bottom: 3px solid #fff; }
.pm-cta h5 { padding: 0 0 6px; color: #f7fffb; font: 400 17px/20px var(--pm-font); }
.pm-cta__link { color: #f7fffb !important; font: 600 30px/30px var(--pm-font); }
.pm-cta__link:hover { text-decoration: underline; }
@media (max-width: 767px) {
	.pm-cta.et_pb_section { padding: 60px 0; }
	.pm-cta__lead, .pm-cta__link { font-size: 24px; line-height: 34px; }
	.pm-cta .pm-cta__inner { gap: 30px; }
}

.pm-footer-main.et_pb_section { background: var(--pm-black); padding: 95px 0 55px; }
.pm-footer-main h5 { padding: 0 0 15px; color: var(--pm-muted); font: 400 17px/20px var(--pm-font); }
.pm-footer-main ul { margin: 0; padding: 0; list-style: none; }
.pm-footer-main li { padding: 0 0 6px; }
.pm-footer-main li a { display: block; color: #feffff; font: 400 15px/20px var(--pm-font); text-transform: capitalize; }
.pm-footer-main li a:hover { color: var(--pm-green); }
.pm-footer-main .pm-footer-logo img { display: block; width: 200px; height: auto; }
.pm-footer-menus { display: flex; gap: 40px; }
.pm-footer-menus > div { width: 180px; }
.pm-social { display: flex !important; gap: 22px; margin-top: 30px !important; justify-content: flex-start; }
.pm-social li { padding: 0; }
.pm-social img { display: block; height: 30px; width: auto; }
@media (max-width: 980px) {
	.pm-footer-main.et_pb_section { padding: 60px 0 30px; }
	.pm-footer-main .et_pb_column { margin-bottom: 40px; }
}

.pm-footer-legal.et_pb_section { background: var(--pm-black); padding: 0; }
.pm-footer-legal .pm-legal { display: flex; flex-wrap: wrap; gap: 15px 40px; align-items: center; justify-content: space-between; padding: 55px 0; border-top: 1px solid #202020; }
.pm-legal p, .pm-legal a { margin: 0; padding: 0; color: #c6c6c6 !important; font: 400 15px/20px var(--pm-font); }
.pm-legal ul { display: flex; margin: 0; padding: 0; list-style: none; }
.pm-legal li { padding: 0 8px; line-height: 17px; border-right: 1px solid #8b8b8a; }
.pm-legal li:first-child { padding-left: 0; }
.pm-legal li:last-child { border-right: 0; }
.pm-legal__pride { display: flex; align-items: center; gap: 8px; }
.pm-legal__pride img { width: 21px; height: 15px; }

/* ==========================================================================
   Recovered page-specific rules from the previous child theme
   ========================================================================== */
.et_pb_section.home-slider-section .et_pb_slide .et_pb_slide_description .et_pb_slide_content a:hover{color:#000000}
.our-services-title-div-full:hover,.our-services-title-div-full:active{background:#00a23e;position:absolute;bottom:0px;min-height:330px;transition:all ease-in-out .3s}
.our-services-title-div-full:hover .our-services_btn{display:block}
.our-services-title-div-full:hover .hover-text{display:block}
.services-main-disply .our-services-title-div-full:hover{background:#00a23e;position:absolute;top:193px;transition:all ease-in-out .10s}
#page-container .page-banner-section.page-top-section{background-position:center center;background-size:cover}
.page-banner-section{position:relative}
#page-container .page-top-section .page_title{padding:255px 90px 190px}
#page-container .page-top-section .page_title h1, #page-container .page-top-section .page_title h2 {font-weight:600;font-size:65px;line-height:65px;padding:0;text-align:left;text-transform:capitalize;color:#f3f6f9;font-family:"Outfit",sans-serif;text-shadow:1px 1px 1px #000000}
.et_pb_pricing li span::before{display:none}
.et_pb_pricing_table_button:hover::after{display:none}
.et_right_sidebar #main-content .container::before{right:0;background:none}
.et_pb_section.conctact-page-top-section{padding-top:150px;padding-bottom:150px;}
.et_pb_section.conctact-page-top-section .et_pb_column.contact-top-section-left{float:left;width:640px;margin-right:0}
.et_pb_section.conctact-page-top-section .et_pb_column.contact-top-section-right{float:right;width:430px}
.et_pb_section.conctact-page-top-section h3{color:#000000;font-size:40px;line-height:41px;font-family:"Outfit",sans-serif;font-weight:500;text-transform:capitalize;padding-bottom:24px}
.et_pb_section.conctact-page-top-section h3 span{border-bottom:3px solid #0c9b43}
.et_pb_section.conctact-page-top-section p{color:#363636;font-size:17px;line-height:27px;font-family:"Outfit",sans-serif;font-weight:normal;padding-bottom:0}
.et_pb_section.conctact-page-top-section .contact-address-main img{margin-top:45px}
.et_pb_section.conctact-page-top-section .contact-address-main ul{padding:0;margin-top:50px}
.et_pb_section.conctact-page-top-section .contact-address-main ul li{list-style:none!important;color:#363636;font-size:17px;line-height:27px;font-family:"Outfit",sans-serif;font-weight:normal}
.et_pb_section.conctact-page-top-section .contact-address-main ul li.contact-location{background:url(/wp-content/themes/Positivemedium/images/icon-location.png)no-repeat left 5px;padding-left:30px}
.et_pb_section.conctact-page-top-section .contact-address-main ul li.conatct-phone{background:url(/wp-content/themes/Positivemedium/images/icon-phone.png)no-repeat left 7px;padding-left:30px}
.et_pb_section.conctact-page-top-section .contact-address-main ul li.contact-mail{background:url(/wp-content/themes/Positivemedium/images/icon-mail.png)no-repeat left 6px;padding-left:40px}
.et_pb_section.conctact-page-top-section .contact-address-main ul li a{display:block;color:#000000;font-size:26px;line-height:30px;font-family:"Outfit",sans-serif;font-weight:500;padding-top:6px}
.et_pb_section.conctact-page-top-section .contact-address-main ul.contact-list li{float:left;width:272px}
.et_pb_section.conctact-page-top-section .contact-address-main ul.contact-list li.contact-mail{width:357px}
.conatct-disply-top{margin-top:40px}
.et_pb_section.contact-map iframe{display:block}
.et_pb_section.new-custom-web-site-section .et_pb_row.new-custom-web-design-tabs .et_pb_tabs ul.et_pb_tabs_controls::after{border-top:none}
.et_pb_section.sop-page-cat-section .caf-post-title h2 a:hover{color:#ffffff!important}
.et_pb_section.sop-page-cat-section .caf-post-layout1 #manage-post-area:hover{background:#00a23e!important;margin-top:-20px;min-height:220px}
.et_pb_section.sop-page-cat-section .caf-post-layout1.caf-col-md-4:hover #manage-post-area{background:#00a23e!important;margin-top:-30px;min-height:330px}
.caf-post-layout1:hover .caf-content,.caf-post-layout1:hover .caf-content-read-more{display:block!important}

.et_pb_section.conctact-page-top-section h2 { color: #000; font: 500 40px/41px var(--pm-font); text-transform: capitalize; padding-bottom: 24px; }

/* Mobile gutters, hero scale, hamburger */
@media (max-width: 980px) {
	body .et_pb_row, body .container { padding-left: 20px; padding-right: 20px; box-sizing: border-box; }
	.pm-header .et_pb_row { padding: 0 20px !important; }
	.pm-header .et_pb_menu .et_mobile_nav_menu { display: block; margin: 0; }
	.pm-header .et_pb_menu .et_pb_menu__wrap { justify-content: flex-end; }
	.pm-header .mobile_menu_bar:before { color: var(--pm-light); font-size: 32px; }
	.home-slider-section .slider-prof-text { font-size: 38px !important; line-height: 44px !important; }
	.et_pb_section.conctact-page-top-section .et_pb_column.contact-top-section-left,
	.et_pb_section.conctact-page-top-section .et_pb_column.contact-top-section-right { float: none; width: 100%; }
	.et_pb_section.conctact-page-top-section .contact-address-main ul.contact-list li,
	.et_pb_section.conctact-page-top-section .contact-address-main ul.contact-list li.contact-mail { float: none; width: 100%; }
	.pm-cta__link { overflow-wrap: anywhere; }
}

/* ==========================================================================
   Home page
   ========================================================================== */
.pm-btn, .et_pb_text_inner a.pm-btn { display: inline-block; padding: 14px 30px; background: var(--pm-green); color: #fff !important; border-radius: 3px; font: 600 15px/20px var(--pm-font); }
.pm-btn:hover { background: var(--pm-green-dark); }

/* Hero slider */
.et_pb_section.home-slider-section { padding: 0; background: #000; }
.pm-hero .et_pb_slider, .pm-hero .et_pb_slides, .pm-hero .et_pb_slide { min-height: 760px; }
.pm-hero .et_pb_slide { background-size: cover; background-position: center; background-repeat: no-repeat; }
.pm-hero .et_pb_slide_0 { background-image: url(/wp-content/themes/Positivemedium/images/home-hero-1.webp); }
.pm-hero .et_pb_slide_1 { background-image: url(/wp-content/themes/Positivemedium/images/home-hero-2.webp); }
.pm-hero .et_pb_slide_2 { background-image: url(/wp-content/themes/Positivemedium/images/home-hero-3.webp); }
.pm-hero .et_pb_slide_3 { background-image: url(/wp-content/themes/Positivemedium/images/home-hero-4.webp); }
.pm-hero .et_pb_slide_4 { background-image: url(/wp-content/themes/Positivemedium/images/home-hero-5.webp); }
.pm-hero .et_pb_slide::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.65), rgba(0,0,0,.15)); }
.pm-hero .et_pb_slide .et_pb_container { position: relative; min-height: 760px; width: 100%; max-width: 1180px; display: flex; align-items: center; }
.pm-hero .et_pb_slide_description { width: 100%; padding: 200px 0 120px; text-align: left; text-shadow: none; }
.pm-hero .et_pb_slide_content { font-size: inherit; }
.pm-hero .slider-text h1.slider-prof-text, .pm-hero .slider-text h2.slider-prof-text { max-width: 740px; padding-bottom: 20px; color: #fff; font: 600 56px/68px var(--pm-font); text-align: left; }
.pm-hero .slider-text h1.slider-prof-text span, .pm-hero .slider-text h2.slider-prof-text span { border-bottom: 5px solid var(--pm-green); white-space: nowrap; }
.pm-hero .slider-iframe-main { display: flex; gap: 40px 60px; align-items: flex-start; }
.pm-hero .slider-iframe { flex: 0 1 580px; min-width: 0; margin-bottom: 30px; }
.pm-hero .slider-embed { position: relative; aspect-ratio: 580 / 320; background: #111; }
.pm-hero .slider-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pm-hero .slider-video-text { margin-top: 14px; }
.slider-video-text h4.person-name { padding-bottom: 6px; color: #cfcac6; font: 400 22px/1.2 var(--pm-font); }
.slider-video-text h3.person-des { padding: 0; color: #cfcac6; font: 400 14px/1.4 var(--pm-font); }
.pm-hero .slider-copy { flex: 1 1 260px; max-width: 460px; padding-top: 24px; border-top: 3px solid #a7a29e; }
.pm-hero .slider-iframe-main { align-items: flex-start; flex-wrap: wrap; }
.pm-hero .slider-iframe { margin-bottom: 0; }
.pm-hero .slider-copy p { color: #fff; font: 400 18px/32px var(--pm-font); padding-bottom: 24px; text-align: left; }
.pm-hero .et-pb-controllers a { background-color: #fff; }
.pm-hero .et-pb-controllers a.et-pb-active-control { background-color: var(--pm-green); }
.pm-hero .et-pb-slider-arrows a { color: #fff; }

.et_pb_section.home-we-creat-stunning-section { background: #f2f2f2; padding: 90px 0; }
.home-we-creat-stunning-section h2 { padding-bottom: 20px; color: #000; font: 500 48px/56px var(--pm-font); }
.home-we-creat-stunning-section h2 span, .our-services-section h2 span, .home-why-chose-section h2 span, .home-testmonils-section h2 span { border-bottom: 3px solid var(--pm-green); }
.home-we-creat-stunning-section p, .home-we-creat-stunning-section li, .home-why-chose-section p, .our-services-section p { color: #474747; font: 400 17px/28px var(--pm-font); }
.home-we-creat-stunning-section ul { padding: 0 0 20px 20px; list-style: disc; }
.home-we-creat-stunning-section img, .home-why-chose-section img { display: block; max-width: 100%; height: auto; }

.et_pb_section.fifteen-years-text-section { background: #fff; padding: 70px 0; }
.fifteen-years-text-section .et_pb_text_inner { text-align: center; }
.fifteen-years-text-section img { display: inline-block; height: 70px; width: auto; }
.fifteen-years-text-section h5 { padding: 10px 0; color: #000; font: 600 26px/30px var(--pm-font); }
.fifteen-years-text-section p { color: #474747; font: 400 17px/26px var(--pm-font); }

.et_pb_section.our-services-section { background: #f2f2f2; padding: 130px 0 90px; text-align: left; }
.our-services-section h2, .home-why-chose-section h2, .home-testmonils-section h2 { padding-bottom: 20px; color: #000; font: 500 44px/52px var(--pm-font); }
/* Services carousel */
.home-our-services-list-full { padding: 50px 0 0; text-align: left; }
.et_pb_text .home-our-services-list-full ul.pm-svc__track, .pm-svc__track { box-sizing: border-box; width: 100%; display: flex; gap: 33px; margin: 0 !important; padding: 0 0 30px !important; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
.pm-svc__track::-webkit-scrollbar { display: none; }
.pm-svc__track > li { flex: 0 0 calc((100% - 66px) / 3); min-width: 0; margin: 0; padding: 0; list-style: none; scroll-snap-align: start; }
.our-services_slider_details { position: relative; height: 540px; overflow: hidden; background: #000; }
.our-services_slider_details > a { display: block; height: 100%; color: #fff !important; }
.our-services_slider_details img { display: block; width: 100%; height: 240px; object-fit: cover; }
.our-services-title-div-full { position: absolute; left: 0; right: 0; bottom: 0; display: block; min-height: 300px; background: #000; transition: min-height .3s ease-in-out, background-color .3s ease-in-out; }
.our-services-title-div-full h3 { padding: 30px 53px 23px; color: #fff; font: 500 30px/36px var(--pm-font); text-transform: capitalize; }
.our-services-title-div-full p { padding: 0 53px; color: #fff; font: 400 16px/30px var(--pm-font); }
.our-services_slider_details:hover .our-services-title-div-full, .our-services_slider_details:focus-within .our-services-title-div-full { min-height: 330px; background: var(--pm-green); }
.pm-svc__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.pm-svc__arrows { display: flex; flex: 0 0 auto; gap: 11px; }
.pm-svc__nav { display: flex; align-items: center; justify-content: center; width: 75px; height: 75px; padding: 0; border: 1px solid var(--pm-green); border-radius: 50%; background: transparent; color: var(--pm-green); cursor: pointer; transition: background .2s, color .2s; }
.pm-svc__nav:hover, .pm-svc__nav:focus-visible { background: var(--pm-green); color: #fff; }
.pm-svc__nav svg { display: block; }
.pm-svc__nav:hover { background: var(--pm-green-dark); }
@media (max-width: 980px) {
	.pm-svc__track > li { flex-basis: calc((100% - 33px) / 2); }
}
@media (max-width: 767px) {
	.pm-svc__track > li { flex-basis: 100%; }
	.our-services-title-div-full h3 { padding: 27px 30px 15px; font-size: 23px; line-height: 30px; }
	.our-services-title-div-full p { padding: 0 30px; font-size: 15px; line-height: 23px; }
}

.et_pb_section.home-why-chose-section { padding: 0 0 125px !important; background: linear-gradient(to bottom, #f3f3f3, #f8f8f8); }
.home-why-chose-section .et_pb_row { padding: 0 !important; display: flex; align-items: flex-start; gap: 2%; }
.home-why-chose-section .et_pb_column.home-why-chose-left { flex: 0 0 475px; max-width: 45%; margin: 0 !important; }
.home-why-chose-section .et_pb_column.home-why-chose-right { flex: 1 1 auto; max-width: 600px; margin: 0 0 0 auto !important; padding-top: 63px; }
.home-why-chose-section img { display: block; width: 100%; height: auto; }
.home-why-chose-section h2 { padding-bottom: 24px; color: #000; font: 500 40px/44px var(--pm-font); text-transform: capitalize; }
.home-why-chose-section h2 span { border-bottom: 3px solid #000; }
.home-why-chose-section p { padding-bottom: 24px; color: #474747; font: 400 17px/29px var(--pm-font); }
.home-why-chose-section ul.why-chose-list { display: block; margin: 0; padding: 0; }
.home-why-chose-section ul.why-chose-list::after { content: ""; display: block; clear: both; }
.home-why-chose-section ul.why-chose-list li { float: left; width: 300px; margin: 0 0 14px; padding: 0 0 0 36px; list-style: none; color: #474747; font: 400 17px/29px var(--pm-font); background: url(/wp-content/themes/Positivemedium/images/icon-check.png) no-repeat left 6px; }
@media (max-width: 980px) {
	.et_pb_section.home-why-chose-section { padding: 50px 10px 60px !important; }
	.home-why-chose-section .et_pb_row { display: block; }
	.home-why-chose-section .et_pb_column.home-why-chose-left { max-width: 100%; margin-bottom: 20px !important; }
	.home-why-chose-section .et_pb_column.home-why-chose-right { max-width: none; padding-top: 12px; }
	.home-why-chose-section h2 { font-size: 30px; line-height: 32px; }
	.home-why-chose-section ul.why-chose-list li { width: 48%; }
}
@media (max-width: 767px) { .home-why-chose-section ul.why-chose-list li { width: 100%; font-size: 16px; } }

/* Testimonials */
.et_pb_section.home-testmonils-section { background: #f2f2f2; padding: 170px 0 150px; text-align: left; }
.home-testmonils-section .et_pb_row { display: flex; align-items: flex-start; justify-content: space-between; gap: 2%; padding: 0 !important; }
.home-testmonils-section .et_pb_column.testmonial-list-left { flex: 0 0 300px; margin: 0 !important; }
.home-testmonils-section .et_pb_column.testmonial-list-right { flex: 0 1 785px; margin: 0 !important; }
.home-testmonils-section h2 { padding-bottom: 24px; color: #000; font: 500 43px/45px var(--pm-font); text-transform: capitalize; }
.home-testmonils-section h2 span { border-bottom: 3px solid #268c4b; }
.pm-testi { position: relative; min-height: 320px; }
ul.pm-testi__track { margin: 0 !important; padding: 0 !important; list-style: none; }
/* Slides share one grid cell (so the box is as tall as the longest quote) and move sideways inside a clipped track */
ul.pm-testi__track { display: grid; overflow: hidden; }
.pm-testi__item { grid-area: 1 / 1; margin: 0; padding: 0 0 20px; list-style: none; visibility: hidden; }
.pm-testi__item.is-active, .pm-testi__item.is-leaving { visibility: visible; }
.home-testmonils-section .pm-testi__quote { max-width: 730px; padding: 0 0 36px; color: #000; font: 400 20px/38px var(--pm-font); }
.home-testmonils-section .pm-testi__name { padding: 0 0 6px; color: #000; font: 400 32px/38px var(--pm-font); }
.home-testmonils-section .pm-testi__company { padding: 0; color: var(--pm-green); font: 400 24px/32px var(--pm-font); }
.pm-testi__arrows { position: absolute; right: 0; bottom: 0; display: flex; gap: 11px; }
.pm-testi__nav { display: flex; align-items: center; justify-content: center; width: 75px; height: 75px; padding: 0; border: 1px solid var(--pm-green); border-radius: 50%; background: transparent; color: var(--pm-green); cursor: pointer; transition: background .2s, color .2s; }
.pm-testi__nav:hover, .pm-testi__nav:focus-visible { background: var(--pm-green); color: #fff; }
.pm-testi__nav svg { display: block; }
@media (max-width: 980px) {
	.et_pb_section.home-testmonils-section { padding: 70px 0 70px; }
	.home-testmonils-section .et_pb_row { display: block; }
	.home-testmonils-section .et_pb_column.testmonial-list-left { margin-bottom: 20px !important; }
	.home-testmonils-section h2 { font-size: 30px; line-height: 34px; }
	.home-testmonils-section h2 br { display: none; }
	.pm-testi { padding-bottom: 90px; min-height: 0; }
	.home-testmonils-section .pm-testi__quote { font-size: 17px; line-height: 30px; }
	.home-testmonils-section .pm-testi__name { font-size: 26px; }
	.home-testmonils-section .pm-testi__company { font-size: 19px; }
	.pm-testi__nav { width: 56px; height: 56px; }
}

@media (max-width: 980px) {
	.pm-hero .et_pb_slider, .pm-hero .et_pb_slides, .pm-hero .et_pb_slide, .pm-hero .et_pb_slide .et_pb_container { min-height: 640px; }
	.pm-hero .et_pb_slide_description { padding: 130px 20px 80px; }
	.pm-hero .slider-text h1.slider-prof-text, .pm-hero .slider-text h2.slider-prof-text { font: 600 34px/42px var(--pm-font) !important; }
	.pm-hero .slider-iframe-main { flex-direction: column; }
	.pm-hero .et-pb-slider-arrows { display: none; }
	.home-we-creat-stunning-section h2 { font-size: 34px; line-height: 40px; }
	.why-chose-list { grid-template-columns: 1fr; }
	.fifteen-years-text-section .et_pb_column { margin-bottom: 30px; }
}
@media (max-width: 980px) {
	.pm-cta .et_pb_row, .pm-footer-main .et_pb_row, .pm-footer-legal .et_pb_row { padding-left: 20px !important; padding-right: 20px !important; }
	.et-db #et-boc .et-l .et_pb_section.pm-cta .et_pb_row, .et-db #et-boc .et-l .et_pb_section.pm-footer-main .et_pb_row, .et-db #et-boc .et-l .et_pb_section.pm-footer-legal .et_pb_row { padding-left: 20px !important; padding-right: 20px !important; }
}

.pm-service-grid li { list-style: none; margin: 0; padding: 0; }
.pm-service-grid li::marker { content: ""; }
@media (max-width: 980px) {
	.et-l--header .pm-header .et_pb_row { padding-left: 20px !important; padding-right: 20px !important; box-sizing: border-box; }
}

/* Header menu: one box model for every top-level item so text and the Client Portal button share a centre line */
.pm-header .et_pb_menu .et_pb_menu__menu, .pm-header .et_pb_menu nav.et-menu-nav { display: flex; align-items: center; }
.pm-header .et_pb_menu .et-menu-nav > ul.et-menu { align-items: center; margin: 0; }
.pm-header .et-menu > li { display: flex; align-items: center; margin: 0; padding: 0 0 0 34px !important; }
.pm-header .et-menu > li > a { display: block; padding: 0 !important; line-height: 20px; }
.pm-header .et-menu > li.menu-item-has-children > a { padding-right: 16px !important; position: relative; }
.pm-header .et-menu > li.menu-item-has-children > a::after { top: 50%; right: 0; margin-top: -10px; }
.pm-header .et_pb_menu .et_pb_menu_inner_container, .pm-header .et_pb_menu .et_pb_menu__wrap { align-items: center; min-height: 0; }
.pm-header .et_pb_column:last-child { display: flex; align-items: center; justify-content: flex-end; }
.pm-header .et_pb_column:last-child .et_pb_module { margin: 0; }

@media (max-width: 980px) {
	/* Desktop menu off, hamburger only (the alignment rules above would otherwise re-show it) */
	.pm-header .et_pb_menu .et_pb_menu__menu { display: none !important; }
	.pm-header .et_pb_menu .et_pb_menu__wrap { justify-content: flex-end; }
	.pm-header .et_pb_column:last-child { justify-content: flex-end; }
	/* Hero: in a column layout flex-basis would become a height */
	.pm-hero .slider-iframe { flex: 0 0 auto; width: 100%; }
	.pm-hero .slider-copy { flex: 0 0 auto; width: 100%; max-width: none; }
}

/* Only the first (video) slide keeps the grey rule above its copy */
.pm-hero .et_pb_slide:not(.et_pb_slide_0) .slider-copy { border-top: 0; padding-top: 0; }

.home-why-chose-section .et_pb_text_inner p { padding-bottom: 24px !important; }

@media (max-width: 767px) { .pm-svc__nav { width: 56px; height: 56px; } }

.pm-cta__lead, .pm-cta h5, .pm-cta__link { margin: 0; }
.pm-cta .pm-cta__inner > div { display: flex; flex-direction: column; justify-content: center; }
.pm-cta h5 { padding: 0 0 6px !important; line-height: 20px; }
.pm-cta__link { display: block; }

/* About page */
.et_pb_section.home-we-creat-stunning-section.about-page { padding: 90px 0 60px; }
.about-page .home-we-creat-stunning-section-left { padding-top: 50px; }
h1.abt_hx_h2_h1, h2.abt_hx_h2_h1 { padding-bottom: 24px; color: #000; font: 500 40px/46px var(--pm-font); text-transform: capitalize; }
h1.abt_hx_h2_h1 span, h2.abt_hx_h2_h1 span { border-bottom: 3px solid var(--pm-green-link); }
#photocaption p { padding: 10px 0 0; text-align: center; font-style: normal; color: #474747; }
.et_pb_section.our-team-section { background: #fff; padding: 60px 0 130px; }
.our-team-section h2 { padding-bottom: 55px; color: #000; font: 500 43px/45px var(--pm-font); text-transform: capitalize; }
.our-team-list-main { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; align-items: stretch; }
.our-team-list { display: flex; flex-direction: column; }
.our-team-list .our-services_img img { display: block; width: 100%; height: auto; }
.our-team-list-text { flex: 1; padding: 40px 25px; background: #fafafa; }
.our-team-list h3 { padding-bottom: 24px; color: #000; font: 500 30px/30px var(--pm-font); text-transform: capitalize; }
.our-team-list h3 span { font-size: 20px; font-weight: 400; }
.our-team-list-text p { padding-bottom: 14px; color: #5c5c5c; font: 400 17px/29px var(--pm-font); text-align: left; }
.pm-badges-section.et_pb_section { padding: 40px 0 70px; background: #fff; }
.pm-badges { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px 40px; align-items: center; justify-items: center; margin: 0; padding: 0; list-style: none; }
.pm-badges li { margin: 0; padding: 0; list-style: none; }
.pm-badges img { display: block; width: auto; max-width: 100%; max-height: 110px; }
.et_pb_section.about-get-touch-section { padding: 110px 0 100px; background: #f2f2f2; }
.about-get-touch-section .et_pb_row { display: flex; justify-content: space-between; gap: 2%; padding: 0 !important; }
.about-get-touch-section .et_pb_column.about-get-touch-left { flex: 0 0 300px; margin: 0 !important; }
.about-get-touch-section .et_pb_column.about-get-touch-right { flex: 0 1 770px; margin: 0 !important; }
.about-get-touch-left h5 { padding-bottom: 48px; color: #000; font: 500 40px/45px var(--pm-font); text-transform: capitalize; }
.about-get-touch-left h5 span { border-bottom: 3px solid var(--pm-green-link); }
.about-get-touch-left p { padding: 0 96px 0 0; color: #5c5c5c; font: 400 17px/29px var(--pm-font); }
@media (max-width: 980px) {
	.our-team-list-main { grid-template-columns: repeat(2, 1fr); }
	.pm-badges { grid-template-columns: repeat(2, 1fr); }
	.about-get-touch-section .et_pb_row { display: block; }
	.about-get-touch-left p { padding-right: 0; }
	.et_pb_section.about-get-touch-section { padding: 50px 0; }
}
@media (max-width: 767px) {
	.our-team-list-main { grid-template-columns: 1fr; }
	h1.abt_hx_h2_h1, h2.abt_hx_h2_h1 { font-size: 26px; line-height: 32px; }
	.our-team-section h2 { font-size: 30px; padding-bottom: 30px; }
}

/* ---- Pages converted from the old site ------------------------------------ */
.pm-image img, .pm-blurb img { display: block; max-width: 100%; height: auto; }
.pm-blurb { text-align: center; }
.pm-blurb__img img { margin: 0 auto; }
.pm-blurb h4 { padding: 12px 0 6px; font-family: var(--pm-font); font-weight: 500; }
.pm-widget-page.et_pb_section { padding: 60px 0 90px; background: #fff; }
.page-banner-section.page-top-section { background: #111; }
.page-banner-section .page_title { padding: 200px 0 120px; }
.page-banner-section .page_title h1, .page-banner-section .page_title h2 { color: #f3f6f9; font: 600 65px/65px var(--pm-font); text-transform: capitalize; }
.services-ful-bg.et_pb_section { background: #f2f2f2; padding: 60px 0 40px; }
.services-main-disply h1.hx_h4_h1, .services-main-disply h2.hx_h4_h1 { padding: 30px 0 50px; color: #000; font: 500 36px/44px var(--pm-font); }
.services-main-disply h1.hx_h4_h1 span, .services-main-disply h2.hx_h4_h1 span { border-bottom: 3px solid var(--pm-green); }
.pm-svc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 33px; margin: 0; padding: 0; list-style: none; }
.pm-svc-grid > li { margin: 0; padding: 0; list-style: none; }
@media (max-width: 980px) { .pm-svc-grid { grid-template-columns: repeat(2, 1fr); } .page-banner-section .page_title { padding: 140px 20px 70px; } .page-banner-section .page_title h1, .page-banner-section .page_title h2 { font-size: 42px; line-height: 44px; } }
@media (max-width: 767px) { .pm-svc-grid { grid-template-columns: 1fr; } }

/* Sitemap */
.wsp-pages-list, .wsp-pages-list ul { margin: 0; padding: 0 0 0 20px; list-style: disc; }
.wsp-pages-list { padding-left: 0; list-style: none; }
.wsp-pages-list li { padding: 4px 0; font: 400 18px/28px var(--pm-font); }
.wsp-pages-list ul.children { margin-top: 4px; }

/* WHOIS */
.ww-whois-widget { max-width: 860px; margin: 0 auto; }
.ww-whois-title { padding-bottom: 20px; color: #000; font: 500 38px/44px var(--pm-font); }
.ww-whois-help { padding: 20px 24px; background: #f2f2f2; border-radius: 4px; }
.ww-whois-help-title { font: 600 17px/24px var(--pm-font); }
.ww-whois-help-text { padding: 6px 0 0; color: #474747; font: 400 15px/24px var(--pm-font); }
.ww-whois-form { display: flex; gap: 10px; margin-top: 24px; }
.ww-whois-form input { flex: 1; padding: 14px 16px; border: 1px solid #707070; border-radius: 3px; font: 400 16px/20px var(--pm-font); }
.ww-whois-form button { padding: 14px 28px; border: 0; border-radius: 3px; background: var(--pm-green); color: #fff; font: 600 15px/20px var(--pm-font); cursor: pointer; }
.ww-whois-form button:hover { background: var(--pm-green-dark); }
.ww-whois-error { margin-top: 20px; color: #b3261e; font: 400 16px/24px var(--pm-font); }
.ww-whois-result { margin-top: 28px; }
.ww-whois-result dl { display: grid; grid-template-columns: 160px 1fr; gap: 10px 20px; margin: 12px 0 18px; }
.ww-whois-result dt { color: #5c5c5c; font-weight: 600; }
.ww-whois-result dd { margin: 0; overflow-wrap: anywhere; }
.ww-whois-result pre { max-height: 320px; overflow: auto; padding: 14px; background: #111; color: #cfe8d5; font-size: 12px; }

/* Shop (first version, overridden below) */
.pm-products__filter { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 30px; padding: 0; list-style: none; }
.pm-products__filter a { display: block; padding: 8px 18px; border: 1px solid var(--pm-green); border-radius: 30px; color: var(--pm-green); font: 500 15px/20px var(--pm-font); }
.pm-products__filter a.is-active, .pm-products__filter a:hover { background: var(--pm-green); color: #fff; }
.pm-products__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin: 0; padding: 0; list-style: none; }
.pm-products__grid a { display: block; height: 100%; background: #fafafa; color: #000; }
.pm-products__grid h3, .pm-products__grid p { padding: 16px 20px 0; }
.pm-products__empty { color: #5c5c5c; }
@media (max-width: 767px) { .pm-products__grid { grid-template-columns: 1fr; } .ww-whois-form { flex-direction: column; } .ww-whois-result dl { grid-template-columns: 1fr; } }

/* Blurb / image icons that are SVGs stay icon-sized */
.pm-blurb__img img[src$=".svg"], .pm-image img[src$=".svg"] { width: 90px; max-width: 100%; height: auto; margin-left: auto; margin-right: auto; }

/* Divi pricing tables: brand green instead of Divi's default blue */
.et_pb_pricing .et_pb_sum, .et_pb_pricing .et_pb_dollar_sign, .et_pb_pricing .et_pb_frequency { color: var(--pm-green) !important; }
.et_pb_pricing_table .et_pb_button, .et_pb_pricing_table .et_pb_button:after { color: var(--pm-green) !important; border-color: var(--pm-green) !important; }
.et_pb_pricing_table .et_pb_button:hover { background: var(--pm-green) !important; color: #fff !important; }
.et_pb_pricing_table .et_pb_button:hover:after { color: #fff !important; }

.et_pb_text .pm-svc-grid, ul.pm-svc-grid { margin: 0 !important; padding: 0 !important; width: 100%; box-sizing: border-box; }

/* About: caption centred under the photo (the box is only as wide as the photo) */
.about-page .home-we-creat-stunning-section-right .et_pb_text_inner { display: block; width: 475px; max-width: 100%; }
.about-page #photocaption p { text-align: center; }

/* About: less air between the team cards and the accreditation logos */
.et_pb_section.our-team-section { padding-bottom: 30px; }
.our-team-section .et_pb_row { padding-bottom: 0 !important; }
.pm-badges-section.et_pb_section { padding: 0 0 70px; }
.pm-badges-section .et_pb_row { padding-top: 0 !important; }

/* Get In Touch (About, services pages): fixed two-column layout, form flush with the right edge */
.about-get-touch-section .et_pb_row { display: grid !important; grid-template-columns: 300px 770px; justify-content: space-between; column-gap: 30px; align-items: start; }
.about-get-touch-section .et_pb_column { float: none; width: auto !important; margin: 0 !important; }
/* The quick form splits itself into two columns, so its fields must fill them (not the 49/50% used on the contact page) */
.contact-form-full .wpcf7 input, .contact-form-full input { width: 100% !important; }
.contact-form-full { display: flex; justify-content: space-between; gap: 2%; }
.contact-form-full-left, .contact-form-full-right { float: none; flex: 1 1 0; width: auto; }
@media (max-width: 980px) {
	.about-get-touch-section .et_pb_row { grid-template-columns: 1fr; row-gap: 10px; }
	.about-get-touch-left h5 { padding-bottom: 20px; }
}
@media (max-width: 600px) {
	/* One column on phones, in reading order: first, last, email, phone */
	.contact-form-full { display: flex; flex-direction: column; }
	.contact-form-full-left, .contact-form-full-right { display: contents; }
	.contact-form-full-left > p:nth-child(1) { order: 1; }
	.contact-form-full-right > p:nth-child(1) { order: 2; }
	.contact-form-full-left > p:nth-child(2) { order: 3; }
	.contact-form-full-right > p:nth-child(2) { order: 4; }
}
.wpcf7 .contact-form-full input[name] { width: 100% !important; }
.contact-form-full { width: 100%; }
.contact-form-full > div { margin: 0 !important; padding: 0 !important; min-width: 0; }
.contact-form-full p { margin: 0; }
.contact-form-full::before, .contact-form-full::after { display: none; content: none; }
@media (max-width: 980px) { .about-get-touch-section .et_pb_row { padding-left: 20px !important; padding-right: 20px !important; } }

/* Header menu on every page type: Divi's CPT-specific static CSS sets these to `stretch` and adds a negative margin to the list */
.pm-header .et_pb_menu .et_pb_menu_inner_container,
.pm-header .et_pb_menu .et_pb_menu__wrap,
.pm-header .et_pb_menu .et_pb_menu__menu,
.pm-header .et_pb_menu nav.et-menu-nav,
.pm-header .et_pb_menu ul.et-menu { align-items: center !important; }
.pm-header .et_pb_menu ul.et-menu { margin: 0 !important; }
.pm-header .et-menu > li.menu-item-has-children > a::after { top: 50% !important; right: 0 !important; margin-top: -10px !important; transform: none !important; line-height: 20px; }

/* ---- "What's the Process?" tabs (Custom Web Design) -------------------------------------------- */
.et_pb_section .et_pb_row.new-custom-web-design-tabs .et_pb_tabs { border: 0 !important; background: none !important; }
.et_pb_section .et_pb_row.new-custom-web-design-tabs .et_pb_tabs_controls { display: flex; flex-wrap: wrap; margin: 0 0 50px; padding: 0; border: 0 !important; background: none !important; }
.et_pb_section .et_pb_row.new-custom-web-design-tabs .et_pb_tabs_controls::after { display: none; border: 0; }
.et_pb_section .et_pb_row.new-custom-web-design-tabs .et_pb_tabs_controls li { flex: 0 0 215px; float: none; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent; height: auto !important; text-align: center; }
.et_pb_section .et_pb_row.new-custom-web-design-tabs .et_pb_tabs_controls li.et_pb_tab_active { background: #fff !important; }
.et_pb_section .et_pb_row.new-custom-web-design-tabs .et_pb_tabs_controls li a { position: relative; display: block; padding: 82px 0 30px !important; color: #5c5c5c; font: 400 19px/20px var(--pm-font); text-decoration: none; }
.et_pb_section .et_pb_row.new-custom-web-design-tabs .et_pb_tabs_controls li.et_pb_tab_active a { color: #000 !important; }
.et_pb_section .et_pb_row.new-custom-web-design-tabs .et_pb_tabs_controls li a::before {
	content: ""; position: absolute; top: 23px; left: 50%; width: 47px; height: 47px; margin-left: -23px;
	background: #7b7b7b;
	-webkit-mask: var(--pm-tab-icon) center / contain no-repeat; mask: var(--pm-tab-icon) center / contain no-repeat;
}
.et_pb_section .et_pb_row.new-custom-web-design-tabs .et_pb_tabs_controls li.et_pb_tab_active a::before { background: var(--pm-green); }
.et_pb_section .et_pb_row.new-custom-web-design-tabs .et_pb_tabs_controls li.et_pb_tab_0 a { --pm-tab-icon: url(/wp-content/themes/Positivemedium/images/pages/tab-design-active.png); }
.et_pb_section .et_pb_row.new-custom-web-design-tabs .et_pb_tabs_controls li.et_pb_tab_1 a { --pm-tab-icon: url(/wp-content/themes/Positivemedium/images/pages/tab-review.png); }
.et_pb_section .et_pb_row.new-custom-web-design-tabs .et_pb_tabs_controls li.et_pb_tab_2 a { --pm-tab-icon: url(/wp-content/themes/Positivemedium/images/pages/tab-development.png); }
.et_pb_section .et_pb_row.new-custom-web-design-tabs .et_pb_tabs_controls li.et_pb_tab_3 a { --pm-tab-icon: url(/wp-content/themes/Positivemedium/images/pages/tab-testing.png); }
.et_pb_section .et_pb_row.new-custom-web-design-tabs .et_pb_tabs_controls li.et_pb_tab_4 a { --pm-tab-icon: url(/wp-content/themes/Positivemedium/images/pages/tab-launch.png); }
.new-custom-web-design-tabs .et_pb_all_tabs { background: none !important; }
.new-custom-web-design-tabs .et_pb_tab { padding: 0 !important; border: 0 !important; background: none !important; }
.new-customweb-design-main { display: flex; gap: 40px 80px; align-items: center; }
.new-customweb-design-main-left { flex: 0 0 475px; max-width: 100%; }
.new-customweb-design-main-left:empty { display: none; }
.new-customweb-design-main-left img { display: block; width: 100%; height: auto; }
.new-customweb-design-main-right { flex: 1 1 0; min-width: 0; padding-top: 0; }
.new-customweb-design-main-right h5 { padding-bottom: 24px; color: #000; font: 500 32px/40px var(--pm-font); text-transform: none; }
.new-customweb-design-main-right h5 span { font: inherit; }
.new-customweb-design-main-right p { padding-bottom: 20px; color: #5c5c5c; font: 400 17px/26px var(--pm-font); }
.new-customweb-design-main-right a.pm-btn { margin-top: 14px; }
@media (max-width: 980px) {
	.et_pb_section .et_pb_row.new-custom-web-design-tabs .et_pb_tabs_controls li { flex: 1 1 20%; min-width: 0; }
	.et_pb_section .et_pb_row.new-custom-web-design-tabs .et_pb_tabs_controls li a { padding: 70px 0 14px !important; font-size: 14px; line-height: 18px; }
	.new-customweb-design-main { flex-direction: column; align-items: stretch; }
	.new-customweb-design-main-left { flex-basis: auto; }
}
/* The old site's per-tab background icons (css/pages.css) would draw a second icon under the ones above */
.et_pb_section .et_pb_row.new-custom-web-design-tabs .et_pb_tabs_controls li { background-image: none !important; }
@media (max-width: 767px) {
	.et_pb_section .et_pb_row.new-custom-web-design-tabs .et_pb_tabs_controls { margin-bottom: 30px; }
	/* each tab is as wide as its label ("Development" is the longest) so no label wraps */
	.et_pb_section .et_pb_row.new-custom-web-design-tabs .et_pb_tabs_controls li { flex: 1 1 auto !important; width: auto !important; }
	.et_pb_section .et_pb_row.new-custom-web-design-tabs .et_pb_tabs_controls li a { padding: 60px 3px 12px !important; font-size: 14px; line-height: 18px; white-space: nowrap; }
	.et_pb_section .et_pb_row.new-custom-web-design-tabs .et_pb_tabs_controls li a::before { top: 14px; width: 36px; height: 36px; margin-left: -18px; }
}
@media (max-width: 400px) {
	.et_pb_section .et_pb_row.new-custom-web-design-tabs .et_pb_tabs_controls li a { font-size: 12.5px !important; }
}

/* Intro text under the section heading: Outfit like the rest of the page */
.new-custom-web-site-section .et_pb_text p { padding-bottom: 20px; color: #5c5c5c; font: 400 17px/29px var(--pm-font); }
.new-custom-web-site-section h2 { color: #000; font: 500 40px/44px var(--pm-font); padding-bottom: 24px; }
.new-custom-web-site-section h2 span { border-bottom: 3px solid var(--pm-green); }
.new-customweb-design-main-right a.pm-btn { padding: 18px 29px; font-weight: 400; font-size: 18px; line-height: 26px; }

/* Side gutter for Divi rows on tablet/phone (rows are 100% wide, so they need their own padding) */
@media (max-width: 980px) {
	.et-db #et-boc .et-l .et_pb_row { padding-left: 20px; padding-right: 20px; box-sizing: border-box; }
	.et-db #et-boc .et-l--header .et_pb_row { padding-left: 20px !important; padding-right: 20px !important; }
}

/* Get In Touch section: beat Divi's per-column heading size and clearfix boxes on every page type */
.et-db #et-boc .et-l .about-get-touch-left h5 { font-size: 40px !important; line-height: 45px !important; padding-bottom: 48px; font-weight: 500; }
.wpcf7 .contact-form-full::before, .wpcf7 .contact-form-full::after { display: none !important; content: none !important; }
.wpcf7 .contact-form-full > div { flex: 1 1 0 !important; width: auto !important; }
@media (max-width: 980px) { .et-db #et-boc .et-l .about-get-touch-left h5 { font-size: 30px !important; line-height: 34px !important; padding-bottom: 20px; } }

/* Footer section backgrounds on every page type (Divi's CPT/section CSS can re-paint them white) */
.et-db #et-boc .et-l--footer .et_pb_section.pm-cta { background-color: var(--pm-green) !important; }
.et-db #et-boc .et-l--footer .et_pb_section.pm-footer-main,
.et-db #et-boc .et-l--footer .et_pb_section.pm-footer-legal { background-color: var(--pm-black) !important; }
.pm-footer-legal .pm-legal { align-items: center; }
.pm-footer-legal .pm-legal ul { display: flex; align-items: center; margin: 0 !important; padding: 0 !important; }
.pm-footer-legal .pm-legal p { margin: 0 !important; padding: 0 !important; line-height: 20px; }
.pm-footer-legal .pm-legal li { margin: 0; padding-top: 0 !important; padding-bottom: 0 !important; line-height: 20px; }
.pm-footer-legal .pm-legal li a { display: block; line-height: 20px; }
.pm-footer-legal .pm-legal p.pm-legal__pride { display: flex; align-items: center; gap: 8px; }

/* Header dropdowns on every page type (Divi's CPT CSS adds a blue top border and 20px padding) */
.et-db #et-boc .et-l--header .pm-header .et-menu .sub-menu {
	width: 230px !important; padding: 0 !important; margin: 0 !important;
	background: var(--pm-green) !important; border: 0 !important; border-top: 0 !important; box-shadow: none !important;
}
.et-db #et-boc .et-l--header .pm-header .et-menu .sub-menu li { width: 100% !important; padding: 0 !important; margin: 0 !important; }
.et-db #et-boc .et-l--header .pm-header .et-menu .sub-menu li a {
	display: block !important; width: auto !important; padding: 15px 14px !important; line-height: 18px !important;
	border-bottom: 1px dotted var(--pm-light) !important; color: var(--pm-light) !important;
}
.et-db #et-boc .et-l--header .pm-header .et-menu .sub-menu li:last-child a { border-bottom: 0 !important; }
.et-db #et-boc .et-l--header .pm-header .et-menu .sub-menu li a:hover { background: var(--pm-green-dark) !important; }
.et-db #et-boc .et-l--header .pm-header .et-menu .sub-menu li a { font-size: 15px !important; font-family: var(--pm-font) !important; font-weight: 400 !important; }

/* Pricing tables (Hosting, Google Workspace): price + "/month" on one line, solid green buttons */
.et-db #et-boc .et-l .web-design-pricing-section .et_pb_pricing_content_top { display: none; }
.et-db #et-boc .et-l .web-design-pricing-section .et_pb_pricing_heading { padding: 58px 48px 32px; }
.et-db #et-boc .et-l .web-design-pricing-section .et_pb_pricing_heading .et_pb_best_value { display: block; }
.et-db #et-boc .et-l .web-design-pricing-section .et_pb_pricing_heading .pm-per { margin-left: 4px; color: #000; font: 400 17px/24px var(--pm-font); }
.et-db #et-boc .et-l .web-design-pricing-section .et_pb_module.et_pb_pricing { border: 1px solid transparent; box-sizing: border-box; }
.et-db #et-boc .et-l .web-design-pricing-section .et_pb_module.et_pb_pricing_tables_1 { border-color: #bbd0c1; }
.et-db #et-boc .et-l .web-design-pricing-section .et_pb_pricing_table { min-height: 650px; box-sizing: border-box; }
.et-db #et-boc .et-l .web-design-pricing-section .et_pb_pricing_table .et_pb_pricing_content { border-top: 0; }
.et-db #et-boc .et-l .web-design-pricing-section .et_pb_button_wrapper { padding: 0 48px; text-align: left; }
.et-db #et-boc .et-l .web-design-pricing-section .et_pb_pricing_table .et_pb_button {
	display: inline-block; width: 159px; padding: 0; background: var(--pm-green) !important; border: 0 !important; border-radius: 3px;
	color: #fff !important; font: 400 15px/58px var(--pm-font) !important; text-align: center;
}
.et-db #et-boc .et-l .web-design-pricing-section .et_pb_pricing_table .et_pb_button:hover { background: var(--pm-green-dark) !important; color: #fff !important; padding: 0 !important; }
.et-db #et-boc .et-l .web-design-pricing-section .et_pb_pricing_table .et_pb_button::after { display: none !important; }
@media (max-width: 767px) {
	.et-db #et-boc .et-l .web-design-pricing-section .et_pb_pricing_heading { padding: 28px 25px 25px; }
	.et-db #et-boc .et-l .web-design-pricing-section .et_pb_button_wrapper { padding: 0 25px; }
}
.et-db #et-boc .et-l .et_pb_section.web-design-pricing-section .et_pb_module .et_pb_pricing_table .et_pb_pricing_heading span.et_pb_best_value { display: block; white-space: nowrap; }
.et-db #et-boc .et-l .et_pb_section.web-design-pricing-section .et_pb_module .et_pb_pricing_table .et_pb_pricing_heading span.et_pb_best_value .pm-per { color: #000; font-size: 17px; line-height: 24px; font-weight: 400; margin-left: 6px; }
.et-db #et-boc .et-l .et_pb_section.web-design-pricing-section .et_pb_module .et_pb_pricing_table .et_pb_pricing_heading { box-sizing: border-box; height: 170px; padding-bottom: 0; }
.et-db #et-boc .et-l .et_pb_section.web-design-pricing-section .et_pb_module .et_pb_pricing_table .et_pb_pricing_heading span.et_pb_best_value .pm-per { margin-left: 2px; position: relative; top: -6px; }
.et-db #et-boc .et-l .et_pb_section.web-design-pricing-section .et_pb_module .et_pb_pricing_table .et_pb_pricing_heading { height: 164px; }

/* "What's Included?" blurbs (Hosting): icon on the left, title + text on the right, left-aligned */
.feattures-section .pm-blurb { display: flex; align-items: flex-start; gap: 20px; text-align: left; padding-bottom: 36px; }
.feattures-section .pm-blurb__img { flex: 0 0 60px; width: 60px; }
.feattures-section .pm-blurb__img img { display: block; width: 60px; height: auto; margin: 0; }
.feattures-section .pm-blurb > :not(.pm-blurb__img) { flex: 1 1 0; min-width: 0; }
.feattures-section .pm-blurb h4 { padding: 6px 0 12px; color: #000; font: 500 23px/26px var(--pm-font); text-align: left; text-transform: capitalize; }
.feattures-section .pm-blurb__text, .feattures-section .pm-blurb__text p { color: #5c5c5c; font: 400 18px/29px var(--pm-font); text-align: left; padding-bottom: 0; }
.feattures-section .et_pb_row .et_pb_column { padding-right: 10px; }
.feattures-section h3 { padding-bottom: 30px; color: #000; font: 500 40px/53px var(--pm-font); text-transform: capitalize; }
.feattures-section h3 span { border-bottom: 3px solid var(--pm-green); }
.feattures-section > .et_pb_row:first-child p { padding-bottom: 29px; color: #5c5c5c; font: 400 18px/29px var(--pm-font); }
@media (max-width: 980px) { .feattures-section .pm-blurb h4 { font-size: 20px; line-height: 22px; } .feattures-section .pm-blurb__text, .feattures-section .pm-blurb__text p { font-size: 16px; line-height: 24px; } }
.et-db #et-boc .et-l .feattures-section .pm-blurb h4 { font-size: 23px !important; line-height: 26px !important; font-weight: 500; }
.et-db #et-boc .et-l .feattures-section .pm-blurb__body { flex: 1 1 0; min-width: 0; }
@media (max-width: 980px) { .et-db #et-boc .et-l .feattures-section .pm-blurb h4 { font-size: 20px !important; line-height: 22px !important; } }

/* ---- SEO page: "Timeline Expectations" cards ------------------------------------------------- */
.et_pb_section.timeline-xpectations-section { padding: 60px 0; background: #fff; }
.timeline-xpectations-section h3 { padding-bottom: 20px; color: #000; font: 500 40px/50px var(--pm-font); text-align: center; text-transform: capitalize; }
.timeline-xpectations-section h3 span { border-bottom: 3px solid var(--pm-green-link); }
.timeline-xpectations-section .et_pb_row.how-does-work-image-text-row { display: flex; justify-content: center; gap: 65px; padding: 0 !important; }
.timeline-xpectations-section .how-does-work-image-text-row .et_pb_column { flex: 0 0 350px; width: 350px !important; max-width: 100%; margin: 0 !important; padding: 0 !important; }
.timeline-xpectations-section .pm-blurb { position: relative; display: block; box-sizing: border-box; min-height: 515px; padding: 60px 35px 38px; background: #f2f2f2; text-align: center; }
.timeline-xpectations-section .pm-blurb__img { width: auto; margin: 0 0 6px; }
.timeline-xpectations-section .pm-blurb__img img { display: block; width: 61px; height: 61px; margin: 0 auto; object-fit: contain; }
.timeline-xpectations-section .pm-blurb__body { display: block; }
.timeline-xpectations-section .pm-blurb h4 {
	position: absolute; top: 0; left: 0; right: 0; width: 113px; margin: auto; padding: 10px 0;
	background: var(--pm-green); color: #fff; font: 400 18px/20px var(--pm-font); text-align: center; text-transform: none;
}
.timeline-xpectations-section .pm-blurb__text h5 {
	display: flex; align-items: center; justify-content: center; min-height: 58px; padding: 0;
	color: #000; font: 400 26px/29px var(--pm-font); text-align: center; text-transform: none;
}
.timeline-xpectations-section .pm-blurb__text hr { width: 60px; height: 0; margin: 15px auto 22px; border: 0; border-top: 1px solid var(--pm-green-link); background: none; }
.timeline-xpectations-section .pm-blurb__text p { padding: 0 0 14px; color: #5c5c5c; font: 400 17px/23px var(--pm-font); text-align: center; }
@media (max-width: 980px) {
	.timeline-xpectations-section .et_pb_row.how-does-work-image-text-row { flex-wrap: wrap; gap: 30px; }
	.timeline-xpectations-section .pm-blurb { min-height: 0; }
	.timeline-xpectations-section h3 { font-size: 29px; line-height: 41px; }
}
.timeline-xpectations-section .et_pb_row.how-does-work-image-text-row::before,
.timeline-xpectations-section .et_pb_row.how-does-work-image-text-row::after { display: none !important; content: none !important; }
.et-db #et-boc .et-l .timeline-xpectations-section .pm-blurb__text h5 { font-size: 26px !important; line-height: 29px !important; font-weight: 400; }
.et-db #et-boc .et-l .timeline-xpectations-section .pm-blurb h4 { font-size: 18px !important; line-height: 20px !important; }
@media (max-width: 980px) { .et-db #et-boc .et-l .timeline-xpectations-section .pm-blurb__text h5 { font-size: 20px !important; line-height: 26px !important; } }

/* ---- Accessibility page: "How Does It Work?" step cards (white cards, green "Step N" badge) ------------ */
.et_pb_section.how-does-work-section { padding: 60px 0; }
.how-does-work-section .et_pb_row.how-does-title-row { padding: 0 0 20px !important; }
.how-does-work-section .how-does-title-row p { padding-bottom: 0; color: #5c5c5c; font: 400 18px/29px var(--pm-font); }
.how-does-work-section .et_pb_row.how-does-work-image-text-row { display: flex; justify-content: space-between; gap: 40px; padding: 30px 0 0 !important; }
.how-does-work-section .et_pb_row.how-does-work-image-text-row::before,
.how-does-work-section .et_pb_row.how-does-work-image-text-row::after { display: none !important; content: none !important; }
.how-does-work-section .how-does-work-image-text-row .et_pb_column { flex: 1 1 0; width: auto !important; min-width: 0; margin: 0 !important; padding: 0 !important; }
.how-does-work-section .pm-blurb { position: relative; display: block; box-sizing: border-box; height: 100%; padding: 60px 35px 38px; background: #fff; text-align: center; }
.how-does-work-section .pm-blurb__img { width: auto; margin: 13px 0 25px; }
.how-does-work-section .pm-blurb__img img { display: block; width: auto; max-width: 100%; height: 70px; margin: 0 auto; object-fit: contain; }
.how-does-work-section .pm-blurb__body { display: block; }
.how-does-work-section .pm-blurb h4 {
	position: absolute; top: 0; left: 0; right: 0; width: 113px; margin: auto; padding: 10px 0;
	background: var(--pm-green); color: #fff; font: 400 18px/20px var(--pm-font); text-align: center; text-transform: none;
}
.et-db #et-boc .et-l .how-does-work-section .pm-blurb h4 { font-size: 18px !important; line-height: 20px !important; }
.et-db #et-boc .et-l .how-does-work-section .pm-blurb__text h5 { padding: 0; color: #000; font: 400 26px/29px var(--pm-font) !important; text-align: center; text-transform: none; }
.how-does-work-section .pm-blurb__text p { padding: 10px 0 0; color: #5c5c5c; font: 400 17px/27px var(--pm-font); text-align: center; }
@media (max-width: 980px) {
	.how-does-work-section .et_pb_row.how-does-work-image-text-row { flex-wrap: wrap; gap: 20px; }
	.how-does-work-section .how-does-work-image-text-row .et_pb_column { flex: 1 1 calc(50% - 10px); }
	.et-db #et-boc .et-l .how-does-work-section .pm-blurb__text h5 { font-size: 24px !important; line-height: 26px !important; }
}
@media (max-width: 600px) { .how-does-work-section .how-does-work-image-text-row .et_pb_column { flex-basis: 100%; } }
@media (max-width: 980px) { .how-does-work-section .et_pb_row.how-does-work-image-text-row, .how-does-work-section .et_pb_row.how-does-title-row { padding-left: 20px !important; padding-right: 20px !important; } }
/* Targeted TV: the text under each step sits in a card that fades out at the bottom */
.et_pb_section.target-tv-section .et_pb_row .et_pb_column .et_pb_module { margin-bottom: 0 !important; }
.how-does-work-section .et_pb_module.targrt-tv-extra-content { padding: 45px 40px; min-height: 415px; background: url(/wp-content/themes/Positivemedium/images/target-tv-middle-content-bg.png) no-repeat; background-size: 100% 100%; }
.how-does-work-section .et_pb_module.targrt-tv-extra-content p { padding-bottom: 5px; color: #5c5c5c; font: 400 16px/29px var(--pm-font); text-align: center; }
@media (min-width: 768px) and (max-width: 1169px) {
	.how-does-work-section .et_pb_module.targrt-tv-extra-content { padding: 30px 15px; background: #fbfbfb; }
	.how-does-work-section .et_pb_module.targrt-tv-extra-content p { font-size: 15px; line-height: 25px; }
}
@media (min-width: 768px) and (max-width: 980px) {
	.target-tv-section .et_pb_row.how-does-work-image-text-row { flex-wrap: nowrap; gap: 2%; }
	.target-tv-section .how-does-work-image-text-row .et_pb_column { flex: 1 1 0; }
}
@media (max-width: 767px) { .target-tv-section .how-does-work-image-text-row .et_pb_column { flex-basis: 100%; } }
@media (max-width: 767px) { .how-does-work-section .et_pb_module.targrt-tv-extra-content { padding: 20px 12px; min-height: 0; background: #fbfbfb; } }

/* ---- Accessibility page: "Our Accessibility Compliance Solution Includes" ----------------------------- */
.et_pb_section.our-accessibility-compliance-section { padding: 60px 0 100px; }
.our-accessibility-compliance-section .et_pb_row { display: flex; justify-content: space-between; align-items: flex-start; gap: 40px; padding: 0 !important; }
.our-accessibility-compliance-section .et_pb_row::before, .our-accessibility-compliance-section .et_pb_row::after { display: none !important; content: none !important; }
.our-accessibility-compliance-section .et_pb_column { margin: 0 !important; padding: 0 !important; }
.our-accessibility-compliance-section .our-accessibility-path-compliance-left { flex: 1 1 0; width: auto !important; min-width: 0; }
.our-accessibility-compliance-section .our-accessibility-path-compliance-right { flex: 0 0 360px; width: 360px !important; max-width: 100%; }
.our-accessibility-compliance-section ul br { display: none; }
.our-accessibility-compliance-section ul li { padding-left: 35px; margin-bottom: 13px; font-size: 18px; line-height: 28px; }

/* the single price card */
.et-db #et-boc .et-l .our-accessibility-compliance-section .et_pb_pricing_content,
.et-db #et-boc .et-l .our-accessibility-compliance-section .et_pb_pricing_content_top { display: none; }
.et-db #et-boc .et-l .our-accessibility-compliance-section .et_pb_module.et_pb_pricing { width: 100%; border: 0; }
.et-db #et-boc .et-l .our-accessibility-compliance-section .et_pb_pricing_table { min-height: 0; border: 0; background: #f9f9f9; }
.et-db #et-boc .et-l .our-accessibility-compliance-section .et_pb_pricing_heading { box-sizing: border-box; padding: 58px 48px 32px; background: #fff; }
.et-db #et-boc .et-l .our-accessibility-compliance-section .et_pb_pricing_heading h2 { color: #000; font: 400 20px/23px var(--pm-font); text-align: left; }
.et-db #et-boc .et-l .our-accessibility-compliance-section .et_pb_pricing_heading span.et_pb_best_value { display: block; white-space: nowrap; color: var(--pm-green); font: 500 50px/50px var(--pm-font); text-align: left; }
.et-db #et-boc .et-l .our-accessibility-compliance-section .et_pb_pricing_heading span.et_pb_best_value .pm-per { margin-left: 2px; position: relative; top: -6px; color: #000; font: 400 17px/24px var(--pm-font); }
.et-db #et-boc .et-l .our-accessibility-compliance-section .et_pb_button_wrapper { padding: 30px 48px 50px; text-align: left; }
.et-db #et-boc .et-l .our-accessibility-compliance-section .et_pb_pricing_table .et_pb_button {
	display: block; width: 159px; padding: 0; background: var(--pm-green) !important; border: 0 !important; border-radius: 3px;
	color: #fff !important; font: 400 15px/58px var(--pm-font) !important; text-align: center;
}
.et-db #et-boc .et-l .our-accessibility-compliance-section .et_pb_pricing_table .et_pb_button:hover { background: var(--pm-green-dark) !important; padding: 0 !important; }
.et-db #et-boc .et-l .our-accessibility-compliance-section .et_pb_pricing_table .et_pb_button::after { display: none !important; }
@media (max-width: 980px) {
	.our-accessibility-compliance-section .et_pb_row { flex-direction: column; gap: 30px; padding: 0 20px !important; }
	.our-accessibility-compliance-section .our-accessibility-path-compliance-right { flex-basis: auto; width: 100% !important; }
}
.et-db #et-boc .et-l .et_pb_section.our-accessibility-compliance-section .et_pb_module .et_pb_pricing_table .et_pb_pricing_heading span.et_pb_best_value .pm-per { color: #000; font: 400 17px/24px var(--pm-font); margin-left: 2px; position: relative; top: -6px; }
@media (max-width: 980px) {
	.our-accessibility-compliance-section .our-accessibility-path-compliance-left,
	.our-accessibility-compliance-section .our-accessibility-path-compliance-right { flex: 0 0 auto; width: 100% !important; }
	.et_pb_section.our-accessibility-compliance-section { padding: 40px 0 50px; }
}

/* Platform blurbs (Social Media page): fixed icon box so the titles share a baseline across each row */
.social-media-platform-section .pm-blurb__img { display: flex; align-items: center; justify-content: center; height: 56px; margin: 0 0 8px; }
.social-media-platform-section .pm-blurb__img span { display: flex; align-items: center; justify-content: center; }
.social-media-platform-section .pm-blurb__img img { width: auto; max-height: 52px; max-width: 100%; margin: 0; }

/* ---- Branding Photography: package rows (price block + feature list side by side) ---------------------- */
.branding-photography-pricing .et_pb_row { display: flex; align-items: stretch; justify-content: flex-start; padding: 0 0 20px !important; }
.branding-photography-pricing .et_pb_row::before, .branding-photography-pricing .et_pb_row::after { display: none !important; content: none !important; }
.branding-photography-pricing .et_pb_column { float: none; margin: 0 !important; box-sizing: border-box; }
.branding-photography-pricing .et_pb_column.pricing-block { flex: 0 0 300px; width: 300px !important; }
.branding-photography-pricing .et_pb_column.branding-photography-right-block { flex: 1 1 auto; width: auto !important; max-width: 875px; }
.branding-photography-pricing .pricing-block .et_pb_text_inner, .branding-photography-pricing .branding-photography-right-block .et_pb_text_inner { padding: 0; }
.branding-photography-pricing .branding-photography-right-block ul { width: 100%; margin: 0; padding: 0; }
.branding-photography-pricing .branding-photography-right-block ul li { margin: 0; padding-bottom: 0; }
.branding-photography-pricing .pricing-block h6 { margin: 12px 0 10px; line-height: 1.2; }
.branding-photography-pricing .pricing-block p { padding: 0; }
@media (max-width: 980px) {
	.branding-photography-pricing .et_pb_row { flex-direction: column; padding: 0 20px 20px !important; }
	.branding-photography-pricing .et_pb_column.pricing-block, .branding-photography-pricing .et_pb_column.branding-photography-right-block { flex: 0 0 auto; width: 100% !important; max-width: none; }
	.branding-photography-pricing .pricing-block { margin-bottom: 0 !important; }
}
.et-db #et-boc .et-l .branding-photography-pricing .pricing-block h6 { margin: 12px 0 10px; padding-left: 45px; color: #000; font: 400 40px/1.2 var(--pm-font) !important; }
@media (max-width: 980px) { .et-db #et-boc .et-l .branding-photography-pricing .pricing-block h6 { font-size: 31px !important; padding-left: 30px; } }
@media (max-width: 600px) { .et-db #et-boc .et-l .branding-photography-pricing .pricing-block h6 { font-size: 28px !important; padding-left: 35px; } }

/* ---- Section backgrounds Divi generated per section on the old site -------------------------------------- */
.et_pb_section.why-advertise-on-db, .et_pb_section.consumers-take-action { background-image: linear-gradient(180deg, #f2f2f2 0%, #f7f7f7 100%) !important; }
.et_pb_section.boost-credibility { background-image: url(/wp-content/themes/Positivemedium/images/pages/bg-boost-credibility.jpg) !important; background-size: cover; background-position: center; }
.et_pb_section.how-it-better-new, .et_pb_section.additional-mailing-service-new { background-image: linear-gradient(180deg, #f1f1f1 0%, #fefefe 100%) !important; }
.et-db #et-boc .et-l .et_pb_section.boost-credibility .et_pb_column_1_3 h4 { color: #fff; font: 400 40px/48px var(--pm-font) !important; margin: 40px 0 30px; }
.et-db #et-boc .et-l .et_pb_section.boost-credibility .boost-credibility-inner h4 { color: #000; }
@media (max-width: 980px) { .et-db #et-boc .et-l .et_pb_section.boost-credibility .et_pb_column_1_3 h4 { font-size: 30px !important; line-height: 36px !important; margin: 20px 0; } }

/* Boost Credibility: darken the busy photo behind the heading so the white text reads clearly */
.et_pb_section.boost-credibility { position: relative; }
.et_pb_section.boost-credibility::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.55) 32%, rgba(0,0,0,0) 55%); pointer-events: none; }
.et_pb_section.boost-credibility > .et_pb_row { position: relative; z-index: 1; }
.et-db #et-boc .et-l .et_pb_section.boost-credibility .et_pb_column_1_3 h4 { text-shadow: 0 2px 8px rgba(0,0,0,.6); }
@media (max-width: 980px) { .et_pb_section.boost-credibility::before { background: linear-gradient(180deg, rgba(0,0,0,.7) 0%, rgba(0,0,0,.55) 45%, rgba(0,0,0,0) 70%); } }

/* Page banners: dark scrim, heaviest behind the header, so white nav and title stay readable on bright photos */
.page-banner-section.page-top-section { position: relative; background-color: #111; }
.page-banner-section.page-top-section::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.65) 0%, rgba(0,0,0,.35) 38%, rgba(0,0,0,.28) 100%); pointer-events: none; }
.page-banner-section.page-top-section > .page_title { position: relative; z-index: 1; }
.pm-header .et-menu > li > a, .pm-header .pm-menu-portal > a { text-shadow: 0 1px 6px rgba(0,0,0,.55); }

/* ---- FAQs accordion ([pm_faqs]) -------------------------------------------------------------------- */
.pm-faqs { margin-top: 20px; }
.pm-faq { margin: 0 0 20px; background: #fff; }
.pm-faq__q { display: flex; align-items: center; gap: 14px; padding: 16px 32px; color: #000; font: 400 18px/24px var(--pm-font); cursor: pointer; list-style: none; }
.pm-faq__q::-webkit-details-marker { display: none; }
.pm-faq--noanswer .pm-faq__q { cursor: default; }
.pm-faq__icon { position: relative; flex: 0 0 18px; width: 18px; height: 18px; margin: 0 6px 0 0; }
.pm-faq__icon::before, .pm-faq__icon::after { content: ""; position: absolute; left: 50%; top: 50%; background: var(--pm-green); border-radius: 1px; transition: transform .2s, opacity .2s; }
.pm-faq__icon::before { width: 18px; height: 2.5px; margin: -1.25px 0 0 -9px; }  /* horizontal bar */
.pm-faq__icon::after { width: 2.5px; height: 18px; margin: -9px 0 0 -1.25px; }   /* vertical bar: hidden when open => minus */
details.pm-faq[open] .pm-faq__icon::after { transform: scaleY(0); opacity: 0; }
.pm-faq--noanswer .pm-faq__icon::before, .pm-faq--noanswer .pm-faq__icon::after { background: var(--pm-green); }
details.pm-faq:focus-within .pm-faq__q { outline: 2px solid var(--pm-green); outline-offset: -2px; }
.pm-faq__a { margin: 0 55px 0 70px; padding: 14px 0 24px; color: #5c5c5c; font: 400 17px/28px var(--pm-font); }
.pm-faq__a p { padding-bottom: 12px; }
.pm-faq__a p:last-child { padding-bottom: 0; }
/* open state: green question, heavier minus, a little space before the answer (no rule) */
details.pm-faq[open] > .pm-faq__q { margin: 0 55px 0 0; padding-right: 0; color: var(--pm-green); border-bottom: 0; }
details.pm-faq[open] > .pm-faq__q + .pm-faq__a { margin-top: 4px; padding-top: 18px; }
details.pm-faq[open] .pm-faq__icon::before { height: 4px; margin-top: -2px; }
.pm-faq__a a { color: var(--pm-green); }

/* ---- Pagination (Portfolio) ------------------------------------------------------------------------ */
.pm-pagination { clear: both; margin: 50px 0 10px; }
.pm-pagination ul { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; margin: 0; padding: 0; list-style: none; }
.pm-pagination li { margin: 0; padding: 0; list-style: none; }
.pm-pagination .page-numbers { display: flex; align-items: center; justify-content: center; min-width: 46px; height: 46px; padding: 0 8px; border: 1px solid var(--pm-green); border-radius: 50%; color: var(--pm-green); font: 500 17px/1 var(--pm-font); text-decoration: none; transition: background .2s, color .2s; }
.pm-pagination a.page-numbers:hover, .pm-pagination a.page-numbers:focus-visible { background: var(--pm-green); color: #fff; }
.pm-pagination .page-numbers.current { background: var(--pm-green); color: #fff; }
.pm-pagination .page-numbers.dots { border-color: transparent; }
.pm-pagination svg { display: block; }

/* Client pages: "Other Clients" carousel */


.et_pb_section.inner-portfolio-slider { padding: 0 0 90px; background: #fff; }
.inner-portfolio-slider .et_pb_row { width: 1070px; max-width: 100%; padding: 0 !important; }
.inner-portfolio-slider h2 { padding: 110px 0 60px; margin: 0; color: #000; font: 500 38px/38px var(--pm-font); text-align: center; text-transform: capitalize; }
.inner-portfolio-slider .et_pb_text_inner { padding: 0; }
.pm-oc { position: relative; }
.pm-oc__track { display: flex; gap: 20px; margin: 0 !important; padding: 0 !important; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
.pm-oc__track::-webkit-scrollbar { display: none; }
.pm-oc__track > li { flex: 0 0 calc((100% - 40px) / 3); min-width: 0; margin: 0; padding: 0; list-style: none; scroll-snap-align: start; }
.pm-oc__track img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; object-position: top; }
.pm-oc__track h3 { padding: 10px 0 0; margin: 0; color: #000; font: 500 18px/31px var(--pm-font); text-transform: capitalize; }
.pm-oc__track h3 a { color: #000; }
.pm-oc__nav { position: absolute; top: 40%; z-index: 2; width: 28px; height: 40px; padding: 0; border: 0; background: none; color: var(--pm-green); cursor: pointer; }
.pm-oc__nav--prev { left: -45px; }
.pm-oc__nav--next { right: -45px; }
.pm-oc__nav:hover:not([disabled]) { color: var(--pm-green-dark); }
.pm-oc__nav[disabled] { opacity: .3; cursor: default; }
.pm-oc__nav svg { display: block; margin: auto; }
@media (max-width: 1180px) { .pm-oc__nav--prev { left: -22px; } .pm-oc__nav--next { right: -22px; } }
@media (max-width: 980px) {
	.inner-portfolio-slider .et_pb_row { padding: 0 20px !important; }
	.inner-portfolio-slider h2 { padding: 50px 0 30px; font-size: 34px; }
	.pm-oc__track > li { flex-basis: calc((100% - 20px) / 2); }
	.pm-oc__nav--prev { left: -12px; } .pm-oc__nav--next { right: -12px; }
}
@media (max-width: 600px) { .inner-portfolio-slider h2 { font-size: 24px; line-height: 24px; padding: 27px 0; } .pm-oc__track > li { flex-basis: 100%; } }
@media (max-width: 980px) {
	.pm-oc__nav { top: 120px; width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,.92); box-shadow: 0 1px 6px rgba(0,0,0,.25); }
	.pm-oc__nav--prev { left: 8px; } .pm-oc__nav--next { right: 8px; }
}

/* Blog single post: space between sidebar thumbnails and their titles */
.related_articles_list .artcile_item_info, .related_articles_list .article_item_info { padding-left: 16px; box-sizing: border-box; }
.related_articles_list .article_item { margin-bottom: 30px; }
.single_post_right > h3, .single_post_right .widget_block > h3 { margin-bottom: 20px; }

/* ---- Blog single post: subheadings, lists, quotes (the original only styled h5) -------------------------- */
.single_post_content h2, .single_post_content h3, .single_post_content h4, .single_post_content h5, .single_post_content h6 { color: #000; font-family: var(--pm-font); font-weight: 400; text-transform: none; }
.single_post_content h2 { padding: 34px 0 16px; font-size: 32px; line-height: 38px; font-weight: 500; }
.single_post_content h3 { padding: 32px 0 14px; font-size: 27px; line-height: 33px; }
.single_post_content h4 { padding: 26px 0 12px; font-size: 22px; line-height: 28px; }
.single_post_content h5 { padding: 24px 0 12px; font-size: 20px; line-height: 26px; }
.single_post_content h6 { padding: 20px 0 10px; font-size: 18px; line-height: 24px; font-weight: 500; }
.single_post_content > :first-child { padding-top: 0; }
.single_post_content ul, .single_post_content ol { margin: 0 0 18px; padding: 0 0 0 26px; }
.single_post_content ul { list-style: disc; }
.single_post_content ol { list-style: decimal; }
.single_post_content li { padding: 0 0 8px 4px; color: #686868; font: 400 17px/28px var(--pm-font); }
.single_post_content li::marker { color: var(--pm-green); }
.single_post_content li > ul, .single_post_content li > ol { margin: 8px 0 0; }
.single_post_content strong, .single_post_content b { color: #474747; font-weight: 600; }
.single_post_content em { font-style: italic; }
.single_post_content blockquote { margin: 24px 0; padding: 6px 0 6px 22px; border-left: 4px solid var(--pm-green); }
.single_post_content blockquote p { color: #474747; font-size: 19px; line-height: 30px; font-style: italic; }
.single_post_content img { max-width: 100%; height: auto; }
@media (max-width: 980px) {
	.single_post_content h2 { font-size: 26px; line-height: 32px; }
	.single_post_content h3 { font-size: 22px; line-height: 28px; padding-top: 24px; }
	.single_post_content h4 { font-size: 19px; line-height: 25px; }
	.single_post_content li { font-size: 16px; line-height: 25px; }
}

/* Blog sidebar: even rhythm (heading -> items -> share) */
.single_post_right h3, .single_post_right .widget_block > h3 { margin: 0; padding: 0 0 24px; color: #686868; font: 400 26px/30px var(--pm-font); }
.single_post_right .widget_block { margin: 0; padding: 0; }
.related_articles_list { margin: 0; padding: 0; }
.related_articles_list .article_item { margin: 0 0 28px; padding: 0; }
.related_articles_list .article_item .article_item_details { margin: 0; }
.related_articles_list .article_item_details::after { content: ""; display: block; clear: both; }
.related_articles_list .artcile_item_info h4 { margin: 0; padding: 0 0 6px; }
.related_articles_list .artcile_item_info .post_date { margin: 0; padding-top: 0; }
.single_post_right > h3:not(.widget_block h3) { margin-top: 44px; padding-bottom: 16px; }
.single_post_right ul.single-post-artical-icons { margin: 0; padding: 0; list-style: none; }
.single_post_right ul.single-post-artical-icons li { margin: 0 14px 0 0; padding: 0; }
.single_post_right ul.single-post-artical-icons a { display: inline-flex; padding: 4px 0; }
@media (max-width: 980px) { .single_post_right { margin-top: 40px; } .single_post_right h3 { font-size: 22px; line-height: 26px; } }

/* ---- Blog categories & tags ----------------------------------------------------------------------------- */
/* Sidebar "Categories" / "Tags" (single post) */
.sidebar_terms { margin: 40px 0 0; }
.single_post_right .sidebar_terms h3 { margin: 0; padding: 0 0 16px; }
.sidebar_terms ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.sidebar_terms li { margin: 0; padding: 0; list-style: none; }
.sidebar_terms a { display: inline-block; padding: 5px 14px; border: 1px solid var(--pm-green); border-radius: 30px; color: var(--pm-green); font: 400 14px/20px var(--pm-font); text-decoration: none; transition: background .2s, color .2s; }
.sidebar_terms a:hover, .sidebar_terms a:focus-visible { background: var(--pm-green); color: #fff; }
.sidebar_tags a { border-color: #b9b9b9; color: #5c5c5c; }
.sidebar_tags a:hover, .sidebar_tags a:focus-visible { background: #5c5c5c; border-color: #5c5c5c; color: #fff; }
.single_post_right h3.share_heading { margin-top: 44px; }
.blog_post_cats { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 8px; padding: 0; list-style: none; }
.blog_post_cats li { margin: 0; padding: 0; }
.blog_post_cats a { color: var(--pm-green); font: 500 13px/18px var(--pm-font); text-transform: uppercase; letter-spacing: .04em; }
.archive_description { max-width: 780px; margin: 0 0 30px; color: #5c5c5c; font: 400 17px/28px var(--pm-font); }
.blog_post_item_details ul.blog_post_cats li { background: none !important; padding-left: 0 !important; width: auto; float: none; }

/* Contact form: First/Last Name side by side with a real gap (inline inputs otherwise touch) */
.wpcf7 form p:has(input[name="first-name"]) { display: flex; gap: 16px; }
.wpcf7 form p:has(input[name="first-name"]) .wpcf7-form-control-wrap { flex: 1 1 0; min-width: 0; }
.wpcf7 form p:has(input[name="first-name"]) input[name="first-name"], .wpcf7 form p:has(input[name="first-name"]) input[name="last-name"] { width: 100% !important; }
.wpcf7 form p:has(input[name="contact-city"]) { display: flex; gap: 16px; }
.wpcf7 form p:has(input[name="contact-city"]) .wpcf7-form-control-wrap { flex: 1 1 0; min-width: 0; }
.wpcf7 form p:has(input[name="contact-city"]) input { width: 100% !important; }
@media (max-width: 480px) { .wpcf7 form p:has(input[name="first-name"]) { display: block; } .wpcf7 form p:has(input[name="first-name"]) input { width: 100% !important; } }

/* Contact page: full-width satellite map right under the contact section */
.et_pb_section.conctact-page-top-section:has(+ .contact-map) { padding-bottom: 60px; }
.et_pb_section.contact-map { padding: 0 !important; }
.et_pb_section.contact-map .et_pb_row { width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0; }
.et_pb_section.contact-map .et_pb_column, .et_pb_section.contact-map .et_pb_text, .et_pb_section.contact-map .et_pb_text_inner { width: 100%; max-width: none; margin: 0; padding: 0; }
.et_pb_section.contact-map iframe { display: block; width: 100%; height: 503px; border: 0; }
@media (max-width: 767px) { .et_pb_section.contact-map iframe { height: 380px; } .et_pb_section.conctact-page-top-section:has(+ .contact-map) { padding-bottom: 40px; } }

/* Cities Served grid */
.our_cities-list-full { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 50px; }
.our_cities-list-full .our_cities-list { float: none !important; width: auto !important; margin: 0 0 50px !important; }
.our_cities_img img { display: block; width: 100%; height: auto; }
.our_cities-list h3 a { color: #000; }
@media (max-width: 980px) { .our_cities-list-full { grid-template-columns: repeat(2, 1fr); gap: 0 24px; } }
@media (max-width: 560px) { .our_cities-list-full { grid-template-columns: 1fr; } }

/* Cities Served: centred heading and city names, like the original */
.citeies-top-section h4 { text-align: center; }
.our_cities-list h3 { padding: 17px 0 0; font: 500 20px/20px var(--pm-font); text-align: center; text-transform: capitalize; }
.our_cities-list-full { margin-top: 0; }

/* ---- City pages (original layout: heading, image + text, city blurb) ----------------------------------- */
.et_pb_section.cities-served-inner-full { background: url(/wp-content/themes/Positivemedium/images/pages/bg-618e62d8d87a.webp) repeat-x; background-size: contain; background-color: #fff; padding: 0 0 100px; }
.cities-list-full { padding-top: 100px; }
.cities-list-full h6 { padding-bottom: 50px; color: #000; font: 500 28px/28px var(--pm-font); text-transform: capitalize; }
.our_cities-inner-list > .clearfix { display: flex; gap: 50px; align-items: flex-start; }
.our_cities-inner-list > .clearfix::before, .our_cities-inner-list > .clearfix::after, .cities-inner-bottom-last::before, .cities-inner-bottom-last::after { display: none; }
.our-cities-inner-image-left, .our-cities-inner-title-right, .our-cities-inner-contet-left, .our-cities-inner-image-bottom-right { float: none; width: auto; flex: 1 1 0; min-width: 0; }
.our-cities-inner-title-right { padding-right: 54px; }
.our-cities-inner-image-left img, .our-cities-inner-image-bottom-right img { display: block; width: 100%; height: auto; }
.cities-inner-bottom-last { display: flex; gap: 50px; align-items: flex-start; padding-top: 70px; }
.our_cities-inner-list h5 { padding-bottom: 17px; color: #000; font: 500 24px/28px var(--pm-font); text-transform: capitalize; }
.our_cities-inner-list p { padding-bottom: 24px; color: #474747; font: 400 17px/29px var(--pm-font); text-align: left; }
@media (max-width: 980px) {
	.cities-list-full { padding-top: 45px; }
	.cities-list-full h6 { padding-bottom: 30px; font-size: 25px; }
	.our_cities-inner-list > .clearfix, .cities-inner-bottom-last { flex-direction: column; gap: 20px; }
	.our-cities-inner-title-right { padding-right: 0; }
	.cities-inner-bottom-last { padding-top: 30px; }
}

.et_pb_section.cities-served-inner-full + .about-get-touch-section { background: #f2f2f2; }
.our_cities-inner-list > .clearfix { gap: 80px; }
.our-cities-inner-image-left, .our-cities-inner-title-right { flex: 0 0 calc(50% - 40px); }
.our-cities-inner-contet-left { flex: 0 0 510px; max-width: 100%; padding-right: 20px; }
.our-cities-inner-image-bottom-right { flex: 1 1 0; }
@media (max-width: 980px) { .our-cities-inner-image-left, .our-cities-inner-title-right, .our-cities-inner-contet-left { flex: 0 0 auto; width: 100%; } }

.et_pb_section.cities-served-inner-full { background-color: #fff !important; }
.et_pb_section.cities-served-inner-full + .et_pb_section.about-get-touch-section { background-color: #f2f2f2 !important; }
.et_pb_section.cities-served-inner-full { background-image: none !important; }

/* City page spacing: Divi's own section/row padding was stacking on the original's 100px/100px */
.et_pb_section.cities-served-inner-full { padding: 0 0 100px !important; }
.cities-served-inner-full .et_pb_row { padding: 0 !important; }
.cities-served-inner-full .et_pb_text_inner { padding: 0; }
.cities-list-full { padding-top: 110px; }
.our_cities-inner-list > .clearfix > * , .cities-inner-bottom-last > * { margin-top: 0; }
.our_cities-inner-list p:last-child { padding-bottom: 0; }
.et_pb_section.cities-served-inner-full + .about-get-touch-section { padding: 110px 0 100px; }
@media (max-width: 980px) { .cities-list-full { padding-top: 45px; } .et_pb_section.cities-served-inner-full { padding-bottom: 50px !important; } .et_pb_section.cities-served-inner-full + .about-get-touch-section { padding: 40px 0 50px; } }

/* ---- WHOIS page: the original widget look (grey page, white card, black button) ------------------------- */
.pm-widget-page.et_pb_section { background: #f2f2f2; padding: 40px 0 60px; }
.ww-whois-widget { max-width: 820px; margin: 0 auto; width: 100%; font-size: 17px; line-height: 29px; }
.ww-whois-title { margin: 0 0 12px; padding: 0; color: #474747; font: 650 1.25em/1.3 var(--pm-font); letter-spacing: -0.01em; }
.ww-whois-shell { padding: 14px; border: 1px solid rgba(0,0,0,.08); border-radius: 4px; background: rgba(255,255,255,.75); box-shadow: 0 8px 28px rgba(0,0,0,.08); }
.ww-whois-help { margin: 0 0 12px; padding: 12px; border: 1px solid rgba(0,0,0,.10); border-radius: 4px; background: rgba(0,0,0,.03); }
.ww-whois-help-title { margin: 0 0 6px; font: 750 14px/20px var(--pm-font); opacity: .85; }
.ww-whois-help-text { margin: 0; padding: 0; color: #000; font: 400 15px/25px var(--pm-font); opacity: .85; }
.ww-whois-form { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; margin: 0; }
.ww-whois-form input[type="text"] { flex: 1 1 320px; min-width: 240px; width: auto; padding: 12px; border: 1px solid rgba(0,0,0,.14); border-radius: 4px; background: #fff; font: 400 17px/1.2 var(--pm-font); }
.ww-whois-form input[type="text"]:focus { outline: none; border-color: rgba(0,0,0,.35); box-shadow: 0 0 0 4px rgba(0,0,0,.08); }
.ww-whois-form button { padding: 12px 14px; border: 0; border-radius: 4px; background: #111; color: #fff; font: 650 17px/1.2 var(--pm-font); cursor: pointer; transition: transform .05s ease, opacity .2s ease; }
.ww-whois-form button:hover { background: #111; opacity: .92; }
.ww-whois-form button:active { transform: translateY(1px); }
.ww-whois-result { margin-top: 18px; padding: 18px; border-radius: 4px; background: #fff; }
@media (max-width: 520px) { .ww-whois-form button { width: 100%; } }

/* WHOIS lookup results: Outfit like the rest of the site (Divi falls back to Open Sans for h3/dl/summary) */
.ww-whois-result, .ww-whois-result * , .ww-whois-error { font-family: var(--pm-font); }
.ww-whois-result h3 { margin: 0; padding: 0 0 6px; color: #000; font: 500 26px/32px var(--pm-font); }
.ww-whois-result dl { margin: 12px 0 18px; }
.ww-whois-result dt { color: #000; font: 500 16px/26px var(--pm-font); }
.ww-whois-result dd { margin: 0; color: #474747; font: 400 16px/26px var(--pm-font); }
.ww-whois-result summary { color: #474747; font: 400 15px/24px var(--pm-font); cursor: pointer; }
.ww-whois-result summary:hover { color: var(--pm-green); }
.ww-whois-result pre { margin-top: 10px; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.ww-whois-error { margin: 18px 0 0; color: #b3261e; font: 400 16px/24px var(--pm-font); }

/* WHOIS availability pill + register button */
.ww-whois-head { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 6px; }
.ww-whois-head h3 { padding: 0; }
.ww-pill { display: inline-block; padding: 4px 14px; border-radius: 30px; font: 500 14px/20px var(--pm-font); letter-spacing: .02em; }
.ww-pill--available { background: #e3f6ea; color: #0b7a34; border: 1px solid #9bd9b1; }
.ww-pill--taken { background: #fdecea; color: #b3261e; border: 1px solid #f1b3ad; }
.ww-whois-note { margin: 0 0 16px; padding: 0; color: #474747; font: 400 16px/26px var(--pm-font); }
.ww-whois-register { display: inline-block; padding: 12px 22px; border-radius: 4px; background: var(--pm-green); color: #fff !important; font: 600 16px/20px var(--pm-font); text-decoration: none; }
.ww-whois-register:hover { background: var(--pm-green-dark); }

/* ---- Sitemap (dynamic, grouped) --------------------------------------------------------------------------- */
.pm-sitemap { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; align-items: start; }
.pm-sitemap__group { padding: 26px 28px 20px; background: #fff; border-radius: 4px; box-shadow: 0 4px 18px rgba(0,0,0,.06); }
.pm-sitemap__group h3 { display: flex; align-items: center; justify-content: space-between; margin: 0 0 14px; padding: 0 0 12px; border-bottom: 3px solid var(--pm-green); color: #000; font: 500 24px/30px var(--pm-font); }
.pm-sitemap__count { padding: 2px 10px; border-radius: 30px; background: #e3f6ea; color: #0b7a34; font: 500 13px/20px var(--pm-font); }
.pm-sitemap ul { margin: 0; padding: 0; list-style: none; }
.pm-sitemap li { margin: 0; padding: 0; list-style: none; border-bottom: 1px solid #eee; }
.pm-sitemap li:last-child { border-bottom: 0; }
.pm-sitemap li a { display: block; padding: 8px 0; color: #292d30; font: 400 16px/22px var(--pm-font); text-decoration: none; transition: color .15s, padding-left .15s; }
.pm-sitemap li a:hover, .pm-sitemap li a:focus-visible { padding-left: 6px; color: var(--pm-green); }
.pm-sitemap__year { margin: 18px 0 4px; padding: 0; color: var(--pm-green); font: 600 15px/20px var(--pm-font); letter-spacing: .06em; }
.pm-sitemap__year:first-of-type { margin-top: 0; }
.pm-sitemap__group--post, .pm-sitemap__group--clients { grid-column: 1 / -1; }
.pm-sitemap__group--post ul, .pm-sitemap__group--clients > ul { columns: 3; column-gap: 40px; }
.pm-sitemap__group--post li, .pm-sitemap__group--clients li { break-inside: avoid; }
.pm-sitemap__group--post .pm-sitemap__year { column-span: all; }
.pm-widget-page .pm-sitemap { margin: 0; }
@media (max-width: 980px) { .pm-sitemap { grid-template-columns: repeat(2, 1fr); } .pm-sitemap__group--post ul, .pm-sitemap__group--clients > ul { columns: 2; } }
@media (max-width: 640px) { .pm-sitemap { grid-template-columns: 1fr; } .pm-sitemap__group--post ul, .pm-sitemap__group--clients > ul { columns: 1; } .pm-sitemap__group { padding: 20px; } }

/* ---- Responsive: page banner (the original's 90px side padding left 180px for the title on phones) ----------- */
#page-container .page-banner-section.page-top-section .page_title { padding: 200px 0 120px; }
#page-container .page-banner-section.page-top-section .page_title h1, #page-container .page-banner-section.page-top-section .page_title h2 { overflow-wrap: anywhere; hyphens: auto; }
@media (max-width: 980px) {
	#page-container .page-banner-section.page-top-section .page_title { padding: 140px 0 70px; }
	#page-container .page-banner-section.page-top-section .page_title .container { width: 100%; padding: 0 20px; box-sizing: border-box; }
	#page-container .page-banner-section.page-top-section .page_title h1, #page-container .page-banner-section.page-top-section .page_title h2 { font-size: 42px; line-height: 46px; }
}
@media (max-width: 520px) {
	#page-container .page-banner-section.page-top-section .page_title { padding: 120px 0 50px; }
	#page-container .page-banner-section.page-top-section .page_title h1, #page-container .page-banner-section.page-top-section .page_title h2 { font-size: 32px; line-height: 38px; }
}

/* ---- Responsive: big stat numbers and wide tables ------------------------------------------------------------ */
.et_pb_section.boost-credibility .boost-credibility-inner.half .boost-credibility-value { font-size: clamp(36px, 11vw, 78px); line-height: 1.1; padding: 8% 0; overflow-wrap: anywhere; }
.et_pb_section.boost-credibility .boost-credibility-inner.half p { font-size: clamp(15px, 4vw, 20px); }
.single_post_content table, .et_pb_text_inner table { max-width: 100%; }
@media (max-width: 767px) {
	.et_pb_text_inner table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.et_pb_text_inner table td, .et_pb_text_inner table th { min-width: 110px; }
}

/* Digital Billboards: percentage circles hang over the card edge on desktop (original) but stay inside on tablet/phone */
@media (max-width: 1180px) {
	.et_pb_section.boost-the-effectiveness .bte-inner-element { position: relative; }
	.et_pb_section.boost-the-effectiveness .bte-inner-element.gray-bg { width: 100% !important; box-sizing: border-box; padding-right: 110px; overflow: hidden; }
	.et_pb_section.boost-the-effectiveness .bte-inner-element.gray-bg span { right: 14px !important; left: auto !important; top: 50% !important; transform: translateY(-50%); height: 80px; width: 80px; padding: 26px 6px; font-size: 22px; text-align: center; box-sizing: border-box; }
	.et_pb_section.boost-the-effectiveness .bte-inner-element p { float: none; display: block; margin-left: 15px; }
}
@media (max-width: 767px) {
	.et_pb_section.boost-credibility .boost-credibility-inner.full > div { display: block; }
	.et_pb_section.boost-credibility .boost-credibility-inner.full h4, .et_pb_section.boost-credibility .boost-credibility-inner.full p { float: none !important; width: auto !important; margin-left: 0 !important; max-width: 100%; }
}
@media (max-width: 767px) {
	.et_pb_section.boost-credibility .boost-credibility-inner.full > div { display: block !important; }
	.et_pb_section.boost-credibility .boost-credibility-inner.full p { padding: 10px 0 !important; }
}
@media (max-width: 980px) { .pm-hero .et_pb_slide .et_pb_container { width: 100%; padding-left: 0; padding-right: 0; } .pm-hero .et_pb_slide_description { padding-left: 20px; padding-right: 20px; } }
@media (max-width: 980px) { .et_pb_slider.pm-hero .et_pb_slide_description, .pm-hero .et_pb_slide_description { padding: 130px 20px 80px !important; } .pm-hero .et_pb_slide_content, .pm-hero .et_pb_slider_container_inner { padding: 0 !important; margin: 0 !important; } .pm-hero .et_pb_slide .et_pb_container { padding: 0 !important; } }
@media (max-width: 980px) { .pm-hero .et_pb_slide { padding-left: 0 !important; padding-right: 0 !important; } }
/* Hero titles are set on three lines (explicit breaks in the slide text) */
.pm-hero .slider-text h1.slider-prof-text, .pm-hero .slider-text h2.slider-prof-text { max-width: none; }
.pm-hero .slider-text h1.slider-prof-text span, .pm-hero .slider-text h2.slider-prof-text span { white-space: nowrap; }

/* Hero slider titles: the original's sizes (63/83 desktop, 40/43 tablet, 24/29 phone) */
.pm-hero .slider-text h1.slider-prof-text, .pm-hero .slider-text h2.slider-prof-text { font: 600 63px/83px var(--pm-font) !important; padding-bottom: 20px; }
@media (max-width: 980px) { .pm-hero .slider-text h1.slider-prof-text, .pm-hero .slider-text h2.slider-prof-text { font: 600 40px/43px var(--pm-font) !important; } }
@media (max-width: 600px) { .pm-hero .slider-text h1.slider-prof-text, .pm-hero .slider-text h2.slider-prof-text { font: 600 32px/38px var(--pm-font) !important; padding-bottom: 12px; } .pm-hero .slider-text h1.slider-prof-text span, .pm-hero .slider-text h2.slider-prof-text span { border-bottom-width: 2px; } }

/* Referral page: the left column's offer text, photo and footnote */
.contact-address-main h4 { padding: 0 0 20px; color: #363636; font: 400 22px/30px var(--pm-font); }
.contact-address-main h4 strong { font-weight: 600; color: #000; }
.contact-top-section-left .pm-image img { display: block; width: 100%; height: auto; margin: 10px 0 20px; }
.contact-top-section-left .contact-address-main p { font-size: 15px; line-height: 24px; }
.et_pb_section.pm-referral-page { background: #f2f2f2; padding-top: 90px; }
.et_pb_section.pm-referral-page h2 { text-transform: none; font-size: 32px; line-height: 38px; padding-bottom: 14px; }
.et_pb_section.pm-referral-page h2 span { border-bottom: 3px solid var(--pm-green-link); }

/* ---- Shop ------------------------------------------------------------------------------------------------- */
.et_pb_section.sop-page-cat-section { padding: 0 0 80px; background: #f2f2f2; }
.sop-page-cat-section .et_pb_row { padding: 0 !important; }
.pm-products__filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 50px; margin: 0 0 60px; padding: 18px 20px; background: #f2f2f2; box-shadow: 1px 1px 6px 0 #ccc; list-style: none; }
.pm-products__filter li { margin: 0; padding: 0; list-style: none; }
.pm-products__filter a { display: block; padding: 0; border: 0; border-radius: 0; background: none; color: #000; font: 400 18px/20px var(--pm-font); text-decoration: none; }
.pm-products__filter a.is-active, .pm-products__filter a:hover { background: none; color: var(--pm-green-link); }
.pm-products__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px; margin: 0; padding: 0; list-style: none; }
.pm-product { margin: 0; padding: 0; list-style: none; }
.pm-product > a { display: flex; flex-direction: column; height: 100%; background: #000; color: #fff; text-decoration: none; transition: background .25s, transform .25s; }
.pm-product__img { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: #ddd; }
.pm-product__img img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; }
.pm-product__info { display: flex; flex: 1; flex-direction: column; padding: 28px 32px 30px; }
.pm-product__cat { color: #9fa2a7; font: 500 14px/20px var(--pm-font); letter-spacing: .04em; text-transform: uppercase; }
.pm-product__title { padding: 6px 0 10px; color: #fff; font: 500 22px/27px var(--pm-font); }
.pm-product__price { color: #fff; font: 500 20px/26px var(--pm-font); }
.pm-product__price small { font: 400 14px/20px var(--pm-font); opacity: .8; }
.pm-product__more { margin-top: auto; padding-top: 14px; color: var(--pm-green); font: 500 15px/20px var(--pm-font); }
.pm-product > a:hover, .pm-product > a:focus-visible { background: var(--pm-green); transform: translateY(-4px); }
.pm-product > a:hover .pm-product__more, .pm-product > a:hover .pm-product__cat { color: #fff; }
.pm-products__empty { padding: 40px 0; text-align: center; color: #5c5c5c; font: 400 17px/26px var(--pm-font); }
@media (max-width: 980px) { .pm-products__grid { grid-template-columns: repeat(2, 1fr); gap: 30px; } .pm-products__filter { gap: 0 24px; } .pm-products__filter a { font-size: 16px; } }
@media (max-width: 600px) { .pm-products__grid { grid-template-columns: 1fr; } .pm-products__filter { gap: 0 18px; padding: 12px 14px; margin-bottom: 30px; } .pm-products__filter li { padding: 6px 0; } }

/* Single product */
.shop-details-inner-full { background: linear-gradient(to bottom, #f3f3f3, #f8f8f8); padding-bottom: 80px; }
.shop-details-list-full { padding-top: 75px; }
.shop-title-price { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 40px; }
.shop-title-price::before, .shop-title-price::after { display: none; }
.shop-details-inner-full .shop-title-price-left { float: none; padding-left: 0; background: none; }
.shop-details-inner-full .shop-title-price-right { float: none; width: auto; }
.shop-title-price-right > div { display: flex; align-items: center; gap: 30px; }
.shop-details-inner-full .shop-price-title-left, .shop-details-inner-full .shop-order-now-button { float: none; }
.shop-details-inner-full h2 { padding: 0 0 7px; color: #000; font: 400 17px/20px var(--pm-font); }
.shop-details-inner-full h2 a { color: var(--pm-green-link); }
.shop-details-inner-full h1 { padding-bottom: 0; color: #000; font: 500 40px/50px var(--pm-font); text-transform: capitalize; }
.shop-details-inner-full .shop-price-title-left h3 { margin: 0; padding: 0; color: var(--pm-green-link); font: 500 27px/27px var(--pm-font); }
.shop-details-inner-full .shop-price-title-left h3 span { display: block; color: #000; font: 400 18px/20px var(--pm-font); text-align: right; }
.shop-details-inner-full .shop-order-now-button h4 { margin: 0; padding: 0; }
.shop-details-inner-full .shop-order-now-button h4 a { display: block; padding: 17px 30px; border-radius: 3px; background: var(--pm-green-link); color: #fff; font: 400 16px/20px var(--pm-font); text-align: center; }
.shop-details-inner-full .shop-order-now-button h4 a:hover { background: var(--pm-green-dark); }
.shop-inner-tabs-list-main { margin-bottom: 50px; padding: 20px 25px; background: #f2f2f2; box-shadow: 1px 1px 6px 0 #ccc; }
.shop-inner-tabs-list-items { padding: 0 40px; color: #00a23d; font: 400 19px/20px var(--pm-font); }
.shop-inner-text-full { display: flex; gap: 60px; align-items: flex-start; }
.shop-inner-text-full::before, .shop-inner-text-full::after { display: none; }
.shop-details-inner-full .shop-inner-text-left { float: none; flex: 1 1 0; width: auto; min-width: 0; }
.shop-details-inner-full .shop-inner-text-full-right { float: none; flex: 0 0 420px; max-width: 45%; }
.shop-inner-text-full-right img { display: block; width: 100%; height: auto; }
.shop-inner-text-left p { padding-bottom: 27px; color: #5c5c5c; font: 400 18px/26px var(--pm-font); }
.shop-inner-text-left h3 { padding: 21px 0; color: #000; font: 400 25px/27px var(--pm-font); }
.shop-inner-text-left ul { margin: 0; padding: 0; list-style: none; }
.shop-inner-text-left ul li { margin: 0 0 10px; padding-left: 36px; color: #5c5c5c; font: 400 18px/28px var(--pm-font); background: url(/wp-content/themes/Positivemedium/images/icon-check.png) no-repeat left 4px; }
.shop-related-products-inner-full { padding: 60px 0 100px; background: linear-gradient(to bottom, #f3f3f3, #f8f8f8); }
.shop-related-products-inner-full h1.related-product-title, .shop-related-products-inner-full h2.related-product-title { padding-bottom: 35px; color: #000; font: 500 24px/24px var(--pm-font); }
@media (max-width: 980px) {
	.shop-details-list-full { padding-top: 40px; }
	.shop-details-inner-full h1 { font-size: 28px; line-height: 34px; }
	.shop-inner-text-full { flex-direction: column; gap: 30px; }
	.shop-details-inner-full .shop-inner-text-full-right { flex: 0 0 auto; max-width: 100%; }
	.shop-inner-tabs-list-main { margin-bottom: 30px; }
}
.shop-details-inner-full .shop-order-now-button h4 a { white-space: nowrap; }
.shop-title-price-right > div { flex-wrap: nowrap; }
@media (max-width: 600px) { .shop-title-price-right > div { gap: 18px; } .shop-details-inner-full .shop-order-now-button h4 a { padding: 14px 20px; } }

/* Shop categories: filter bar and grid share one edge, with room under the banner */
.et_pb_section.sop-page-cat-section { padding: 50px 0 80px !important; }
.sop-page-cat-section .et_pb_row { width: 1180px; max-width: 100%; }
.et-db #et-boc .et-l .pm-products ul.pm-products__filter, .pm-products ul.pm-products__filter { margin: 0 0 50px; padding: 16px 24px; justify-content: center; gap: 4px 44px; }
.et-db #et-boc .et-l .pm-products ul.pm-products__grid, .pm-products ul.pm-products__grid { margin: 0; padding: 0; }
.pm-products__filter a { position: relative; padding: 6px 0; }
.pm-products__filter a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--pm-green-link); transform: scaleX(0); transition: transform .2s; }
.pm-products__filter a.is-active::after, .pm-products__filter a:hover::after, .pm-products__filter a:focus-visible::after { transform: scaleX(1); }
.pm-products__filter a:focus-visible { outline: none; color: var(--pm-green-link); }
.shop-details-inner-full h2 a:hover { text-decoration: underline; }
@media (max-width: 980px) { .sop-page-cat-section .et_pb_row { padding: 0 20px !important; box-sizing: border-box; } .et_pb_section.sop-page-cat-section { padding: 30px 0 50px !important; } }
@media (max-width: 600px) { .et-db #et-boc .et-l .pm-products ul.pm-products__filter { gap: 0 20px; padding: 10px 14px; margin-bottom: 30px; } }

/* Product cards: like the Services cards. The card never moves; the text block turns green and grows upward over the photo. */
.pm-product > a { position: relative; display: block; height: auto; min-height: 440px; aspect-ratio: 9 / 11; overflow: hidden; background: #000; transform: none !important; transition: none; }
.pm-product__img { position: absolute; inset: 0 0 auto 0; display: block; height: calc(100% - 200px); aspect-ratio: auto; }
.pm-product__info { position: absolute; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; min-height: 210px; box-sizing: border-box; background: #000; transition: min-height .3s ease-in-out, background-color .3s ease-in-out; }
.pm-product > a:hover, .pm-product > a:focus-visible { background: #000; transform: none !important; }
.pm-product > a:hover .pm-product__info, .pm-product > a:focus-visible .pm-product__info { min-height: 250px; background: var(--pm-green); }
.pm-product > a:hover .pm-product__more, .pm-product > a:focus-visible .pm-product__more { color: #fff; }
.pm-product > a:hover .pm-product__cat, .pm-product > a:focus-visible .pm-product__cat { color: #e6f6ec; }
@media (max-width: 980px) { .pm-product > a { min-height: 420px; } }

/* Product short description: hidden at rest, fades in when the text block grows on hover/focus */
.pm-product__desc { display: block; max-height: 0; margin: 0; overflow: hidden; opacity: 0; color: #fff; font: 400 15px/22px var(--pm-font); transition: max-height .3s ease-in-out, opacity .3s ease-in-out .05s, margin .3s ease-in-out; }
.pm-product > a:hover .pm-product__desc, .pm-product > a:focus-visible .pm-product__desc { max-height: 120px; margin: 0 0 10px; opacity: 1; }
.pm-product > a:hover .pm-product__info, .pm-product > a:focus-visible .pm-product__info { min-height: 330px; }
.pm-product__img { height: calc(100% - 200px); }
/* Touch screens can't hover: show the description all the time */
@media (hover: none) {
	.pm-product__desc { max-height: none; margin: 0 0 10px; opacity: 1; }
	.pm-product > a { aspect-ratio: auto; min-height: 560px; }
	.pm-product__img { height: 240px; }
	.pm-product__info, .pm-product > a:hover .pm-product__info { min-height: 320px; }
}
.pm-product > a { min-height: 500px; aspect-ratio: 36 / 50; }
@media (max-width: 980px) { .pm-product > a { min-height: 500px; } }
@media (hover: none) { .pm-product > a { aspect-ratio: auto; min-height: 560px; } }

/* Hover growth equals the description's height (3 lines + margin), so the price-to-"View details" gap never changes */
@media (hover: hover) {
	.pm-product > a:hover .pm-product__desc, .pm-product > a:focus-visible .pm-product__desc { min-height: 66px; }
	.pm-product > a:hover .pm-product__info, .pm-product > a:focus-visible .pm-product__info { min-height: 286px; }
	.pm-product__desc { transition: max-height .3s ease-in-out, min-height .3s ease-in-out, opacity .3s ease-in-out .05s, margin .3s ease-in-out; }
}

/* Single product: match the original's proportions */
.shop-details-inner-full h2, .shop-details-inner-full h2 a { color: #000; }
.shop-details-inner-full h2 a:hover { color: var(--pm-green-link); text-decoration: none; }
.shop-details-inner-full .shop-inner-text-left { flex: 0 1 587px; }
.shop-details-inner-full .shop-inner-text-full-right { flex: 0 0 475px; max-width: 46%; margin-left: auto; }
.shop-related-products-inner-full .shop-related-product-item { float: left; box-sizing: border-box; }
.shop-related-products-inner-full .shop-related-product-info a { display: block; color: #fff; text-decoration: none; }
.shop-related-products-inner-full .shop-related-product-info h3 span { margin-left: 2px; font-weight: 400; }
.shop-related-products-inner-full .shop-related-product-img img { aspect-ratio: 3 / 2; object-fit: cover; }
.shop-related-products-inner-full .shop-related-product-item:hover .shop-related-product-info { background-color: var(--pm-green); }
@media (max-width: 980px) { .shop-details-inner-full .shop-inner-text-left, .shop-details-inner-full .shop-inner-text-full-right { flex: 0 0 auto; width: 100%; max-width: 100%; } }
.et-db #et-boc .et-l .shop-details-inner-full .shop-title-price-right, .shop-details-inner-full .shop-title-price-right { width: auto !important; max-width: 100%; flex: 0 0 auto; margin: 0; }
@media (max-width: 767px) { .shop-details-inner-full .shop-title-price-right { width: 100% !important; } }

/* Product tabs */
.shop-inner-tabs-list-main { display: flex; flex-wrap: wrap; gap: 6px 0; }
.shop-inner-tabs-list-main button.shop-inner-tabs-list-items { padding: 0 100px 0 40px; border: 0; background: none; color: #000; font: 400 19px/20px var(--pm-font); cursor: pointer; }
.shop-inner-tabs-list-main button.shop-inner-tabs-list-items:hover, .shop-inner-tabs-list-main button.shop-inner-tabs-list-items.is-active { color: #00a23d; }
.shop-inner-tabs-list-main button.shop-inner-tabs-list-items:focus-visible { outline: 2px solid var(--pm-green); outline-offset: 4px; }
.pm-tab-panel[hidden] { display: none; }
.pm-tab-empty { padding: 10px 0 30px; color: #5c5c5c; font: 400 18px/26px var(--pm-font); }
.pm-product-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 20px; align-items: start; margin: 0; padding: 0; list-style: none; }
.pm-product-gallery li { margin: 0; padding: 0; list-style: none; }
.pm-product-gallery a { position: relative; display: block; overflow: hidden; background: #fff; transition: transform .25s ease, box-shadow .25s ease; }
.pm-product-gallery img { display: block; width: 100%; height: auto; }
.pm-product-gallery a:hover, .pm-product-gallery a:focus-visible { transform: scale(1.03); box-shadow: 0 12px 28px rgba(0,0,0,.28); z-index: 1; }
.pm-product-gallery__cap { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(0,0,0,.7); color: #fff; font: 500 24px/30px var(--pm-font); text-align: center; opacity: 0; transition: opacity .25s ease; }
.pm-product-gallery a:hover .pm-product-gallery__cap, .pm-product-gallery a:focus-visible .pm-product-gallery__cap { opacity: 1; }
@media (hover: none) { .pm-product-gallery__cap { inset: auto 0 0 0; padding: 10px 14px; background: rgba(0,0,0,.65); font-size: 17px; line-height: 22px; opacity: 1; } }
/* Lightbox */
.pm-lightbox { width: 100vw; max-width: 100vw; height: 100vh; max-height: 100vh; margin: 0; padding: 0; border: 0; background: rgba(0,0,0,.88); color: #fff; }
.pm-lightbox[open] { display: flex; align-items: center; justify-content: center; }
.pm-lightbox::backdrop { background: rgba(0,0,0,.88); }
.pm-lightbox figure { margin: 0; max-width: min(92vw, 1200px); text-align: center; }
.pm-lightbox img { display: block; max-width: 100%; max-height: 80vh; margin: 0 auto; background: #fff; }
.pm-lightbox figcaption { padding: 14px 0 0; font: 500 20px/26px var(--pm-font); }
.pm-lightbox__close, .pm-lightbox__nav { position: absolute; display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; padding: 0; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; background: rgba(0,0,0,.4); color: #fff; font: 300 34px/1 var(--pm-font); cursor: pointer; }
.pm-lightbox__close { top: 20px; right: 20px; }
.pm-lightbox__nav--prev { left: 20px; top: 50%; transform: translateY(-50%); }
.pm-lightbox__nav--next { right: 20px; top: 50%; transform: translateY(-50%); }
.pm-lightbox__close:hover, .pm-lightbox__nav:hover, .pm-lightbox__close:focus-visible, .pm-lightbox__nav:focus-visible { background: var(--pm-green); border-color: var(--pm-green); }
.pm-lightbox.is-single .pm-lightbox__nav { display: none; }
@media (max-width: 600px) { .pm-lightbox__nav { top: auto; bottom: 20px; transform: none; } .pm-lightbox__nav--prev { left: 20px; } .pm-lightbox__nav--next { right: 20px; } }
@media (max-width: 980px) { .shop-inner-tabs-list-main button.shop-inner-tabs-list-items { padding: 0 50px 0 20px; } }
@media (max-width: 600px) { .shop-inner-tabs-list-main button.shop-inner-tabs-list-items { min-height: 44px; padding: 0 24px 0 14px; font-size: 17px; }}

/* Blog list: category sits in the same row as the date */
.blog_post_meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 18px; margin: 0 0 12px; }
.blog_post_meta ul { margin: 0; padding: 0; }
.blog_post_meta .blog_post_cats { margin: 0; align-items: center; }
.blog_post_meta .post_date { margin: 0; }

/* City map (Google embed) fills its column */
.pm-city-map { display: block; width: 100%; height: 450px; border: 0; background: #e9ebee; }
@media (max-width: 980px) { .pm-city-map { height: 320px; } }

/* 404 page */
.pm-404 { padding: 110px 0 120px; background: #f2f2f2; text-align: center; }
.pm-404 .container { max-width: 760px; }
.pm-404__code { margin: 0; padding: 0; color: var(--pm-green); font: 600 150px/150px var(--pm-font); letter-spacing: -.02em; }
.pm-404 h2 { padding: 10px 0 16px; color: #000; font: 500 40px/46px var(--pm-font); }
.pm-404 h2 span { border-bottom: 3px solid var(--pm-green-link); }
.pm-404__lead { max-width: 560px; margin: 0 auto; padding: 0 0 34px; color: #474747; font: 400 18px/28px var(--pm-font); }
.pm-404__actions { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; padding: 0 0 44px; }
.pm-404__actions .pm-btn { padding: 17px 34px; font-size: 16px; text-decoration: none; }
.pm-btn.pm-btn--outline { background: transparent; color: var(--pm-green-link) !important; border: 1px solid var(--pm-green); padding-top: 16px; padding-bottom: 16px; }
.pm-btn.pm-btn--outline:hover { background: var(--pm-green); color: #fff !important; }
.pm-404__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 34px; margin: 0 0 44px; padding: 22px 20px; list-style: none; background: #f2f2f2; box-shadow: 1px 1px 6px 0 #ccc; }
.pm-404__links li { margin: 0; padding: 0; list-style: none; }
.pm-404__links a { color: #000; font: 400 18px/24px var(--pm-font); }
.pm-404__links a:hover { color: var(--pm-green-link); }
.pm-404__search { display: flex; max-width: 480px; margin: 0 auto; border-bottom: 1px solid #707070; }
.pm-404__search input[type="search"] { flex: 1 1 auto; min-width: 0; padding: 14px 0; border: 0; background: none; color: var(--pm-ink); font: 400 16px/20px var(--pm-font); outline: none; box-shadow: none; }
.pm-404__search button { padding: 0 6px 0 16px; border: 0; background: none; color: var(--pm-green-link); font: 500 16px/20px var(--pm-font); cursor: pointer; }
.pm-404__search:focus-within { border-bottom-color: var(--pm-green); }
@media (max-width: 767px) {
	.pm-404 { padding: 60px 0 70px; }
	.pm-404 .container { padding: 0 20px; box-sizing: border-box; }
	.pm-404__code { font-size: 100px; line-height: 100px; }
	.pm-404 h2 { font-size: 28px; line-height: 34px; }
	.pm-404__lead { font-size: 16px; line-height: 26px; }
	.pm-404__links { gap: 6px 22px; }
}
.pm-404 p.pm-404__actions { margin: 0 0 44px; padding: 0 !important; }
.pm-404 ul.pm-404__links { margin: 0 0 44px; }

/* Search results */
.pm-search { padding: 90px 0 110px; background: #f2f2f2; }
.pm-search .container { max-width: 1180px; }
.pm-search__form { display: flex; max-width: 640px; margin: 0 0 30px; border-bottom: 1px solid #707070; }
.pm-search__form:focus-within { border-bottom-color: var(--pm-green); }
.pm-search__form input[type="search"] { flex: 1 1 auto; min-width: 0; padding: 16px 0; border: 0; background: none; color: var(--pm-ink); font: 400 20px/26px var(--pm-font); outline: none; box-shadow: none; }
.pm-search__form button { padding: 0 6px 0 20px; border: 0; background: none; color: var(--pm-green-link); font: 500 17px/20px var(--pm-font); cursor: pointer; }
.pm-search__form button:hover { color: var(--pm-green-dark); }
.pm-search__count { margin: 0 0 40px; padding: 0; color: #474747; font: 400 18px/26px var(--pm-font); }
.pm-search__count strong { color: #000; font-weight: 600; }
.pm-search__list { margin: 0; padding: 0; list-style: none; }
.pm-search__item { display: flex; gap: 40px; align-items: flex-start; margin: 0; padding: 40px 0; border-top: 1px solid #dcdcdc; list-style: none; }
.pm-search__item:last-child { border-bottom: 1px solid #dcdcdc; }
.pm-search__img { flex: 0 0 300px; display: block; }
.pm-search__img img { display: block; width: 100%; height: 200px; object-fit: cover; object-position: top; }
.pm-search__body { flex: 1 1 0; min-width: 0; }
.pm-search__type { display: block; padding: 0 0 8px; color: var(--pm-green); font: 500 13px/18px var(--pm-font); letter-spacing: .04em; text-transform: uppercase; }
.pm-search__body h3 { margin: 0; padding: 0 0 12px; color: #000; font: 500 28px/34px var(--pm-font); }
.pm-search__body h3 a { color: inherit; }
.pm-search__body h3 a:hover { color: var(--pm-green-link); }
.pm-search__body p { margin: 0; padding: 0 0 18px; color: #474747; font: 400 17px/28px var(--pm-font); }
.pm-search__more { display: inline-block; border-bottom: 2px solid var(--pm-green-link); color: var(--pm-green-link); font: 400 17px/24px var(--pm-font); }
.pm-search__more:hover { color: var(--pm-green-dark); border-color: var(--pm-green-dark); }
.pm-search__none { padding: 20px 0 0; text-align: center; }
.pm-search__none h2 { padding: 0 0 12px; color: #000; font: 500 34px/40px var(--pm-font); }
.pm-search__none h2 span { border-bottom: 3px solid var(--pm-green-link); }
.pm-search__none p { max-width: 520px; margin: 0 auto; padding: 0 0 30px; color: #474747; font: 400 18px/28px var(--pm-font); }
.pm-search .pm-pagination { margin-top: 50px; }
@media (max-width: 980px) {
	.pm-search { padding: 50px 0 70px; }
	.pm-search .container { padding: 0 20px; box-sizing: border-box; }
	.pm-search__item { gap: 24px; padding: 30px 0; }
	.pm-search__img { flex-basis: 220px; }
	.pm-search__img img { height: 150px; }
	.pm-search__body h3 { font-size: 24px; line-height: 30px; }
}
@media (max-width: 600px) {
	.pm-search__form input[type="search"] { font-size: 17px; }
	.pm-search__item { flex-direction: column; gap: 16px; }
	.pm-search__img { flex-basis: auto; width: 100%; }
	.pm-search__img img { height: 190px; }
	.pm-search__none h2 { font-size: 26px; line-height: 32px; }
}
.pm-search .pm-search__body p { margin: 0 0 18px; padding: 0 !important; }
.pm-search .pm-search__body h3 { margin: 0 0 12px; padding: 0 !important; }
.pm-search .pm-search__type { margin: 0 0 8px; padding: 0 !important; }
.pm-search .pm-search__count { margin: 0 0 40px; padding: 0 !important; }
.pm-search .pm-search__none p { margin: 0 auto 30px; padding: 0 !important; }
.pm-search .pm-search__none h2 { margin: 0 0 12px; padding: 0 !important; }
.pm-search .pm-404__links { margin: 0; }
/* Placeholder for results without a photo */
.pm-search__ph { display: flex; align-items: center; justify-content: center; width: 100%; height: 200px; background: #000; }
.pm-search__ph img { display: block; width: 62%; max-width: 190px; height: auto; object-fit: initial; opacity: .9; }
@media (max-width: 980px) { .pm-search__ph { height: 150px; } }
@media (max-width: 600px) { .pm-search__ph { height: 190px; } }

/* Client pages: the original's exact weights and link colour (its "lighter" keyword depended on the parent's weight) */
.et-db #et-boc .et-l .our_portfolio-inner-list p, .our_portfolio-inner-list p { font-weight: 280; }
.et-db #et-boc .et-l .our_portfolio-inner-list h5, .our_portfolio-inner-list h5 { font-weight: 300; }
.et-db #et-boc .et-l .our_portfolio-inner-list h5 span, .our_portfolio-inner-list h5 span { font-weight: 400; }
.et-db #et-boc .et-l .client-link a, .client-link a { color: #0c9b43; }
.et-db #et-boc .et-l .client-link a:hover, .client-link a:hover { color: var(--pm-green-dark); border-bottom-color: var(--pm-green-dark); }

/* Shop cards: a fixed height instead of an aspect ratio + min-height, which forced every card to be at least 360px wide */
.pm-product { min-width: 0; }
.pm-product > a { aspect-ratio: auto; min-height: 0; height: 500px; }
@media (hover: none) { .pm-product > a { height: auto; min-height: 560px; } }
.pm-products__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 980px) { .pm-products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .pm-products__grid { grid-template-columns: minmax(0, 1fr); } }

/* "Get in touch" section between 981px and 1130px: the second column shrinks instead of overflowing */
@media (min-width: 981px) { .about-get-touch-section .et_pb_row { grid-template-columns: minmax(220px, 300px) minmax(0, 770px) !important; } }

/* Small laptops / large tablets (981px up to the 1180px content width): side gutters so content never touches the screen edge */
@media (min-width: 981px) and (max-width: 1240px) {
	#page-container .et_pb_row, #page-container .container { padding-left: 30px !important; padding-right: 30px !important; box-sizing: border-box; }
	#page-container .et_pb_row .et_pb_row, #page-container .container .container, #page-container .et_pb_row .container, #page-container .container .et_pb_row { padding-left: 0 !important; padding-right: 0 !important; }
}

/* Phone and tablet gutters for sections whose rows had their padding removed */
@media (max-width: 980px) {
	.et_pb_section.cities-served-inner-full .et_pb_row, .et_pb_section.home-testmonils-section .et_pb_row { padding-left: 20px !important; padding-right: 20px !important; box-sizing: border-box; }
}

/* Header gutters on Divi-built custom post types (cities, clients, services), where Divi's own row padding rule wins */
@media (max-width: 980px) {
	body #page-container .et-l--header .pm-header .et_pb_row { padding-left: 20px !important; padding-right: 20px !important; }
}
@media (min-width: 981px) and (max-width: 1240px) {
	body #page-container .et-l--header .pm-header .et_pb_row { padding-left: 30px !important; padding-right: 30px !important; }
}

/* Beats Divi's inline `.et-db #et-boc .et-l .et_pb_row_0_tb_header.et_pb_row { padding: 0 !important }`, which only appears on Divi-built post types */
@media (max-width: 980px) {
	.et-db #et-boc .et-l.et-l--header .pm-header .et_pb_row.et_pb_row.et_pb_row { padding-left: 20px !important; padding-right: 20px !important; }
}
@media (min-width: 981px) and (max-width: 1240px) {
	.et-db #et-boc .et-l.et-l--header .pm-header .et_pb_row.et_pb_row.et_pb_row { padding-left: 30px !important; padding-right: 30px !important; }
}

/* SEO "Timeline Expectations": the three fixed 350px columns (plus 65px gaps) share the available width between 981px and 1240px */
@media (min-width: 981px) and (max-width: 1240px) {
	.timeline-xpectations-section .et_pb_row.how-does-work-image-text-row { gap: 30px; }
	.et-db #et-boc .et-l .et_pb_section.timeline-xpectations-section .et_pb_row.how-does-work-image-text-row .et_pb_column { flex: 1 1 0 !important; width: auto !important; min-width: 0; margin: 0 !important; }
}

/* Digital Billboards: the in-body headline is an H2 (the banner holds the page H1); same look as the old h1 in pages.css */
.et_pb_section.dbg-design-top-section h2.dbg-h1 { color: #000; font-size: 40px; line-height: 53px; font-family: "Outfit", sans-serif; font-weight: 500; text-transform: capitalize; padding-bottom: 25px; }
.et_pb_section.dbg-design-top-section h2.dbg-h1 span { border-bottom: 3px solid #0c9b43; }

/* Service pages: the intro subtitle ("Creating great work that gets results") reads small on phones */
@media (max-width: 767px) {
	body.single-service .et_pb_section.wed-design-top-section h2.abt_hx_h2_h1 { font-size: 28px; line-height: 34px; }
	/* One underline gap for every underlined heading on the service pages: just under the letters, scaled to the heading size */
	body.single-service .et_pb_section.wed-design-top-section h2.abt_hx_h2_h1 span,
	body.single-service .et_pb_section.wed-design-top-section h2.serv-inrpghx-h3h2 span,
	body.single-service .et_pb_section.dbg-design-top-section h1 span,
	body.single-service .et_pb_section.dbg-design-top-section h2.dbg-h1 span,
	body.single-service .et_pb_section.new-custom-web-site-section h2.serv-inrpghx-h3h2 span,
	body.single-service .new-custom-web-site-section h2 span,
	body.single-service .et_pb_section.how-does-work-section .et_pb_row.how-does-title-row h2.serv-inrpghx-h3h2 span,
	body.single-service .et_pb_section.our-accessibility-compliance-section h2.serv-inrpghx-h3h2 span,
	body.single-service .et_pb_section.social-media-platform-section h2.serv-inrpghx-h3h2 span,
	body.single-service .et_pb_section.some-of-our-clients-top-secton .et_pb_row.some-of-our-clients-row h2.serv-inrpghx-h3h2 span,
	body.single-service .et_pb_section.additional-mailing-service-new h3 span,
	body.single-service .et_pb_section.best-practices h3 span,
	body.single-service .et_pb_section.consumers-take-action h3 span,
	body.single-service .et_pb_section.get-noticed-mailbox-section h3 span,
	body.single-service .et_pb_section.how-it-better-new h3 span,
	body.single-service .et_pb_section.how-work-db h3 span,
	body.single-service .et_pb_section.new-search-engine-page-how-works-section h3 span,
	body.single-service .et_pb_section.tailored-your-business-new h3 span,
	body.single-service .et_pb_section.timeline-xpectations-section h3 span,
	body.single-service .timeline-xpectations-section h3 span,
	body.single-service .et_pb_section.why-advertise-on-db h3 span,
	body.single-service .feattures-section h3 span,
	body.single-service .et_pb_section.boost-credibility h4 span,
	body.single-service .et_pb_section.boost-the-effectiveness h4 span,
	body.single-service .et_pb_section.workspace-faq-section h5 span,
	body.single-service .et_pb_section.about-get-touch-section .et_pb_column.about-get-touch-left h5 span,
	body.single-service .about-get-touch-left h5 span { padding-bottom: 0; border-bottom: 0; text-decoration: underline; text-decoration-color: var(--pm-green-link, #0c9b43); text-decoration-thickness: 3px; text-underline-offset: 0.18em; text-decoration-skip-ink: none; }
}

/* Social Media Marketing: "Which Platforms Are Most Important?" had a 43px line height on 24px text */
@media (max-width: 767px) {
	body.single-service .et_pb_section.social-media-platform-section h2.serv-inrpghx-h3h2 { line-height: 31px; }
}

/* Digital Billboards: the intro subtitle matches the other service pages on phones (it was 40px) */
@media (max-width: 767px) {
	body.single-service .et_pb_section.dbg-design-top-section h2.dbg-h1,
	body.single-service .et_pb_section.dbg-design-top-section h1.dbg-h1 { font-size: 28px; line-height: 34px; padding-bottom: 15px; }
}

/* Digital Billboards: section headings were 40px on phones, well above the other service pages */
@media (max-width: 767px) {
	body.single-service .et_pb_section.why-advertise-on-db h3,
	body.single-service .et_pb_section.how-work-db h3,
	body.single-service .et_pb_section.consumers-take-action h3,
	body.single-service .et_pb_section.best-practices h3 { font-size: 26px; line-height: 32px; }
	body.single-service .et_pb_section.boost-the-effectiveness h4,
	body.single-service .et_pb_section.boost-credibility h4 { font-size: 24px !important; line-height: 30px !important; }
}
@media (max-width: 767px) {
	.et-db #et-boc .et-l .et_pb_section.boost-credibility .et_pb_column_1_3 h4 { font-size: 26px !important; line-height: 32px !important; }
}

/* Targeted Mail Marketing: the intro label and subtitle match the other service pages on phones */
@media (max-width: 767px) {
	body.single-service .et_pb_section.get-noticed-mailbox-section h6 { padding-bottom: 8px; color: #000; font-size: 17px; line-height: 23px; }
	body.single-service .et_pb_section.get-noticed-mailbox-section h6 + h3 { padding-bottom: 15px; color: #000; font-size: 28px; line-height: 34px; font-weight: 500; text-transform: capitalize; }
}

/* Google Workspace: the label above the subtitle had a 32px line height; use the other service pages' spacing on phones */
@media (max-width: 767px) {
	body.single-service .et_pb_section.wed-design-top-section.home-we-creat-stunning-section h2:not(.abt_hx_h2_h1) { line-height: 23px; padding-bottom: 8px; }
}

/* Blog cards: the photos are 3:2 but the old CSS fixed the height at 236px, squashing them whenever the card isn't ~354px wide */
#page-container #main-content .blog_post_section .blog_post_img img { object-fit: cover !important; }
@media (max-width: 1169px) {
	#page-container #main-content .blog_post_section .blog_post_img img { height: auto !important; aspect-ratio: 3 / 2; }
}
