/* Sabino Bouw: the look of the old WordPress (Divi) site, measured on sabinobouw.nl at 1440 and 390 wide.
   Sections hold structure and text (sb-sec / sb-row / sb-col, as the Divi section / row / column),
   this file holds the look. */

:root {
  --sb-blue: #1c9fd8;
  --sb-blue-dark: #1a80c9;
  --sb-text: #666;
  --sb-module-text: #515151;
  --sb-heading: #333;
  --sb-khand: 'Khand', Helvetica, Arial, Lucida, sans-serif;
  --sb-pt: 'PT Sans', Helvetica, Arial, Lucida, sans-serif;
}

.generated.website {
  font-family: var(--sb-pt);
  font-size: 17px;
  font-weight: 500;
  line-height: 2.2em;
  color: var(--sb-text);
  background: #fff;
  -webkit-font-smoothing: antialiased;
}
.generated.website .wm-main { overflow-x: clip; }
.generated.website h1, .generated.website h2, .generated.website h3, .generated.website h4, .generated.website h5, .generated.website h6 {
  font-family: var(--sb-khand); font-weight: 700; color: var(--sb-heading); line-height: 1em; margin: 0; padding-bottom: 10px; letter-spacing: 0;
}
.generated.website h1 { font-size: 30px; }
.generated.website h2 { font-size: 26px; }
.generated.website h3 { font-size: 22px; }
.generated.website h4 { font-size: 18px; }
.generated.website a { color: var(--sb-blue); text-decoration: none; }
.generated.website p { margin: 0; padding-bottom: 1em; }
.generated.website p:last-of-type { padding-bottom: 0; }
.generated.website ul { list-style: disc; padding: 0 0 23px 1em; margin: 0; line-height: 26px; }
.generated.website ol { list-style: decimal; padding: 0 0 23px 1.2em; margin: 0; line-height: 26px; }
.generated.website strong, .generated.website b { font-weight: 700; }
.generated.website img { max-width: 100%; height: auto; }

.sb-container { width: 80%; max-width: 1252px; margin: 0 auto; }

/* ---------- top bar + header ---------- */
.sb-topbar { background: var(--sb-blue); color: #fff; font-family: var(--sb-khand); font-weight: 300; font-size: 17px; line-height: 1; }
.sb-topbar-inner { display: flex; justify-content: flex-end; align-items: center; min-height: 35px; }
.sb-topbar .editorstyles, .sb-topbar [class*="wm-paragraph"] { display: flex; align-items: center; gap: 18px; }
.sb-topbar a { color: #fff; display: inline-flex; align-items: center; }
.sb-topbar p { padding: 0; }
.sb-header { background: #fff; font-family: var(--sb-khand); position: relative; z-index: 30; }
.sb-header-inner { display: flex; align-items: center; min-height: 116px; padding: 0 10px; box-sizing: border-box; }
.sb-header .sb-logo, .sb-header .sb-logo img { display: block; }
.sb-header .sb-logo img { max-height: 64px; width: auto; }
.sb-header .sb-nav { margin-left: 120px; flex: 1; display: flex; justify-content: flex-start; }
.sb-header .sb-nav .wm-menu-list { gap: 0; }
.sb-header .sb-nav .wm-menu-depth-0 > .wm-menu-item > a { font-size: 17px; font-weight: 400; color: rgba(0, 0, 0, .6); padding: 0 11px; line-height: 116px; display: block; transition: opacity .3s; }
.sb-header .sb-nav .wm-menu-depth-0 > .wm-menu-item > a:hover { opacity: .7; }
.sb-header .sb-nav .wm-menu-item.is-active > a { color: #a0a0a0; }
.sb-header .sb-nav .wm-menu-item.has-children > a::after { content: ""; display: inline-block; width: .35em; height: .35em; margin-left: .55em; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); vertical-align: .25em; }
.sb-header .sb-nav .wm-menu-depth-1 { top: 100%; left: 0; min-width: 240px; padding: 20px 0; border: 0; border-top: 3px solid #fff; border-radius: 0; box-shadow: 0 2px 5px rgba(0, 0, 0, .1); }
.sb-header .sb-nav .wm-menu-depth-1 a { font-size: 17px; color: rgba(0, 0, 0, .6); padding: 6px 20px; line-height: 28px; width: 200px; }
.sb-header .sb-nav .wm-menu-depth-1 a:hover { background: rgba(0, 0, 0, .03); opacity: .7; }

/* ---------- Divi grid: section / row / columns (gutter 3) ---------- */
.sb-sec { position: relative; padding: 4% 0; background-color: #fff; background-repeat: no-repeat; }
.sb-row { width: 80%; max-width: 1252px; margin: 0 auto; padding: 2% 0; display: flex; flex-wrap: wrap; align-items: flex-start; position: relative; }
.sb-col { box-sizing: border-box; margin-right: 5.5%; }
.sb-col:last-child { margin-right: 0; }
.sb-col-4_4 { width: 100%; margin-right: 0; }
.sb-col-1_2 { width: 47.25%; }
.sb-col-1_3 { width: 29.6667%; }
.sb-col-2_3 { width: 64.833%; }
.sb-col-1_4 { width: 20.875%; }
.sb-col-3_4 { width: 73.625%; }
.sb-col-1_5 { width: 15.6%; }
.sb-col > * + * { margin-top: 0; }
.sb-col > div:not(:last-child) { margin-bottom: 2.75%; }
@media (max-width: 980px) {
  .sb-sec { padding: 50px 0; }
  .sb-row { padding: 30px 0; }
  .sb-col, .sb-col-1_2, .sb-col-1_3, .sb-col-2_3, .sb-col-1_4, .sb-col-3_4 { width: 100%; margin-right: 0; margin-bottom: 30px; }
  .sb-col:last-child { margin-bottom: 0; }
  .sb-col-1_5 { width: 47.25%; margin-right: 5.5%; margin-bottom: 30px; }
  .sb-col-1_5:nth-child(2n) { margin-right: 0; }
}
@media (max-width: 479px) {
  .sb-col-1_5 { width: 100%; margin-right: 0; }
}
.sb-hero .sb-row { min-height: 0; }

/* ---------- modules ---------- */
.sb-text { font-family: var(--sb-khand); font-size: 16px; line-height: 1.8em; color: var(--sb-module-text); }
.sb-text h1, .sb-text h2 { font-family: var(--sb-khand); font-weight: 500; color: var(--sb-blue); }
.sb-text h2 { font-size: 23px; line-height: 1.5em; }
.sb-text h3, .sb-text h4, .sb-text h5, .sb-text h6 { font-family: var(--sb-khand); }
.sb-text p { padding-bottom: 16px; }
.sb-text p:last-child { padding-bottom: 0; }
.sb-text ul, .sb-text ol { line-height: 26px; }
.sb-image { margin-top: 40px; text-align: center; line-height: 0; }
.sb-image img { display: inline-block; max-width: 100%; height: auto; }
.sb-image picture { display: inline-block; }
.sb-blurb { border: 1px solid var(--sb-blue); border-bottom-width: 5px; text-align: center; }
.sb-blurb-image { line-height: 0; }
.sb-blurb-image img { width: 100%; height: auto; display: block; }
.sb-blurb-title { font-family: var(--sb-khand) !important; font-weight: 300 !important; font-size: 18px !important; color: #333; text-align: center; padding: 10px 4px 10px !important; line-height: 1em; }
.sb-blurb-title a { color: #333; }
.sb-blurb-text { text-align: left; }
/* the contact page blurb is a plain text block (no border, no image) */
.sb-blurb:not(:has(.sb-blurb-image)) { border: 0; text-align: left; }
.sb-blurb:not(:has(.sb-blurb-image)) .sb-blurb-title { text-align: left; color: var(--sb-blue); font-weight: 500 !important; font-size: 20px !important; padding: 0 0 10px !important; }
.sb-blurb:not(:has(.sb-blurb-image)) .sb-blurb-text { font-size: 17px; line-height: 2.2em; }
.sb-blurb:not(:has(.sb-blurb-text)):not(:has(.sb-blurb-title)):has(.sb-blurb-image) { border: 0; border-top: 4px solid var(--sb-blue); border-bottom: 4px solid var(--sb-blue); }
.sb-gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 63px 5.5%; }
.sb-gallery-item { line-height: 0; }
.sb-gallery-item img, .sb-gallery-item picture { display: block; width: 100%; aspect-ratio: 400 / 284; object-fit: cover; }
.sb-col-4_4 .sb-gallery { grid-template-columns: repeat(4, 1fr); gap: 40px 3%; }
@media (max-width: 767px) { .sb-gallery, .sb-col-4_4 .sb-gallery { grid-template-columns: repeat(2, 1fr); gap: 20px 5.5%; } }

/* ---------- forms (Divi contact form look: placeholder only, bordered fields) ---------- */
.sb-form-title { font-family: var(--sb-khand) !important; font-weight: 300 !important; color: var(--sb-blue) !important; font-size: 30px !important; padding-bottom: 10px; }
.sb-form-contact .sb-form-title { font-weight: 600 !important; }
.sb-form .wm-form { display: flex; flex-wrap: wrap; gap: 0 3%; }
.sb-form .wm-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.sb-form .wm-field { width: 100%; margin: 0 0 3%; }
.sb-form .wm-input { width: 100%; box-sizing: border-box; border: 1px solid #333; border-radius: 0; background: #fff; color: #a0a0a0; font-family: var(--sb-khand); font-size: 18px; padding: 6px 16px; line-height: 1.6; }
.sb-form .wm-input::placeholder { color: #a0a0a0; font-family: var(--sb-khand); }
.sb-form textarea.wm-input { min-height: 150px; padding-top: 16px; }
.sb-form-contact .wm-input { padding: 16px; }
.sb-form-contact .wm-field:nth-of-type(-n+4) { width: 48.5%; }
.sb-form-offerte .wm-field-textarea { width: 48.5%; }
.sb-form .wm-form-actions { width: 100%; display: flex; justify-content: flex-start; }
.sb-form-contact .wm-form-actions { justify-content: flex-end; }
.sb-form .wm-btn { background: var(--sb-blue) !important; color: #fff !important; border: 0 !important; border-radius: 9px !important; font-family: var(--sb-khand) !important; font-weight: 300 !important; font-size: 20px !important; padding: .3em 1em !important; line-height: 1.7em; cursor: pointer; transition: background-color .3s; }
.sb-form-offerte .wm-btn, .sb-form-brochure .wm-btn { margin-left: 80px; }
.sb-form .wm-btn:hover { background: var(--sb-blue-dark) !important; }
@media (max-width: 767px) {
  .sb-form-contact .wm-field:nth-of-type(-n+4), .sb-form-offerte .wm-field-textarea { width: 100%; }
}

/* ---------- financing block (homepage + dakkapel) ---------- */
.sb-finance { padding: 10px 0 50px; background: #fff; }
.sb-finance-box { border: 1px solid var(--sb-blue); border-bottom-width: 5px; background: #f4f4f4; padding: 26px 30px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.sb-finance-text { font-family: var(--sb-khand); font-size: 23px; font-weight: 500; color: var(--sb-blue); line-height: 1.4; padding: 0 !important; }
.sb-finance .sb-finance-btn, .sb-finance .wm-btn { background: var(--sb-blue); color: #fff; border-radius: 9px; font-family: var(--sb-khand); font-size: 20px; font-weight: 400; padding: .3em 1.1em; text-decoration: none; display: inline-block; line-height: 1.7em; }
.sb-finance .sb-finance-btn:hover, .sb-finance .wm-btn:hover { background: var(--sb-blue-dark); }
@media (max-width: 767px) { .sb-finance-box { padding: 20px; } .sb-finance-text { font-size: 20px; } }

/* ---------- projects: grid (/projecten-2), archive lists, single project ---------- */
.sb-portfolio-filters { display: inline-flex; flex-wrap: wrap; border: 1px solid #e2e2e2; border-radius: 3px; margin: 10px 0 40px; font-family: var(--sb-khand); }
.sb-portfolio-filters a { padding: 0 16px; font-size: 14px; line-height: 32px; color: #666; border-right: 1px solid #e2e2e2; }
.sb-portfolio-filters a:last-child { border-right: 0; }
.sb-portfolio-filters a.is-active { color: var(--sb-blue); }
.sb-portfolio .wm-structures { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px 5.5%; }
.sb-portfolio .wm-card { all: unset; display: block; }
.sb-pf-card { display: block; color: #333; }
.sb-pf-img { display: block; line-height: 0; }
.sb-pf-img img { width: 100%; aspect-ratio: 400 / 284; object-fit: cover; display: block; }
.sb-pf-title { font-size: 18px !important; padding: 10px 0 0 !important; color: #333; }
@media (max-width: 980px) { .sb-portfolio .wm-structures { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767px) { .sb-portfolio .wm-structures { grid-template-columns: repeat(2, 1fr); gap: 20px 5.5%; } }
@media (max-width: 479px) { .sb-portfolio .wm-structures { grid-template-columns: 1fr; } }

.sb-archive .sb-row { display: block; }
.sb-archive-list { width: 70.5%; max-width: 820px; }
.sb-archive .wm-structures { display: block; }
.sb-archive .wm-card { all: unset; display: block; }
.sb-post { margin-bottom: 60px; }
.sb-post-image { display: block; line-height: 0; margin-bottom: 30px; }
.sb-post-image img { width: 100%; height: auto; display: block; }
.sb-post-title { font-size: 26px !important; }
.sb-post-title a { color: #333; }
.sb-post-meta { font-size: 14px; margin-bottom: 6px; padding: 0 !important; }
.sb-post-meta, .sb-post-meta * { color: #666; }
.sb-post-excerpt { font-size: 17px; }
.sb-archive .wm-pagination, .sb-shop .wm-pagination { display: flex; gap: 0; justify-content: center; margin: 20px 0 0; }
.sb-archive .wm-pagination { justify-content: flex-start; }
.sb-shop .wm-page-link, .sb-archive .wm-page-link { border: 1px solid #d3ced2; margin-left: -1px; min-width: 2em; padding: 0 .5em; line-height: 2em; text-align: center; font-size: 15px; color: var(--sb-blue); }
.sb-shop .wm-page-current, .sb-archive .wm-page-current { background: #ebe9eb; color: #8a7e88; }
.sb-shop .wm-page-disabled, .sb-archive .wm-page-disabled { display: none; }
@media (max-width: 980px) { .sb-archive-list { width: 100%; } }

.sb-project .sb-sec:first-child { padding-top: 58px; }
.sb-project .sb-text h1, .sb-project .sb-text h2, .sb-project .sb-text h3, .sb-project .sb-text h4 { color: #333; font-weight: 700; font-size: 18px; }
.sb-project .sb-text { font-family: var(--sb-pt); font-size: 17px; color: #666; }

/* ---------- doors catalog (was WooCommerce, no prices: catalog only) ---------- */
.sb-shop { padding-top: 58px; }
.sb-shop .sb-row { display: block; }
.sb-breadcrumb { font-size: 15px; color: #666; margin-bottom: 1em; line-height: 1.7; }
.sb-breadcrumb a { color: #666; }
.sb-shop-heading { font-size: 30px !important; color: #333; margin: 0 0 1em !important; }
.sb-shop .wm-structures { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 3.8%; }
.sb-shop .wm-card { all: unset; display: block; margin-bottom: 2.992em; }
.sb-shop-card { display: block; text-align: center; color: #333; }
.sb-shop-img { display: block; border: 1px solid var(--sb-blue); border-bottom-width: 4px; line-height: 0; background: #fff; }
.sb-shop-img img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; display: block; }
.sb-shop-title { font-family: var(--sb-khand) !important; font-weight: 400 !important; font-size: 17px !important; padding: .5em 0 0 !important; color: #333; text-align: center; }
.sb-subcats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 3.8%; }
.sb-subcats .sb-shop-card { margin-bottom: 2.992em; }
.sb-count { background: transparent; color: inherit; }
.sb-product { display: flex; gap: 4%; align-items: flex-start; margin-bottom: 40px; }
.sb-product-gallery { width: 48%; text-align: center; }
.sb-product-gallery img { max-width: 100%; height: auto; }
.sb-product-summary { width: 48%; }
.sb-product-title { font-size: 30px !important; color: #333; }
.sb-product-meta { font-size: 15px; border-top: 0; margin-top: 1em; }
.sb-product-content { font-size: 17px; }
.sb-prod-extra img { max-width: 100%; margin-top: 16px; }
.sb-related h2 { font-size: 26px; color: #333; margin-bottom: 20px; }
.sb-related .wm-structures { grid-template-columns: repeat(3, 1fr); }
.sb-related .sb-shop-title { font-size: 26px !important; }
@media (max-width: 980px) {
  .sb-shop .wm-structures, .sb-subcats { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 767px) {
  .sb-shop .wm-structures, .sb-subcats, .sb-related .wm-structures { grid-template-columns: repeat(2, 1fr); gap: 0 5.5%; }
  .sb-product { display: block; }
  .sb-product-gallery, .sb-product-summary { width: 100%; }
  .sb-related .sb-shop-title { font-size: 20px !important; }
}

/* ---------- plain page (no page builder) ---------- */
.sb-plain .sb-entry-title { font-size: 30px; color: #333; }

/* ---------- footer ---------- */
.sb-footer { background: var(--sb-blue); color: #fff; font-family: var(--sb-pt); }
.sb-footer-widgets { display: flex; padding: 6% 0 0; }
.sb-footer-widget { width: 29.666%; margin-right: 5.5%; margin-bottom: 9.5%; }
.sb-footer-widget:last-child { margin-right: 0; }
.sb-footer, .sb-footer p, .sb-footer a { color: #fff; }
.sb-footer p { padding-bottom: 17px; }
.sb-footer-title { color: #fff !important; font-size: 18px !important; font-weight: 700 !important; }
.sb-footer .wm-menu-list { list-style: none; padding: 0; gap: 0 !important; }
.sb-footer .wm-menu-item { position: relative; padding-left: 1.4em; line-height: 23px; margin-bottom: 23px; }
.sb-footer .wm-menu-item::before { content: ""; position: absolute; left: 0; top: 7px; border-style: solid; border-color: transparent #fefefe; border-width: .35em 0 .35em .45em; }
.sb-footer .wm-menu-item a { font-weight: 500; }
.sb-footer .wm-menu-item a:hover { text-decoration: underline; }
.sb-footer-bottom { background: var(--sb-blue); padding: 15px 0 5px; border-bottom: 10px solid grey; }
.sb-footer-bottom-inner { display: flex; align-items: center; justify-content: space-between; }
.sb-footer-bottom .editorstyles, .sb-footer-bottom [class*="wm-paragraph"] { display: flex; width: 100%; justify-content: space-between; align-items: center; }
.sb-footer-info { font-size: 15px; padding: 0 0 10px !important; }
.sb-footer-fb { color: #353535 !important; }
@media (max-width: 980px) {
  .sb-footer-widgets { flex-wrap: wrap; }
  .sb-footer-widget { width: 47.25%; }
  .sb-footer-widget:nth-child(2n) { margin-right: 0; }
}
@media (max-width: 767px) {
  .sb-footer-widget { width: 100%; margin-right: 0; margin-bottom: 30px; }
  .sb-footer-bottom .editorstyles, .sb-footer-bottom [class*="wm-paragraph"] { flex-direction: column-reverse; align-items: center; text-align: center; }
}

/* ---------- mobile header (Divi: logo left, hamburger right below 981px) ---------- */
@media (max-width: 980px) {
  .sb-topbar-inner { justify-content: center; }
  .sb-header-inner { min-height: 80px; padding: 0 5%; justify-content: space-between; }
  .sb-header .sb-logo img { max-height: 54px; }
  .sb-header .sb-nav { flex: 0; margin-left: auto; justify-content: flex-end; }
  .sb-header .sb-nav .wm-menu-toggle { display: flex; color: var(--sb-blue); }
  .sb-header .sb-nav > .wm-menu-list { display: none; position: absolute; left: 0; right: 0; top: 100%; min-width: 0; border: 0; border-top: 3px solid var(--sb-blue); border-radius: 0; padding: 5%; background: #fff; box-shadow: 0 2px 5px rgba(0, 0, 0, .1); flex-direction: column; align-items: stretch; }
  .sb-header .sb-nav.is-open > .wm-menu-list { display: flex; }
  .sb-header .sb-nav .wm-menu-depth-0 > .wm-menu-item > a { line-height: 1.5; padding: 10px 5%; border-bottom: 1px solid rgba(0, 0, 0, .03); }
  .sb-header .sb-nav .wm-menu-depth-1 { position: static; display: flex; box-shadow: none; padding: 0 0 0 20px; border: 0; min-width: 0; }
  .sb-header .sb-nav .wm-menu-depth-1 a { width: auto; }
}

/* ---------- paragraph blocks: the WEMASY text wrapper (.editorstyles) takes the Divi look ---------- */
.generated.website .wm-menu-list { list-style: none; padding: 0; margin: 0; }
.generated.website .editorstyles { font-family: inherit; font-size: inherit; line-height: inherit; color: inherit; margin: 0; }
.generated.website .editorstyles p { font-size: inherit; margin: 0; min-height: 0; }
.generated.website .editorstyles a { text-decoration: none; color: var(--sb-blue); }
.generated.website .editorstyles :is(ul, ol) { margin: 0; padding: 0 0 23px 1em; }
.generated.website .editorstyles :is(h1, h2, h3, h4, h5, h6) { margin: 0; line-height: 1em; font-weight: 700; color: var(--sb-heading); font-family: var(--sb-khand); }
.generated.website .sb-text .editorstyles :is(h1, h2) { font-weight: 500; color: var(--sb-blue); }
.generated.website .sb-text .editorstyles h2 { line-height: 1.5em; }
.generated.website .sb-text .editorstyles p { padding-bottom: 16px; }
.generated.website .sb-text .editorstyles p:last-child { padding-bottom: 0; }
.generated.website .sb-project .sb-text .editorstyles :is(h1, h2, h3, h4) { color: #333; font-weight: 700; font-size: 18px; line-height: 1em; }
.generated.website .sb-blurb .editorstyles .sb-blurb-title, .generated.website .sb-blurb .editorstyles .sb-blurb-title a { color: #333; font-weight: 300; }
.generated.website .sb-blurb:not(:has(.sb-blurb-image)) .editorstyles .sb-blurb-title { color: var(--sb-blue); font-weight: 500; }
.generated.website .sb-form .editorstyles .sb-form-title { color: var(--sb-blue); font-weight: 300; line-height: 1em; }
.generated.website .sb-form-contact .editorstyles .sb-form-title { font-weight: 600; }
.generated.website .sb-topbar .editorstyles a, .generated.website .sb-footer .editorstyles a { color: #fff; }
.generated.website .sb-footer .editorstyles .sb-footer-title { color: #fff; }
.generated.website .sb-footer .editorstyles p { padding-bottom: 17px; }
.generated.website .sb-footer-bottom .editorstyles .sb-footer-info { padding: 0 0 10px; }
.generated.website .sb-footer-bottom .editorstyles .sb-footer-fb { color: #353535; }
.generated.website .sb-finance .editorstyles .sb-finance-text { font-family: var(--sb-khand); font-size: 23px; font-weight: 500; color: var(--sb-blue); line-height: 1.4; }
.generated.website .sb-plain .editorstyles .sb-entry-title { font-size: 30px; }
.generated.website .sb-portfolio .editorstyles .sb-portfolio-filters a { color: #666; }
.generated.website .sb-portfolio .editorstyles .sb-portfolio-filters a.is-active { color: var(--sb-blue); }
@media (max-width: 767px) { .generated.website .sb-finance .editorstyles .sb-finance-text { font-size: 20px; } }
.generated.website .editorstyles .sb-breadcrumb a { color: #666; }

/* ---------- WEMASY cloud renderer: fonts, menus, text blocks ----------
   The cloud renders text in .editorstyles blocks and menus as .wm-menu-nav. The theme gives p, a and li
   its own font (DefaultContent); here they follow the module they sit in, as on the old site. */
.generated.website { font-family: var(--sb-pt); font-size: 17px; font-weight: 500; line-height: 2.2em; color: var(--sb-text); }
.generated.website .editorstyles :is(p, li, span, strong, em, b, i, td, th, a) { font-family: inherit; }
.generated.website .editorstyles :is(p, li, td, th) { color: inherit; font-size: inherit; line-height: inherit; font-weight: inherit; }
.generated.website .sb-text .editorstyles { font-family: var(--sb-khand); font-size: 16px; line-height: 1.8em; font-weight: 500; color: var(--sb-module-text); }
.generated.website .sb-text .editorstyles :is(ul, ol) li { line-height: 26px; }
.generated.website .sb-project .sb-text, .generated.website .sb-project .sb-text .editorstyles { font-family: var(--sb-pt); font-size: 17px; color: #666; }
.generated.website .sb-footer .editorstyles { font-family: var(--sb-pt); font-size: 17px; line-height: 2.2em; font-weight: 500; color: #fff; }
.generated.website .sb-footer .editorstyles a { color: #fff; text-decoration: none; }
.generated.website .sb-footer-bottom .editorstyles .sb-footer-info { font-size: 15px; color: #fff; }
.generated.website .sb-topbar .editorstyles { font-family: var(--sb-khand); font-weight: 300; font-size: 17px; line-height: 1; }
.generated.website .sb-topbar .editorstyles a { text-decoration: none; font-weight: 300; }
.generated.website .sb-blurb .editorstyles .sb-blurb-title a { font-family: var(--sb-khand); text-decoration: none; }

/* header menu (desktop) */
.sb-header .sb-nav .wm-menu-nav { font-family: var(--sb-khand); color: rgba(0, 0, 0, .6); }
.sb-header .sb-nav .wm-menu-nav__list { gap: 0 !important; }
.generated.website .sb-header .sb-nav .wm-menu-nav--horizontal .wm-menu-nav__list > .wm-menu-nav__item > a.wm-menu-nav__link,
.generated.website .sb-header .sb-nav .wm-menu-nav--horizontal .wm-menu-nav__list > .wm-menu-nav__item > .wm-menu-nav__parent > a.wm-menu-nav__link {
  font-family: var(--sb-khand); font-size: 17px; font-weight: 400; color: rgba(0, 0, 0, .6); padding: 0 11px; line-height: 116px; transition: opacity .3s;
}
.generated.website .sb-header .sb-nav .wm-menu-nav__link:hover { opacity: .7; color: rgba(0, 0, 0, .6); }
.generated.website .sb-header .sb-nav .wm-menu-nav--horizontal a.wm-menu-nav__link--current { color: #a0a0a0; font-weight: 400; }
.generated.website .sb-header .sb-nav a.wm-menu-nav__link--current { font-weight: 400; }
.sb-header .sb-nav .wm-menu-nav__parent svg { width: 14px; height: 14px; margin-left: 2px; }
.sb-header .sb-nav .wm-menu-nav__submenu { margin-top: 0 !important; }
.sb-header .sb-nav .wm-menu-nav__submenu .submenu { min-width: 240px; padding: 20px 0; border-top: 3px solid var(--sb-blue); border-radius: 0; box-shadow: 0 2px 5px rgba(0, 0, 0, .1); background: #fff; }
.sb-header .sb-nav .wm-menu-nav__submenu .shadow-lg, .sb-header .sb-nav .wm-menu-nav__submenu .shadow-xs { box-shadow: none; }
.generated.website .sb-header .sb-nav .wm-menu-nav__submenu a.wm-menu-nav__link { font-family: var(--sb-khand); font-size: 17px; font-weight: 400; color: rgba(0, 0, 0, .6); padding: 6px 20px; line-height: 28px; width: 240px; border-radius: 0; }
.generated.website .sb-header .sb-nav .wm-menu-nav__submenu a.wm-menu-nav__link:hover { background: rgba(0, 0, 0, .03); opacity: .7; }

/* header menu (phone: hamburger right, list under the header) */
.sb-header .sb-nav .wm-menu-nav__hamburger { color: var(--sb-blue); background: transparent !important; }
.sb-header .sb-nav .wm-menu-nav__hamburger svg { width: 32px; height: 32px; }
.sb-header .sb-nav .wm-menu-nav__panel--drawer { background: #fff; border-top: 3px solid var(--sb-blue); box-shadow: 0 2px 5px rgba(0, 0, 0, .1); padding: 5%; }
.generated.website .sb-header .sb-nav .wm-menu-nav__panel--drawer a.wm-menu-nav__link { font-family: var(--sb-khand); font-size: 17px; font-weight: 400; color: rgba(0, 0, 0, .6); line-height: 1.5; padding: 10px 5%; width: 100%; border-bottom: 1px solid rgba(0, 0, 0, .03); }
.sb-header .sb-nav .wm-menu-nav__panel--drawer .wm-menu-nav__item { width: 100%; }

/* footer menus: white links with a small triangle */
.sb-footer .wm-menu-nav { color: #fff; }
.sb-footer .wm-menu-nav__list { gap: 0 !important; }
.sb-footer .wm-menu-nav__item { position: relative; padding-left: 1.4em; line-height: 23px; margin-bottom: 23px; }
.sb-footer .wm-menu-nav__item::before { content: ""; position: absolute; left: 0; top: 7px; border-style: solid; border-color: transparent #fefefe; border-width: .35em 0 .35em .45em; }
.generated.website .sb-footer a.wm-menu-nav__link { font-family: var(--sb-pt); font-size: 17px; font-weight: 500; color: #fff; padding: 0; line-height: 23px; }
.generated.website .sb-footer a.wm-menu-nav__link:hover { text-decoration: underline; color: #fff; }
.sb-footer-widget.sb-footer-menu { padding-top: 10px; }

/* the cloud puts a shortcode's class on its outer container and on its block: layout only on the outer one */
.sb-header .sb-nav .sb-nav, .sb-header .sb-logo .sb-logo { margin: 0 !important; flex: none !important; display: block !important; }
.sb-finance .sb-finance-btn .sb-finance-btn, .sb-finance .shortcode-block-container.sb-finance-btn { background: transparent !important; padding: 0 !important; border-radius: 0 !important; display: block !important; line-height: normal !important; }
.generated.website .sb-finance a.form-button-primary { background: var(--sb-blue); color: #fff; border: 0; border-radius: 9px; font-family: var(--sb-khand); font-size: 20px; font-weight: 400; padding: .3em 1.1em; line-height: 1.7em; text-decoration: none; display: inline-block; box-shadow: none; min-height: 0; height: auto; transition: background-color .3s; }
.generated.website .sb-finance a.form-button-primary:hover { background: var(--sb-blue-dark); color: #fff; }
.sb-footer-bottom-inner > .shortcode-block-container { flex: 1; }
.generated.website .editorstyles :is(ul, ol) { font-family: inherit; color: inherit; font-size: inherit; }
.sb-header .sb-logo img { height: auto !important; max-height: 64px; width: auto !important; }
.generated.website ul.wm-menu-nav__list { padding: 0; margin: 0; list-style: none; line-height: normal; }
.sb-header-inner { padding: 0 10px; }
.sb-header-inner > .sb-nav { margin-left: 103px; }
.sb-header .sb-logo img { max-height: 64px; }
@media (max-width: 980px) {
  .sb-header-inner { padding: 0 42px; min-height: 80px; }
  .sb-header .sb-logo img { max-height: 43px; }
  .sb-header-inner > .sb-nav { margin-left: auto; }
}
.sb-blurb-image img { aspect-ratio: 178 / 133; object-fit: cover; }
.sb-header .sb-nav .wm-menu-nav__panel--drawer .wm-menu-nav__submenu .submenu { border-top: 0; box-shadow: none; padding: 0 0 0 20px; min-width: 0; }
.generated.website .sb-header .sb-nav .wm-menu-nav__panel--drawer .wm-menu-nav__submenu a.wm-menu-nav__link { width: auto; }

/* forms as the cloud renders them (one wrapper per field in .col-span-12) */
.sb-form .grid.grid-cols-12 { display: block; }
.sb-form .col-span-12 { display: flex; flex-wrap: wrap; column-gap: 3%; }
.sb-form .col-span-12 > div { width: 100%; }
.sb-form-contact .col-span-12 > div:nth-child(-n+4) { width: 48.5%; }
.sb-form-offerte .col-span-12 > div:has(textarea), .sb-form-brochure .col-span-12 > div:has(textarea) { width: 48.5%; }
.sb-form .items-start.mb-6 { margin-bottom: 3%; }
.sb-form .col-span-12 .items-start.mb-6 { margin-bottom: 20px; }
.sb-form-offerte .col-span-12 .items-start.mb-6, .sb-form-brochure .col-span-12 .items-start.mb-6 { margin-bottom: 18px; }
.generated.website .sb-form :is(.form-input, .form-textarea, select) { width: 100%; box-sizing: border-box; border: 1px solid #333; border-radius: 0; background: #fff; color: #a0a0a0; font-family: var(--sb-khand); font-size: 18px; font-weight: 400; padding: 6px 16px; line-height: 1.6; box-shadow: none; height: auto; min-height: 0; }
.generated.website .sb-form :is(.form-input, .form-textarea)::placeholder { color: #a0a0a0; font-family: var(--sb-khand); opacity: 1; }
.generated.website .sb-form :is(.form-input, .form-textarea):focus { border-color: #333; box-shadow: none; outline: 0; color: #333; }
.generated.website .sb-form .form-textarea { min-height: 150px; padding-top: 16px; }
.generated.website .sb-form-contact :is(.form-input, .form-textarea) { padding: 16px; }
.generated.website .sb-form button.form-button-primary { background: var(--sb-blue); color: #fff; border: 0; border-radius: 9px; font-family: var(--sb-khand); font-weight: 300; font-size: 20px; padding: .3em 1em; line-height: 1.7em; height: auto; min-height: 0; box-shadow: none; cursor: pointer; transition: background-color .3s; }
.generated.website .sb-form button.form-button-primary:hover { background: var(--sb-blue-dark); }
.sb-form-offerte .flex.justify-end, .sb-form-brochure .flex.justify-end { justify-content: flex-start; padding-left: 80px; }
@media (max-width: 767px) {
  .sb-form-contact .col-span-12 > div:nth-child(-n+4), .sb-form-offerte .col-span-12 > div:has(textarea), .sb-form-brochure .col-span-12 > div:has(textarea) { width: 100%; }
}

/* listings ([wemasy-structures]) as the cloud renders them: a .grid of cards */
.sb-portfolio .grid.grid, .sb-shop .grid.grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 5.5%; }
.sb-portfolio .grid.grid { row-gap: 40px; }
.sb-shop .grid.grid { column-gap: 3.8%; }
.sb-shop .grid.grid > .c_w { margin-bottom: 2.992em; }
.sb-related .grid.grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sb-archive .grid.grid { display: block; }
.generated.website .sb-portfolio .editorstyles .sb-pf-title { font-size: 18px; padding: 10px 0 0; color: #333; line-height: 1em; }
.generated.website :is(.sb-shop, .sb-related) .editorstyles .sb-shop-title { font-family: var(--sb-khand); font-weight: 400; color: #333; line-height: 1em; }
.generated.website .sb-archive .editorstyles .sb-post-title { font-size: 26px; line-height: 1em; }
.generated.website .sb-archive .editorstyles .sb-post-title a, .generated.website :is(.sb-shop, .sb-related, .sb-portfolio) .editorstyles a { color: #333; text-decoration: none; }
.generated.website .sb-archive .editorstyles .sb-post-meta { font-size: 14px; }
.generated.website .sb-archive .editorstyles .sb-post-excerpt { font-size: 17px; }
.generated.website .sb-shop .editorstyles .sb-breadcrumb, .generated.website .sb-shop .sb-breadcrumb { font-size: 15px; color: #666; }
.generated.website .sb-shop .sb-breadcrumb a { color: #666; text-decoration: none; }
@media (max-width: 980px) { .sb-portfolio .grid.grid, .sb-shop .grid.grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .sb-portfolio .grid.grid, .sb-shop .grid.grid, .sb-related .grid.grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 5.5%; } }
@media (max-width: 479px) { .sb-portfolio .grid.grid { grid-template-columns: 1fr; } }
.generated.website .sb-form-offerte .form-textarea, .generated.website .sb-form-brochure .form-textarea { height: 150px; }
.generated.website .editorstyles :is(h1, h2, h3, h4, h5, h6) a { font-size: inherit; font-weight: inherit; line-height: inherit; font-family: inherit; margin: 0; }
.generated.website .sb-archive .editorstyles .sb-post-excerpt .sb-post-meta { font-size: 14px; padding: 0 0 6px; }
.sb-footer-widgets { padding-top: 69px; }
.sb-footer-widget { margin-bottom: 63px; }
@media (max-width: 767px) { .sb-footer-widgets { padding-top: 40px; } .sb-footer-widget { margin-bottom: 30px; } }
