feat: VivesPOS landing on Winter CMS 1.2 — theme + plugin + Dockerfile
Some checks are pending
Module sub-split / Sub-split (push) Waiting to run

- Base: wintercms/winter branch 1.2 (full framework)
- Theme vivespos: Canvas 7 + Bootstrap 5 CDN, custom CSS
- Layout: deferred GTM/GA4 tracking, JSON-LD SoftwareApplication
- Partials: hero (offline-first), features, modes (offline/nube toggle),
  screenshots, pricing (3 planes), comparison, FAQ, CTA
- Plugin VivesPOS.Site with ContactForm
- Dockerfile: PHP 8.2 Apache, port 80, healthcheck
- Added winter/wn-pages, blog, sitemap, seo plugins
- Active theme set to vivespos
This commit is contained in:
2026-08-21 19:29:00 -06:00
commit 1f72193a64
3266 changed files with 531480 additions and 0 deletions

View File

@@ -0,0 +1,125 @@
//
// Scrollbar
// --------------------------------------------------
.drag-noselect {
.user-select(none);
}
@scrollbar-thumb-size: 6px;
.control-scrollbar {
position: relative;
overflow: hidden;
height: 100%;
>.scrollbar-scrollbar {
position: absolute;
z-index: 100;
.scrollbar-track {
background-color: @color-scrollbar-track;
position: relative;
.border-radius(5px);
.scrollbar-thumb {
background-color: @color-scrollbar-thumb;
.border-radius(5px);
cursor: pointer;
overflow: hidden;
position: absolute;
}
}
&.disabled {
display: none !important;
}
}
&.vertical {
>.scrollbar-scrollbar {
right: 0;
margin-right: 5px;
width: @scrollbar-thumb-size;
.scrollbar-track {
height: 100%;
width: @scrollbar-thumb-size;
.scrollbar-thumb {
height: 20px;
width: @scrollbar-thumb-size;
top: 0;
left: 0;
}
}
&:active, &:hover {
width: @scrollbar-thumb-size + 2px;
.transition(width .3s);
.scrollbar-track,
.scrollbar-thumb {
width: @scrollbar-thumb-size + 2px;
.transition(width .3s);
}
}
}
}
&.horizontal {
>.scrollbar-scrollbar {
margin: 0 0 5px;
clear: both;
height: @scrollbar-thumb-size;
.scrollbar-track {
width: 100%;
height: @scrollbar-thumb-size;
.scrollbar-thumb {
height: @scrollbar-thumb-size;
margin: 2px 0;
left: 0;
top: 0;
}
}
&:active, &:hover {
height: @scrollbar-thumb-size + 2px;
.transition(height .3s);
.scrollbar-track,
.scrollbar-thumb {
height: @scrollbar-thumb-size + 2px;
.transition(height .3s);
}
}
}
}
}
html.mobile {
.control-scrollbar {
overflow: auto;
-webkit-overflow-scrolling: touch;
}
}
.no-touch .control-scrollbar {
>.scrollbar-scrollbar {
opacity: 0;
.transition(opacity 0.3s);
}
&:active >.scrollbar-scrollbar,
&:hover >.scrollbar-scrollbar {opacity: 1;}
}
@media (max-width: @screen-sm) {
&.responsive-sidebar {
> .layout-cell:last-child {
.control-scrollbar {
overflow: visible;
height: auto;
.scrollbar-scrollbar {
display: none!important;
}
}
}
}
}