/* MG: Desktop and base styles for Dean Textiles. Sizes are vw from the mockup width of 1536 (a 1920 screen at 125% scaling). MG1536 */

/* MG: Base */
/* MG: Links to a section (#glossary and the like) stop below the sticky header. */
html{scroll-behavior:smooth;scroll-padding-top:calc(7.161vw + var(--wp-admin--admin-bar--height,0px))}
body{-webkit-font-smoothing:antialiased;background:var(--mg-ground)}
a,a:hover,a:active{color:inherit}
:focus-visible{outline:2px solid var(--mg-madder);outline-offset:3px}
h1,h2,h3,h4{text-wrap:balance}
.elementor em{font-style:italic}
/* MG: Arrows are not part of the web fonts, so they fall back to the system monospace font, as in the template. */
[class*="mg-btn"] span,.mg-link span,.mg-t-link span,.mg-menu-cta span,.mg-arr{font-family:var(--mg-font-mono),ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	*{animation:none!important;transition:none!important}
}

/* MG: Header */
:is(header,div):has(> .mg-header){position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:40}
.mg-logo img{display:block;width:100%;height:auto}
.mg-nav .elementor-nav-menu--main .elementor-item{border-bottom:1px solid transparent}
.mg-nav .elementor-nav-menu--main .elementor-item.elementor-item-active,
.mg-nav .elementor-nav-menu--main .current-menu-parent > .elementor-item,
.mg-nav .elementor-nav-menu--main .current-menu-ancestor > .elementor-item{color:var(--mg-ink);border-bottom-color:var(--mg-madder)}
.mg-nav .elementor-nav-menu--main .mg-menu-cta{display:none}
.mg-nav .elementor-nav-menu--main li:has(+ .mg-menu-cta) > .elementor-item{margin-inline-end:0}

/* MG: Atomic button reset (Hello theme button styles) */
.elementor :where(button.e-button-base){font:inherit;letter-spacing:inherit;text-transform:inherit;white-space:normal;border:0;border-radius:0;transition:none}
.elementor :where(button.e-button-base):hover,.elementor :where(button.e-button-base):focus{background-color:transparent;color:inherit}

/* MG: Footer */
.mg-foot-line em{color:var(--mg-madder)}
.mg-foot-copy span{font-family:var(--mg-font-mono);font-size:0.651vw;letter-spacing:.12em;text-transform:uppercase;color:var(--mg-muted)}
.mg-foot-val:hover,.mg-foot-link:hover{text-underline-offset:5px;text-decoration-thickness:1px}
.mg-foot-mark.mg-woven{color:transparent;-webkit-background-clip:text;background-clip:text;background-repeat:repeat}

/* MG: Shared */
:root{--mg-ease:cubic-bezier(.2,0,0,1)}
.mg-statement em{color:var(--mg-madder)}

/* MG: Image frames. A woven or knitted canvas shows until a photo is set in Elementor. */
.mg-media canvas.mg-cloth{position:absolute;inset:0;width:100%;height:100%;display:block}
.mg-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,20,30,0) 45%,rgba(15,20,30,.28));pointer-events:none}
.mg-media.mg-tone::after{background:linear-gradient(180deg,rgba(15,20,30,.18),rgba(15,20,30,.62))}
/* MG: A real photo sits above the bottom shade, as in the template. */
.mg-media.mg-has-img:not(.mg-tone)::after{display:none}
.mg-media img[src*="placeholder"]{display:none}
.mg-media.mg-has-img canvas.mg-cloth{display:none}
.mg-fabric-name[hidden],.mg-hidden{display:none}

/* MG: Loom hero (home weave, knitwear knit) */
body.admin-bar .mg-loom-stage,body.admin-bar .mg-rail-stage{top:calc(5.469vw + var(--wp-admin--admin-bar--height,0px));height:calc(100svh - 5.469vw - var(--wp-admin--admin-bar--height,0px))}
.mg-loom-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1}
.mg-loom-scrim{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(12,16,26,.66),rgba(12,16,26,.18) 62%,rgba(12,16,26,0));opacity:0;transition:opacity .7s var(--mg-ease);pointer-events:none}
.mg-loom-hud{position:absolute;z-index:3;left:0;top:0;font-family:var(--mg-font-mono);font-size:0.684vw;line-height:1.65;letter-spacing:.12em;text-transform:uppercase;color:var(--mg-ink);opacity:.82;pointer-events:none;white-space:nowrap;transition:opacity .4s,color .6s;background:color-mix(in srgb,var(--mg-band) 82%,transparent);padding:0.26vw 0.456vw}
.mg-loom-copy .mg-eyebrow{color:inherit;opacity:.7}
.mg-loom-title em{color:var(--mg-madder);transition:color .6s var(--mg-ease)}
.mg-loom-stages > *{opacity:.38;transition:opacity .4s var(--mg-ease);display:flex;align-items:center;gap:0.521vw}
.mg-loom-stages > *::before{content:"";width:0.391vw;height:0.391vw;border-radius:50%;border:1px solid currentColor}
.mg-loom-stages > .mg-on{opacity:1}
.mg-loom-stages > .mg-on::before{background:var(--mg-madder);border-color:var(--mg-madder);box-shadow:0 0 0.651vw var(--mg-madder)}
.mg-loom-stage.mg-on-image .mg-loom-hud{opacity:0!important}
.mg-loom-stage.mg-on-image .mg-loom-copy{color:var(--mg-light)}
.mg-loom-stage.mg-on-image .mg-loom-title em{color:var(--mg-accent-soft)}
.mg-loom-stage.mg-on-image .mg-loom-scrim{opacity:1}

/* MG: Statement that inks in */
.mg-words .mg-w{color:var(--mg-rule-strong);transition:color .5s var(--mg-ease)}
.mg-words .mg-w.mg-on{color:var(--mg-ink)}
.mg-words em .mg-w.mg-on{color:var(--mg-madder)}

/* MG: Division cards, thread and opening banner */
.mg-division .mg-media canvas,.mg-division .mg-media img{transform:translateY(var(--mg-py,0%)) scale(1.14)}
.mg-division:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.521vw}
.mg-div-thread{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:3}
.mg-div-thread polyline{fill:none;stroke:var(--mg-madder);stroke-width:1.6;stroke-dasharray:7 6;stroke-linecap:round}
.mg-div-thread circle{fill:var(--mg-madder);filter:drop-shadow(0 0 6px var(--mg-madder))}
.mg-expand{will-change:clip-path}

/* MG: Product rail and product cards */
.mg-rail-bar-fill{width:var(--mg-rp,0%)}
.mg-rail-track > *{flex:0 0 min(24vw,calc((100svh - 26.303vw) * .75))}
.mg-rail.mg-native .mg-rail-stage{position:static;height:auto;min-height:0;padding-block:8vw}
.mg-rail.mg-native .mg-rail-track{overflow-x:auto;scroll-snap-type:x mandatory;transform:none!important;padding-bottom:0.781vw}
.mg-rail.mg-native .mg-rail-track > *{scroll-snap-align:start}
.mg-code .mg-fabric-name::before{content:"· ";white-space:pre}
.mg-pcard .mg-media{transform:skewY(var(--mg-skew,0deg));transform-origin:center;transition:transform .9s var(--mg-ease)}
.mg-pcard:hover .mg-media img,.mg-pcard:hover .mg-media canvas{transform:scale(1.025);transition:transform 1.2s var(--mg-ease)}
a.mg-card:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.391vw}

/* MG: Tarrit */
.mg-tarrit .mg-media{background-color:var(--mg-t-media)}

/* MG: Stitch rail and thread cursor */
.mg-stitch-rail{position:fixed;top:0;bottom:0;left:calc(3vw - 1px);width:2px;pointer-events:none;z-index:1}
.mg-stitch-rail i{position:absolute;inset:0;background:repeating-linear-gradient(to bottom,var(--mg-rule-strong) 0 6px,transparent 6px 12px);opacity:.45}
.mg-stitch-rail b{position:absolute;inset:0;background:repeating-linear-gradient(to bottom,var(--mg-madder) 0 6px,transparent 6px 12px);clip-path:inset(0 0 calc(100% - var(--mg-p,0%)) 0)}
.mg-thread-cursor{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:80}

@media (prefers-reduced-motion:reduce){
	.mg-loom{height:auto!important}
	.mg-loom-stage{position:relative!important;top:0!important;height:min(88svh,53.385vw)!important}
	.mg-words .mg-w{color:inherit}
	.mg-pcard .mg-media{transform:none}
}

/* MG: Tarrit image unbuttons */
.mg-placket{position:absolute;left:50%;top:5%;bottom:5%;width:0;display:flex;flex-direction:column;justify-content:space-between;align-items:center;pointer-events:none;z-index:4}
.mg-placket::before{content:"";position:absolute;top:-5%;bottom:-5%;left:0;border-left:1px solid var(--mg-t-line)}
.mg-placket i{width:1.041vw;height:1.041vw;flex:none;box-shadow:0 1px 3px rgba(0,0,0,.25);border-radius:50%;background:var(--mg-t-bg);border:1.5px solid var(--mg-t-accent);transform:translateX(calc(var(--mg-sp,0px) * -1));position:relative}
.mg-placket i::after{content:"";position:absolute;inset:0.195vw;border-radius:50%;background:radial-gradient(circle,var(--mg-t-accent) 0 1px,transparent 1.5px) 0 0/3px 3px}

/* MG: To be confirmed markers. Use underline (u) on any text the client still has to supply. */
.elementor u{font-family:var(--mg-font-mono);font-size:.8em;color:var(--mg-muted);text-decoration:none;border-bottom:1px dotted currentColor;font-style:normal;text-transform:none;overflow-wrap:anywhere}

/* MG: Page hero with text over the image */
.mg-hero-title em{color:var(--mg-accent-soft)}

/* MG: Shirt anatomy */
.mg-anatomy-art svg{width:100%;height:auto;max-width:33.854vw;display:block;margin-inline:auto}
.mg-anatomy-art .mg-outline{fill:#FFFFFF;stroke:var(--mg-ink);stroke-width:1.2;stroke-linejoin:round}
.mg-anatomy-art .mg-seam{fill:none;stroke:var(--mg-muted);stroke-width:1;stroke-dasharray:3 3}
.mg-anatomy-art .mg-btnc{fill:#FFFFFF;stroke:var(--mg-ink);stroke-width:1}
.mg-hs{cursor:pointer;transform-box:fill-box;transform-origin:center}
.mg-hs circle{fill:#FFFFFF;stroke:var(--mg-madder);stroke-width:1.4}
.mg-hs text{fill:var(--mg-madder);font:500 10px var(--mg-font-mono);text-anchor:middle;dominant-baseline:central;pointer-events:none}
.mg-hs.mg-on circle,.mg-hs:hover circle{fill:var(--mg-madder)}
.mg-hs.mg-on text,.mg-hs:hover text{fill:#FFFFFF}
.mg-hs:focus{outline:none}
.mg-hs:focus-visible circle{stroke-width:3}
.mg-detail-item:last-child{border-bottom:1px solid var(--mg-band-rule)}
.mg-detail-item.mg-on .mg-detail-d{display:block}
.mg-detail-btn:focus-visible{outline:2px solid var(--mg-madder);outline-offset:2px}

/* MG: Ledger tables (Text Editor element with the class mg-table) */
.mg-table{overflow-x:auto}
.mg-table table{width:100%;min-width:41.666vw;border-collapse:collapse;font-size:1.009vw;line-height:1.65;margin:0;border:0}
.mg-table table th{font-family:var(--mg-font-mono);font-size:0.716vw;letter-spacing:.1em;text-transform:uppercase;color:var(--mg-muted);text-align:left;font-weight:400;line-height:1.65;padding:0 1.302vw 1.041vw 0;border:0;background:none}
.mg-table table td{padding:1.302vw 1.302vw 1.302vw 0;border:0;border-top:1px solid var(--mg-rule);vertical-align:top;line-height:1.65;color:var(--mg-ink-2);background:none}
/* MG: The Hello theme reset draws a line above the header row; the template has none. */
.mg-table table thead:first-child tr:first-child th,.mg-table table thead tr:first-child th{border:0}
.mg-table table td:first-child{color:var(--mg-ink)}
.mg-table table tbody > tr:nth-child(odd) > td,.mg-table table tbody tr:hover > td{background:none}
.mg-table a{text-underline-offset:4px;text-decoration-thickness:1px;text-decoration-line:underline}

/* MG: Fabric library swatches */
.mg-swatch canvas.mg-sw{width:100%;aspect-ratio:1;display:block;max-width:100%;transform-origin:center;will-change:transform,filter}
.mg-focus-tag{position:absolute;left:0.651vw;top:0.651vw;font-family:var(--mg-font-mono);font-size:0.651vw;line-height:1.65;letter-spacing:.1em;text-transform:uppercase;background:rgba(15,20,30,.6);color:#F1ECE1;padding:0.26vw 0.456vw;pointer-events:none}
.mg-spec-tag > * + *::before{content:"·";margin-right:0.651vw;opacity:.6}

/* MG: Links inside running text */
.elementor p a{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.elementor .mg-cols-2 > p + p{margin-top:1.1em}

/* MG: Lists with rules */
.mg-divlist-item:last-child{border-bottom:1px solid var(--mg-rule)}
.mg-divlist-link:hover .mg-d3{font-style:italic}
.elementor .mg-body-copy > p + p{margin-top:1.1em}

/* MG: Process timeline that stitches itself */
.mg-steps::before{content:"";position:absolute;left:1.238vw;top:1.954vw;bottom:1.954vw;right:auto;width:2px;height:auto;background:repeating-linear-gradient(to bottom,var(--mg-rule-strong) 0 6px,transparent 6px 12px);opacity:1}
.mg-steps::after{content:"";position:absolute;left:1.238vw;top:1.954vw;width:2px;height:calc((100% - 3.906vw) * var(--mg-spf,1));background:repeating-linear-gradient(to bottom,var(--mg-madder) 0 6px,transparent 6px 12px)}
.mg-step-knot{transition:background-color .35s var(--mg-ease),color .35s var(--mg-ease),transform .5s var(--mg-ease)}
.mg-step.mg-open .mg-step-body{display:grid}
.mg-step.mg-open .mg-step-knot{background-color:var(--mg-madder);color:var(--mg-ground)}
.mg-step.mg-passed .mg-step-knot{background-color:var(--mg-madder);color:var(--mg-ground);transform:scale(1.12)}
.mg-step-head:focus-visible{outline:2px solid var(--mg-madder);outline-offset:2px}
.mg-proc-hud{position:fixed;right:6vw;bottom:1.563vw;z-index:30;display:flex;gap:0.911vw;align-items:center;font-family:var(--mg-font-mono);font-size:0.716vw;line-height:1.65;letter-spacing:.12em;text-transform:uppercase;background:var(--mg-ink);color:var(--mg-ground);padding:0.716vw 1.041vw;opacity:0;transform:translateY(0.781vw);transition:opacity .4s var(--mg-ease),transform .4s var(--mg-ease);pointer-events:none}
.mg-proc-hud.mg-show{opacity:1;transform:none}
.mg-proc-hud .mg-ph-n{color:var(--mg-madder);filter:brightness(1.4)}

/* MG: Questions that open and close */
.mg-faq-group:first-child{margin-top:0}
.mg-faq-item:last-child{border-bottom:1px solid var(--mg-rule)}
.mg-faq-q::after{content:"+";position:static;width:auto;height:auto;font-family:var(--mg-font-mono);font-size:1.041vw;color:var(--mg-muted)}
.mg-faq-item.mg-open .mg-faq-q::after{content:"\2212"}
.mg-faq-item.mg-open .mg-faq-a{display:block}
.mg-faq-q:focus-visible{outline:2px solid var(--mg-madder);outline-offset:2px}

/* MG: Filter tabs (built by js/mg-main.js) */
.mg-tab{font:400 0.977vw/normal var(--mg-font-text);background:none;border:0;border-bottom:1px solid transparent;border-radius:0;padding:0.26vw 0;color:var(--mg-muted);cursor:pointer;white-space:nowrap;transition:none}
.mg-tab:hover,.mg-tab:focus{background:none;color:var(--mg-muted)}
.mg-tab[aria-pressed="true"]{color:var(--mg-ink);border-bottom-color:var(--mg-ink)}
.mg-tab-count{font-family:var(--mg-font-mono);font-size:0.716vw;margin-left:0.391vw}
.mg-filter-grid > [hidden],.mg-term[hidden]{display:none!important}

/* MG: Product page */
.mg-crumb a{text-decoration:none}
.mg-crumb a:hover{color:var(--mg-ink)}
.mg-fits span{border:1px solid var(--mg-rule-strong);padding:0.456vw 0.911vw;font-size:0.911vw;border-radius:999px}
body.admin-bar .mg-pd-info,body.admin-bar .mg-toc{top:calc(7.813vw + var(--wp-admin--admin-bar--height,0px))}
.mg-sitemap-link:hover{text-underline-offset:5px}

/* MG: Glossary search (label and input built by js/mg-main.js) */
.mg-gl-label{display:block;font-family:var(--mg-font-mono);font-size:0.749vw;line-height:1.65;letter-spacing:.14em;text-transform:uppercase;color:var(--mg-muted)}
input.mg-gl-input{width:100%;max-width:33.854vw;font:400 1.172vw/normal var(--mg-font-text);padding:1.042vw 0;border:0;border-bottom:1px solid var(--mg-ink);background:transparent;color:var(--mg-ink);border-radius:0}
input.mg-gl-input:focus{outline:none;border-bottom-width:2px}

/* MG: Article and legal text. .mg-toc is filled by js/mg-main.js from the h2 headings of .mg-prose. */
.mg-toc a{text-decoration:none;color:var(--mg-ink-2)}
.mg-toc-label{font-family:var(--mg-font-mono);font-size:0.749vw;line-height:1.65;letter-spacing:.14em;text-transform:uppercase;color:var(--mg-muted);margin-bottom:0.521vw}
.mg-prose h2{font-family:var(--mg-font-display);font-weight:400;font-size:2.6vw;line-height:1.1;color:var(--mg-ink);margin:2.6em 0 .6em}
.mg-prose h2:first-child{margin-top:0}
.mg-prose .mg-lede + h2{margin-top:2em}
.mg-prose h2 .mg-i{font-family:var(--mg-font-mono);font-size:0.781vw;color:var(--mg-madder);letter-spacing:.06em;margin-right:0.911vw;vertical-align:middle}
.mg-prose p{margin:0}
.mg-prose p + p{margin-top:1.1em}
.mg-prose .mg-pull{font-family:var(--mg-font-display);font-size:3.125vw;line-height:1.12;color:var(--mg-ink);margin:2em 0}
/* MG: Image frames typed into article text carry their own frame styles, because Elementor only loads the global classes used by elements. */
.mg-prose .mg-media{margin:2.4em 0;width:100%;max-width:100%;overflow:hidden;position:relative;background-color:var(--mg-band-2)}
.mg-prose .mg-r-32{aspect-ratio:3/2}
.mg-prose .mg-r-11{aspect-ratio:1/1}
.mg-prose .mg-r-34{aspect-ratio:3/4}
.mg-prose .mg-r-banner{aspect-ratio:21/9}
.mg-prose ul{padding-left:1.2em;display:grid;gap:0.651vw;margin:1em 0}
.mg-prose a{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.mg-prose .mg-table{margin:1.6em 0}
.mg-prose .mg-lede{font-size:1.367vw;line-height:1.6;max-width:none;color:var(--mg-ink-2)}
.mg-prose .mg-cta{margin-top:3em}
.mg-sources{margin-top:3em;padding-top:1.563vw;border-top:1px solid var(--mg-rule);font-size:0.944vw;color:var(--mg-muted)}
.mg-sources ol{padding-left:1.2em;display:grid;gap:0.521vw;margin:0.781vw 0 0}
.mg-sources-label{font-family:var(--mg-font-mono);font-size:0.749vw;letter-spacing:.14em;text-transform:uppercase}

.mg-prose .elementor-widget-theme-post-content,.mg-prose .elementor-widget-text-editor{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;font-weight:inherit}

/* MG: Start a project form (Elementor Form element with the class mg-rfq-form) */
.mg-progress-item.mg-now{color:var(--mg-ink)}
.mg-progress-item.mg-now .mg-progress-i,.mg-progress-item.mg-done .mg-progress-i{color:var(--mg-madder)}
.mg-rfq-form .elementor-form .elementor-form-fields-wrapper{display:block;margin:0}
.mg-rfq-form .e-form__step{display:grid;grid-template-columns:1fr 1fr;gap:1.823vw;width:100%;padding:0;margin:0}
.mg-rfq-form .e-form__step.elementor-hidden{display:none}
.mg-rfq-form .elementor-form .e-form__step > .elementor-field-group{width:auto;max-width:none;padding:0;margin:0;display:grid;gap:0.651vw;align-content:start;grid-column:1/-1}
.mg-rfq-form .elementor-form .e-form__step > .elementor-field-group.elementor-col-50{grid-column:auto}
.mg-rfq-form .mg-legend{grid-column:1/-1;font-family:var(--mg-font-display);font-weight:400;font-size:3.125vw;line-height:1.05;margin:0 0 -1.042vw}
.mg-rfq-form .elementor-field-group > .elementor-field-label{font-family:var(--mg-font-text);font-weight:500;font-size:1.009vw;line-height:1.65;color:var(--mg-ink);padding:0;margin:0}
.mg-rfq-form .elementor-field-group .elementor-field-textual{font:400 1.107vw/normal var(--mg-font-text);padding:0.911vw 0;border:0;border-bottom:1px solid var(--mg-rule-strong);background:transparent;color:var(--mg-ink);border-radius:0;width:100%;min-height:0;box-shadow:none}
.mg-rfq-form .elementor-field-group .elementor-field-textual:focus{border-bottom-color:var(--mg-ink);outline:none;box-shadow:none}
.mg-rfq-form .elementor-field-group .elementor-select-wrapper{width:100%}
.mg-rfq-form .elementor-field-group .elementor-select-wrapper select{appearance:auto;padding-right:0.521vw}
.mg-rfq-form .elementor-select-wrapper .select-caret-down-wrapper{display:none}
.mg-rfq-form .elementor-field-group .elementor-upload-field{font:400 0.868vw/normal var(--mg-font-text);padding:0;border:0;width:100%;color:var(--mg-ink)}
.mg-rfq-form .elementor-field-subgroup{display:flex;flex-wrap:wrap;gap:0.521vw}
.mg-rfq-form .elementor-field-subgroup .elementor-field-option{position:relative;display:block;margin:0;padding:0}
.mg-rfq-form .elementor-field-subgroup .elementor-field-option input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.mg-rfq-form .elementor-field-subgroup .elementor-field-option label{display:inline-block;padding:0.651vw 1.042vw;border:1px solid var(--mg-rule-strong);font-size:0.977vw;line-height:1.65;border-radius:999px;cursor:pointer}
.mg-rfq-form .elementor-field-subgroup .elementor-field-option input:checked + label{background:var(--mg-ink);color:var(--mg-ground);border-color:var(--mg-ink)}
.mg-rfq-form .elementor-field-subgroup .elementor-field-option input:focus-visible + label{outline:2px solid var(--mg-madder);outline-offset:2px}
.mg-rfq-form .e-form__step > .e-form__buttons{grid-column:1/-1;display:flex;gap:0.781vw;justify-content:space-between;flex-wrap:wrap;margin:-0.26vw 0 0;padding:0;width:auto}
.mg-rfq-form .elementor-form .e-form__buttons .e-form__buttons__wrapper{padding:0;margin:0;width:auto;flex:none}
.mg-rfq-form .elementor-form .e-form__buttons .e-form__buttons__wrapper:last-child{margin-left:auto}
.mg-rfq-form .elementor-form .elementor-button{display:inline-flex;align-items:center;font:500 0.977vw/1 var(--mg-font-text);padding:1.042vw 1.563vw;gap:0.781vw;letter-spacing:0;text-transform:none;border:1px solid var(--mg-ink);color:var(--mg-ink);fill:var(--mg-ink);background:transparent;border-radius:0;width:auto;min-height:0;transition:background-color .3s var(--mg-ease),color .3s var(--mg-ease)}
.mg-rfq-form .elementor-form .elementor-button:hover,.mg-rfq-form .elementor-form .elementor-button:focus{background:var(--mg-ink);color:var(--mg-ground)}
.mg-rfq-form .elementor-form .e-form__buttons .e-form__buttons__wrapper .e-form__buttons__wrapper__button-previous{color:var(--mg-ink);background:transparent}
.mg-rfq-form .elementor-form .e-form__buttons .e-form__buttons__wrapper .e-form__buttons__wrapper__button-previous:hover,.mg-rfq-form .elementor-form .e-form__buttons .e-form__buttons__wrapper .e-form__buttons__wrapper__button-previous:focus{color:var(--mg-ground);background:var(--mg-ink)}
.mg-rfq-form .elementor-form .e-form__buttons__wrapper__button-next,.mg-rfq-form .elementor-form .elementor-button[type="submit"],.mg-rfq-form .elementor-form .e-form__buttons__wrapper__button-next:hover,.mg-rfq-form .elementor-form .elementor-button[type="submit"]:hover,.mg-rfq-form .elementor-form .e-form__buttons__wrapper__button-next:focus,.mg-rfq-form .elementor-form .elementor-button[type="submit"]:focus{background:var(--mg-madder);border-color:var(--mg-madder);color:var(--mg-ground)}
.mg-rfq-form .elementor-form .e-form__buttons__wrapper__button-next:hover,.mg-rfq-form .elementor-form .elementor-button[type="submit"]:hover{filter:brightness(1.08)}
.mg-rfq-form .elementor-message{font-size:1.009vw;margin-top:1.042vw}
.mg-rfq-form .elementor-message.elementor-message-danger{color:var(--mg-madder)}
/* MG: Form checks: summary on top and a message under each field that needs attention. */
.mg-rfq-form .elementor-form .elementor-field-group.mg-err .elementor-field-textual,.mg-rfq-form .elementor-form .elementor-field-group.mg-err .elementor-field-textual:focus{border-bottom-color:var(--mg-madder)}
.mg-rfq-form .mg-field-msg{display:none;font-size:0.911vw;line-height:1.65;color:var(--mg-madder)}
.mg-rfq-form .mg-err .mg-field-msg{display:block}
.mg-rfq-form .mg-errsum{display:none;border-left:2px solid var(--mg-madder);padding:0.521vw 0 0.521vw 1.172vw;font-size:1.009vw;line-height:1.65}
.mg-rfq-form .mg-errsum.mg-show{display:block}
.mg-rfq-form .mg-errsum b{color:var(--mg-madder);font-weight:700}
.mg-rfq-form .mg-errsum ul{margin:0.521vw 0 0;padding:0 0 0 1.172vw;list-style:disc}
.mg-rfq-form .mg-errsum li button{all:unset;cursor:pointer;text-decoration:underline}
.mg-rfq-form .mg-errsum li button:focus-visible{outline:2px solid var(--mg-madder);outline-offset:2px}
.mg-review{display:grid;grid-template-columns:11.719vw 1fr;margin:0;font-size:1.009vw}
.mg-review dt,.mg-review dd{padding:0.911vw 0;border-top:1px solid var(--mg-rule);margin:0}
.mg-review dt{font-family:var(--mg-font-mono);font-size:0.716vw;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--mg-muted);padding-top:1.107vw}

/* MG: The glossary list keeps the space the template leaves under it. */
.elementor .mg-glossary{margin-bottom:1.172vw}

/* MG: Product gallery, printed by [mg_product_gallery]. Takes any number of images. */
.mg-gallery{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.302vw}
.mg-gallery > :first-child,.mg-gallery > :last-child:nth-child(even){grid-column:1/-1}
.mg-gallery .mg-media{position:relative;overflow:hidden;width:100%;max-width:100%;margin:0;background-color:var(--mg-band-2)}
.mg-gallery .mg-r-34{aspect-ratio:3/4}
.mg-gallery .mg-r-11{aspect-ratio:1/1}
.mg-gallery .mg-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}

/* MG: Tarrit logo, shown as a sewn-in label: a white plate with a stitch line inside its edge. */
.mg-t-logo::after{content:"";position:absolute;inset:0.391vw;border:1px dashed var(--mg-t-accent);opacity:.75;pointer-events:none}
