/* WPBakery (js_composer) and Porto output inside imported content, read cleanly in the reading column, plus width guards
   for legacy embeds and tables. Loaded only when the content contains vc_ markup, embeds or tables. The plugin stays active at launch, so these rules
   must also hold when its own sheet is present: layout is reset here and spans are simplified, because
   the column is only 680px wide. */
.wpb-content-wrapper{display:block;min-width:0}
.vc_row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13.5rem),1fr));gap:var(--s40) var(--df-gutter);margin:0 0 var(--s50);padding:0;min-width:0;max-width:100%}
.vc_row::before,.vc_row::after,.vc_row-fluid::before,.vc_row-fluid::after{content:none;display:none}
.vc_row.vc_inner{margin-block-end:var(--s40)}
.vc_column_container,.wpb_column,.vc_column_container > .vc_column-inner{float:none;width:auto;min-width:0;margin:0;padding:0;position:static}
.vc_column-inner > .wpb_wrapper > * + *,.wpb_wrapper > * + *{margin-block-start:.9em}
/* wide columns take the whole row; the others share it */
:is(.vc_col-sm-8,.vc_col-sm-9,.vc_col-sm-10,.vc_col-sm-11,.vc_col-sm-12,.vc_col-md-8,.vc_col-md-9,.vc_col-md-10,.vc_col-md-11,.vc_col-md-12,.vc_col-lg-8,.vc_col-lg-9,.vc_col-lg-10,.vc_col-lg-11,.vc_col-lg-12){grid-column:1 / -1}
:is([class*="vc_col-sm-offset"],[class*="vc_col-md-offset"],[class*="vc_col-lg-offset"]){margin-inline-start:0}
.vc_row [class*="vc_hidden"]{display:none}
@media (min-width:760px){.vc_row [class*="vc_hidden-"]:not(.vc_hidden-xs){display:none}}
@media (max-width:759px){.vc_row .vc_hidden-xs{display:none}}
/* rows WPBakery's script stretches to the viewport must stay inside the column (its script writes inline left/width) */
.vc_row[data-vc-full-width]{position:static !important;left:auto !important;width:auto !important;max-width:100% !important;margin-inline:0 !important;padding-inline:0 !important}
.vc_row[data-vc-stretch-content]{padding-inline:0 !important}
.vc_row.vc_row-has-fill,.vc_row[class*="vc_custom_"]{padding-inline:0}
.vc_parallax,.vc_video-bg{display:none}
/* animations wait for a script; show the content at once */
.wpb_animate_when_almost_visible,.wpb_appear,.vc_animated{opacity:1;animation:none}
/* text, headings, spacers, dividers */
.wpb_text_column :is(p,ul,ol){max-width:none}
.wpb_text_column > .wpb_wrapper > * + *{margin-block-start:.9em}
.vc_custom_heading{font-size:var(--fs-xl);line-height:1.2;letter-spacing:-.015em;margin:0;color:var(--ink)}
:is(h1,h2,h3,h4,h5,h6).vc_custom_heading{font-weight:600}
.vc_empty_space{display:block;max-height:80px;overflow:hidden}
.vc_empty_space_inner{display:block}
.vc_separator{display:flex;align-items:center;gap:var(--s30);margin-block:var(--s40)}
.vc_separator .vc_sep_holder{flex:1 1 0;display:block;min-width:0}
.vc_separator .vc_sep_line{display:block;height:0;border-block-start:1px solid var(--line)}
.vc_separator.vc_sep_width_50{max-width:50%}
.vc_separator.vc_separator_align_center{margin-inline:auto}
.vc_separator:not(.vc_separator-has-text) .vc_sep_holder_r{display:none}
.vc_separator h4{margin:0;font-size:var(--fs-m)}
/* images */
.wpb_single_image{margin:0}
.wpb_single_image .vc_figure,.wpb_single_image .vc_single_image-wrapper{display:block;margin:0;max-width:100%}
.wpb_single_image :is(img,.vc_single_image-img){display:block;max-width:100%;height:auto;border-radius:2px}
.wpb_single_image .vc_box_border_grey,.wpb_single_image .vc_box_border{border:var(--hl)}
.wpb_single_image.vc_align_center{text-align:center}
.wpb_single_image.vc_align_center :is(img,.vc_single_image-wrapper){margin-inline:auto}
.wpb_single_image.vc_align_right :is(img,.vc_single_image-wrapper){margin-inline-start:auto}
.wpb_single_image .vc_figure-caption{font-size:var(--fs-s);color:var(--mute);margin-block-start:6px}
.wpb_video_wrapper,.wpb_video_widget .wpb_wrapper{max-width:100%}
.wpb_video_wrapper iframe,.wpb_content_element iframe{max-width:100%}
/* buttons and gallery items */
.vc_btn3-container{margin:0}
.vc_btn3,.vc_general.vc_btn3{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid var(--acc);border-radius:0;background:var(--acc);color:var(--df-on-accent);font:600 var(--fs-m)/1.3 var(--font);text-decoration:none}
.vc_btn3:hover{background:var(--df-hover);border-color:var(--df-hover);color:var(--df-on-accent)}
.vc_btn3-block{display:flex;width:100%}
/* Porto content boxes and icon boxes that WPBakery shortcodes produced on the live site */
.porto-ultimate-content-box{padding:var(--s40);border:var(--hl);border-radius:2px;background:var(--df-surface);height:100%}
.porto-ultimate-content-box :is(img,iframe){max-width:100%;height:auto}
.porto-sicon-box{display:grid;gap:var(--s30);text-align:start}
.porto-sicon-box .porto-just-icon-wrapper{font-size:inherit;line-height:0;display:block}
.porto-sicon-box :is(.porto-sicon-img,.porto-just-icon-wrapper) img{display:block;width:100%;height:auto;border-radius:2px}
.porto-sicon-title{font-size:var(--fs-l);line-height:1.3;margin:0;color:var(--ink)}
.porto-sicon-description{color:var(--mute);font-size:var(--fs-m)}
.porto-btn-ctn-center,.porto-btn-ctn-left,.porto-btn-ctn-right{margin-block-start:var(--s30);text-align:start}
.porto-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid var(--acc);border-radius:0;background:var(--acc);color:var(--df-on-accent);font:600 var(--fs-m)/1.3 var(--font);text-decoration:none}
.porto-btn:hover{background:var(--df-hover);border-color:var(--df-hover);color:var(--df-on-accent)}
.porto-btn :is(i,.porto-btn-icon){display:none}
/* inline styles from the page builder use fixed light-theme colours; follow the reader's theme instead */
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) :is(.wpb-content-wrapper,.vc_row) :is([style*=" color:"],[style^="color:"],[style*=";color:"]){color:inherit !important}}
:root[data-theme="dark"] :is(.wpb-content-wrapper,.vc_row) :is([style*=" color:"],[style^="color:"],[style*=";color:"]){color:inherit !important}
/* fixed inline sizes (for example font-size:24px on a paragraph) keep the reading scale */
.wpb-content-wrapper :is(p,div,span)[style*="font-size"]{font-size:max(1em,min(1.35em,1.5rem)) !important}
.wpb-content-wrapper [style*="width"]:not(img,.vc_separator,.vc_sep_holder){max-width:100%}
.wpb-content-wrapper :is(img,svg,video,canvas){max-width:100%;height:auto}
.wpb-content-wrapper :is(table){display:block;max-width:100%;overflow-x:auto}
/* legacy embeds and tables from older posts: fixed width attributes must not push the page wider than the screen */
:is(.df-prose,.wp-block-post-content) :is(iframe,embed,object,video){max-width:100%}
:is(.df-prose,.wp-block-post-content) iframe:is([src*="youtube"],[src*="youtu.be"],[src*="vimeo"],[src*="facebook.com/plugins/video"]){width:100%;height:auto;aspect-ratio:16 / 9}
:is(.df-prose,.wp-block-post-content) :is(p,li,h2,h3){overflow-wrap:anywhere}
/* a dek or excerpt built from unrendered shortcodes has long unbroken tokens */
.wp-block-post-excerpt__excerpt,.df-dek{overflow-wrap:anywhere}
