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,116 @@
//
// Side navigation bar
// --------------------------------------------------
.layout-sidenav-container {
width: 120px;
}
#layout-sidenav {
position: absolute;
height: 100%;
width: 100%;
.box-sizing(border-box);
font-size: @font-size-base;
ul {
position: relative;
margin: 0;
padding: 0;
height: 100%;
overflow: hidden;
li {
display: block;
text-align: center;
position: relative;
a {
padding: 1.429em .714em;
display: block;
font-size: .929em;
color: @color-sidebarnav-inactive-text;
font-weight: normal;
position: relative;
&:hover {
text-decoration: none;
background-color: transparent;
}
&:focus {
background: transparent;
}
i {
color: @color-sidebarnav-inactive-icon;
display: block;
margin-bottom: 5px;
font-size: 2em;
}
}
&:first-child a {
padding-top: 2.143em;
}
&.active a, a:hover {
color: @color-sidebarnav-active-text;
i { color: @color-sidebarnav-active-icon; }
}
span.counter {
display: block;
position: absolute;
top: 1.071em;
right: 1.071em;
padding: .143em .429em .214em .286em;
background-color: @color-sidebarnav-counter-bg;
color: @color-sidebarnav-counter-text;
font-size: .786em;
line-height: 100%;
.border-radius(3px);
.opacity(1);
.scale(1);
.transition(all 0.3s);
&.empty {
.opacity(0);
.scale(0);
}
}
}
}
}
@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
#layout-sidenav {
font-size: 12px;
}
.layout-sidenav-container {
width: 100px;
}
}
@media (max-width: @screen-xs-max) {
#layout-sidenav {
font-size: 10px;
}
.layout-sidenav-container {
width: 80px;
}
}
html.mobile {
#layout-sidenav ul {
overflow: auto;
-webkit-overflow-scrolling: touch;
}
}
#layout-sidenav.layout-sidenav ul.drag li:not(.active) a:hover,
.touch #layout-sidenav.layout-sidenav li:not(.active) a:hover {
color: @color-sidebarnav-inactive-text !important;
i { color: @color-sidebarnav-inactive-icon !important; }
&:after { display: none !important; }
}