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,12 @@
//
// Boot file
//
// Includes non-output LESS files such as mixins and variables
//
@import "../../vendor/bootstrap/less/variables.less";
@import "../../vendor/bootstrap/less/mixins.less";
@import "../../vendor/font-awesome/less/variables.less";
@import "../../vendor/font-awesome/less/mixins.less";
@import "mixins.less";
@import "variables.less";

View File

@@ -0,0 +1,59 @@
//
// Fonts file
//
// Allocated area for font definitions used by this application
//
@font-face {
font-family: 'lato';
src: url('../fonts/lato-black-webfont.eot');
src: url('../fonts/lato-black-webfont.eot?#iefix') format('embedded-opentype'),
url('../fonts/lato-black-webfont.svg#latoblack') format('svg'),
url('../fonts/lato-black-webfont.woff') format('woff'),
url('../fonts/lato-black-webfont.ttf') format('truetype');
font-weight: 700;
font-style: normal;
}
@font-face {
font-family: 'lato';
src: url('../fonts/lato-italic-webfont.eot');
src: url('../fonts/lato-italic-webfont.eot?#iefix') format('embedded-opentype'),
url('../fonts/lato-italic-webfont.svg#latoitalic') format('svg'),
url('../fonts/lato-italic-webfont.woff') format('woff'),
url('../fonts/lato-italic-webfont.ttf') format('truetype');
font-weight: 400;
font-style: italic;
}
@font-face {
font-family: 'lato';
src: url('../fonts/lato-regular-webfont.eot');
src: url('../fonts/lato-regular-webfont.eot?#iefix') format('embedded-opentype'),
url('../fonts/lato-regular-webfont.svg#latoregular') format('svg'),
url('../fonts/lato-regular-webfont.woff') format('woff'),
url('../fonts/lato-regular-webfont.ttf') format('truetype');
font-weight: 400;
font-style: normal;
}
@font-face {
font-family: 'lato';
src: url('../fonts/lato-light-webfont.eot');
src: url('../fonts/lato-light-webfont.eot?#iefix') format('embedded-opentype'),
url('../fonts/lato-light-webfont.svg#latolight') format('svg'),
url('../fonts/lato-light-webfont.woff') format('woff'),
url('../fonts/lato-light-webfont.ttf') format('truetype');
font-weight: 300;
font-style: normal;
}
//
// Chrome exhibits strange behavior when custom fonts are used
// on select inputs. This fixes the garbled text.
//
@media screen and (-webkit-min-device-pixel-ratio:0) {
select {
font-family: sans-serif;
}
}

View File

@@ -0,0 +1,5 @@
//
// Mixins file
//
// Space for any custom mixins used by this application
//

View File

@@ -0,0 +1,67 @@
//
// Variables file
//
// Space for any custom variables used by this application
//
// Icons
// --------------------------------------------------
@FontAwesomePath: "../vendor/font-awesome/font";
// Brands
// --------------------------------------------------
@brand-primary: #3097d1;
@brand-info: #8eb4cb;
@brand-success: #4eb76e;
@brand-warning: #cbb956;
@brand-danger: #bf5329;
// Typography
// --------------------------------------------------
@font-family-sans-serif: "lato", sans-serif;
@line-height-base: 1.6;
@font-size-base: 16px;
@text-color: #586667;
@headings-color: #1f3f50;
@jumbotron-heading-color: @headings-color;
// Spacing
// --------------------------------------------------
@spacer: 20px;
@spacer-y: @spacer;
@spacer-x: @spacer;
// Navbar
// --------------------------------------------------
@navbar-height: 70px;
@navbar-margin-bottom: 0;
@navbar-inverse-bg: #000;
@navbar-inverse-link-color: rgba(255,255,255,0.6);
@navbar-inverse-stripe-color-active: #000;
@navbar-inverse-stripe-color-hover: #e67e22;
@navbar-default-stripe-color-active: #64ae5b;
@navbar-default-stripe-color-hover: #93dc8a;
// Callouts
// --------------------------------------------------
@callout-padding: 20px;
@callout-border-radius: @border-radius-base;
@callout-border: @gray-lighter;
@callout-info-bg: #f4f8fa;
@callout-info-text: @state-info-text;
@callout-info-border: @state-info-border;
@callout-warning-bg: #faf8f0;
@callout-warning-text: @state-warning-text;
@callout-warning-border: @state-warning-border;
@callout-danger-bg: #fdf7f7;
@callout-danger-text: @state-danger-text;
@callout-danger-border: @state-danger-border;
@callout-success-bg: #f9fdf7;
@callout-success-text: @state-success-text;
@callout-success-border: @state-success-border;