added first three mockups

This commit is contained in:
westfarn committed 2026-07-20 05:38:53 -05:00
1 parent 4dce423c4f
commit f839df7863
864 files changed
+235286 -1

No files matched your search

File diff suppressed because it is too large. Load diff
+1
View File
@@ -0,0 +1 @@
[data-aos][data-aos][data-aos-duration="50"],body[data-aos-duration="50"] [data-aos]{transition-duration:50ms}[data-aos][data-aos][data-aos-delay="50"],body[data-aos-delay="50"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="50"].aos-animate,body[data-aos-delay="50"] [data-aos].aos-animate{transition-delay:50ms}[data-aos][data-aos][data-aos-duration="100"],body[data-aos-duration="100"] [data-aos]{transition-duration:.1s}[data-aos][data-aos][data-aos-delay="100"],body[data-aos-delay="100"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="100"].aos-animate,body[data-aos-delay="100"] [data-aos].aos-animate{transition-delay:.1s}[data-aos][data-aos][data-aos-duration="150"],body[data-aos-duration="150"] [data-aos]{transition-duration:.15s}[data-aos][data-aos][data-aos-delay="150"],body[data-aos-delay="150"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="150"].aos-animate,body[data-aos-delay="150"] [data-aos].aos-animate{transition-delay:.15s}[data-aos][data-aos][data-aos-duration="200"],body[data-aos-duration="200"] [data-aos]{transition-duration:.2s}[data-aos][data-aos][data-aos-delay="200"],body[data-aos-delay="200"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="200"].aos-animate,body[data-aos-delay="200"] [data-aos].aos-animate{transition-delay:.2s}[data-aos][data-aos][data-aos-duration="250"],body[data-aos-duration="250"] [data-aos]{transition-duration:.25s}[data-aos][data-aos][data-aos-delay="250"],body[data-aos-delay="250"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="250"].aos-animate,body[data-aos-delay="250"] [data-aos].aos-animate{transition-delay:.25s}[data-aos][data-aos][data-aos-duration="300"],body[data-aos-duration="300"] [data-aos]{transition-duration:.3s}[data-aos][data-aos][data-aos-delay="300"],body[data-aos-delay="300"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="300"].aos-animate,body[data-aos-delay="300"] [data-aos].aos-animate{transition-delay:.3s}[data-aos][data-aos][data-aos-duration="350"],body[data-aos-duration="350"] [data-aos]{transition-duration:.35s}[data-aos][data-aos][data-aos-delay="350"],body[data-aos-delay="350"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="350"].aos-animate,body[data-aos-delay="350"] [data-aos].aos-animate{transition-delay:.35s}[data-aos][data-aos][data-aos-duration="400"],body[data-aos-duration="400"] [data-aos]{transition-duration:.4s}[data-aos][data-aos][data-aos-delay="400"],body[data-aos-delay="400"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="400"].aos-animate,body[data-aos-delay="400"] [data-aos].aos-animate{transition-delay:.4s}[data-aos][data-aos][data-aos-duration="450"],body[data-aos-duration="450"] [data-aos]{transition-duration:.45s}[data-aos][data-aos][data-aos-delay="450"],body[data-aos-delay="450"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="450"].aos-animate,body[data-aos-delay="450"] [data-aos].aos-animate{transition-delay:.45s}[data-aos][data-aos][data-aos-duration="500"],body[data-aos-duration="500"] [data-aos]{transition-duration:.5s}[data-aos][data-aos][data-aos-delay="500"],body[data-aos-delay="500"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="500"].aos-animate,body[data-aos-delay="500"] [data-aos].aos-animate{transition-delay:.5s}[data-aos][data-aos][data-aos-duration="550"],body[data-aos-duration="550"] [data-aos]{transition-duration:.55s}[data-aos][data-aos][data-aos-delay="550"],body[data-aos-delay="550"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="550"].aos-animate,body[data-aos-delay="550"] [data-aos].aos-animate{transition-delay:.55s}[data-aos][data-aos][data-aos-duration="600"],body[data-aos-duration="600"] [data-aos]{transition-duration:.6s}[data-aos][data-aos][data-aos-delay="600"],body[data-aos-delay="600"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="600"].aos-animate,body[data-aos-delay="600"] [data-aos].aos-animate{transition-delay:.6s}[data-aos][data-aos][data-aos-duration="650"],body[data-aos-duration="650"] [data-aos]{transition-duration:.65s}[data-aos][data-aos][data-aos-delay="650"],body[data-aos-delay="650"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="650"].aos-animate,body[data-aos-delay="650"] [data-aos].aos-animate{transition-delay:.65s}[data-aos][data-aos][data-aos-duration="700"],body[data-aos-duration="700"] [data-aos]{transition-duration:.7s}[data-aos][data-aos][data-aos-delay="700"],body[data-aos-delay="700"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="700"].aos-animate,body[data-aos-delay="700"] [data-aos].aos-animate{transition-delay:.7s}[data-aos][data-aos][data-aos-duration="750"],body[data-aos-duration="750"] [data-aos]{transition-duration:.75s}[data-aos][data-aos][data-aos-delay="750"],body[data-aos-delay="750"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="750"].aos-animate,body[dLine truncated
+7
View File
@@ -0,0 +1,7 @@
@charset "UTF-8";/*!
* Bootstrap v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0))}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-font-sans-serif);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:30Line truncated
/*# sourceMappingURL=bootstrap.min.css.map */
+1
View File
@@ -0,0 +1 @@
body.compensate-for-scrollbar{overflow:hidden}.fancybox-active{height:auto}.fancybox-is-hidden{left:-9999px;margin:0;position:absolute!important;top:-9999px;visibility:hidden}.fancybox-container{-webkit-backface-visibility:hidden;height:100%;left:0;outline:none;position:fixed;-webkit-tap-highlight-color:transparent;top:0;-ms-touch-action:manipulation;touch-action:manipulation;transform:translateZ(0);width:100%;z-index:99992}.fancybox-container *{box-sizing:border-box}.fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-stage{bottom:0;left:0;position:absolute;right:0;top:0}.fancybox-outer{-webkit-overflow-scrolling:touch;overflow-y:auto}.fancybox-bg{background:#1e1e1e;opacity:0;transition-duration:inherit;transition-property:opacity;transition-timing-function:cubic-bezier(.47,0,.74,.71)}.fancybox-is-open .fancybox-bg{opacity:.9;transition-timing-function:cubic-bezier(.22,.61,.36,1)}.fancybox-caption,.fancybox-infobar,.fancybox-navigation .fancybox-button,.fancybox-toolbar{direction:ltr;opacity:0;position:absolute;transition:opacity .25s ease,visibility 0s ease .25s;visibility:hidden;z-index:99997}.fancybox-show-caption .fancybox-caption,.fancybox-show-infobar .fancybox-infobar,.fancybox-show-nav .fancybox-navigation .fancybox-button,.fancybox-show-toolbar .fancybox-toolbar{opacity:1;transition:opacity .25s ease 0s,visibility 0s ease 0s;visibility:visible}.fancybox-infobar{color:#ccc;font-size:13px;-webkit-font-smoothing:subpixel-antialiased;height:44px;left:0;line-height:44px;min-width:44px;mix-blend-mode:difference;padding:0 10px;pointer-events:none;top:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fancybox-toolbar{right:0;top:0}.fancybox-stage{direction:ltr;overflow:visible;transform:translateZ(0);z-index:99994}.fancybox-is-open .fancybox-stage{overflow:hidden}.fancybox-slide{-webkit-backface-visibility:hidden;display:none;height:100%;left:0;outline:none;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:absolute;text-align:center;top:0;transition-property:transform,opacity;white-space:normal;width:100%;z-index:99994}.fancybox-slide:before{content:"";display:inline-block;font-size:0;height:100%;vertical-align:middle;width:0}.fancybox-is-sliding .fancybox-slide,.fancybox-slide--current,.fancybox-slide--next,.fancybox-slide--previous{display:block}.fancybox-slide--image{overflow:hidden;padding:44px 0}.fancybox-slide--image:before{display:none}.fancybox-slide--html{padding:6px}.fancybox-content{background:#fff;display:inline-block;margin:0;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:relative;text-align:left;vertical-align:middle}.fancybox-slide--image .fancybox-content{animation-timing-function:cubic-bezier(.5,0,.14,1);-webkit-backface-visibility:hidden;background:transparent;background-repeat:no-repeat;background-size:100% 100%;left:0;max-width:none;overflow:visible;padding:0;position:absolute;top:0;transform-origin:top left;transition-property:transform,opacity;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:99995}.fancybox-can-zoomOut .fancybox-content{cursor:zoom-out}.fancybox-can-zoomIn .fancybox-content{cursor:zoom-in}.fancybox-can-pan .fancybox-content,.fancybox-can-swipe .fancybox-content{cursor:grab}.fancybox-is-grabbing .fancybox-content{cursor:grabbing}.fancybox-container [data-selectable=true]{cursor:text}.fancybox-image,.fancybox-spaceball{background:transparent;border:0;height:100%;left:0;margin:0;max-height:none;max-width:none;padding:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.fancybox-spaceball{z-index:1}.fancybox-slide--iframe .fancybox-content,.fancybox-slide--map .fancybox-content,.fancybox-slide--pdf .fancybox-content,.fancybox-slide--video .fancybox-content{height:100%;overflow:visible;padding:0;width:100%}.fancybox-slide--video .fancybox-content{background:#000}.fancybox-slide--map .fancybox-content{background:#e5e3df}.fancybox-slide--iframe .fancybox-content{background:#fff}.fancybox-iframe,.fancybox-video{background:transparent;border:0;display:block;height:100%;margin:0;overflow:hidden;padding:0;width:100%}.fancybox-iframe{left:0;position:absolute;top:0}.fancybox-error{background:#fff;cursor:default;max-width:400px;padding:40px;width:100%}.fancybox-error p{color:#444;font-size:16px;line-height:20px;margin:0;padding:0}.fancybox-button{background:rgba(30,30,30,.6);border:0;border-radius:0;box-shadow:none;cursor:pointer;display:inline-block;height:44px;margin:0;padding:10px;position:relative;transition:color .2s;vertical-align:top;visibility:inherit;width:44px}.fancybox-button,.fancybox-button:link,.fancybox-button:visited{color:#ccc}.fancybox-button:hover{color:#fff}.fancybox-button:focus{outline:none}.fancybox-button.fancybox-focus{outline:1px dotted}.fancybox-button[disabled],.fancybox-button[disabled]:hover{color:#888;cursor:default;Line truncated
+1
View File
@@ -0,0 +1 @@
.progressbar{width: 100%; margin-top: 5px; margin-bottom: 25px; position: relative; background-color: #f4f4f4;}.proggress{height: 8px; width: 10px; background-color: #ff0;}.percentCount{float: right; margin-top: -42px; clear: both; font-weight: 700; font-size: 13px; color: #777777;}
+6
View File
@@ -0,0 +1,6 @@
/**
* Owl Carousel v2.3.4
* Copyright 2013-2018 David Deutsch
* Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
*/
.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;touch-action:manipulation;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel .owl-nav button.owl-next,.owl-carousel .owl-nav button.owl-prev,.owl-carousel button.owl-dot{background:0 0;color:inherit;border:none;padding:0!important;font:inherit}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-ms-touch-action:pan-y;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item .owl-lazy:not([src]),.owl-carousel .owl-item .owl-lazy[src^=""]{max-height:0}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}
File diff suppressed because it is too large. Load diff
+13
View File
@@ -0,0 +1,13 @@
/**
* Swiper 8.2.1
* Most modern mobile touch slider and framework with hardware accelerated transitions
* https://swiperjs.com
*
* Copyright 2014-2022 Vladimir Kharlampidi
*
* Released under the MIT License
*
* Released on: May 31, 2022
*/
@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, 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');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.sLine truncated
@@ -0,0 +1,467 @@
/* Shared UX gallery + pricing hub (platform proposals) */
:root {
--ink: #12141a;
--muted: #5c6570;
--surface: #f3f5f7;
--card: #fff;
--border: #d9dee5;
--accent: #1a4f6e;
--accent-2: #c45c26;
--ok: #1a7f4b;
--warn: #b45309;
--banner: #111827;
--radius: 4px;
--font: "Segoe UI", system-ui, sans-serif;
--display: Georgia, "Times New Roman", serif;
}
* { box-sizing: border-box; }
body {
margin: 0;
font-family: var(--font);
color: var(--ink);
background: var(--surface);
line-height: 1.5;
}
a { color: var(--accent); }
.proposal-banner {
background: var(--banner);
color: #e5e7eb;
font-size: 13px;
padding: 8px 16px;
display: flex;
flex-wrap: wrap;
gap: 12px;
align-items: center;
justify-content: space-between;
position: sticky;
top: 0;
z-index: 100;
}
.proposal-banner a { color: #93c5fd; text-decoration: none; }
.proposal-banner a:hover { text-decoration: underline; }
.proposal-banner .tag {
display: inline-block;
background: var(--accent);
color: #fff;
padding: 2px 8px;
border-radius: 2px;
font-size: 11px;
letter-spacing: 0.04em;
text-transform: uppercase;
font-weight: 600;
}
.hub-hero {
background: linear-gradient(135deg, #0b1f33 0%, #1a4f6e 55%, #2a6f8f 100%);
color: #fff;
padding: 56px 24px 48px;
}
.hub-hero.paint {
background: linear-gradient(135deg, #1a2332 0%, #3d4a5c 50%, #c4a574 120%);
}
.hub-hero h1 {
font-family: var(--display);
font-weight: 700;
letter-spacing: -0.02em;
margin: 0 0 12px;
font-size: clamp(1.6rem, 3vw, 2.2rem);
}
.hub-hero p { max-width: 560px; margin: 0; opacity: 0.92; }
.hub-section {
max-width: 1100px;
margin: 0 auto;
padding: 32px 24px 8px;
}
.hub-section h2 {
font-family: var(--display);
font-size: 1.25rem;
margin: 0 0 6px;
}
.hub-section .sec-lead {
margin: 0 0 16px;
color: var(--muted);
font-size: 14px;
}
.hub-grid {
max-width: 1100px;
margin: 0 auto 40px;
padding: 0 24px;
display: grid;
gap: 16px;
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}
.hub-card {
background: var(--card);
border: 1px solid var(--border);
padding: 20px;
text-decoration: none;
color: inherit;
transition: border-color 0.15s, transform 0.15s;
display: block;
}
.hub-card:hover {
border-color: var(--accent);
transform: translateY(-2px);
color: inherit;
text-decoration: none;
}
.hub-card.planned {
opacity: 0.85;
border-style: dashed;
}
.hub-card .eyebrow {
font-size: 11px;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--accent);
font-weight: 600;
margin-bottom: 6px;
}
.hub-card.paint .eyebrow { color: var(--accent-2); }
.hub-card h3 {
margin: 0 0 8px;
font-size: 18px;
font-family: var(--display);
}
.hub-card p { margin: 0; font-size: 14px; color: var(--muted); }
.hub-card .status {
display: inline-block;
margin-top: 10px;
font-size: 11px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.04em;
color: var(--ok);
}
.hub-card.planned .status { color: var(--warn); }
/* Pricing */
.pricing-layout {
max-width: 960px;
margin: 0 auto;
padding: 32px 24px 64px;
display: grid;
gap: 24px;
grid-template-columns: 1fr minmax(240px, 300px);
align-items: start;
}
@media (max-width: 800px) {
.pricing-layout { grid-template-columns: 1fr; }
}
.price-panel, .price-summary {
background: var(--card);
border: 1px solid var(--border);
padding: 20px;
}
.price-panel h2, .price-summary h2 {
font-family: var(--display);
font-size: 1.15rem;
margin: 0 0 16px;
}
.feat-row {
display: grid;
grid-template-columns: auto 1fr auto auto;
gap: 12px;
align-items: start;
padding: 14px 0;
border-bottom: 1px solid var(--border);
}
.feat-row:last-child { border-bottom: none; }
.feat-row.locked { background: #f8fafc; margin: 0 -12px; padding-left: 12px; padding-right: 12px; }
.feat-row label { font-weight: 600; cursor: pointer; }
.feat-row .desc { font-size: 13px; color: var(--muted); font-weight: 400; margin-top: 2px; }
.feat-row .amt { font-size: 13px; text-align: right; white-space: nowrap; color: var(--muted); }
.feat-row .amt strong { display: block; color: var(--ink); font-size: 14px; }
.feat-row input:disabled + .feat-text label { cursor: default; }
.dep-note { font-size: 12px; color: var(--warn); margin-top: 4px; }
.price-summary { position: sticky; top: 56px; }
.price-summary .line {
display: flex;
justify-content: space-between;
gap: 12px;
padding: 8px 0;
font-size: 14px;
}
.price-summary .total {
border-top: 2px solid var(--ink);
margin-top: 12px;
padding-top: 14px;
font-size: 18px;
font-weight: 700;
font-family: var(--display);
}
.price-summary .disclaimer {
margin-top: 16px;
font-size: 12px;
color: var(--muted);
}
.stub-page {
min-height: calc(100vh - 40px);
display: flex;
align-items: center;
justify-content: center;
padding: 40px 24px;
}
.stub-card {
background: var(--card);
border: 1px solid var(--border);
max-width: 480px;
padding: 32px;
text-align: center;
}
.stub-card h1 { font-family: var(--display); font-size: 1.5rem; margin: 0 0 8px; }
.stub-card p { color: var(--muted); margin: 0 0 20px; }
.stub-card a.btn {
display: inline-block;
background: var(--accent);
color: #fff;
text-decoration: none;
padding: 10px 18px;
font-weight: 600;
font-size: 14px;
}
/* —— Portal shell —— */
body.portal { margin: 0; background: var(--surface); font-family: var(--font); color: var(--ink); }
.portal-shell { display: flex; min-height: calc(100vh - 36px); }
.portal-sidebar {
width: 220px; flex-shrink: 0; background: #0b1f33; color: #cbd5e1;
display: flex; flex-direction: column;
}
.portal-brand {
padding: 16px 18px; border-bottom: 1px solid rgba(255,255,255,.08);
font-family: var(--display); font-weight: 700; color: #fff; font-size: 14px;
text-decoration: none; display: block;
}
.portal-brand span { display: block; color: #7dd3da; font-size: 11px; font-weight: 600; letter-spacing: .04em; margin-top: 2px; font-family: var(--font); }
.portal-nav { padding: 12px 0; flex: 1; overflow-y: auto; }
.portal-nav .nav-section {
font-size: 10px; text-transform: uppercase; letter-spacing: .1em; color: #64748b;
padding: 14px 18px 6px;
}
.portal-nav a {
display: block; padding: 9px 18px; color: #94a3b8; text-decoration: none; font-size: 13px;
border-left: 3px solid transparent;
}
.portal-nav a:hover { color: #fff; background: rgba(255,255,255,.04); }
.portal-nav a.active { color: #fff; background: rgba(26,79,110,.35); border-left-color: #7dd3da; }
.portal-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.portal-topbar {
background: #fff; border-bottom: 1px solid var(--border);
padding: 14px 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.portal-topbar h1 { margin: 0; font-size: 20px; font-family: var(--display); font-weight: 600; }
.portal-user { font-size: 13px; color: var(--muted); }
.portal-user strong { color: var(--ink); }
.portal-user a { color: var(--accent); }
.portal-content { padding: 24px; flex: 1; }
.proposal-note {
border-left: 3px solid var(--accent); background: #e8f0f5; padding: 12px 16px;
margin: 0 0 20px; font-size: 14px; color: #0d3a45;
}
.stat-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 16px; margin-bottom: 24px; }
.stat-card { background: #fff; border: 1px solid var(--border); padding: 18px; }
.stat-card .label { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.stat-card .value { font-size: 28px; font-weight: 700; font-family: var(--display); margin-top: 4px; }
.stat-card .delta { font-size: 12px; margin-top: 4px; color: var(--ok); }
.panel { background: #fff; border: 1px solid var(--border); margin-bottom: 20px; }
.panel-h {
padding: 14px 18px; border-bottom: 1px solid var(--border);
display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.panel-h h2 { margin: 0; font-size: 15px; font-family: var(--display); font-weight: 600; }
.panel-b { padding: 18px; }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
@media (max-width: 900px) {
.portal-shell { flex-direction: column; }
.portal-sidebar { width: 100%; }
.portal-nav { display: flex; flex-wrap: wrap; padding: 8px; }
.portal-nav .nav-section { display: none; }
.portal-nav a { border-left: none; border-bottom: 2px solid transparent; padding: 8px 12px; }
.portal-nav a.active { border-bottom-color: #7dd3da; background: transparent; }
.split { grid-template-columns: 1fr; }
}
.btn {
display: inline-block; padding: 9px 18px; font-size: 13px; font-weight: 600;
border: none; cursor: pointer; text-decoration: none; font-family: var(--font);
}
.btn-primary { background: var(--accent); color: #fff; }
.btn-primary:hover { background: #143d56; color: #fff; text-decoration: none; }
.btn-ghost { background: transparent; border: 1px solid var(--border); color: var(--ink); }
.btn-sm { padding: 6px 12px; font-size: 12px; }
.table { width: 100%; border-collapse: collapse; font-size: 14px; }
.table th {
text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .06em;
color: var(--muted); padding: 10px 12px; border-bottom: 1px solid var(--border); font-weight: 600;
}
.table td { padding: 12px; border-bottom: 1px solid var(--border); vertical-align: middle; }
.table tr:hover td { background: #f8fafc; }
.table a { color: var(--accent); text-decoration: none; font-weight: 500; }
.badge {
display: inline-block; padding: 2px 8px; font-size: 11px; font-weight: 600;
border-radius: 2px; text-transform: uppercase; letter-spacing: .04em;
}
.badge-new { background: #d0eef0; color: #00626c; }
.badge-contacted { background: #fef3c7; color: #92400e; }
.badge-won { background: #d1fae5; color: #065f46; }
.badge-lost { background: #fee2e2; color: #991b1b; }
.badge-sent { background: #d0eef0; color: #00626c; }
.badge-scheduled { background: #ede9fe; color: #5b21b6; }
.badge-paid { background: #d1fae5; color: #065f46; }
.badge-open { background: #fef3c7; color: #92400e; }
.badge-draft { background: #f3f4f6; color: #4b5563; }
.form-grid { display: grid; gap: 16px; }
.form-grid.cols-2 { grid-template-columns: 1fr 1fr; }
@media (max-width: 700px) { .form-grid.cols-2 { grid-template-columns: 1fr; } }
.field label { display: block; font-size: 12px; font-weight: 600; margin-bottom: 6px; color: #374151; }
.field input, .field select, .field textarea {
width: 100%; padding: 10px 12px; border: 1px solid var(--border); font: inherit; background: #fff; box-sizing: border-box;
}
.field textarea { min-height: 100px; resize: vertical; }
.field .hint { font-size: 12px; color: var(--muted); margin-top: 4px; }
.login-wrap {
min-height: calc(100vh - 36px); display: flex; align-items: center; justify-content: center;
background: linear-gradient(160deg, #0b1f33, #1a4f6e 60%, #e8f0f5 60%); padding: 24px;
}
.login-card { background: #fff; width: 100%; max-width: 400px; padding: 36px 32px; border: 1px solid var(--border); }
.login-card h1 { font-family: var(--display); font-size: 22px; margin: 0 0 6px; }
.login-card .sub { color: var(--muted); font-size: 14px; margin: 0 0 24px; }
.chart-ph {
height: 220px; background: linear-gradient(180deg, #e8f0f5 0%, #fff 100%);
border: 1px dashed #a8d8dc; display: flex; align-items: flex-end; gap: 8px; padding: 24px 16px 16px;
}
.chart-ph .bar { flex: 1; background: var(--accent); opacity: .75; border-radius: 2px 2px 0 0; min-height: 20px; }
.channel-tabs { display: flex; border-bottom: 1px solid var(--border); margin-bottom: 18px; }
.channel-tabs a {
padding: 10px 16px; font-size: 13px; font-weight: 600; color: var(--muted);
text-decoration: none; border-bottom: 2px solid transparent; margin-bottom: -1px;
}
.channel-tabs a.active { color: var(--accent); border-bottom-color: var(--accent); }
.connect-grid { display: grid; gap: 12px; }
.connect-card {
display: flex; gap: 14px; align-items: flex-start; text-align: left;
padding: 14px; border: 1px solid var(--border); background: #fff; width: 100%;
cursor: pointer; font: inherit; color: inherit;
}
.connect-card:hover { border-color: var(--accent); }
.platform-icon {
width: 40px; height: 40px; border-radius: 8px; display: flex; align-items: center;
justify-content: center; color: #fff; font-weight: 700; flex-shrink: 0; font-size: 14px;
}
.platform-icon.meta { background: #1877f2; }
.platform-icon.ig { background: linear-gradient(45deg, #f58529, #dd2a7b, #8134af); font-size: 12px; }
.platform-icon.li { background: #0a66c2; }
.social-phone {
width: 100%; max-width: 360px; background: #fff; border: 1px solid #d1d5db;
box-shadow: 0 8px 30px rgba(15,23,42,.12); overflow: hidden; font-size: 14px;
}
.soc-header { display: flex; align-items: center; gap: 10px; padding: 12px 14px; }
.soc-avatar {
width: 40px; height: 40px; background: var(--accent); color: #fff; display: flex;
align-items: center; justify-content: center; font-weight: 700; font-size: 13px; flex-shrink: 0; border-radius: 50%;
}
.soc-name { font-weight: 700; font-size: 13px; }
.soc-meta { font-size: 11px; color: #6b7280; }
.soc-caption { padding: 0 14px 12px; white-space: pre-wrap; line-height: 1.4; font-size: 13px; }
.soc-image { height: 200px; background: linear-gradient(135deg, #e5e7eb, #cbd5e1); }
.soc-actions { padding: 10px 14px; border-top: 1px solid #e5e7eb; font-size: 12px; color: #4b5563; font-weight: 600; }
.ai-chat { display: flex; flex-direction: column; height: min(640px, 75vh); background: #fff; border: 1px solid var(--border); }
.ai-chat-h { padding: 12px 14px; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; }
.ai-chat-h h2 { margin: 0; font-size: 15px; font-family: var(--display); }
.ai-pill { font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; background: #e8f0f5; color: var(--accent); padding: 3px 8px; }
.ai-messages { flex: 1; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 12px; background: linear-gradient(180deg, #f8fafc, #fff 40%); }
.ai-msg { max-width: 92%; font-size: 13px; line-height: 1.45; }
.ai-msg.bot { align-self: flex-start; }
.ai-msg.user { align-self: flex-end; }
.ai-msg .bubble { padding: 10px 12px; border: 1px solid var(--border); background: #fff; }
.ai-msg.user .bubble { background: var(--accent); color: #fff; border-color: var(--accent); }
.ai-msg .who { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: 4px; }
.ai-draft { margin-top: 8px; padding: 10px; background: #f8fafc; border: 1px dashed #a8d8dc; white-space: pre-wrap; font-size: 12px; }
.ai-chat-input { border-top: 1px solid var(--border); padding: 10px 12px; display: flex; gap: 8px; align-items: flex-end; }
.ai-chat-input textarea { flex: 1; min-height: 44px; max-height: 100px; resize: vertical; border: 1px solid var(--border); padding: 8px 10px; font: inherit; font-size: 13px; }
.postcard {
width: 100%; max-width: 420px; aspect-ratio: 6/4; position: relative; overflow: hidden;
background: #111; box-shadow: 0 12px 40px rgba(15,23,42,.25); color: #fff;
}
.postcard-media { position: absolute; inset: 0; background: linear-gradient(135deg, #1a4f6e, #0b1f33 60%, #c45c26); }
.postcard-copy { position: absolute; left: 20px; right: 20px; bottom: 18px; z-index: 2; }
.postcard-headline { font-family: var(--display); font-weight: 700; font-size: 26px; border-left: 4px solid #7dd3da; padding-left: 10px; line-height: 1.1; }
.postcard-sub { margin-top: 8px; font-size: 14px; opacity: .95; }
.size-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.size-option {
border: 1px solid var(--border); background: #fff; padding: 10px 12px; text-align: left;
cursor: pointer; font: inherit; color: inherit;
}
.size-option.active { border-color: var(--accent); background: #e8f0f5; box-shadow: inset 3px 0 0 var(--accent); }
.designer-layout { display: grid; grid-template-columns: minmax(240px, 320px) 1fr; gap: 20px; align-items: start; }
@media (max-width: 960px) { .designer-layout { grid-template-columns: 1fr; } }
.calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; font-size: 12px; }
.calendar-grid .dow { text-align: center; color: var(--muted); font-weight: 600; padding: 6px; }
.calendar-grid .day {
aspect-ratio: 1; border: 1px solid var(--border); background: #fff; padding: 6px; position: relative;
}
.calendar-grid .day.has-post { background: #e8f0f5; }
.calendar-grid .day .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); margin-top: 4px; }
.steps { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 20px; }
.step {
display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--muted);
padding: 8px 12px; background: #fff; border: 1px solid var(--border);
}
.step span {
width: 22px; height: 22px; border-radius: 50%; background: #e5e7eb; color: #374151;
display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700;
}
.step.active { border-color: var(--accent); color: var(--ink); }
.step.active span { background: var(--accent); color: #fff; }
.dropzone { border: 2px dashed var(--border); padding: 32px; text-align: center; background: #f8fafc; }
.public-simple { max-width: 720px; margin: 40px auto; padding: 0 24px 64px; }
.public-simple .card { background: #fff; border: 1px solid var(--border); padding: 32px; }
.public-nav {
background: #fff; border-bottom: 1px solid var(--border);
padding: 14px 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.public-nav .brand { font-family: var(--display); font-weight: 700; color: var(--ink); text-decoration: none; font-size: 18px; }
.public-nav .links a { margin-left: 16px; font-size: 14px; color: var(--muted); text-decoration: none; }
.public-nav .links a:hover { color: var(--accent); }
.blog-list { display: grid; gap: 16px; }
.blog-item { background: #fff; border: 1px solid var(--border); padding: 20px; text-decoration: none; color: inherit; display: block; }
.blog-item:hover { border-color: var(--accent); color: inherit; text-decoration: none; }
.blog-item h3 { margin: 0 0 6px; font-family: var(--display); }
.blog-item .meta { font-size: 12px; color: var(--muted); margin-bottom: 8px; }
.blog-item p { margin: 0; font-size: 14px; color: var(--muted); }
.pay-box { max-width: 480px; margin: 48px auto; background: #fff; border: 1px solid var(--border); padding: 32px; }
.pay-box h1 { font-family: var(--display); margin: 0 0 8px; }
.pay-amount { font-size: 36px; font-weight: 700; font-family: var(--display); margin: 16px 0; }
.error-hero { text-align: center; padding: 80px 24px; }
.error-hero h1 { font-family: var(--display); font-size: 4rem; margin: 0; color: var(--accent); }
.muted { color: var(--muted); font-size: 12px; }
.theme-paint {
--accent: #c45c26;
--accent-2: #1a2332;
}
.theme-paint .portal-sidebar { background: #1a2332; }
.theme-paint .portal-nav a.active { background: rgba(196,92,38,.25); border-left-color: #c45c26; }
.theme-paint .login-wrap { background: linear-gradient(160deg, #1a2332, #3d4a5c 60%, #f3efe8 60%); }
.theme-paint .proposal-note { border-left-color: #c45c26; background: #faf6f1; color: #5c3d2e; }
.theme-paint .btn-primary { background: #c45c26; }
.theme-paint .btn-primary:hover { background: #a34a1e; }
.theme-paint .portal-nav a.active { border-left-color: #e8b88a; }
/* Vendor credit */
.aiml-site-credit {
text-align: center;
font-size: 12px;
color: var(--muted);
padding: 16px 24px 28px;
}
.aiml-site-credit a {
color: var(--accent);
text-decoration: none;
font-weight: 600;
}
.aiml-site-credit a:hover { text-decoration: underline; }
body.portal .aiml-site-credit {
border-top: 1px solid var(--border);
background: #fff;
margin-top: auto;
}