/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Nov 04 2026 | 04:37:35 */
/* Global – step and feature cards (rapid-sec rows)
   Turns the two-column "rapid-sec / rapid-col" rows (process steps, service lists)
   into equal-height cards with even spacing. Applies to every page using them.
   Selectors are prefixed so they outrank the theme's divider rules and the
   svc-spacing last-row reset in "Service pages (Services hub, Project Rescue)". */

/* ---------- Spacing ---------- */
body .wpb_row .wpb_row.rapid-sec { margin-bottom: 0 !important; padding-top: 0 !important; }
body .wpb_row .wpb_row.rapid-sec > .row_col_wrap_12_inner { align-items: stretch; }
body .wpb_row .wpb_row.rapid-sec > .row_col_wrap_12_inner > .rapid-col { margin-bottom: 24px !important; }
body .wpb_row .wpb_row.rapid-sec:last-child > .row_col_wrap_12_inner > .rapid-col,
body .wpb_row.svc-spacing:not(.svc-hub-faq) .wpb_row.inner_row.rapid-sec:last-child > .row_col_wrap_12_inner > .wpb_column.rapid-col { margin-bottom: 0 !important; }

/* Same gutters on every row (older rows mix different column margins) */
@media only screen and (min-width: 1000px) {
  body .wpb_row .wpb_row.rapid-sec > .row_col_wrap_12_inner { margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; }
  body .wpb_row .wpb_row.rapid-sec > .row_col_wrap_12_inner > .vc_col-sm-6.rapid-col { width: 50% !important; margin-left: 0 !important; margin-right: 0 !important; box-sizing: border-box; }
  body .wpb_row .wpb_row.rapid-sec > .row_col_wrap_12_inner > .vc_col-sm-6.rapid-col:nth-child(2n+1) { padding: 0 12px 0 0 !important; }
  body .wpb_row .wpb_row.rapid-sec > .row_col_wrap_12_inner > .vc_col-sm-6.rapid-col:nth-child(2n) { padding: 0 0 0 12px !important; }
}

/* ---------- Card ---------- */
body .wpb_row .wpb_row.rapid-sec .rapid-col > .vc_column-inner,
body .wpb_row.svc-spacing:not(.svc-hub-faq) .wpb_row.inner_row.rapid-sec:last-child .rapid-col > .vc_column-inner {
  position: relative;
  height: 100%;
  box-sizing: border-box;
  background: #f7f8f5;
  border: 1px solid #e3e6de !important;
  border-radius: 16px;
  padding: 34px 32px 30px !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
}

/* White cards on grey sections */
body .wpb_row:has(> .row-bg-wrap .row-bg[style*="#f0f0f0"], > .row-bg-wrap .row-bg[style*="#f2f2f2"], > .row-bg-wrap .row-bg[style*="#f7f7f7"]) .wpb_row.rapid-sec .rapid-col > .vc_column-inner { background: #ffffff; }

/* Short green accent on each card */
body .wpb_row .wpb_row.rapid-sec .rapid-col > .vc_column-inner::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 32px;
  width: 44px;
  height: 3px;
  border-radius: 0 0 3px 3px;
  background: #66a61b;
}

/* ---------- Text ---------- */
body .wpb_row .wpb_row.rapid-sec .rapid-col h3 { font-size: 24px; line-height: 1.3; margin: 0 0 12px; }
body .wpb_row .wpb_row.rapid-sec .rapid-col h3,
body .wpb_row .wpb_row.rapid-sec .rapid-col h3 strong { color: #000000 !important; font-weight: inherit; }
body .wpb_row .wpb_row.rapid-sec .rapid-col .wpb_text_column,
body .wpb_row .wpb_row.rapid-sec .rapid-col .wpb_text_column p { font-size: 17px; line-height: 1.65; color: #5c5c5c; }
body .wpb_row .wpb_row.rapid-sec .rapid-col .wpb_text_column p:last-child { margin-bottom: 0; }

/* ---------- Tablet and phone (Salient stacks the columns) ---------- */
@media only screen and (max-width: 999px) {
  body .wpb_row .wpb_row.rapid-sec > .row_col_wrap_12_inner > .rapid-col { padding-left: 0 !important; padding-right: 0 !important; margin-bottom: 16px !important; }
  body .wpb_row .wpb_row.rapid-sec:last-child > .row_col_wrap_12_inner > .rapid-col:not(:last-child),
  body .wpb_row.svc-spacing:not(.svc-hub-faq) .wpb_row.inner_row.rapid-sec:last-child > .row_col_wrap_12_inner > .wpb_column.rapid-col:not(:last-child) { margin-bottom: 16px !important; }
  body .wpb_row .wpb_row.rapid-sec .rapid-col > .vc_column-inner,
  body .wpb_row.svc-spacing:not(.svc-hub-faq) .wpb_row.inner_row.rapid-sec:last-child .rapid-col > .vc_column-inner { padding: 28px 24px 24px !important; }
  body .wpb_row .wpb_row.rapid-sec .rapid-col > .vc_column-inner::before { left: 24px; }
  body .wpb_row .wpb_row.rapid-sec .rapid-col h3 { font-size: 21px; }
  body .wpb_row .wpb_row.rapid-sec .rapid-col .wpb_text_column,
  body .wpb_row .wpb_row.rapid-sec .rapid-col .wpb_text_column p { font-size: 16px; }
}

/* ---------- Why cards (.Sydney rows with a green bubble behind each heading) ----------
   Used on the service pages ("Why Microknot...") and on older pages (About Us, Technologies,
   Custom Software, Web Design). Fixes:
   - the bubble was 80px tall on a 32px heading and ran into the paragraph, so it is now 64px with
     clear space before the paragraph (heading margin 20px -> 32px)
   - one 24px gap between cards, across and down, at every width. The gap comes from the row
     (column padding across, flex row-gap down) rather than per-column margins, so it also works
     where columns stay side by side on tablet and where they stack. */
body .Sydney .wpb_text_column h4,
body .Sydney .wpb_text_column h3:is(.svc-hub-why h3):not(#svc) { margin-bottom: 32px !important; }
body .Sydney .wpb_text_column h4::before,
body .Sydney .wpb_text_column h3:is(.svc-hub-why h3):not(#svc)::before { width: 64px; height: 64px; }
body .Sydney .wpb_text_column p:last-child { margin-bottom: 0; }

/* Across: 24px (12px padding each side, pulled back out by the row so card edges stay on the page grid).
   Down: 24px between wrapped or stacked columns. Column margins are cleared (the theme and some pages add 25-50px). */
body .wpb_row.inner_row.Sydney > .row_col_wrap_12_inner { margin-left: -12px !important; margin-right: -12px !important; row-gap: 24px; column-gap: 0 !important; }
body .wpb_row.inner_row.Sydney > .row_col_wrap_12_inner > .wpb_column { padding-left: 12px !important; padding-right: 12px !important; margin-bottom: 0 !important; }
/* Technologies and About Us added 25px under each column as their own row spacing; the 24px gap replaces it */
body .wpb_row.inner_row.Sydney .foundcols .vc_column-inner { padding-bottom: 0 !important; }
/* Cards stacked inside one column (Custom Software, Web Design), and rows stacked under each other */
body .Sydney .wpb_text_column { margin-bottom: 24px !important; }
body .Sydney .wpb_text_column:last-child { margin-bottom: 0 !important; }
body .wpb_row.inner_row.Sydney + .wpb_row.inner_row.Sydney { margin-top: 24px; }
/* Service pages: the grid already spaces the rows */
body .svc-hub-why .wpb_row.inner_row.Sydney + .wpb_row.inner_row.Sydney { margin-top: 0; }
body .svc-hub-why .vc_col-sm-12 > .vc_column-inner > .wpb_wrapper { row-gap: 24px !important; }
body .svc-hub-why .vc_col-sm-12 > .vc_column-inner > .wpb_wrapper > .sec-head { margin-bottom: 56px !important; }
@media only screen and (max-width: 999px) {
  body .svc-hub-why .vc_col-sm-12 > .vc_column-inner > .wpb_wrapper > .sec-head { margin-bottom: 40px !important; }
}
/* Below 690px the service-page section is no longer a grid, so the rows need a margin instead of a row-gap */
@media only screen and (max-width: 689px) {
  body .svc-hub-why .wpb_row.inner_row.Sydney + .wpb_row.inner_row.Sydney { margin-top: 24px; }
}
