.netw-timeline,
.netw-timeline *{box-sizing:border-box}
.netw-timeline{--netw-line-color:#d9d9d9;--netw-line-width:3px;--netw-gap:42px;--netw-line-start:0px;--netw-line-length:100%;--netw-line-end:100%;--netw-line-axis:50%;position:relative;width:100%;max-width:100%;min-width:0;margin:0;padding:0}
.netw-timeline .netw-item{position:relative;min-width:0}
.netw-timeline .netw-card{position:relative;z-index:2;background:#fff;min-width:0;overflow-wrap:anywhere}
.netw-marker-wrap{z-index:4;display:flex;align-items:center;justify-content:center;pointer-events:none}
.netw-marker{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border:3px solid #dedede;border-radius:50%;background:#fff;color:#f52245;font-size:18px;line-height:1;text-align:center;flex:0 0 auto}
.netw-marker svg{width:1em;height:1em;display:block;fill:currentColor}
.netw-heading{margin:0 0 12px;padding:0;overflow-wrap:anywhere}
.netw-description>:first-child{margin-top:0}.netw-description>:last-child{margin-bottom:0}
.netw-image{overflow:hidden}.netw-image img{display:block;width:100%;height:auto;max-width:100%}

/* Centered/alternating vertical timeline. */
.netw-vertical::before{content:"";position:absolute;z-index:1;top:var(--netw-line-start);height:var(--netw-line-length);bottom:auto;left:var(--netw-line-axis);width:var(--netw-line-width);background:var(--netw-line-color);transform:translateX(-50%)}
.netw-vertical .netw-item{display:grid;grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);column-gap:24px;align-items:center;margin-bottom:var(--netw-gap)}
.netw-vertical .netw-item:last-child{margin-bottom:0}
.netw-vertical .netw-marker-wrap{position:static;grid-column:2;grid-row:1;width:100%;height:100%}
.netw-vertical .netw-card{grid-row:1;grid-column:3;width:100%}
.netw-vertical.netw-content-centered .netw-item:nth-child(odd) .netw-card{grid-column:1}.netw-vertical.netw-content-centered .netw-item:nth-child(even) .netw-card{grid-column:3}.netw-vertical.netw-content-centered:not(.netw-alternate) .netw-card{grid-column:3}

/* Compact vertical layouts. */
.netw-vertical.netw-content-compact-left::before{left:var(--netw-line-axis);transform:translateX(-50%)}
.netw-vertical.netw-content-compact-left .netw-item{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:24px;align-items:center;margin-bottom:var(--netw-gap)}
.netw-vertical.netw-content-compact-left .netw-marker-wrap{grid-column:1;grid-row:1;width:52px;height:100%}.netw-vertical.netw-content-compact-left .netw-card{grid-column:2;grid-row:1;width:100%;max-width:none}
.netw-vertical.netw-content-compact-right::before{left:var(--netw-line-axis);right:auto;transform:translateX(-50%)}
.netw-vertical.netw-content-compact-right .netw-item{display:grid;grid-template-columns:minmax(0,1fr) 52px;column-gap:24px;align-items:center;margin-bottom:var(--netw-gap)}
.netw-vertical.netw-content-compact-right .netw-marker-wrap{grid-column:2;grid-row:1;width:52px;height:100%}.netw-vertical.netw-content-compact-right .netw-card{grid-column:1;grid-row:1;width:100%;max-width:none}

/* Horizontal shell keeps scrolling and navigation inside the widget bounds. */
.netw-horizontal-shell{position:relative;width:100%;max-width:100%;min-width:0;overflow:hidden;display:flex;flex-direction:column;gap:var(--netw-nav-gap,16px)}
.netw-horizontal{--netw-slides-show:1;display:flex;align-items:stretch;gap:var(--netw-gap);width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;padding:8px 20px 8px;scrollbar-width:auto;scrollbar-color:#999 transparent;overscroll-behavior-x:contain;scroll-snap-type:x proximity}
.netw-horizontal::before{content:"";position:absolute;z-index:1;left:var(--netw-line-start);width:var(--netw-line-length);right:auto;top:var(--netw-line-axis);height:var(--netw-line-width);background:var(--netw-line-color);transform:translateY(-50%);pointer-events:none}
.netw-horizontal .netw-item{flex:0 0 var(--netw-item-width,320px);width:var(--netw-item-width,320px);min-width:0;min-height:280px;display:flex;align-items:center;justify-content:center;scroll-snap-align:start}
.netw-horizontal .netw-marker-wrap{position:absolute;left:50%;top:50%;width:auto;height:auto;transform:translate(-50%,-50%)}
.netw-horizontal .netw-card{width:100%;max-width:100%}
.netw-horizontal .netw-item-top{align-items:flex-start}.netw-horizontal .netw-item-bottom{align-items:flex-end}
.netw-horizontal .netw-item-top .netw-card{margin-bottom:110px}.netw-horizontal .netw-item-bottom .netw-card{margin-top:110px}

/* Compact horizontal layouts: no reserved half-height or artificial top gap. */
.netw-horizontal.netw-horizontal-content-compact-top,.netw-horizontal.netw-horizontal-content-compact-bottom{padding-top:0;padding-bottom:0;align-items:flex-start}
.netw-horizontal.netw-horizontal-content-compact-top .netw-item,.netw-horizontal.netw-horizontal-content-compact-bottom .netw-item{align-items:flex-start;justify-content:flex-start;min-height:0;display:flex;flex-direction:column}
.netw-horizontal.netw-horizontal-content-compact-top .netw-item .netw-marker-wrap,.netw-horizontal.netw-horizontal-content-compact-bottom .netw-item .netw-marker-wrap{position:static;left:auto;top:auto;transform:none;width:100%;height:auto;order:1}
.netw-horizontal.netw-horizontal-content-compact-top .netw-item .netw-card,.netw-horizontal.netw-horizontal-content-compact-bottom .netw-item .netw-card{width:100%;margin:24px 0 0;order:2}

/* Navigation arrows. They are hidden until horizontal scrolling is actually needed. */
.netw-horizontal-nav{display:none;align-items:center;position:relative;z-index:20;isolation:isolate;gap:8px;width:100%;max-width:100%;min-height:1px}
.netw-horizontal-shell.netw-nav-align-left .netw-horizontal-nav{justify-content:flex-start}.netw-horizontal-shell.netw-nav-align-center .netw-horizontal-nav{justify-content:center}.netw-horizontal-shell.netw-nav-align-right .netw-horizontal-nav{justify-content:flex-end}
.netw-horizontal-shell.is-scrollable .netw-horizontal-nav{display:flex}
.netw-horizontal-nav .netw-nav-button{appearance:none;-webkit-appearance:none;position:relative;z-index:21;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;margin:0;border:0;background:#fff;color:#222;padding:10px 12px;line-height:1;cursor:pointer;text-decoration:none;transition:background-color .2s ease,color .2s ease,opacity .2s ease;touch-action:manipulation}
.netw-horizontal-nav .netw-nav-button svg{display:block;width:1em;height:1em;fill:currentColor}.netw-horizontal-nav .netw-nav-button:hover,.netw-horizontal-nav .netw-nav-button:focus-visible{color:#fff;background:#222}.netw-horizontal-nav .netw-nav-button:disabled{opacity:.35;cursor:default;pointer-events:none}
.netw-horizontal-nav .netw-nav-button:focus-visible{outline:2px solid currentColor;outline-offset:2px}

.netw-line-arrow.netw-vertical::after{content:"";position:absolute;z-index:2;left:var(--netw-line-axis);top:var(--netw-line-end);bottom:auto;border-left:8px solid transparent;border-right:8px solid transparent;border-top:12px solid var(--netw-line-color);transform:translateX(-50%)}
.netw-line-arrow.netw-horizontal::after{content:"";position:absolute;z-index:2;left:var(--netw-line-end);right:auto;top:var(--netw-line-axis);border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:12px solid var(--netw-line-color);transform:translateY(-50%)}
.netw-line-arrow.netw-content-compact-left::after,.netw-line-arrow.netw-content-compact-right::after{left:var(--netw-line-axis);right:auto;transform:translateX(-50%)}
.netw-line-dashed.netw-vertical::before{background:repeating-linear-gradient(to bottom,var(--netw-line-color) 0 12px,transparent 12px 22px)}.netw-line-dotted.netw-vertical::before{background:repeating-linear-gradient(to bottom,var(--netw-line-color) 0 3px,transparent 3px 10px)}
.netw-line-dashed.netw-horizontal::before{background:repeating-linear-gradient(to right,var(--netw-line-color) 0 12px,transparent 12px 22px)}.netw-line-dotted.netw-horizontal::before{background:repeating-linear-gradient(to right,var(--netw-line-color) 0 3px,transparent 3px 10px)}
.netw-empty{padding:24px;border:1px dashed #bbb;text-align:center}

@media(max-width:1024px) and (min-width:768px){
  .netw-vertical.netw-content-centered .netw-item{grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);column-gap:18px}
  .netw-vertical.netw-content-compact-left .netw-item{grid-template-columns:52px minmax(0,1fr);column-gap:18px}
  .netw-vertical.netw-content-compact-right .netw-item{grid-template-columns:minmax(0,1fr) 52px;column-gap:18px}
}
@media(max-width:767px){
  .netw-vertical::before{left:var(--netw-line-axis);right:auto;transform:translateX(-50%)}
  .netw-vertical .netw-item,.netw-vertical.netw-content-centered .netw-item,.netw-vertical.netw-content-compact-left .netw-item,.netw-vertical.netw-content-compact-right .netw-item{display:block;padding-left:76px;padding-right:0;margin-bottom:var(--netw-gap)}
  .netw-vertical .netw-marker-wrap,.netw-vertical.netw-content-compact-left .netw-marker-wrap,.netw-vertical.netw-content-compact-right .netw-marker-wrap{position:absolute;left:0;right:auto;top:0;width:52px;height:52px;grid-column:auto;grid-row:auto}
  .netw-vertical .netw-card,.netw-vertical .netw-item:nth-child(odd) .netw-card,.netw-vertical.netw-content-centered .netw-item:nth-child(even) .netw-card,.netw-vertical.netw-content-centered:not(.netw-alternate) .netw-card,.netw-vertical.netw-content-compact-left .netw-card,.netw-vertical.netw-content-compact-right .netw-card{width:100%;max-width:none;margin:0;grid-column:auto;grid-row:auto}
  .netw-vertical.netw-content-compact-right::before,.netw-vertical.netw-content-compact-right::after{left:var(--netw-line-axis);right:auto;transform:translateX(-50%)}
  .netw-horizontal{padding:0 12px;gap:var(--netw-gap)}
  .netw-horizontal .netw-item{min-height:0}
  .netw-horizontal-shell{gap:var(--netw-nav-gap,12px)}
}
