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,66 @@
//
// Common control styles
// --------------------------------------------------
//
// The scroll panel can host a scrollbar control. It has a right border that covers
// the scrollbar to satisfy the design requirements.
//
.control-scrollpanel {
position: relative;
background: @color-panel-light;
.control-scrollbar {
&.vertical > .scrollbar-scrollbar {right: 0;}
}
}
.tooltip {
.tooltip-inner {
text-align: left;
padding: 5px 8px;
}
&.in {
.opacity(1);
}
}
//
// Logos
//
.wn-logo-white, .oc-logo-white {
background-image: url(../images/winter-logo-white.svg);
background-position: 50% 50%;
background-repeat: no-repeat;
background-size: contain;
}
.wn-logo, .oc-logo {
background-image: url(../images/winter-logo.svg);
background-position: 50% 50%;
background-repeat: no-repeat;
background-size: contain;
}
.layout.control-tabs.wn-logo-transparent:not(.has-tabs), .layout.control-tabs.oc-logo-transparent:not(.has-tabs),
.flex-layout-column.wn-logo-transparent:not(.has-tabs), .flex-layout-column.oc-logo-transparent:not(.has-tabs),
.layout-cell.wn-logo-transparent, .layout-cell.oc-logo-transparent {
background-size: 50% auto;
background-repeat: no-repeat;
background-image: url(../images/winter-logo.svg);
background-position: 50% 50%;
position: relative;
&:after {
content: '';
display: table-cell;
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
background: rgba(249,249,249,0.7);
}
}