/*
 * Chasing Dogs (AIMCLEAR). Values match the former Avada build:
 * primary #fbbb00, slate #607d8b, dark #3d434c, text #4b4b4f, site width 1240px.
 * Page content keeps the class names of the frozen Avada markup, so the
 * "Content layout" section below styles those classes directly.
 */

:root {
	--cd-primary: #fbbb00;
	--cd-dark: #3d434c;
	--cd-slate: #607d8b;
	--cd-text: #4b4b4f;
	--cd-bg: #f5f5f5;
	--cd-site: 1240px;
	--cd-gutter: 30px;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--cd-bg);
	color: var(--cd-text);
	font: 400 20px/34px "Open Sans", Arial, Helvetica, sans-serif;
	letter-spacing: 1px;
	-webkit-font-smoothing: antialiased;
}
a { color: var(--cd-primary); text-decoration: none; transition: color .2s; }
a:hover { color: var(--cd-dark); }
img { max-width: 100%; height: auto; vertical-align: top; }
iframe { max-width: 100%; }
p { margin: 0 0 20px; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 20px; font-weight: 400; }
h2 { font: 400 50px/58px "Patua One", serif; }
h3 { font: 400 34px/44px "Patua One", serif; }
h4 { font: 400 22px/32px "Patua One", serif; }
strong, b { font-weight: 700; }
.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.skip-link:focus {
	position: fixed !important; top: 10px; left: 10px; z-index: 100000; width: auto; height: auto;
	clip: auto; padding: 10px 16px; background: #fff; color: var(--cd-dark);
}
.alignleft { float: left; margin: 0 25px 20px 0; }
.alignright { float: right; margin: 0 0 20px 25px; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }

/* ---------- Header ---------- */
.cd-header {
	position: sticky; top: 0; z-index: 1000;
	background: #fff; padding: 0 var(--cd-gutter);
	transition: box-shadow .2s;
}
.admin-bar .cd-header { top: 32px; }
.cd-header.is-stuck { box-shadow: 0 1px 3px rgba(0, 0, 0, .12); }
.cd-header-row {
	display: flex; align-items: flex-start; justify-content: space-between;
	padding: 2%;
}
.cd-logo { display: block; margin: -20px 0; flex: 0 0 auto; }
.cd-logo img { display: block; width: 90px; height: 90px; }
.cd-menu-toggle, .cd-sub-toggle { display: none; }
.cd-menu, .cd-menu ul { list-style: none; margin: 0; padding: 0; }
.cd-menu { display: flex; flex-wrap: wrap; justify-content: flex-end; }
.cd-menu > li { position: relative; }
.cd-menu > li > a {
	display: flex; align-items: center; height: 43px; padding: 0 30px;
	font: 600 18px/18px "Open Sans", Arial, Helvetica, sans-serif; letter-spacing: 0;
	color: var(--cd-dark); transition: background-color .2s, color .2s;
}
.cd-menu > li:hover > a,
.cd-menu > li:focus-within > a,
.cd-menu > li.current-menu-item > a,
.cd-menu > li.current-menu-ancestor > a,
.cd-menu > li.current-menu-parent > a { background: var(--cd-primary); color: #fff; }
.cd-menu .sub-menu {
	position: absolute; top: 100%; left: 0; z-index: 10; width: 280px;
	background: #f2efef; border-top: 3px solid var(--cd-primary);
	box-shadow: 0 2px 6px rgba(0, 0, 0, .08);
	opacity: 0; visibility: hidden; transition: opacity .2s, visibility .2s;
}
.cd-menu > li:hover > .sub-menu,
.cd-menu > li:focus-within > .sub-menu { opacity: 1; visibility: visible; }
.cd-menu .sub-menu a {
	display: block; padding: 7px 20px; border-bottom: 1px solid #dcdadb;
	font-size: 16px; line-height: 34px; color: var(--cd-dark);
}
.cd-menu .sub-menu li:last-child a { border-bottom: 0; }
.cd-menu .sub-menu a:hover,
.cd-menu .sub-menu .current-menu-item > a { background: #f5f5f5; color: var(--cd-dark); }

/* ---------- Page title bar ---------- */
.cd-ptb {
	display: flex; align-items: center; justify-content: center;
	min-height: var(--ptb-h, 240px); padding: 0 var(--cd-gutter);
	background-color: var(--cd-slate); background-position: center center;
	background-size: cover; background-repeat: no-repeat; text-align: center;
}
.cd-ptb-inner { width: 100%; max-width: 100%; }
.cd-ptb h1 {
	margin: 0; color: var(--cd-primary);
	font: 800 70px/1.14 "Open Sans", Arial, Helvetica, sans-serif; letter-spacing: 0;
	overflow-wrap: break-word;
}
.cd-breadcrumbs { margin-top: 10px; font-size: 18px; line-height: 1.5; color: #fff; }
.cd-breadcrumbs a { color: #fff; }
.cd-breadcrumbs a:hover { color: var(--cd-primary); }
.cd-ptb-extra { color: #fff; }
.cd-btn {
	display: inline-block; background: var(--cd-dark); color: #fff;
	font: 400 14px/17px "Patua One", serif; letter-spacing: 0; text-transform: uppercase;
	padding: 13px 29px; border: 0; border-radius: 0; cursor: pointer; transition: background-color .2s;
}
.cd-btn:hover, .cd-btn:focus { background: var(--cd-primary); color: #fff; }
.cd-btn-hero { background: var(--cd-primary); font-size: 30px; line-height: 30px; padding: 22px 28px; margin-top: 20px; }
.cd-btn-hero:hover { background: var(--cd-dark); }

/* ---------- Main ---------- */
.cd-main { padding: 80px var(--cd-gutter) 90px; background: var(--cd-bg); }
.cd-main-row { max-width: var(--cd-site); margin: 0 auto; }
.cd-full-width .cd-main { padding: 0 var(--cd-gutter); background: #fff; }
.cd-full-width .cd-main-row { max-width: 100%; }
.post-content::after { content: ""; display: table; clear: both; }

/* ---------- Content layout (frozen Avada markup) ---------- */
.fusion-fullwidth { position: relative; }
.fusion-flex-container { display: flex; justify-content: center; }
.cd-full-width .fusion-flex-container.nonhundred-percent-fullwidth { margin-left: calc(-1 * var(--cd-gutter)); margin-right: calc(-1 * var(--cd-gutter)); padding-left: var(--cd-gutter); padding-right: var(--cd-gutter); }
.fusion-flex-container > .fusion-builder-row,
.fusion-flex-container > .fusion-row {
	display: flex; flex-wrap: wrap; position: relative; flex: 1 1 0%; min-width: 0;
}
.cd-full-width .fusion-flex-container > .fusion-builder-row { margin-left: auto !important; margin-right: auto !important; }
.fusion-flex-align-items-flex-start { align-items: flex-start; }
.fusion-flex-align-items-center { align-items: center; }
.fusion-flex-align-items-flex-end { align-items: flex-end; }
.fusion-flex-align-items-stretch { align-items: stretch; }
.fusion-layout-column { position: relative; display: flex; min-height: 1px; }
.fusion-flex-align-self-center { align-self: center; }
.fusion-flex-align-self-flex-start { align-self: flex-start; }
.fusion-flex-align-self-flex-end { align-self: flex-end; }
.fusion-flex-align-self-stretch { align-self: stretch; }
.fusion-column-wrapper { display: flex; flex-direction: column; width: 100%; min-height: 1px; }
.fusion-flex-justify-content-flex-start { justify-content: flex-start; }
.fusion-flex-justify-content-center { justify-content: center; }
.fusion-flex-justify-content-flex-end { justify-content: flex-end; }
.fusion-flex-justify-content-space-between { justify-content: space-between; }
.fusion-content-layout-row { flex-direction: row; flex-wrap: wrap; }
.fusion-text > :last-child, .fusion-text-no-margin > p:last-child { margin-bottom: 0; }
.fusion-text-no-margin p { margin: 0; }
.fusion-imageframe { display: inline-block; max-width: 100%; line-height: 1; }
.fusion-imageframe img { display: block; }
.fusion-separator { clear: both; }
.fusion-separator-border { border: 0 solid; }
.fusion-button { display: inline-flex; align-items: center; justify-content: center; text-align: center; transition: background-color .2s; }
.fusion-button:hover, .fusion-button:focus { background-color: var(--cd-primary) !important; color: #fff !important; }
.fusion-video { max-width: 100%; }
.fusion-video iframe, .video-shortcode iframe { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; }
.fusion-alert { display: none; }
.post-content iframe[name="givebutter"] { display: block; }

/* ---------- Footer ---------- */
.cd-footer { color: #a1a4aa; }
.cd-footer a { color: #a1a4aa; }
.cd-footer a:hover { color: #3ec492; }
.cd-footer-widgets {
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
	padding: 70px 50px 60px; background: var(--cd-dark);
}
.cd-footer-col { padding: 0 15px; min-width: 0; }
.cd-footer .widget-title {
	margin: 0 0 28px; color: #fff; text-transform: uppercase;
	font: 400 18px/27px "Patua One", serif; letter-spacing: 0;
}
.cd-sep { width: 50px; border-top: 2px solid #4d5560; margin: 0 0 25px; }
.cd-sep-20 { margin-bottom: 20px; }
.cd-small { font-size: 16px; }
.cd-contact { list-style: none; margin: 0; padding: 0; font-size: 16px; line-height: 27.2px; }
.cd-contact li { position: relative; padding: 0 0 5.5px 38.4px; }
.cd-contact li::before {
	content: ""; position: absolute; left: 0; top: 4px; width: 18px; height: 18px; background: #a1a4aa;
	-webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat;
}
.cd-ico-phone { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64c0 247.4 200.6 448 448 448 18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368c-70.4-33.3-127.4-90.3-160.7-160.7l49.3-40.3c13.7-11.2 18.4-30 11.6-46.3l-40-96z'/%3E%3C/svg%3E"); }
.cd-ico-mail { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M64 112c-8.8 0-16 7.2-16 16v22.1l172.5 141.6c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16H64zM48 212.2V384c0 8.8 7.2 16 16 16h384c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128c0-35.3 28.7-64 64-64h384c35.3 0 64 28.7 64 64v256c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z'/%3E%3C/svg%3E"); }
.cd-ico-home { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1-1.4.1-2.8.1-4.2.1H392c-22.1 0-40-17.9-40-40v-88c0-17.7-14.3-32-32-32h-64c-17.7 0-32 14.3-32 32v88c0 22.1-17.9 40-40 40H128.1c-1.5 0-3-.1-4.5-.2-1.2.1-2.4.2-3.6.2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9.1-2.8v-69.7H32c-18 0-32-14-32-32.1 0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7l255.4 224.5c8 7 12 15 11 24z'/%3E%3C/svg%3E"); }
.cd-map iframe { display: block; width: 343px; max-width: 100%; height: 200px; border: 0; }
.cd-newsletter p { margin: 0 0 20px; }
.cd-newsletter label { display: block; font-size: 16px; line-height: 1.6; }
.cd-newsletter input[type="email"] {
	display: block; width: 100%; height: 55px; margin-top: 8px; padding: 0 15px;
	border: 1px solid #ddd; background: #fff; color: #a1a4aa; font: 13px "Open Sans", Arial, sans-serif;
}
.cd-newsletter input[type="submit"] {
	padding: 13px 29px; border: 0; background: var(--cd-primary); color: #fff; cursor: pointer;
	font: 400 14px/17px "Patua One", serif; text-transform: uppercase;
}
.cd-newsletter input[type="submit"]:hover { background: var(--cd-dark); }
.cd-newsletter .wpcf7-spinner { margin: 0 0 0 10px; }
.cd-newsletter .wpcf7-response-output { margin: 10px 0 0; padding: 8px 12px; font-size: 14px; line-height: 1.5; border: 1px solid #a1a4aa; }
.cd-newsletter .wpcf7-not-valid-tip { font-size: 14px; }
.cd-copyright { padding: 20px var(--cd-gutter); background: #343941; text-align: center; }
.cd-copyright-notice { font-size: 13px; line-height: 34px; }
.cd-social { margin-top: 20px; padding-bottom: 12px; display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; }
.cd-social a { display: inline-flex; width: 34px; height: 34px; padding: 8px; border-radius: 4px; color: #fff; }
.cd-social a:hover { color: #fff; opacity: .85; }
.cd-social svg { width: 100%; height: 100%; }

/* ---------- Forms in content (Contact Form 7) ---------- */
.post-content .wpcf7 input[type="text"], .post-content .wpcf7 input[type="email"], .post-content .wpcf7 input[type="tel"],
.post-content .wpcf7 input[type="url"], .post-content .wpcf7 input[type="number"], .post-content .wpcf7 select, .post-content .wpcf7 textarea {
	width: 100%; padding: 10px 15px; border: 1px solid #ddd; background: #fff; color: var(--cd-text);
	font: 16px/1.5 "Open Sans", Arial, sans-serif; letter-spacing: 0;
}
.post-content .wpcf7 input[type="text"], .post-content .wpcf7 input[type="email"], .post-content .wpcf7 input[type="tel"], .post-content .wpcf7 select { height: 50px; }
.post-content .wpcf7 input[type="submit"] {
	padding: 13px 29px; border: 0; background: var(--cd-dark); color: #fff; cursor: pointer;
	font: 400 14px/17px "Patua One", serif; text-transform: uppercase;
}
.post-content .wpcf7 input[type="submit"]:hover { background: var(--cd-primary); }
.wpcf7-response-output { font-size: 16px; line-height: 1.5; }

/* ---------- Tablet and mobile (Avada switched at 960px) ---------- */
@media (max-width: 960px) {
	.cd-header { position: relative; top: 0; }
	.admin-bar .cd-header { top: 0; }
	.cd-header-row { flex-wrap: wrap; align-items: center; padding: 20px 0; }
	.cd-logo { margin: calc(1.965vw - 1.35px) 0; }
	.cd-menu-toggle {
		display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px;
		padding: 0; border: 0; background: none; cursor: pointer;
	}
	.cd-bars, .cd-bars::before, .cd-bars::after {
		display: block; position: relative; width: 26px; height: 3px; background: var(--cd-primary); content: "";
	}
	.cd-bars::before { position: absolute; top: -8px; }
	.cd-bars::after { position: absolute; top: 8px; }
	.cd-nav { display: none; flex: 0 0 100%; margin-top: 20px; }
	.cd-nav.is-open { display: block; }
	.cd-menu { display: block; border-top: 1px solid #ededed; }
	.cd-menu > li > a, .cd-menu .sub-menu a {
		display: block; height: auto; padding: 0 25px; border-bottom: 1px solid #ededed; background: #fcfcfc;
		font: 400 18px/55px Cabin, "Open Sans", sans-serif; letter-spacing: 1px; color: var(--cd-dark);
	}
	.cd-menu > li:hover > a, .cd-menu > li:focus-within > a,
	.cd-menu > li.current-menu-item > a, .cd-menu > li.current-menu-ancestor > a, .cd-menu > li.current-menu-parent > a,
	.cd-menu .sub-menu a:hover { background: #f9f9f9; color: var(--cd-dark); }
	.cd-menu .sub-menu {
		position: static; width: auto; border-top: 0; box-shadow: none; opacity: 1; visibility: visible; display: none;
	}
	.cd-menu .sub-menu a { padding-left: 45px; }
	.cd-menu li.is-open > .sub-menu { display: block; }
	.cd-menu .menu-item-has-children { position: relative; }
	.cd-sub-toggle {
		display: block; position: absolute; top: 0; right: 0; width: 55px; height: 55px; border: 0; background: none; cursor: pointer;
	}
	.cd-sub-toggle::before {
		content: ""; display: block; width: 10px; height: 10px; margin: 0 auto;
		border-right: 2px solid var(--cd-dark); border-bottom: 2px solid var(--cd-dark); transform: rotate(45deg); transition: transform .2s;
	}
	.is-open > .cd-sub-toggle::before { transform: rotate(-135deg); }
	.cd-ptb { min-height: var(--ptb-mh, 180px); padding: 5px var(--cd-gutter); }
	.cd-footer-widgets { grid-template-columns: minmax(0, 1fr); row-gap: 50px; padding-left: var(--cd-gutter); padding-right: var(--cd-gutter); }
}
@media (max-width: 640px) {
	.cd-full-width .cd-main { padding-top: 0; padding-bottom: 0; }
}

/* ---------- Parity adjustments (matched to the Avada build at 375-1300px) ---------- */
.alignleft { margin: 0 15px 0 0; }
.alignright { margin: 0 0 0 15px; }
.fusion-video iframe[height="360"] { aspect-ratio: 600 / 360; }
.post-content .wpcf7 input[type="text"], .post-content .wpcf7 input[type="email"], .post-content .wpcf7 input[type="tel"],
.post-content .wpcf7 input[type="url"], .post-content .wpcf7 input[type="number"], .post-content .wpcf7 select {
	height: 55px; padding: 0 15px; font: 13px "Open Sans", Arial, sans-serif; color: #a1a4aa; letter-spacing: normal;
}
.post-content .wpcf7 textarea { height: 150px; padding: 8px 15px; font: 13px "Open Sans", Arial, sans-serif; color: #a1a4aa; letter-spacing: normal; vertical-align: middle; }
.post-content .wpcf7 input[type="file"] { font-family: "Open Sans", Arial, sans-serif; color: #000; }
.post-content .wpcf7 ::placeholder { color: #a1a4aa; }
.post-content::after { content: none; }
.cd-footer .wpcf7 { margin-top: 46px; }
.cd-newsletter label { padding-top: 3px; }
.cd-newsletter input[type="email"] { margin-top: 5px; }
.cd-contact li + li { padding-top: 5.5px; }
/* Full-width rows keep Avada's -2% gutter until the 1289.6px row cap, then centre. */
.cd-full-width .fusion-flex-container > .fusion-builder-row {
	margin-left: max(-2%, calc((100% - 1289.6px) / 2)) !important;
	margin-right: max(-2%, calc((100% - 1289.6px) / 2)) !important;
}
html { overflow-x: hidden; }
.post-content a { overflow-wrap: anywhere; }
.cd-ptb h1 { font-size: min(70px, calc(34.9px + 3.6vw)); }
@media (max-width: 960px) {
	.cd-header-row { min-height: calc(127.3px + 3.93vw); }
	.cd-btn-hero { font-size: 30px; line-height: 30px; padding: 22px 28px; }
	.cd-menu-toggle { align-self: flex-start; margin-top: calc(6.8px + 2.05vw); }
	.cd-bars, .cd-bars::before, .cd-bars::after { width: 22px; }
	.cd-bars::before { top: -9px; }
	.cd-bars::after { top: 9px; }
	.cd-nav { flex: 0 0 calc(100% + 2 * var(--cd-gutter)); margin: calc(1.35px - 1.965vw) calc(-1 * var(--cd-gutter)) -20px; }
	.cd-menu > li > a, .cd-menu .sub-menu a { padding: 0 12px 0 30px; }
	.cd-menu .sub-menu a { padding-left: 39px; }
	.cd-menu .sub-menu a::before { content: "-"; margin-right: 2px; }
	.cd-sub-toggle { width: 59px; }
	.cd-sub-toggle::before { border-width: 0 1.5px 1.5px 0; }
	.cd-footer-col { padding: 0; }
	.cd-footer-col > :last-child { margin-bottom: 0; }
	.cd-footer .wpcf7 form > p:last-of-type { margin-bottom: 0; }
	.cd-map { padding-bottom: 10px; }
	.cd-copyright-notice { padding-bottom: 15px; }
	.cd-social { padding-bottom: 21px; }
}
@media (max-width: 640px) {
	.cd-ptb h1 { font-size: min(8.64vw, 44px); }
}
