From 8f2e3c195f0cc59574a002e1a9aeaca7cf9608b6 Mon Sep 17 00:00:00 2001 From: sairaj mote Date: Fri, 9 Dec 2022 20:17:51 +0530 Subject: [PATCH] major code refactoring --- assets/css/main.css | 166 +- assets/css/main.min.css | 2 +- assets/css/main.scss | 2789 +++++++++++----------- assets/investors/Margot Borden.jpg | Bin 8504 -> 128420 bytes assets/investors/Puneet Sondh.jpg | Bin 0 -> 31782 bytes assets/investors/Vikash Saw.jpg | Bin 0 -> 43288 bytes assets/js/components.js | 3295 +------------------------- assets/js/index.js | 510 ++-- bitcoinbonds.html | 279 ++- bob'sfund.html | 270 ++- floblockchaincontract.html | 67 +- ico.html | 128 +- incorporationblockchaincontract.html | 60 +- index.html | 231 +- internshipblockchaincontract.html | 120 +- new-layout.html | 150 +- webwallet.html | 37 +- 17 files changed, 2491 insertions(+), 5613 deletions(-) create mode 100644 assets/investors/Puneet Sondh.jpg create mode 100644 assets/investors/Vikash Saw.jpg diff --git a/assets/css/main.css b/assets/css/main.css index a827ecd..65cf3ee 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -1,7 +1,6 @@ * :not(ol) { padding: 0; margin: 0; - -webkit-box-sizing: border-box; box-sizing: border-box; font-family: "Roboto Slab", serif; } @@ -11,19 +10,19 @@ } body { - --accent-color: #E72C37; + --accent-color: #e72c37; --light-shade: rgba(var(--text-color), 0.06); --text-color: 17, 17, 17; --text-color-light: 100, 100, 100; --foreground-color: 255, 255, 255; - --background-color: #F6f6f6; + --background-color: #f6f6f6; --error-color: red; --green: #007936; - --banner-color: #1E88E5; + --banner-color: #1e88e5; --secondary-text-color: #034baa; --font-weight-factor: 1; color: rgba(var(--text-color), 1); - height: calc(100%); + height: 100%; background: var(--background-color); } @@ -89,7 +88,8 @@ p { } img { - object-fit: cover; + -o-object-fit: cover; + object-fit: cover; } a { @@ -171,6 +171,10 @@ ol[type="1"] { display: flex; } +.flex-wrap { + flex-wrap: wrap; +} + .grid { display: grid; } @@ -335,8 +339,6 @@ ol[type="1"] { word-wrap: break-word; -ms-word-break: break-all; word-break: break-word; - -ms-hyphens: auto; - -moz-hyphens: auto; -webkit-hyphens: auto; hyphens: auto; } @@ -350,8 +352,8 @@ ol[type="1"] { } .icon { - width: 1.5rem; - height: 1.5rem; + width: 1.2rem; + height: 1.2rem; fill: rgba(var(--text-color), 0.9); } @@ -452,7 +454,7 @@ ol[type="1"] { } #elevator_popup { - position: absolute; + position: fixed; width: 100%; height: 100%; top: 0; @@ -465,6 +467,7 @@ ol[type="1"] { } .elevator__header { + position: -webkit-sticky; position: sticky; top: 0; padding: 1.2rem 1.5rem; @@ -496,6 +499,7 @@ ol[type="1"] { } .floor_list__header { + position: -webkit-sticky; position: sticky; top: 0; padding-bottom: 0.5rem; @@ -523,7 +527,9 @@ ol[type="1"] { .outlet-list__item { display: grid; - user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; width: min(50ch, 100%); counter-increment: outlet-counter; } @@ -578,46 +584,31 @@ ol[type="1"] { } #main_header { - position: relative; + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1; + background: var(--background-color); + display: flex; + align-items: center; + justify-content: space-between; padding: 1rem; - grid-template-columns: repeat(3, 1fr); } #elevator_button { justify-self: flex-start; margin-left: -1rem; } -#elevator_button .icon { - width: 1.7rem; - height: 1.7rem; + +.main-logo { + position: absolute; + left: 50%; + transform: translateX(-50%); } #main_header__logo { - height: 1.8rem; - width: 1.8rem; -} - -.theme-switcher { - position: relative; - justify-self: flex-end; - width: 1.5rem; height: 1.5rem; - cursor: pointer; - -webkit-tap-highlight-color: transparent; -} -.theme-switcher .icon { - position: absolute; - transition: transform 0.6s; -} - -.theme-switcher__checkbox { - display: none; -} -.theme-switcher__checkbox:checked ~ .moon-icon { - transform: scale(0) rotate(90deg); -} -.theme-switcher__checkbox:not(:checked) ~ .sun-icon { - transform: scale(0) rotate(-90deg); + width: 1.5rem; } .page, @@ -642,13 +633,11 @@ ol[type="1"] { #home_page { will-change: scroll-position; - overflow-y: auto; - max-height: calc(100vh - 5.2rem); - grid-template-columns: 2rem 1fr; scroll-behavior: smooth; } #floor_line_map { + position: -webkit-sticky; position: sticky; top: 1rem; height: 40vh; @@ -697,7 +686,9 @@ ol[type="1"] { align-items: center; left: 0.2rem; margin-top: -1rem; - user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; transition: transform 0.3s; } @@ -728,10 +719,6 @@ ol[type="1"] { transition: box-shadow 0.3s, opacity 0.3s; } -#floor_container { - width: calc(100% - 1rem); -} - .floor { padding-bottom: 3rem; width: 100%; @@ -899,7 +886,8 @@ ol[type="1"] { border-radius: 0.5rem; height: 10rem; width: 10rem; - object-position: top; + -o-object-position: top; + object-position: top; border-radius: 50%; } @@ -944,12 +932,12 @@ ol[type="1"] { .motivated { color: black; - background-color: #FFCA28; + background-color: #ffca28; } .passionate { color: black; - background-color: #00E676; + background-color: #00e676; } #intern_level_popup { @@ -1011,8 +999,6 @@ ol[type="1"] { } .outlet-label .icon { grid-area: icon; - height: 1.6rem; - width: 1.6rem; fill: var(--accent-color); justify-self: flex-end; } @@ -1199,6 +1185,7 @@ ol[type="1"] { .room-container__header { display: flex; + position: -webkit-sticky; position: sticky; top: 0; z-index: 2; @@ -1221,22 +1208,10 @@ ol[type="1"] { font-weight: calc(700 * var(--font-weight-factor)); } -/* .room-carousel{ - display: flex; - overflow-x: auto; - scroll-snap-type: x mandatory; - height: 100%; - scroll-behavior: smooth; - & > *{ - min-width: 100%; - scroll-snap-align: start; - - } -} */ .room-container__footer { + position: -webkit-sticky; position: sticky; display: flex; - gap: 1rem; bottom: 0; z-index: 2; overflow-x: auto; @@ -1245,6 +1220,9 @@ ol[type="1"] { margin-left: -3rem; background: linear-gradient(0deg, var(--background-color) 70%, rgba(0, 0, 0, 0) 100%); } +.room-container__footer > h4 { + margin-right: 1rem; +} #room_switcher { display: grid; @@ -1405,48 +1383,37 @@ ol[type="1"] { .hide-on-mobile { display: none; } - .outlet-preview { gap: 1.5rem; } - .outlet-preview__number-container { grid-row: 1/2; } - .outlet-preview__number::after { left: 0; } - .outlet-preview__number, .outlet-label__no { font-size: 5rem; } - #outlet_switcher { width: calc(100% - 2rem); } - .outlet-label { grid-row: 1/2; } - .outlet-hero-section { margin-top: 2rem; } - .outlet-label__no { margin-bottom: 2rem; } - .series-container { gap: 1rem; } - .outlet-list__item .icon { margin-left: auto; } - .rooms__header { flex-direction: column; align-items: flex-start; @@ -1454,7 +1421,6 @@ ol[type="1"] { .rooms__header scroll-tab-header { width: calc(100vw - 2rem); } - .room-tile { padding-top: 100%; } @@ -1466,62 +1432,51 @@ ol[type="1"] { padding: 1rem; position: absolute; } - .room-tile__icon { height: 4rem; width: 4rem; } - .investors-icon { height: 6rem; width: 6rem; } - #hero_title { margin-top: 2rem; } - .ext-link-tile { padding: 1rem; flex-direction: column; align-items: flex-start; } - .link-container { margin-top: 1.5rem; } } @media only screen and (min-width: 640px) { - #home_page, .page, + #home_page, +.page, .page-layout { grid-template-columns: 1fr 90vw 1fr; } - .h1 { font-size: 4rem; } - .h2 { font-size: 2.5rem; } - .h3 { font-size: 1.5rem; } - .h4 { font-size: 1.1rem; } - #main_header { padding: 1.2rem 2rem; } - #floor_list { gap: 8vw; padding: 0 8vw 4rem 8vw; } - .floor_list__item { position: relative; grid-template-columns: 1fr 1fr; @@ -1552,7 +1507,6 @@ ol[type="1"] { grid-row: 1/2; grid-column: 1/2; } - .floor__header::before { left: -10%; width: 10%; @@ -1561,11 +1515,9 @@ ol[type="1"] { right: -10%; width: 10%; } - .outlets-container { gap: 1.5rem; } - .outlet-preview { gap: 1rem; padding: 5rem 4rem; @@ -1593,59 +1545,46 @@ ol[type="1"] { .outlet-preview:nth-of-type(odd) .outlet-preview__number::after { right: 0; } - .outlet__title { font-size: 2.5rem; } - #outlet_switcher { padding: 1rem 1.5rem; } - .outlet-label { grid-column: 2/3; justify-self: right; } - .outlet-label__no { justify-content: flex-end; } - .outlet-hero-section { position: relative; grid-template-columns: 1fr auto; gap: 1.5rem; margin-top: 4rem; } - .auto-grid-layout { grid-template-columns: auto 1fr; } - .rooms-layout { grid-template-rows: 1fr 1fr; } - .room-container__header { padding: 1.5rem 0; } - .people-grid { gap: 5rem 3rem; } - #hero_title { font-size: 3rem; } - .feature__title { font-size: 1.5rem; } - .features-grid { grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr)); } - .graph-container { width: 80%; min-height: 60vh; @@ -1653,23 +1592,21 @@ ol[type="1"] { } } @media only screen and (min-width: 1280px) { - #home_page, .page, + #home_page, +.page, .page-layout { grid-template-columns: 1fr 85vw 1fr; } - .grid-3 { justify-content: center; } .grid-3 > .grid { width: 100%; } - .rooms-layout { grid-template-columns: repeat(3, 1fr); grid-auto-flow: column; } - .link-container { grid-template-columns: auto auto; } @@ -1679,7 +1616,6 @@ ol[type="1"] { width: 0.5rem; height: 0.5rem; } - ::-webkit-scrollbar-thumb { background: rgba(var(--text-color), 0.3); border-radius: 1rem; @@ -1687,7 +1623,6 @@ ol[type="1"] { ::-webkit-scrollbar-thumb:hover { background: rgba(var(--text-color), 0.5); } - .page-link { cursor: pointer; transition: color 0.3s; @@ -1698,11 +1633,9 @@ ol[type="1"] { .page-link:hover .icon { fill: var(--accent-color); } - .floor__button:hover { background: var(--background-color); } - .outlet-list__item .icon { fill: var(--accent-color); opacity: 0; @@ -1714,7 +1647,6 @@ ol[type="1"] { opacity: 1; transform: translateX(0); } - .intern__level { transition: transform 0.3s; } diff --git a/assets/css/main.min.css b/assets/css/main.min.css index c8a6466..5127e20 100644 --- a/assets/css/main.min.css +++ b/assets/css/main.min.css @@ -1 +1 @@ -.floor__header,body{background:var(--background-color)}a,button{color:inherit}.outlet-label,sm-tab-header{align-self:flex-start}#room_switcher,.flow-column{grid-auto-flow:column}.hide,.ripple{pointer-events:none}.pos-relative,button{position:relative}.ext-link-tile,.interact,.room-tile,.theme-switcher,button{-webkit-tap-highlight-color:transparent}* :not(ol){padding:0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:"Roboto Slab",serif}.button__icon--left,.margin-right-0-5{margin-right:.5rem}:root{font-size:clamp(1rem,1.2vmax,3rem)}body{--accent-color:#E72C37;--light-shade:rgba(var(--text-color), 0.06);--text-color:17,17,17;--text-color-light:100,100,100;--foreground-color:255,255,255;--background-color:#F6f6f6;--error-color:red;--green:#007936;--banner-color:#1E88E5;--secondary-text-color:#034baa;--font-weight-factor:1;color:rgba(var(--text-color),1);height:calc(100%)}body[data-theme=dark]{--accent-color:#ff3949;--green:#13ff5a;--text-color:240,240,240;--text-color-light:170,170,170;--foreground-color:20,20,20;--background-color:#0a0a0a;--error-color:rgb(255, 106, 106);--banner-color:#0166be;--secondary-text-color:#4393fc;--font-weight-factor:0.9}body[data-theme=dark] #outlet_switcher{background:linear-gradient(rgba(var(--text-color),.06),rgba(var(--text-color),.06)),rgba(var(--foreground-color),1)}body[data-theme=dark] .outlet-preview{box-shadow:0 4rem 3rem -2rem rgba(0,0,0,.3)}.full-bleed{grid-column:1/4}.h1{font-size:2.5rem}.h2{font-size:2rem}.h3{font-size:1.4rem}.h4{font-size:1rem}.h5{font-size:.8rem}.uppercase{text-transform:uppercase}.capitalize,.floor_list__header,.outlet__title,.person__name{text-transform:capitalize}#my_popup{--width:min(24rem, 100%)}p{font-weight:calc(400 * var(--font-weight-factor));max-width:70ch;line-height:1.6}img{object-fit:cover}a{text-decoration:none}a:focus-visible{box-shadow:0 0 0 .1rem rgba(var(--text-color),1) inset}p a{color:var(--accent-color)}button{overflow:hidden;display:inline-flex;align-items:center;border:none;background:0 0;cursor:pointer;outline:0;font-weight:calc(500 * var(--font-weight-factor))}.button--primary,.tag{background:var(--accent-color)}.button{border-radius:.2rem;padding:.5rem .6rem}.button--primary{color:rgba(var(--foreground-color),1)}.button--primary .icon{fill:rgba(var(--foreground-color),1)}.feature__icon .icon,.icon{fill:rgba(var(--text-color),.9)}.button--outlined{box-shadow:0 0 0 1px rgba(var(--text-color),.5)}.button--filled{background-color:rgba(var(--text-color),.2)}button:focus-visible{outline:solid rgba(var(--text-color),1)}sm-input,sm-textarea{--border-radius:0.2rem;--background:rgba(var(--text-color), 0.06)}sm-button{--border-radius:0.2rem}ul{list-style:none}ol[type="1"]{display:grid;gap:2rem}.accent-color{color:var(--accent-color)}.flex{display:flex}.grid{display:grid}.grid-3{grid-template-columns:repeat(auto-fill,minmax(8rem,1fr))}.gap-0-5{gap:.5rem}.gap-1{gap:1rem}.gap-1-5{gap:1.5rem}.gap-2{gap:2rem}.gap-3{gap:3rem}.text-align-right{text-align:right}.feature,.person-card,.text-center{text-align:center}.align-start{align-items:flex-start}.align-center{align-items:center}.justify-start{justify-content:start}.justify-center{justify-content:center}.justify-right{margin-left:auto}.button__icon--right,.margin-left-0-5{margin-left:.5rem}.align-self-center{align-self:center}.justify-self-center{justify-self:center}.justify-self-start{justify-self:start}.direction-column{flex-direction:column}.space-between{justify-content:space-between}.w-100{width:100%}.margin-top-1-5{margin-top:1.5rem}.margin-bottom-0-5r{margin-bottom:.5rem}.margin-bottom-1r{margin-bottom:1rem}.margin-bottom-1-5r{margin-bottom:1.5rem}.margin-bottom-2r{margin-bottom:2rem}.margin-bottom-3r{margin-bottom:3rem}.margin-bottom-4r{margin-bottom:4rem}.hide{opacity:0}.hide-completely{display:none!important}.no-transformations{transform:none!important}.overflow-ellipsis{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ripple{position:absolute;border-radius:50%;transform:scale(0);background:rgba(var(--text-color),.16)}.interact{position:relative;overflow:hidden;cursor:pointer}.breakable{overflow-wrap:break-word;word-wrap:break-word;-ms-word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.observe-empty-state:empty{display:none}.observe-empty-state:not(:empty)~.empty-state{display:none}.icon{width:1.5rem;height:1.5rem}.icon-only{height:2.6rem;width:2.6rem;padding:.6rem}.close-icon{padding:.3rem}.close-button{left:-.5rem}.button__label{font-size:1rem}.button__icon{height:1.1rem;width:1.1rem}.color-0-9{color:rgba(var(--text-color),.9)}.color-0-8{color:rgba(var(--text-color),.8)}.color-0-7{color:rgba(var(--text-color),.7)}.color-0-3,.floor__num{color:rgba(var(--text-color),.3)}.banner .close-icon,.tile__brief{color:rgba(var(--text-color),.7)}.weight-400{font-weight:calc(400 * var(--font-weight-factor))}.weight-500{font-weight:calc(500 * var(--font-weight-factor))}.outlet-title,.weight-700{font-weight:calc(700 * var(--font-weight-factor))}.weight-900{font-weight:calc(900 * var(--font-weight-factor))}.popup__header{padding:.5rem 1.5rem 0 1rem;display:grid;grid-template-columns:auto 1fr;gap:.5rem;align-items:center;width:100%}.banner{display:grid;gap:1rem;padding:.5rem 0 .5rem 1rem;align-items:center;border:.1rem solid var(--banner-color);grid-template-columns:1fr auto;border-radius:.5rem;margin:0 1rem}.banner .close-icon{width:2.2rem;height:2.2rem}.banner__text{max-width:unset;font-size:.9rem}#elevator_popup{position:absolute;width:100%;height:100%;top:0;left:0;right:0;bottom:0;z-index:15;grid-template-rows:auto 1fr;background:rgba(var(--foreground-color),1)}.elevator__header,.floor_list__header{position:sticky;background:rgba(var(--foreground-color),1);z-index:1;top:0}.elevator__header{padding:1.2rem 1.5rem;display:grid;grid-template-columns:auto 1fr;gap:.5rem;align-items:center;justify-content:flex-start;width:100%}#floor_list{align-content:flex-start;padding:0 1.5rem 4rem;gap:2rem;overflow-y:auto;transform-origin:top}.floor_list__item{display:grid;gap:1.5rem;transform-origin:top}.floor_list__item:last-of-type{padding-bottom:25vh}.floor_list__header{padding-bottom:.5rem}.outlet-list{gap:2rem;counter-reset:outlet-counter}.floor-list__outlet{display:flex;align-items:center}.floor-list__outlet::before{content:"";width:.4rem;height:1.5rem;margin-right:.5rem;background-color:var(--accent-color)}.outlet-list__item{display:grid;user-select:none;width:min(50ch,100%);counter-increment:outlet-counter}.outlet-list__item .outlet-title::before{content:counter(outlet-counter) ". "}.outlet-list__item .icon{fill:var(--accent-color);flex-shrink:0}.outlet-title{font-size:1.2rem;margin-bottom:.5rem}.floor__button,.floor__num{font-weight:calc(900 * var(--font-weight-factor))}.outlet-brief{color:rgba(var(--text-color),.8)}.popup__header__close{padding:.5rem;cursor:pointer}.floor__button{padding:.5rem 0;flex-direction:column;text-align:left;align-items:flex-start;border-radius:.2rem;font-size:1.5rem;background:rgba(var(--foreground-color),1)}.floor__button--active{background:rgba(var(--text-color),.2);box-shadow:0 0 0 .4rem rgba(var(--text-color),1) inset}.floor-name{margin-top:.2rem;font-size:.8rem}.elevator__floor-line{flex:1;height:.1rem;margin-left:2rem;background-color:var(--accent-color)}#main_header{position:relative;padding:1rem;grid-template-columns:repeat(3,1fr)}#elevator_button{justify-self:flex-start;margin-left:-1rem}#elevator_button .icon{width:1.7rem;height:1.7rem}#main_header__logo{height:1.8rem;width:1.8rem}.theme-switcher{position:relative;justify-self:flex-end;width:1.5rem;height:1.5rem;cursor:pointer}.theme-switcher .icon{position:absolute;transition:transform .6s}.theme-switcher__checkbox{display:none}.theme-switcher__checkbox:checked~.moon-icon{transform:scale(0) rotate(90deg)}.theme-switcher__checkbox:not(:checked)~.sun-icon{transform:scale(0) rotate(-90deg)}.page,.page-layout{position:relative;display:grid;grid-template-columns:1rem 1fr 1rem}#floor_line_map,#home_page{grid-template-columns:2rem 1fr}.page-layout>*,.page>*{grid-column:2/3}.page{padding-bottom:4rem}.tag{padding:.4rem .6rem}#home_page{will-change:scroll-position;overflow-y:auto;max-height:calc(100vh - 5.2rem);scroll-behavior:smooth}#floor_line_map{position:sticky;top:1rem;height:40vh;z-index:10;grid-column:1/2}.line-map{height:100%}.line-map__circle{position:absolute;border-radius:1rem;width:1rem;height:1rem;margin-top:-.7rem;background:rgba(var(--foreground-color),1);border:.2rem solid var(--accent-color);transition:transform .1s linear;z-index:5}.line-map__bar{position:relative;width:.1rem;height:100%;border-radius:1rem;background:var(--accent-color)}.line-map__bar::after{position:absolute;content:"";bottom:0;left:50%;transform:translateX(-50%);width:.7rem;height:.2rem;background-color:var(--accent-color)}.floor-label{position:absolute;display:flex;align-items:center;left:.2rem;margin-top:-1rem;user-select:none;transition:transform .3s}.floor-circle{position:relative;border-radius:1rem;padding:.8rem}.floor-circle::after{content:"";position:absolute;padding:.3rem;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(var(--text-color),1);border-radius:1rem}.floor-title{opacity:.5;font-size:.9rem;white-space:nowrap;padding:.4rem .6rem;margin-left:1rem;border-radius:.2rem;background:rgba(var(--foreground-color),1);transition:box-shadow .3s,opacity .3s}#floor_container{width:calc(100% - 1rem)}.floor{padding-bottom:3rem;width:100%}.floor__header{position:relative;padding:.5rem 0;transform:translateY(-.1rem)}.bit-bond-series__row,.bob-fund__row,.card,.outlet-preview,.starter{background-color:rgba(var(--foreground-color),1)}.floor__num{display:flex;align-items:center;font-size:1.8rem}.outlet-hero-section,.outlet-preview,.table{display:grid}.floor__title{font-size:1.3rem;font-weight:calc(700 * var(--font-weight-factor))}.outlet__title,.svg-outlet-title{font-weight:calc(900 * var(--font-weight-factor))}.big-icon{height:2rem;width:2rem}.outlets-container{margin:1rem 0;gap:1.5rem}.outlet-preview{position:relative;padding:1rem;align-items:center;border-radius:.7rem}.outlet__title{line-height:1.2;max-width:18ch;font-size:1.8rem;margin-bottom:1rem}.svg-outlet-title{height:4rem;margin-bottom:1.5rem;fill:rgba(var(--text-color),1)}.outlet__description{color:rgba(var(--text-color),.8)}.outlet-preview__button{padding:.5rem 0;justify-self:flex-start;color:var(--accent-color);font-weight:calc(700 * var(--font-weight-factor))}.outlet-preview__number{position:relative;line-height:1;font-size:8rem;font-weight:900;-webkit-text-stroke:1rem var(--accent-color);-webkit-text-fill-color:rgba(var(--foreground-color),1);margin:0 .5rem}.outlet-preview__number::after{content:attr(data-number);position:absolute;line-height:1;font-size:1em;font-weight:inherit;-webkit-text-stroke:0;color:rgba(var(--foreground-color),1)}.intern__level,.outlet_switcher__button,.percent-gain{font-weight:calc(500 * var(--font-weight-factor))}.label{position:relative;font-size:.8rem;margin-bottom:.3rem}.value{font-size:1.2rem}.series-container{gap:1.5rem;padding-bottom:1.5rem;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr))}.bit-bond-series__row,.bob-fund__row,.person-card{min-width:100%}.bob-fund__row .grid{align-content:flex-start}.bit-bond-series__row,.bob-fund__row,.card{gap:1rem;padding:1.5rem;border-radius:.5rem;align-items:flex-start;box-shadow:0 .5rem 1rem -.5rem rgba(0,0,0,.1)}.bit-bond-series__row .original-value{font-size:.85rem}.up-arrow{height:1em;width:1em;fill:var(--green);margin-right:.1em}.outlet-label .icon,.room-button[active] .icon{fill:var(--accent-color)}.percent-gain{margin-right:.5em}.percent-gain,.time-elapsed{font-size:.8rem}.time-elapsed{color:rgba(var(--text-color),.8)}.person-card{position:relative;gap:1rem;justify-items:center;align-content:flex-start;grid-template-columns:1fr}.person__image{height:10rem;width:10rem;object-position:top;border-radius:50%}.person__name{font-size:.9rem}.investor__bio,.investor__contribution{font-size:.85rem}.investor__bio{margin-top:.5rem}.intern-flo-id{margin-top:.3rem;font-size:.75rem}.intern__project{margin-top:.5rem}.intern__level{position:absolute;cursor:pointer;font-size:.8rem;border-radius:.2rem;margin-bottom:.3rem;padding:.3rem .5rem;justify-self:flex-end;box-shadow:0 .1rem .2rem rgba(0,0,0,.2)}.motivated{color:#000;background-color:#FFCA28}.passionate{color:#000;background-color:#00E676}#intern_level_popup{--width:min(48rem, 100%)}.table{gap:1rem;grid-template-columns:6rem 1fr}.table p{font-size:.9rem;color:rgba(var(--text-color),.9)}#outlet_switcher{position:absolute;top:0;padding:1rem;border-radius:.3rem;background:rgba(var(--foreground-color),1);box-shadow:0 2rem 4rem -1rem rgba(0,0,0,.2);z-index:2;outline:0}.ext-link-tile,.feature,.outlet-label__no,.room-button,.room-tile,.room__label,.rooms-layout,.timeline-item{position:relative}.outlet_switcher__floor{display:flex;flex-direction:column;overflow-y:auto}.outlet_switcher__button{display:flex;align-items:center;font-size:1rem;padding:.6rem 0}.outlet_switcher__button--active{color:var(--accent-color)!important}.outlet-label{display:grid;gap:.5rem;text-align:left;align-items:center;min-width:8rem;font-size:1.1rem;margin-bottom:.5rem;grid-template-areas:"label icon" "num num"}.outlet-label .icon{grid-area:icon;height:1.6rem;width:1.6rem;justify-self:flex-end}.outlet-label__name{font-size:1.7rem;color:rgba(var(--text-color),.5);font-weight:calc(900 * var(--font-weight-factor))}.outlet-label__no{grid-area:num;display:flex;line-height:1;font-size:8rem;font-weight:900;-webkit-text-stroke:1rem var(--accent-color);-webkit-text-fill-color:var(--background-color);margin:0 .5rem}.outlet-label__no::after{content:attr(data-number);position:absolute;line-height:1;font-size:1em;font-weight:inherit;-webkit-text-stroke:0;color:var(--background-color)}#hero_title,.room__label{font-weight:calc(700 * var(--font-weight-factor))}.auto-grid-layout{justify-content:flex-start;overflow-x:auto}.grid-2{grid-template-columns:auto 1fr}.rooms__header{z-index:1;display:flex;align-items:center;margin-bottom:1.5rem;background:var(--background-color);box-shadow:0 1rem 1rem -1rem rgba(0,0,0,.2)}.room__label{display:flex;align-items:center;padding-right:1.5rem;font-size:1.5rem}.room-button{opacity:.6;flex-shrink:0;border-radius:0;font-weight:calc(500 * var(--font-weight-factor));font-size:1.1rem;transition:opacity .3s,background-color .3s;padding:.6rem .8rem}.room-button:not(:last-of-type)::after{content:"";height:.1rem;width:4rem;margin-left:1rem;align-self:center;background:var(--accent-color)}#expanding_tile,.room-tile{background-color:rgba(var(--foreground-color),1)}.room-button[active]{opacity:1;color:var(--accent-color)}.people-grid{display:grid;gap:3rem 1.5rem;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr))}.rooms-layout{display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:4rem}.room-tile{display:flex;border-radius:.5rem;transition:transform .3s;box-shadow:0 1rem 3rem -1rem rgba(0,0,0,.1)}.room-tile--main{padding-top:100%;grid-row:span 2}.room-tile--main .tile-content{position:absolute;bottom:0}.room-tile .tile-content{display:flex;width:100%;height:100%;padding:1.5rem;align-self:flex-end;flex-direction:column}.room-tile:active{transform:scale(.95)}.room-tile__icon{position:absolute;height:6rem;width:6rem;top:50%;left:50%;transform:translate(-50%,-50%)}.room-tile__icon:not(.room-tile__icon--colored){fill:rgba(var(--text-color),.1)}.investors-icon{height:8rem;width:8rem}.room-tile__title{font-size:.9rem;padding:.4rem .8rem;border:.1rem solid var(--secondary-text-color);color:var(--secondary-text-color);border-radius:.3rem}#performance_preview{margin-top:auto}#performance_preview>*{padding:0;box-shadow:none}#expanding_tile{position:fixed;border-radius:.5rem;z-index:5}.room-container{position:fixed;top:0;bottom:0;left:0;right:0;z-index:6;overflow-y:auto;background-color:var(--background-color);grid-template-rows:auto auto 1fr auto;align-items:flex-start}.room{padding-bottom:4rem}.room-container__header{display:flex;position:sticky;top:0;z-index:2;background-color:inherit;padding:1rem 0}.room-container__header::before{position:absolute;content:"";width:1rem;height:100%;left:-1rem;top:0;background-color:inherit}#hero_title{font-size:2rem;margin-bottom:2rem}.room-container__footer{position:sticky;display:flex;gap:1rem;bottom:0;z-index:2;overflow-x:auto;align-items:center;padding:2rem .5rem .5rem 3rem;margin-left:-3rem;background:linear-gradient(0deg,var(--background-color) 70%,rgba(0,0,0,0) 100%)}#room_switcher{display:grid;gap:.5rem;justify-content:flex-start}.room-shortcut .room-tile__title{font-weight:500;font-size:.9rem}.ext-link-tile{display:flex;padding:1.5rem;border-radius:.5rem;background-size:contain;align-items:center;justify-content:space-between;border:.1rem solid var(--banner-color);box-shadow:0 1rem 3rem -1rem rgba(0,0,0,.2);overflow:hidden}.tile__title{font-size:1.25rem;line-height:1;font-weight:calc(500 * var(--font-weight-factor));z-index:1}.tile__brief{margin-top:1rem;z-index:1}.round{display:inline-flex;flex-shrink:0;padding:.4rem 1rem;border-radius:.3rem;color:#fff;background-color:var(--banner-color);font-weight:700!important;font-size:1rem;z-index:1}.timeline-container{display:grid;padding:3rem 0;gap:4rem}.timeline-item{display:grid;padding-left:1rem}.timeline-item:not(:last-of-type):before{content:"";position:absolute;width:.1rem;height:calc(100% + 4rem);top:0;left:0;background-color:rgba(var(--text-color),.7)}.timeline-item:after{content:"";position:absolute;height:.6rem;width:.6rem;border-radius:50%;top:0;left:-.25rem;background-color:rgba(var(--text-color),1)}.timeline-item__header{display:flex;font-size:.8rem;padding:.5rem .8rem;border-radius:.2rem;justify-self:flex-start;transform:translateY(-.8rem);box-shadow:0 0 0 1px rgba(var(--text-color),.6);background-color:rgba(var(--foreground-color),1)}.features-grid{display:grid;gap:3rem 2rem;margin-bottom:5rem}.feature{display:flex;flex-direction:column;align-items:center;bottom:0;left:0;width:100%;height:100%}.feature__icon{display:flex;align-items:center;margin-bottom:1rem;padding:1.5rem;border-radius:50%;background-color:rgba(var(--text-color),.06)}.feature__icon .icon{height:2.5rem;width:2.5rem}.feature__title{color:rgba(var(--text-color),.9);font-size:1.2rem;margin-bottom:.5rem}.feature__brief{font-size:.9rem;color:rgba(var(--text-color),.8)}#line_sample{width:2rem;height:.2rem;margin-right:1rem;background:linear-gradient(90deg,#f49080,#80b6f4)}.graph-container{min-height:16rem;margin:1rem 0 4rem}.link-container{display:grid;gap:1rem;justify-items:flex-start;align-items:center}@media only screen and (max-width:640px){.outlet-label,.outlet-preview__number-container{grid-row:1/2}#hero_title,.outlet-hero-section{margin-top:2rem}.hide-on-mobile{display:none}.outlet-preview{gap:1.5rem}.outlet-preview__number::after{left:0}.outlet-label__no,.outlet-preview__number{font-size:5rem}#outlet_switcher{width:calc(100% - 2rem)}.outlet-label__no{margin-bottom:2rem}.series-container{gap:1rem}.outlet-list__item .icon{margin-left:auto}.rooms__header{flex-direction:column;align-items:flex-start}.rooms__header scroll-tab-header{width:calc(100vw - 2rem)}.room-tile{padding-top:100%}.room-tile--main{grid-column:span 2}.room-tile .tile-content{top:0;padding:1rem;position:absolute}.room-tile__icon{height:4rem;width:4rem}.investors-icon{height:6rem;width:6rem}.ext-link-tile{padding:1rem;flex-direction:column;align-items:flex-start}.link-container{margin-top:1.5rem}}@media only screen and (min-width:640px){#home_page,.page,.page-layout{grid-template-columns:1fr 90vw 1fr}.h1{font-size:4rem}.h2{font-size:2.5rem}.h3{font-size:1.5rem}.h4{font-size:1.1rem}#main_header{padding:1.2rem 2rem}#floor_list{gap:8vw;padding:0 8vw 4rem}.floor_list__item{position:relative;grid-template-columns:1fr 1fr;align-items:center;justify-content:center}.floor_list__item .floor_list__header{display:grid}.floor_list__item:not(:last-of-type){padding-bottom:8vw}.floor_list__item:not(:last-of-type)::after{content:"";position:absolute;width:24rem;height:.2rem;bottom:0;background-color:var(--accent-color);justify-self:center}.floor_list__item:nth-of-type(odd) .floor_list__header{text-align:right;grid-column:2/3;grid-row:1/2}.floor_list__item:nth-of-type(odd) .outlet-list{grid-row:1/2;grid-column:1/2}.floor__header::before{left:-10%;width:10%}.floor__header::after{right:-10%;width:10%}.outlets-container{gap:1.5rem}.outlet-preview{gap:1rem;padding:5rem 4rem;grid-template-columns:1.2fr 1fr;border:1px solid rgba(0,0,0,.2);box-shadow:0 4rem 3rem -2rem rgba(0,0,0,.06)}.outlet-preview:nth-of-type(even){grid-template-columns:1fr 2fr}.outlet-preview:nth-of-type(even) .outlet-preview__info{grid-column:2/3}.outlet-preview:nth-of-type(even) .outlet-preview__number-container{grid-column:1/2;grid-row:1/2}.outlet-preview:nth-of-type(even) .outlet-preview__number::after{left:0}.outlet-preview:nth-of-type(odd) .outlet-preview__number-container{margin-left:auto;text-align:right}.outlet-preview:nth-of-type(odd) .outlet-preview__number::after{right:0}.outlet__title{font-size:2.5rem}#outlet_switcher{padding:1rem 1.5rem}.outlet-label{grid-column:2/3;justify-self:right}.outlet-label__no{justify-content:flex-end}.outlet-hero-section{position:relative;grid-template-columns:1fr auto;gap:1.5rem;margin-top:4rem}.auto-grid-layout{grid-template-columns:auto 1fr}.rooms-layout{grid-template-rows:1fr 1fr}.room-container__header{padding:1.5rem 0}.people-grid{gap:5rem 3rem}#hero_title{font-size:3rem}.feature__title{font-size:1.5rem}.features-grid{grid-template-columns:repeat(auto-fill,minmax(20rem,1fr))}.graph-container{width:80%;min-height:60vh;justify-self:center}}@media only screen and (min-width:1280px){#home_page,.page,.page-layout{grid-template-columns:1fr 85vw 1fr}.grid-3{justify-content:center}.grid-3>.grid{width:100%}.rooms-layout{grid-template-columns:repeat(3,1fr);grid-auto-flow:column}.link-container{grid-template-columns:auto auto}}@media (any-hover:hover){.outlet-list__item .icon,.page-link:hover .icon{fill:var(--accent-color)}::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background:rgba(var(--text-color),.3);border-radius:1rem}::-webkit-scrollbar-thumb:hover{background:rgba(var(--text-color),.5)}.page-link{cursor:pointer;transition:color .3s}.page-link:hover{color:var(--accent-color)}.floor__button:hover{background:var(--background-color)}.outlet-list__item .icon{opacity:0;transform-origin:left;transform:translateX(-.5rem);transition:opacity .3s,transform .3s}.outlet-list__item:hover .icon{opacity:1;transform:translateX(0)}.intern__level{transition:transform .3s}.intern__level:hover{transform:scale(1.1)}} \ No newline at end of file +* :not(ol){padding:0;margin:0;box-sizing:border-box;font-family:"Roboto Slab",serif}:root{font-size:clamp(1rem,1.2vmax,3rem)}body{--accent-color: #e72c37;--light-shade: rgba(var(--text-color), 0.06);--text-color: 17, 17, 17;--text-color-light: 100, 100, 100;--foreground-color: 255, 255, 255;--background-color: #f6f6f6;--error-color: red;--green: #007936;--banner-color: #1e88e5;--secondary-text-color: #034baa;--font-weight-factor: 1;color:rgba(var(--text-color), 1);height:100%;background:var(--background-color)}body[data-theme=dark]{--accent-color: #ff3949;--green: #13ff5a;--text-color: 240, 240, 240;--text-color-light: 170, 170, 170;--foreground-color: 20, 20, 20;--background-color: #0a0a0a;--error-color: rgb(255, 106, 106);--banner-color: #0166be;--secondary-text-color: #4393fc;--font-weight-factor: 0.9}body[data-theme=dark] #outlet_switcher{background:linear-gradient(rgba(var(--text-color), 0.06), rgba(var(--text-color), 0.06)),rgba(var(--foreground-color), 1)}body[data-theme=dark] .outlet-preview{box-shadow:0 4rem 3rem -2rem rgba(0,0,0,.3)}.full-bleed{grid-column:1/4}.h1{font-size:2.5rem}.h2{font-size:2rem}.h3{font-size:1.4rem}.h4{font-size:1rem}.h5{font-size:.8rem}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}#my_popup{--width: min(24rem, 100%)}p{font-weight:calc(400*var(--font-weight-factor));max-width:70ch;line-height:1.6}img{-o-object-fit:cover;object-fit:cover}a{color:inherit;text-decoration:none}a:focus-visible{box-shadow:0 0 0 .1rem rgba(var(--text-color), 1) inset}p a{color:var(--accent-color)}button{position:relative;overflow:hidden;display:inline-flex;align-items:center;border:none;background:none;cursor:pointer;outline:none;color:inherit;font-weight:calc(500*var(--font-weight-factor));-webkit-tap-highlight-color:rgba(0,0,0,0)}.button{border-radius:.2rem;padding:.5rem .6rem}.button--primary{background:var(--accent-color);color:rgba(var(--foreground-color), 1)}.button--primary .icon{fill:rgba(var(--foreground-color), 1)}.button--outlined{box-shadow:0 0 0 1px rgba(var(--text-color), 0.5)}.button--filled{background-color:rgba(var(--text-color), 0.2)}button:focus-visible{outline:rgba(var(--text-color), 1) .1rem solid}sm-input,sm-textarea{--border-radius: 0.2rem;--background: rgba(var(--text-color), 0.06)}sm-button{--border-radius: 0.2rem}sm-tab-header{align-self:flex-start}ul{list-style:none}ol[type="1"]{display:grid;gap:2rem}.accent-color{color:var(--accent-color)}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.grid{display:grid}.grid-3{grid-template-columns:repeat(auto-fill, minmax(8rem, 1fr))}.flow-column{grid-auto-flow:column}.gap-0-5{gap:.5rem}.gap-1{gap:1rem}.gap-1-5{gap:1.5rem}.gap-2{gap:2rem}.gap-3{gap:3rem}.pos-relative{position:relative}.text-align-right{text-align:right}.align-start{align-items:flex-start}.align-center{align-items:center}.text-center{text-align:center}.justify-start{justify-content:start}.justify-center{justify-content:center}.justify-right{margin-left:auto}.align-self-center{align-self:center}.justify-self-center{justify-self:center}.justify-self-start{justify-self:start}.direction-column{flex-direction:column}.space-between{justify-content:space-between}.w-100{width:100%}.margin-top-1-5{margin-top:1.5rem}.margin-bottom-0-5r{margin-bottom:.5rem}.margin-bottom-1r{margin-bottom:1rem}.margin-bottom-1-5r{margin-bottom:1.5rem}.margin-bottom-2r{margin-bottom:2rem}.margin-bottom-3r{margin-bottom:3rem}.margin-bottom-4r{margin-bottom:4rem}.margin-left-0-5{margin-left:.5rem}.margin-right-0-5{margin-right:.5rem}.hide{opacity:0;pointer-events:none}.hide-completely{display:none !important}.no-transformations{transform:none !important}.overflow-ellipsis{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ripple{position:absolute;border-radius:50%;transform:scale(0);background:rgba(var(--text-color), 0.16);pointer-events:none}.interact{position:relative;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.breakable{overflow-wrap:break-word;word-wrap:break-word;-ms-word-break:break-all;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.observe-empty-state:empty{display:none}.observe-empty-state:not(:empty)~.empty-state{display:none}.icon{width:1.2rem;height:1.2rem;fill:rgba(var(--text-color), 0.9)}.icon-only{height:2.6rem;width:2.6rem;padding:.6rem}.close-icon{padding:.3rem}.close-button{left:-0.5rem}.button__label{font-size:1rem}.button__icon{height:1.1rem;width:1.1rem}.button__icon--left{margin-right:.5rem}.button__icon--right{margin-left:.5rem}.color-0-9{color:rgba(var(--text-color), 0.9)}.color-0-8{color:rgba(var(--text-color), 0.8)}.color-0-7{color:rgba(var(--text-color), 0.7)}.color-0-3{color:rgba(var(--text-color), 0.3)}.weight-400{font-weight:calc(400*var(--font-weight-factor))}.weight-500{font-weight:calc(500*var(--font-weight-factor))}.weight-700{font-weight:calc(700*var(--font-weight-factor))}.weight-900{font-weight:calc(900*var(--font-weight-factor))}.popup__header{padding:.5rem 1.5rem 0 1rem;display:grid;grid-template-columns:auto 1fr;gap:.5rem;align-items:center;width:100%}.popup__header__close{padding:.5rem;cursor:pointer}.banner{display:grid;gap:1rem;padding:.5rem 0 .5rem 1rem;align-items:center;border:.1rem solid var(--banner-color);grid-template-columns:1fr auto;border-radius:.5rem;margin:0 1rem}.banner .close-icon{width:2.2rem;height:2.2rem;color:rgba(var(--text-color), 0.7)}.banner__text{max-width:unset;font-size:.9rem}#elevator_popup{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;z-index:15;grid-template-rows:auto 1fr;background:rgba(var(--foreground-color), 1)}.elevator__header{position:-webkit-sticky;position:sticky;top:0;padding:1.2rem 1.5rem;display:grid;grid-template-columns:auto 1fr;gap:.5rem;align-items:center;justify-content:flex-start;width:100%;background:rgba(var(--foreground-color), 1);z-index:1}#floor_list{align-content:flex-start;padding:0 1.5rem 4rem 1.5rem;gap:2rem;overflow-y:auto;transform-origin:top}.floor_list__item{display:grid;gap:1.5rem;transform-origin:top}.floor_list__item:last-of-type{padding-bottom:25vh}.floor_list__header{position:-webkit-sticky;position:sticky;top:0;padding-bottom:.5rem;background:rgba(var(--foreground-color), 1);z-index:1;text-transform:capitalize}.outlet-list{gap:2rem;counter-reset:outlet-counter}.floor-list__outlet{display:flex;align-items:center}.floor-list__outlet::before{content:"";width:.4rem;height:1.5rem;margin-right:.5rem;background-color:var(--accent-color)}.outlet-list__item{display:grid;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:min(50ch,100%);counter-increment:outlet-counter}.outlet-list__item .outlet-title::before{content:counter(outlet-counter) ". "}.outlet-list__item .icon{fill:var(--accent-color);flex-shrink:0}.outlet-title{font-size:1.2rem;font-weight:calc(700*var(--font-weight-factor));margin-bottom:.5rem}.outlet-brief{color:rgba(var(--text-color), 0.8)}.popup__header__close{padding:.5rem;cursor:pointer}.floor__button{padding:.5rem 0;flex-direction:column;text-align:left;align-items:flex-start;border-radius:.2rem;font-size:1.5rem;font-weight:calc(900*var(--font-weight-factor));background:rgba(var(--foreground-color), 1)}.floor__button--active{background:rgba(var(--text-color), 0.2);box-shadow:0 0 0 .4rem rgba(var(--text-color), 1) inset}.floor-name{margin-top:.2rem;font-size:.8rem}.elevator__floor-line{flex:1;height:.1rem;margin-left:2rem;background-color:var(--accent-color)}#main_header{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--background-color);display:flex;align-items:center;justify-content:space-between;padding:1rem}#elevator_button{justify-self:flex-start;margin-left:-1rem}.main-logo{position:absolute;left:50%;transform:translateX(-50%)}#main_header__logo{height:1.5rem;width:1.5rem}.page,.page-layout{position:relative;display:grid;grid-template-columns:1rem 1fr 1rem}.page>*,.page-layout>*{grid-column:2/3}.page{padding-bottom:4rem}.tag{background:var(--accent-color);padding:.4rem .6rem}#home_page{will-change:scroll-position;scroll-behavior:smooth}#floor_line_map{position:-webkit-sticky;position:sticky;top:1rem;height:40vh;z-index:10;grid-template-columns:2rem 1fr;grid-column:1/2}.line-map{height:100%}.line-map__circle{position:absolute;border-radius:1rem;width:1rem;height:1rem;margin-top:-0.7rem;background:rgba(var(--foreground-color), 1);border:solid .2rem var(--accent-color);transition:transform .1s linear;z-index:5}.line-map__bar{position:relative;width:.1rem;height:100%;border-radius:1rem;background:var(--accent-color)}.line-map__bar::after{position:absolute;content:"";bottom:0;left:50%;transform:translateX(-50%);width:.7rem;height:.2rem;background-color:var(--accent-color)}.floor-label{position:absolute;display:flex;align-items:center;left:.2rem;margin-top:-1rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform .3s}.floor-circle{position:relative;border-radius:1rem;padding:.8rem}.floor-circle::after{content:"";position:absolute;padding:.3rem;top:50%;left:50%;transform:translate(-50%, -50%);background:rgba(var(--text-color), 1);border-radius:1rem}.floor-title{opacity:.5;font-size:.9rem;white-space:nowrap;padding:.4rem .6rem;margin-left:1rem;border-radius:.2rem;background:rgba(var(--foreground-color), 1);transition:box-shadow .3s,opacity .3s}.floor{padding-bottom:3rem;width:100%}.floor__header{position:relative;padding:.5rem 0;transform:translateY(-0.1rem);background:var(--background-color)}.floor__num{display:flex;align-items:center;font-size:1.8rem;font-weight:calc(900*var(--font-weight-factor));color:rgba(var(--text-color), 0.3)}.floor__title{font-size:1.3rem;font-weight:calc(700*var(--font-weight-factor))}.big-icon{height:2rem;width:2rem}.outlets-container{margin:1rem 0;gap:1.5rem}.outlet-preview{position:relative;display:grid;padding:1rem;align-items:center;border-radius:.7rem;background-color:rgba(var(--foreground-color), 1)}.outlet__title{line-height:1.2;max-width:18ch;font-size:1.8rem;margin-bottom:1rem;text-transform:capitalize;font-weight:calc(900*var(--font-weight-factor))}.svg-outlet-title{height:4rem;margin-bottom:1.5rem;fill:rgba(var(--text-color), 1);font-weight:calc(900*var(--font-weight-factor))}.outlet__description{color:rgba(var(--text-color), 0.8)}.outlet-preview__button{padding:.5rem 0;justify-self:flex-start;color:var(--accent-color);font-weight:calc(700*var(--font-weight-factor))}.outlet-preview__number{position:relative;line-height:1;font-size:8rem;font-weight:900;-webkit-text-stroke:1rem var(--accent-color);-webkit-text-fill-color:rgba(var(--foreground-color), 1);margin:0 .5rem}.outlet-preview__number::after{content:attr(data-number);position:absolute;line-height:1;font-size:1em;font-weight:inherit;-webkit-text-stroke:0;color:rgba(var(--foreground-color), 1)}.label{position:relative;font-size:.8rem;margin-bottom:.3rem}.value{font-size:1.2rem}.series-container{gap:1.5rem;padding-bottom:1.5rem;grid-template-columns:repeat(auto-fill, minmax(18rem, 1fr))}.bit-bond-series__row,.bob-fund__row,.person-card{min-width:100%}.bob-fund__row .grid{align-content:flex-start}.bob-fund__row,.bit-bond-series__row,.card{gap:1rem;padding:1.5rem;border-radius:.5rem;align-items:flex-start;background-color:rgba(var(--foreground-color), 1);box-shadow:0 .5rem 1rem -0.5rem rgba(0,0,0,.1)}.bit-bond-series__row .original-value{font-size:.85rem}.up-arrow{height:1em;width:1em;fill:var(--green);margin-right:.1em}.percent-gain{margin-right:.5em;font-weight:calc(500*var(--font-weight-factor))}.percent-gain,.time-elapsed{font-size:.8rem}.time-elapsed{color:rgba(var(--text-color), 0.8)}.person-card{position:relative;gap:1rem;text-align:center;justify-items:center;align-content:flex-start;grid-template-columns:1fr}.person__image{width:100%;height:auto;border-radius:.5rem;height:10rem;width:10rem;-o-object-position:top;object-position:top;border-radius:50%}.person__name{font-size:.9rem;text-transform:capitalize}.investor__bio{font-size:.85rem;margin-top:.5rem}.investor__contribution{font-size:.85rem}.intern-flo-id{margin-top:.3rem;font-size:.75rem}.intern__project{margin-top:.5rem}.intern__level{position:absolute;cursor:pointer;font-size:.8rem;border-radius:.2rem;margin-bottom:.3rem;padding:.3rem .5rem;justify-self:flex-end;font-weight:calc(500*var(--font-weight-factor));box-shadow:0 .1rem .2rem rgba(0,0,0,.2)}.starter{background-color:rgba(var(--foreground-color), 1)}.motivated{color:#000;background-color:#ffca28}.passionate{color:#000;background-color:#00e676}#intern_level_popup{--width: min(48rem, 100%)}.table{display:grid;gap:1rem;grid-template-columns:6rem 1fr}.table p{font-size:.9rem;color:rgba(var(--text-color), 0.9)}.outlet-hero-section{display:grid}#outlet_switcher{position:absolute;top:0;padding:1rem;border-radius:.3rem;background:rgba(var(--foreground-color), 1);box-shadow:0 2rem 4rem -1rem rgba(0,0,0,.2);z-index:2;outline:none}.outlet_switcher__floor{display:flex;flex-direction:column;overflow-y:auto}.outlet_switcher__button{display:flex;align-items:center;font-size:1rem;padding:.6rem 0;font-weight:calc(500*var(--font-weight-factor))}.outlet_switcher__button--active{color:var(--accent-color) !important}.outlet-label{display:grid;gap:.5rem;text-align:left;align-items:center;min-width:8rem;font-size:1.1rem;margin-bottom:.5rem;align-self:flex-start;grid-template-areas:"label icon" "num num"}.outlet-label .icon{grid-area:icon;fill:var(--accent-color);justify-self:flex-end}.outlet-label__name{font-size:1.7rem;color:rgba(var(--text-color), 0.5);font-weight:calc(900*var(--font-weight-factor))}.outlet-label__no{grid-area:num;display:flex;position:relative;line-height:1;font-size:8rem;font-weight:900;-webkit-text-stroke:1rem var(--accent-color);-webkit-text-fill-color:var(--background-color);margin:0 .5rem}.outlet-label__no::after{content:attr(data-number);position:absolute;line-height:1;font-size:1em;font-weight:inherit;-webkit-text-stroke:0;color:var(--background-color)}.auto-grid-layout{justify-content:flex-start;overflow-x:auto}.grid-2{grid-template-columns:auto 1fr}.rooms__header{z-index:1;display:flex;align-items:center;margin-bottom:1.5rem;background:var(--background-color);box-shadow:0 1rem 1rem -1rem rgba(0,0,0,.2)}.room__label{position:relative;display:flex;align-items:center;font-weight:calc(700*var(--font-weight-factor));padding-right:1.5rem;font-size:1.5rem}.room-button{position:relative;opacity:.6;flex-shrink:0;border-radius:0;font-weight:calc(500*var(--font-weight-factor));font-size:1.1rem;transition:opacity .3s,background-color .3s;padding:.6rem .8rem}.room-button:not(:last-of-type)::after{content:"";height:.1rem;width:4rem;margin-left:1rem;align-self:center;background:var(--accent-color)}.room-button[active]{opacity:1;color:var(--accent-color)}.room-button[active] .icon{fill:var(--accent-color)}.people-grid{display:grid;gap:3rem 1.5rem;grid-template-columns:repeat(auto-fill, minmax(13rem, 1fr))}.rooms-layout{position:relative;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:4rem}.room-tile{display:flex;position:relative;border-radius:.5rem;transition:transform .3s;background-color:rgba(var(--foreground-color), 1);box-shadow:0 1rem 3rem -1rem rgba(0,0,0,.1);-webkit-tap-highlight-color:rgba(0,0,0,0)}.room-tile--main{padding-top:100%;grid-row:span 2}.room-tile--main .tile-content{position:absolute;bottom:0}.room-tile .tile-content{display:flex;width:100%;height:100%;padding:1.5rem;align-self:flex-end;flex-direction:column}.room-tile:active{transform:scale(0.95)}.room-tile__icon{position:absolute;height:6rem;width:6rem;top:50%;left:50%;transform:translate(-50%, -50%)}.room-tile__icon:not(.room-tile__icon--colored){fill:rgba(var(--text-color), 0.1)}.investors-icon{height:8rem;width:8rem}.room-tile__title{font-size:.9rem;padding:.4rem .8rem;border:solid .1rem var(--secondary-text-color);color:var(--secondary-text-color);border-radius:.3rem}#performance_preview{margin-top:auto}#performance_preview>*{padding:0;box-shadow:none}#expanding_tile{position:fixed;border-radius:.5rem;background-color:rgba(var(--foreground-color), 1);z-index:5}.room-container{position:fixed;top:0;bottom:0;left:0;right:0;z-index:6;overflow-y:auto;background-color:var(--background-color);grid-template-rows:auto auto 1fr auto;align-items:flex-start}.room{padding-bottom:4rem}.room-container__header{display:flex;position:-webkit-sticky;position:sticky;top:0;z-index:2;background-color:inherit;padding:1rem 0}.room-container__header::before{position:absolute;content:"";width:1rem;height:100%;left:-1rem;top:0;background-color:inherit}#hero_title{font-size:2rem;margin-bottom:2rem;font-weight:calc(700*var(--font-weight-factor))}.room-container__footer{position:-webkit-sticky;position:sticky;display:flex;bottom:0;z-index:2;overflow-x:auto;align-items:center;padding:2rem .5rem .5rem 3rem;margin-left:-3rem;background:linear-gradient(0deg, var(--background-color) 70%, rgba(0, 0, 0, 0) 100%)}.room-container__footer>h4{margin-right:1rem}#room_switcher{display:grid;gap:.5rem;grid-auto-flow:column;justify-content:flex-start}.room-shortcut .room-tile__title{font-weight:500;font-size:.9rem}.ext-link-tile{position:relative;display:flex;padding:1.5rem;border-radius:.5rem;background-size:contain;align-items:center;justify-content:space-between;border:solid .1rem var(--banner-color);box-shadow:0 1rem 3rem -1rem rgba(0,0,0,.2);-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden}.tile__title{font-size:1.25rem;line-height:1;font-weight:calc(500*var(--font-weight-factor));z-index:1}.tile__brief{margin-top:1rem;z-index:1;color:rgba(var(--text-color), 0.7)}.round{display:inline-flex;flex-shrink:0;padding:.4rem 1rem;border-radius:.3rem;color:#fff;background-color:var(--banner-color);font-weight:700 !important;font-size:1rem;z-index:1}.timeline-container{display:grid;padding:3rem 0;gap:4rem}.timeline-item{position:relative;display:grid;padding-left:1rem}.timeline-item:not(:last-of-type):before{content:"";position:absolute;width:.1rem;height:calc(100% + 4rem);top:0;left:0;background-color:rgba(var(--text-color), 0.7)}.timeline-item:after{content:"";position:absolute;height:.6rem;width:.6rem;border-radius:50%;top:0;left:-0.25rem;background-color:rgba(var(--text-color), 1)}.timeline-item__header{display:flex;font-size:.8rem;padding:.5rem .8rem;border-radius:.2rem;justify-self:flex-start;transform:translateY(-0.8rem);box-shadow:0 0 0 1px rgba(var(--text-color), 0.6);background-color:rgba(var(--foreground-color), 1)}.features-grid{display:grid;gap:3rem 2rem;margin-bottom:5rem}.feature{display:flex;position:relative;flex-direction:column;align-items:center;text-align:center;bottom:0;left:0;width:100%;height:100%}.feature__icon{display:flex;align-items:center;margin-bottom:1rem;padding:1.5rem;border-radius:50%;background-color:rgba(var(--text-color), 0.06)}.feature__icon .icon{height:2.5rem;width:2.5rem;fill:rgba(var(--text-color), 0.9)}.feature__title{color:rgba(var(--text-color), 0.9);font-size:1.2rem;margin-bottom:.5rem}.feature__brief{font-size:.9rem;color:rgba(var(--text-color), 0.8)}#line_sample{width:2rem;height:.2rem;margin-right:1rem;background:linear-gradient(90deg, #f49080, #80b6f4)}.graph-container{min-height:16rem;margin:1rem 0 4rem 0}.link-container{display:grid;gap:1rem;justify-items:flex-start;align-items:center}@media only screen and (max-width: 640px){.hide-on-mobile{display:none}.outlet-preview{gap:1.5rem}.outlet-preview__number-container{grid-row:1/2}.outlet-preview__number::after{left:0}.outlet-preview__number,.outlet-label__no{font-size:5rem}#outlet_switcher{width:calc(100% - 2rem)}.outlet-label{grid-row:1/2}.outlet-hero-section{margin-top:2rem}.outlet-label__no{margin-bottom:2rem}.series-container{gap:1rem}.outlet-list__item .icon{margin-left:auto}.rooms__header{flex-direction:column;align-items:flex-start}.rooms__header scroll-tab-header{width:calc(100vw - 2rem)}.room-tile{padding-top:100%}.room-tile--main{grid-column:span 2}.room-tile .tile-content{top:0;padding:1rem;position:absolute}.room-tile__icon{height:4rem;width:4rem}.investors-icon{height:6rem;width:6rem}#hero_title{margin-top:2rem}.ext-link-tile{padding:1rem;flex-direction:column;align-items:flex-start}.link-container{margin-top:1.5rem}}@media only screen and (min-width: 640px){#home_page,.page,.page-layout{grid-template-columns:1fr 90vw 1fr}.h1{font-size:4rem}.h2{font-size:2.5rem}.h3{font-size:1.5rem}.h4{font-size:1.1rem}#main_header{padding:1.2rem 2rem}#floor_list{gap:8vw;padding:0 8vw 4rem 8vw}.floor_list__item{position:relative;grid-template-columns:1fr 1fr;align-items:center;justify-content:center}.floor_list__item .floor_list__header{display:grid}.floor_list__item:not(:last-of-type){padding-bottom:8vw}.floor_list__item:not(:last-of-type)::after{content:"";position:absolute;width:24rem;height:.2rem;bottom:0;background-color:var(--accent-color);justify-self:center}.floor_list__item:nth-of-type(odd) .floor_list__header{text-align:right;grid-column:2/3;grid-row:1/2}.floor_list__item:nth-of-type(odd) .outlet-list{grid-row:1/2;grid-column:1/2}.floor__header::before{left:-10%;width:10%}.floor__header::after{right:-10%;width:10%}.outlets-container{gap:1.5rem}.outlet-preview{gap:1rem;padding:5rem 4rem;grid-template-columns:1.2fr 1fr;border:1px solid rgba(0,0,0,.2);box-shadow:0 4rem 3rem -2rem rgba(0,0,0,.06)}.outlet-preview:nth-of-type(even){grid-template-columns:1fr 2fr}.outlet-preview:nth-of-type(even) .outlet-preview__info{grid-column:2/3}.outlet-preview:nth-of-type(even) .outlet-preview__number-container{grid-column:1/2;grid-row:1/2}.outlet-preview:nth-of-type(even) .outlet-preview__number::after{left:0}.outlet-preview:nth-of-type(odd) .outlet-preview__number-container{margin-left:auto;text-align:right}.outlet-preview:nth-of-type(odd) .outlet-preview__number::after{right:0}.outlet__title{font-size:2.5rem}#outlet_switcher{padding:1rem 1.5rem}.outlet-label{grid-column:2/3;justify-self:right}.outlet-label__no{justify-content:flex-end}.outlet-hero-section{position:relative;grid-template-columns:1fr auto;gap:1.5rem;margin-top:4rem}.auto-grid-layout{grid-template-columns:auto 1fr}.rooms-layout{grid-template-rows:1fr 1fr}.room-container__header{padding:1.5rem 0}.people-grid{gap:5rem 3rem}#hero_title{font-size:3rem}.feature__title{font-size:1.5rem}.features-grid{grid-template-columns:repeat(auto-fill, minmax(20rem, 1fr))}.graph-container{width:80%;min-height:60vh;justify-self:center}}@media only screen and (min-width: 1280px){#home_page,.page,.page-layout{grid-template-columns:1fr 85vw 1fr}.grid-3{justify-content:center}.grid-3>.grid{width:100%}.rooms-layout{grid-template-columns:repeat(3, 1fr);grid-auto-flow:column}.link-container{grid-template-columns:auto auto}}@media(any-hover: hover){::-webkit-scrollbar{width:.5rem;height:.5rem}::-webkit-scrollbar-thumb{background:rgba(var(--text-color), 0.3);border-radius:1rem}::-webkit-scrollbar-thumb:hover{background:rgba(var(--text-color), 0.5)}.page-link{cursor:pointer;transition:color .3s}.page-link:hover{color:var(--accent-color)}.page-link:hover .icon{fill:var(--accent-color)}.floor__button:hover{background:var(--background-color)}.outlet-list__item .icon{fill:var(--accent-color);opacity:0;transform-origin:left;transform:translateX(-0.5rem);transition:opacity .3s,transform .3s}.outlet-list__item:hover .icon{opacity:1;transform:translateX(0)}.intern__level{transition:transform .3s}.intern__level:hover{transform:scale(1.1)}} \ No newline at end of file diff --git a/assets/css/main.scss b/assets/css/main.scss index b39666d..d4b8fdc 100644 --- a/assets/css/main.scss +++ b/assets/css/main.scss @@ -1,1568 +1,1539 @@ -* :not(ol){ - padding: 0; - margin: 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; - font-family: 'Roboto Slab', serif; +* :not(ol) { + padding: 0; + margin: 0; + box-sizing: border-box; + font-family: "Roboto Slab", serif; } -:root{ - font-size: clamp(1rem, 1.2vmax, 3rem); +:root { + font-size: clamp(1rem, 1.2vmax, 3rem); } body { - --accent-color: #E72C37; - --light-shade: rgba(var(--text-color), 0.06); - --text-color: 17, 17, 17; - --text-color-light: 100, 100, 100; - --foreground-color: 255, 255, 255; - --background-color: #F6f6f6; - --error-color: red; - --green: #007936; - --banner-color: #1E88E5; - --secondary-text-color: #034baa; - --font-weight-factor: 1; - color: rgba(var(--text-color), 1); - height: calc(100%); - background: var(--background-color); + --accent-color: #e72c37; + --light-shade: rgba(var(--text-color), 0.06); + --text-color: 17, 17, 17; + --text-color-light: 100, 100, 100; + --foreground-color: 255, 255, 255; + --background-color: #f6f6f6; + --error-color: red; + --green: #007936; + --banner-color: #1e88e5; + --secondary-text-color: #034baa; + --font-weight-factor: 1; + color: rgba(var(--text-color), 1); + height: calc(100%); + background: var(--background-color); } -body[data-theme='dark']{ - --accent-color: #ff3949; - --green: #13ff5a; - --text-color: 240, 240, 240; - --text-color-light: 170, 170, 170; - --foreground-color: 20, 20, 20; - --background-color: #0a0a0a; - --error-color: rgb(255, 106, 106); - --banner-color: #0166be; - --secondary-text-color: #4393fc; - --font-weight-factor: 0.9; - #outlet_switcher{ - background: linear-gradient(rgba(var(--text-color), 0.06), rgba(var(--text-color), 0.06)), rgba(var(--foreground-color), 1); - } - .outlet-preview{ - box-shadow: 0 4rem 3rem -2rem rgba(0, 0, 0, 0.3); - } +body[data-theme="dark"] { + --accent-color: #ff3949; + --green: #13ff5a; + --text-color: 240, 240, 240; + --text-color-light: 170, 170, 170; + --foreground-color: 20, 20, 20; + --background-color: #0a0a0a; + --error-color: rgb(255, 106, 106); + --banner-color: #0166be; + --secondary-text-color: #4393fc; + --font-weight-factor: 0.9; + #outlet_switcher { + background: linear-gradient( + rgba(var(--text-color), 0.06), + rgba(var(--text-color), 0.06) + ), + rgba(var(--foreground-color), 1); + } + .outlet-preview { + box-shadow: 0 4rem 3rem -2rem rgba(0, 0, 0, 0.3); + } } -.full-bleed{ - grid-column: 1/4; +.full-bleed { + grid-column: 1/4; } -.h1{ - font-size: 2.5rem; +.h1 { + font-size: 2.5rem; } -.h2{ - font-size: 2rem; +.h2 { + font-size: 2rem; } -.h3{ - font-size: 1.4rem; +.h3 { + font-size: 1.4rem; } -.h4{ - font-size: 1rem; +.h4 { + font-size: 1rem; } -.h5{ - font-size: 0.8rem; +.h5 { + font-size: 0.8rem; } -.uppercase{ - text-transform: uppercase; +.uppercase { + text-transform: uppercase; } -.capitalize{ - text-transform: capitalize; +.capitalize { + text-transform: capitalize; } -#my_popup{ - --width: min(24rem, 100%); +#my_popup { + --width: min(24rem, 100%); } p { - font-weight: calc(400 * var(--font-weight-factor)); - max-width: 70ch; - line-height: 1.6; + font-weight: calc(400 * var(--font-weight-factor)); + max-width: 70ch; + line-height: 1.6; } -img{ - object-fit: cover; +img { + object-fit: cover; } -a{ - color: inherit; - text-decoration: none; - &:focus-visible{ - box-shadow: 0 0 0 0.1rem rgba(var(--text-color), 1) inset; - } +a { + color: inherit; + text-decoration: none; + &:focus-visible { + box-shadow: 0 0 0 0.1rem rgba(var(--text-color), 1) inset; + } } -p{ - a{ - color: var(--accent-color); - } +p { + a { + color: var(--accent-color); + } } -button{ - position: relative; - overflow: hidden; - display: inline-flex; - align-items: center; - border: none; - background: none; - cursor: pointer; - outline: none; - color: inherit; - font-weight: calc(500 * var(--font-weight-factor)); - -webkit-tap-highlight-color: transparent; +button { + position: relative; + overflow: hidden; + display: inline-flex; + align-items: center; + border: none; + background: none; + cursor: pointer; + outline: none; + color: inherit; + font-weight: calc(500 * var(--font-weight-factor)); + -webkit-tap-highlight-color: transparent; } -.button{ - border-radius: 0.2rem; - padding: 0.5rem 0.6rem; - &--primary{ - background: var(--accent-color); - color: rgba(var(--foreground-color), 1); - .icon{ - fill: rgba(var(--foreground-color), 1); - } - } - &--outlined{ - box-shadow: 0 0 0 1px rgba(var(--text-color), 0.5); - } - &--filled{ - background-color: rgba(var(--text-color), 0.2); +.button { + border-radius: 0.2rem; + padding: 0.5rem 0.6rem; + &--primary { + background: var(--accent-color); + color: rgba(var(--foreground-color), 1); + .icon { + fill: rgba(var(--foreground-color), 1); } + } + &--outlined { + box-shadow: 0 0 0 1px rgba(var(--text-color), 0.5); + } + &--filled { + background-color: rgba(var(--text-color), 0.2); + } } -button:focus-visible{ - outline: rgba(var(--text-color), 1) 0.1rem solid; +button:focus-visible { + outline: rgba(var(--text-color), 1) 0.1rem solid; } sm-input, -sm-textarea{ - --border-radius: 0.2rem; - --background: rgba(var(--text-color), 0.06); +sm-textarea { + --border-radius: 0.2rem; + --background: rgba(var(--text-color), 0.06); } -sm-button{ - --border-radius: 0.2rem; +sm-button { + --border-radius: 0.2rem; } -sm-tab-header{ - align-self: flex-start; +sm-tab-header { + align-self: flex-start; } -ul{ - list-style: none; +ul { + list-style: none; } -ol[type="1"]{ - display: grid; - gap: 2rem; +ol[type="1"] { + display: grid; + gap: 2rem; } -.accent-color{ - color: var(--accent-color); +.accent-color { + color: var(--accent-color); } -.flex{ - display: flex; +.flex { + display: flex; } -.grid{ - display: grid; +.flex-wrap { + flex-wrap: wrap; } -.grid-3{ - grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr)); +.grid { + display: grid; } -.flow-column{ - grid-auto-flow: column; +.grid-3 { + grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr)); } -.gap-0-5{ - gap: 0.5rem; +.flow-column { + grid-auto-flow: column; } -.gap-1{ - gap: 1rem; +.gap-0-5 { + gap: 0.5rem; } -.gap-1-5{ - gap: 1.5rem; +.gap-1 { + gap: 1rem; } -.gap-2{ - gap: 2rem; +.gap-1-5 { + gap: 1.5rem; } -.gap-3{ - gap: 3rem; +.gap-2 { + gap: 2rem; } -.pos-relative{ - position: relative; +.gap-3 { + gap: 3rem; } -.text-align-right{ - text-align: right; +.pos-relative { + position: relative; } -.align-start{ - align-items: flex-start; +.text-align-right { + text-align: right; } -.align-center{ - align-items: center; +.align-start { + align-items: flex-start; } -.text-center{ - text-align: center; +.align-center { + align-items: center; } -.justify-start{ - justify-content: start; +.text-center { + text-align: center; } -.justify-center{ - justify-content: center; +.justify-start { + justify-content: start; } -.justify-right{ - margin-left: auto; +.justify-center { + justify-content: center; } -.align-self-center{ - align-self: center; +.justify-right { + margin-left: auto; } -.justify-self-center{ - justify-self: center; +.align-self-center { + align-self: center; } -.justify-self-start{ - justify-self: start; +.justify-self-center { + justify-self: center; } -.direction-column{ - flex-direction: column; +.justify-self-start { + justify-self: start; } -.space-between{ - justify-content: space-between; +.direction-column { + flex-direction: column; } -.w-100{ - width: 100%; +.space-between { + justify-content: space-between; } -.margin-top-1-5{ - margin-top: 1.5rem; +.w-100 { + width: 100%; } -.margin-bottom-0-5r{ - margin-bottom: 0.5rem; +.margin-top-1-5 { + margin-top: 1.5rem; } -.margin-bottom-1r{ - margin-bottom: 1rem; +.margin-bottom-0-5r { + margin-bottom: 0.5rem; } -.margin-bottom-1-5r{ - margin-bottom: 1.5rem; +.margin-bottom-1r { + margin-bottom: 1rem; } -.margin-bottom-2r{ - margin-bottom: 2rem; +.margin-bottom-1-5r { + margin-bottom: 1.5rem; } -.margin-bottom-3r{ - margin-bottom: 3rem; +.margin-bottom-2r { + margin-bottom: 2rem; } -.margin-bottom-4r{ - margin-bottom: 4rem; +.margin-bottom-3r { + margin-bottom: 3rem; } -.margin-left-0-5{ - margin-left: 0.5rem; +.margin-bottom-4r { + margin-bottom: 4rem; } -.margin-right-0-5{ +.margin-left-0-5 { + margin-left: 0.5rem; +} +.margin-right-0-5 { + margin-right: 0.5rem; +} +.hide { + opacity: 0; + pointer-events: none; +} +.hide-completely { + display: none !important; +} +.no-transformations { + transform: none !important; +} +.overflow-ellipsis { + width: 100%; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.ripple { + position: absolute; + border-radius: 50%; + transform: scale(0); + background: rgba(var(--text-color), 0.16); + pointer-events: none; +} +.interact { + position: relative; + overflow: hidden; + cursor: pointer; + -webkit-tap-highlight-color: transparent; +} +.breakable { + overflow-wrap: break-word; + word-wrap: break-word; + -ms-word-break: break-all; + word-break: break-word; + -ms-hyphens: auto; + -moz-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} +.observe-empty-state:empty { + display: none; +} +.observe-empty-state:not(:empty) ~ .empty-state { + display: none; +} +.icon { + width: 1.2rem; + height: 1.2rem; + fill: rgba(var(--text-color), 0.9); +} +.icon-only { + height: 2.6rem; + width: 2.6rem; + padding: 0.6rem; +} +.close-icon { + padding: 0.3rem; +} +.close-button { + left: -0.5rem; +} + +.button__label { + font-size: 1rem; +} +.button__icon { + height: 1.1rem; + width: 1.1rem; + &--left { margin-right: 0.5rem; -} -.hide{ - opacity: 0; - pointer-events: none; -} -.hide-completely{ - display: none !important; -} -.no-transformations{ - transform: none !important; -} -.overflow-ellipsis{ - width: 100%; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} -.ripple{ - position: absolute; - border-radius: 50%; - transform: scale(0); - background: rgba(var(--text-color), 0.16); - pointer-events: none; -} -.interact{ - position: relative; - overflow: hidden; - cursor: pointer; - -webkit-tap-highlight-color: transparent; -} -.breakable{ - overflow-wrap: break-word; - word-wrap: break-word; - -ms-word-break: break-all; - word-break: break-word; - -ms-hyphens: auto; - -moz-hyphens: auto; - -webkit-hyphens: auto; - hyphens: auto; -} -.observe-empty-state:empty{ - display: none; -} -.observe-empty-state:not(:empty) ~ .empty-state{ - display: none; -} -.icon{ - width: 1.5rem; - height: 1.5rem; - fill: rgba(var(--text-color), 0.9); -} -.icon-only{ - height: 2.6rem; - width: 2.6rem; - padding: 0.6rem; -} -.close-icon{ - padding: 0.3rem; -} -.close-button{ - left: -0.5rem; + } + &--right { + margin-left: 0.5rem; + } } -.button__label{ - font-size: 1rem; +.color-0-9 { + color: rgba(var(--text-color), 0.9); } -.button__icon{ - height: 1.1rem; - width: 1.1rem; - &--left{ - margin-right: 0.5rem; - } - &--right{ - margin-left: 0.5rem; - } +.color-0-8 { + color: rgba(var(--text-color), 0.8); +} +.color-0-7 { + color: rgba(var(--text-color), 0.7); +} +.color-0-3 { + color: rgba(var(--text-color), 0.3); } -.color-0-9{ - color: rgba(var(--text-color), 0.9); +.weight-400 { + font-weight: calc(400 * var(--font-weight-factor)); } -.color-0-8{ - color: rgba(var(--text-color), 0.8); +.weight-500 { + font-weight: calc(500 * var(--font-weight-factor)); } -.color-0-7{ +.weight-700 { + font-weight: calc(700 * var(--font-weight-factor)); +} +.weight-900 { + font-weight: calc(900 * var(--font-weight-factor)); +} + +.popup__header { + padding: 0.5rem 1.5rem 0 1rem; + display: grid; + grid-template-columns: auto 1fr; + gap: 0.5rem; + align-items: center; + width: 100%; +} +.popup__header__close { + padding: 0.5rem; + cursor: pointer; +} + +.banner { + display: grid; + gap: 1rem; + padding: 0.5rem 0 0.5rem 1rem; + align-items: center; + border: 0.1rem solid var(--banner-color); + grid-template-columns: 1fr auto; + border-radius: 0.5rem; + margin: 0 1rem; + .close-icon { + width: 2.2rem; + height: 2.2rem; color: rgba(var(--text-color), 0.7); + } } -.color-0-3{ - color: rgba(var(--text-color), 0.3); +.banner__text { + max-width: unset; + font-size: 0.9rem; } -.weight-400{ - font-weight: calc(400 * var(--font-weight-factor)); +#elevator_popup { + position: fixed; + width: 100%; + height: 100%; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 15; + grid-template-rows: auto 1fr; + background: rgba(var(--foreground-color), 1); } -.weight-500{ - font-weight: calc(500 * var(--font-weight-factor)); +.elevator__header { + position: sticky; + top: 0; + padding: 1.2rem 1.5rem; + display: grid; + grid-template-columns: auto 1fr; + gap: 0.5rem; + align-items: center; + justify-content: flex-start; + width: 100%; + background: rgba(var(--foreground-color), 1); + z-index: 1; } -.weight-700{ - font-weight: calc(700 * var(--font-weight-factor)); +#floor_list { + align-content: flex-start; + padding: 0 1.5rem 4rem 1.5rem; + gap: 2rem; + overflow-y: auto; + transform-origin: top; } -.weight-900{ - font-weight: calc(900 * var(--font-weight-factor)); +.floor_list__item { + display: grid; + gap: 1.5rem; + transform-origin: top; + &:last-of-type { + padding-bottom: 25vh; + } +} +.floor_list__header { + position: sticky; + top: 0; + padding-bottom: 0.5rem; + background: rgba(var(--foreground-color), 1); + z-index: 1; + text-transform: capitalize; } -.popup__header{ - padding: 0.5rem 1.5rem 0 1rem; - display: grid; - grid-template-columns: auto 1fr; - gap: 0.5rem; - align-items: center; - width: 100%; +.outlet-list { + gap: 2rem; + counter-reset: outlet-counter; } -.popup__header__close{ - padding: 0.5rem; - cursor: pointer; -} - -.banner{ - display: grid; - gap: 1rem; - padding: 0.5rem 0 0.5rem 1rem; - align-items: center; - border: 0.1rem solid var(--banner-color); - grid-template-columns: 1fr auto; - border-radius: 0.5rem; - margin: 0 1rem; - .close-icon{ - width: 2.2rem; - height: 2.2rem; - color: rgba(var(--text-color), 0.7); - } -} -.banner__text{ - max-width: unset; - font-size: 0.9rem; -} - -#elevator_popup{ - position: absolute; - width: 100%; - height: 100%; - top: 0; - left: 0; - right: 0; - bottom: 0; - z-index: 15; - grid-template-rows: auto 1fr; - background: rgba(var(--foreground-color), 1); -} -.elevator__header{ - position: sticky; - top: 0; - padding: 1.2rem 1.5rem; - display: grid; - grid-template-columns: auto 1fr; - gap: 0.5rem; - align-items: center; - justify-content: flex-start; - width: 100%; - background: rgba(var(--foreground-color), 1); - z-index: 1; - -} -#floor_list{ - align-content: flex-start; - padding: 0 1.5rem 4rem 1.5rem; - gap: 2rem; - overflow-y: auto; - transform-origin: top; -} -.floor_list__item{ - display: grid; - gap: 1.5rem; - transform-origin: top; - &:last-of-type{ - padding-bottom: 25vh; - } -} -.floor_list__header{ - position: sticky; - top: 0; - padding-bottom: 0.5rem; - background: rgba(var(--foreground-color), 1); - z-index: 1; - text-transform: capitalize; -} - -.outlet-list{ - gap: 2rem; - counter-reset: outlet-counter; -} -.floor-list__outlet{ - display: flex; - align-items: center; - &::before{ - content: ''; - width: 0.4rem; - height: 1.5rem; - margin-right: 0.5rem; - background-color: var(--accent-color); - } -} -.outlet-list__item{ - display: grid; - user-select: none; - width: min(50ch, 100%); - counter-increment: outlet-counter; - .outlet-title::before{ - content: counter(outlet-counter)". "; - } - .icon{ - fill: var(--accent-color); - flex-shrink: 0; - } -} -.outlet-title{ - font-size: 1.2rem; - font-weight: calc(700 * var(--font-weight-factor)); - margin-bottom: 0.5rem; -} -.outlet-brief{ - color: rgba(var(--text-color), 0.8); -} - -.popup__header__close{ - padding: 0.5rem; - cursor: pointer; -} - - -.floor__button{ - padding: 0.5rem 0; - flex-direction: column; - text-align: left; - align-items: flex-start; - border-radius: 0.2rem; - font-size: 1.5rem; - font-weight: calc(900 * var(--font-weight-factor)); - background: rgba(var(--foreground-color), 1); - &--active{ - background: rgba(var(--text-color), 0.2); - box-shadow: 0 0 0 0.4rem rgba(var(--text-color), 1) inset; - } -} -.floor-name{ - margin-top: 0.2rem; - font-size: 0.8rem; -} - -.elevator__floor-line{ - flex: 1; - height: 0.1rem; - margin-left: 2rem; - background-color: var(--accent-color); -} - - -#main_header{ - position: relative; - padding: 1rem; - grid-template-columns: repeat(3, 1fr); -} -#elevator_button{ - justify-self: flex-start; - margin-left: -1rem; - .icon{ - width: 1.7rem; - height: 1.7rem; - } -} -#main_header__logo{ - height: 1.8rem; - width: 1.8rem; -} -.theme-switcher{ - position: relative; - justify-self: flex-end; - width: 1.5rem; +.floor-list__outlet { + display: flex; + align-items: center; + &::before { + content: ""; + width: 0.4rem; height: 1.5rem; - cursor: pointer; - -webkit-tap-highlight-color: transparent; - .icon{ - position: absolute; - transition: transform 0.6s; - } + margin-right: 0.5rem; + background-color: var(--accent-color); + } } -.theme-switcher__checkbox{ - display: none; - &:checked ~ .moon-icon{ - transform: scale(0) rotate(90deg); - } - &:not(:checked) ~ .sun-icon{ - transform: scale(0) rotate(-90deg); - } +.outlet-list__item { + display: grid; + user-select: none; + width: min(50ch, 100%); + counter-increment: outlet-counter; + .outlet-title::before { + content: counter(outlet-counter) ". "; + } + .icon { + fill: var(--accent-color); + flex-shrink: 0; + } +} +.outlet-title { + font-size: 1.2rem; + font-weight: calc(700 * var(--font-weight-factor)); + margin-bottom: 0.5rem; +} +.outlet-brief { + color: rgba(var(--text-color), 0.8); +} + +.popup__header__close { + padding: 0.5rem; + cursor: pointer; +} + +.floor__button { + padding: 0.5rem 0; + flex-direction: column; + text-align: left; + align-items: flex-start; + border-radius: 0.2rem; + font-size: 1.5rem; + font-weight: calc(900 * var(--font-weight-factor)); + background: rgba(var(--foreground-color), 1); + &--active { + background: rgba(var(--text-color), 0.2); + box-shadow: 0 0 0 0.4rem rgba(var(--text-color), 1) inset; + } +} +.floor-name { + margin-top: 0.2rem; + font-size: 0.8rem; +} + +.elevator__floor-line { + flex: 1; + height: 0.1rem; + margin-left: 2rem; + background-color: var(--accent-color); +} + +#main_header { + position: sticky; + top: 0; + z-index: 1; + background: var(--background-color); + display: flex; + align-items: center; + justify-content: space-between; + padding: 1rem; +} +#elevator_button { + justify-self: flex-start; + margin-left: -1rem; +} +.main-logo { + position: absolute; + left: 50%; + transform: translateX(-50%); +} +#main_header__logo { + height: 1.5rem; + width: 1.5rem; } .page, -.page-layout{ - position: relative; - display: grid; - grid-template-columns: 1rem 1fr 1rem; - & > * { - grid-column: 2/3; - } +.page-layout { + position: relative; + display: grid; + grid-template-columns: 1rem 1fr 1rem; + & > * { + grid-column: 2/3; + } } -.page{ - padding-bottom: 4rem; +.page { + padding-bottom: 4rem; } -.tag{ - background: var(--accent-color); - padding: 0.4rem 0.6rem; +.tag { + background: var(--accent-color); + padding: 0.4rem 0.6rem; } -#home_page{ - will-change: scroll-position; - overflow-y: auto; - max-height: calc(100vh - 5.2rem); - grid-template-columns: 2rem 1fr; - scroll-behavior: smooth; +#home_page { + will-change: scroll-position; + scroll-behavior: smooth; } -#floor_line_map{ - position: sticky; - top: 1rem; - height: 40vh; - z-index: 10; - grid-template-columns: 2rem 1fr; - grid-column: 1/2; +#floor_line_map { + position: sticky; + top: 1rem; + height: 40vh; + z-index: 10; + grid-template-columns: 2rem 1fr; + grid-column: 1/2; } -.line-map{ - height: 100%; +.line-map { + height: 100%; } -.line-map__circle{ +.line-map__circle { + position: absolute; + border-radius: 1rem; + width: 1rem; + height: 1rem; + margin-top: -0.7rem; + background: rgba(var(--foreground-color), 1); + border: solid 0.2rem var(--accent-color); + transition: transform 0.1s linear; + z-index: 5; +} +.line-map__bar { + position: relative; + width: 0.1rem; + height: 100%; + border-radius: 1rem; + background: var(--accent-color); + &::after { position: absolute; - border-radius: 1rem; - width: 1rem; - height: 1rem; - margin-top: -0.7rem; - background: rgba(var(--foreground-color), 1); - border: solid 0.2rem var(--accent-color); - transition: transform 0.1s linear; - z-index: 5; -} -.line-map__bar{ - position: relative; - width: 0.1rem; - height: 100%; - border-radius: 1rem; - background: var(--accent-color); - &::after{ - position: absolute; - content: ''; - bottom: 0; - left: 50%; - transform: translateX(-50%); - width: 0.7rem; - height: 0.2rem; - background-color: var(--accent-color); - } + content: ""; + bottom: 0; + left: 50%; + transform: translateX(-50%); + width: 0.7rem; + height: 0.2rem; + background-color: var(--accent-color); + } } -.floor-label{ +.floor-label { + position: absolute; + display: flex; + align-items: center; + left: 0.2rem; + margin-top: -1rem; + user-select: none; + transition: transform 0.3s; +} +.floor-circle { + position: relative; + border-radius: 1rem; + padding: 0.8rem; + &::after { + content: ""; position: absolute; - display: flex; - align-items: center; - left: 0.2rem; - margin-top: -1rem; - user-select: none; - transition: transform 0.3s; -} -.floor-circle{ - position: relative; - border-radius: 1rem; - padding: 0.8rem; - &::after{ - content: ''; - position: absolute; - padding: 0.3rem; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - background: rgba(var(--text-color), 1); - border-radius: 1rem; - } -} -.floor-title{ - opacity: 0.5; - font-size: 0.9rem; - white-space: nowrap; - padding: 0.4rem 0.6rem; - margin-left: 1rem; - border-radius: 0.2rem; - background: rgba(var(--foreground-color), 1); - transition: box-shadow 0.3s, opacity 0.3s; -} - -#floor_container{ - width: calc(100% - 1rem); -} - -.floor{ - padding-bottom: 3rem; - width: 100%; -} - -.floor__header{ - position: relative; - padding: 0.5rem 0; - transform: translateY(-0.1rem); - background: var(--background-color); -} - -.floor__num{ - display: flex; - align-items: center; - font-size: 1.8rem; - font-weight: calc(900 * var(--font-weight-factor)); - color: rgba(var(--text-color), 0.3); -} - -.floor__title{ - font-size: 1.3rem; - font-weight: calc(700 * var(--font-weight-factor)); -} - -.big-icon{ - height: 2rem; - width: 2rem; -} - -.outlets-container{ - margin: 1rem 0; - gap: 1.5rem; -} - -.outlet-preview{ - position: relative; - display: grid; - padding: 1rem; - align-items: center; - border-radius: 0.7rem; - background-color: rgba(var(--foreground-color), 1); -} -.outlet__title{ - line-height: 1.2; - max-width: 18ch; - font-size: 1.8rem; - margin-bottom: 1rem; - text-transform: capitalize; - font-weight: calc(900 * var(--font-weight-factor)); -} -.svg-outlet-title{ - height: 4rem; - margin-bottom: 1.5rem; - fill: rgba(var(--text-color), 1); - font-weight: calc(900 * var(--font-weight-factor)); -} -.outlet__description{ - color: rgba(var(--text-color), 0.8); -} -.outlet-preview__button{ - padding: 0.5rem 0; - justify-self: flex-start; - color: var(--accent-color); - font-weight: calc(700 * var(--font-weight-factor)); -} - -.outlet-preview__number{ - position: relative; - line-height: 1; - font-size: 8rem; - font-weight: 900; - -webkit-text-stroke: 1rem var(--accent-color); - -webkit-text-fill-color: rgba(var(--foreground-color), 1); - margin: 0 0.5rem; - &::after{ - content: attr(data-number); - position: absolute; - line-height: 1; - font-size: 1em; - font-weight: inherit; - -webkit-text-stroke: 0; - color: rgba(var(--foreground-color), 1); - } -} - -.label{ - position: relative; - font-size: 0.8rem; - margin-bottom: 0.3rem; -} -.value{ - font-size: 1.2rem; -} - -.series-container{ - gap: 1.5rem; - padding-bottom: 1.5rem; - grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); -} - -.bit-bond-series__row, -.bob-fund__row, -.person-card{ - min-width: 100%; -} - -.bob-fund__row{ - .grid{ - align-content: flex-start; - } -} - -.bob-fund__row, -.bit-bond-series__row, -.card{ - gap: 1rem; - padding: 1.5rem; - border-radius: 0.5rem; - align-items: flex-start; - background-color: rgba(var(--foreground-color), 1); - box-shadow: 0 0.5rem 1rem -0.5rem rgba(0, 0, 0, 0.1); -} - -.bit-bond-series__row{ - .original-value{ - font-size: 0.85rem; - } -} - -.up-arrow{ - height: 1em; - width: 1em; - fill: var(--green); - margin-right: 0.1em; -} -.percent-gain{ - margin-right: 0.5em; - font-weight: calc(500 * var(--font-weight-factor)); -} -.percent-gain, -.time-elapsed{ - font-size: 0.8rem; -} -.time-elapsed{ - color: rgba(var(--text-color), 0.8); -} - - -.person-card{ - position: relative; - gap: 1rem; - text-align: center; - justify-items: center; - align-content: flex-start; - grid-template-columns: 1fr; -} -.person__image{ - width: 100%; - height: auto; - border-radius: 0.5rem; - height: 10rem; - width: 10rem; - object-position: top; - border-radius: 50%; -} -.person__name{ - font-size: 0.9rem; - text-transform: capitalize; -} -.investor__bio{ - font-size: 0.85rem; - margin-top: 0.5rem; -} -.investor__contribution{ - font-size: 0.85rem; -} -.intern-flo-id{ - margin-top: 0.3rem; - font-size: 0.75rem; -} -.intern__project{ - margin-top: 0.5rem; -} -.intern__level{ - position: absolute; - cursor: pointer; - font-size: 0.8rem; - border-radius: 0.2rem; - margin-bottom: 0.3rem; - padding: 0.3rem 0.5rem; - justify-self: flex-end; - font-weight: calc(500 * var(--font-weight-factor)); - box-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.2); -} -.starter{ - background-color: rgba(var(--foreground-color), 1); -} -.motivated{ - color: black; - background-color: #FFCA28; -} -.passionate{ - color: black; - background-color: #00E676; -} -#intern_level_popup{ - --width: min(48rem, 100%); -} -.table{ - display: grid; - gap: 1rem; - grid-template-columns: 6rem 1fr; - p{ - font-size: 0.9rem; - color: rgba(var(--text-color), 0.9); - } -} - -.outlet-hero-section{ - display: grid; -} - -#outlet_switcher{ - position: absolute; - top: 0; - padding: 1rem; - border-radius: 0.3rem; - background: rgba(var(--foreground-color), 1); - box-shadow: 0 2rem 4rem -1rem rgba(0, 0, 0, 0.2); - z-index: 2; - outline: none; -} -.outlet_switcher__floor{ - display: flex; - flex-direction: column; - overflow-y: auto; -} -.outlet_switcher__button{ - display: flex; - align-items: center; - font-size: 1rem; - padding: 0.6rem 0; - font-weight: calc(500 * var(--font-weight-factor)); - &--active{ - color: var(--accent-color) !important; - } -} -.outlet-label{ - display: grid; - gap: 0.5rem; - text-align: left; - align-items: center; - min-width: 8rem; - font-size: 1.1rem; - margin-bottom: 0.5rem; - align-self: flex-start; - grid-template-areas: 'label icon' 'num num'; - .icon{ - grid-area: icon; - height: 1.6rem; - width: 1.6rem; - fill: var(--accent-color); - justify-self: flex-end; - } -} -.outlet-label__name{ - font-size: 1.7rem; - color: rgba(var(--text-color), 0.5); - font-weight: calc(900 * var(--font-weight-factor)); -} -.outlet-label__no{ - grid-area: num; - display: flex; - position: relative; - line-height: 1; - font-size: 8rem; - font-weight: 900; - -webkit-text-stroke: 1rem var(--accent-color); - -webkit-text-fill-color: var(--background-color); - margin: 0 0.5rem; - &::after{ - content: attr(data-number); - position: absolute; - line-height: 1; - font-size: 1em; - font-weight: inherit; - -webkit-text-stroke: 0; - color: var(--background-color); - } -} -.auto-grid-layout{ - justify-content: flex-start; - overflow-x: auto; -} -.grid-2{ - grid-template-columns: auto 1fr; -} - -.rooms__header{ - z-index: 1; - display: flex; - align-items: center; - margin-bottom: 1.5rem; - background: var(--background-color); - box-shadow: 0 1rem 1rem -1rem rgba(0, 0, 0, 0.2); -} -.room__label{ - position: relative; - display: flex; - align-items: center; - font-weight: calc(700 * var(--font-weight-factor)); - padding-right: 1.5rem; - font-size: 1.5rem; -} -.room-button{ - position: relative; - opacity: 0.6; - flex-shrink: 0; - border-radius: 0; - font-weight: calc(500 * var(--font-weight-factor)); - font-size: 1.1rem; - transition: opacity 0.3s, background-color 0.3s; - padding: 0.6rem 0.8rem; - &:not(:last-of-type)::after{ - content: ''; - height: 0.1rem; - width: 4rem; - margin-left: 1rem; - align-self: center; - background: var(--accent-color); - } - &[active]{ - opacity: 1; - color: var(--accent-color); - .icon{ - fill: var(--accent-color); - } - } - -} - -.people-grid{ - display: grid; - gap: 3rem 1.5rem; - grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); -} - -.rooms-layout{ - position: relative; - display: grid; - gap: 1rem; - grid-template-columns: 1fr 1fr; - margin-bottom: 4rem; -} -.room-tile{ - display: flex; - position: relative; - border-radius: 0.5rem; - transition: transform 0.3s; - background-color: rgba(var(--foreground-color), 1); - box-shadow: 0 1rem 3rem -1rem rgba(0, 0, 0, 0.1); - -webkit-tap-highlight-color: transparent; - &--main{ - padding-top: 100%; - grid-row: span 2; - .tile-content{ - position: absolute; - bottom: 0; - } - } - .tile-content{ - display: flex; - width: 100%; - height: 100%; - padding: 1.5rem; - align-self: flex-end; - flex-direction: column; - } - &:active{ - transform: scale(0.95); - } -} -.room-tile__icon{ - position: absolute; - height: 6rem; - width: 6rem; + padding: 0.3rem; top: 50%; left: 50%; transform: translate(-50%, -50%); - // margin-bottom: 1rem; - &:not(.room-tile__icon--colored){ - fill: rgba(var(--text-color), 0.1); - } + background: rgba(var(--text-color), 1); + border-radius: 1rem; + } } -.investors-icon{ - height: 8rem; - width: 8rem; -} -.room-tile__title{ - // font-size: 1.2rem; - // border-bottom: 1px solid; - font-size: 0.9rem; - padding: 0.4rem 0.8rem; - border: solid 0.1rem var(--secondary-text-color); - color: var(--secondary-text-color); - border-radius: 0.3rem; - // align-self: flex-start; -} -#performance_preview{ - margin-top: auto; - & > *{ - padding: 0; - box-shadow: none; - } -} -#expanding_tile{ - position: fixed; - border-radius: 0.5rem; - background-color: rgba(var(--foreground-color), 1); - z-index: 5; +.floor-title { + opacity: 0.5; + font-size: 0.9rem; + white-space: nowrap; + padding: 0.4rem 0.6rem; + margin-left: 1rem; + border-radius: 0.2rem; + background: rgba(var(--foreground-color), 1); + transition: box-shadow 0.3s, opacity 0.3s; } -.room-container{ - position: fixed; - top: 0; - bottom: 0; - left: 0; - right: 0; - z-index: 6; - overflow-y: auto; - background-color: var(--background-color); - grid-template-rows: auto auto 1fr auto; - align-items: flex-start; -} -.room{ - padding-bottom: 4rem; +.floor { + padding-bottom: 3rem; + width: 100%; } -.room-container__header{ - display: flex; - position: sticky; - top: 0; - z-index: 2; - background-color: inherit; - padding: 1rem 0; - &::before{ - position: absolute; - content: ''; - width: 1rem; - height: 100%; - left: -1rem; - top: 0; - background-color: inherit; - } -} -#hero_title{ - font-size: 2rem; - margin-bottom: 2rem; - font-weight: calc(700 * var(--font-weight-factor)); +.floor__header { + position: relative; + padding: 0.5rem 0; + transform: translateY(-0.1rem); + background: var(--background-color); } -/* .room-carousel{ - display: flex; - overflow-x: auto; - scroll-snap-type: x mandatory; - height: 100%; - scroll-behavior: smooth; - & > *{ - min-width: 100%; - scroll-snap-align: start; - - } -} */ - -.room-container__footer{ - position: sticky; - display: flex; - gap: 1rem; - bottom: 0; - z-index: 2; - overflow-x: auto; - align-items: center; - padding: 2rem 0.5rem 0.5rem 3rem; - margin-left: -3rem; - background: linear-gradient(0deg, var(--background-color) 70%, rgba(0,0,0,0) 100%); -} -#room_switcher{ - display: grid; - gap: 0.5rem; - grid-auto-flow: column; - justify-content: flex-start; +.floor__num { + display: flex; + align-items: center; + font-size: 1.8rem; + font-weight: calc(900 * var(--font-weight-factor)); + color: rgba(var(--text-color), 0.3); } -.room-shortcut{ - .room-tile__title{ - font-weight: 500; - font-size: 0.9rem; - } +.floor__title { + font-size: 1.3rem; + font-weight: calc(700 * var(--font-weight-factor)); } -.ext-link-tile{ - position: relative; - display: flex; - padding: 1.5rem; - border-radius: 0.5rem; - background-size: contain; - align-items: center; - justify-content: space-between; - border : solid 0.1rem var(--banner-color); - box-shadow: 0 1rem 3rem -1rem rgba(0, 0, 0, 0.2); - -webkit-tap-highlight-color: transparent; - overflow: hidden; +.big-icon { + height: 2rem; + width: 2rem; } -.tile__title{ - font-size: 1.25rem; + +.outlets-container { + margin: 1rem 0; + gap: 1.5rem; +} + +.outlet-preview { + position: relative; + display: grid; + padding: 1rem; + align-items: center; + border-radius: 0.7rem; + background-color: rgba(var(--foreground-color), 1); +} +.outlet__title { + line-height: 1.2; + max-width: 18ch; + font-size: 1.8rem; + margin-bottom: 1rem; + text-transform: capitalize; + font-weight: calc(900 * var(--font-weight-factor)); +} +.svg-outlet-title { + height: 4rem; + margin-bottom: 1.5rem; + fill: rgba(var(--text-color), 1); + font-weight: calc(900 * var(--font-weight-factor)); +} +.outlet__description { + color: rgba(var(--text-color), 0.8); +} +.outlet-preview__button { + padding: 0.5rem 0; + justify-self: flex-start; + color: var(--accent-color); + font-weight: calc(700 * var(--font-weight-factor)); +} + +.outlet-preview__number { + position: relative; + line-height: 1; + font-size: 8rem; + font-weight: 900; + -webkit-text-stroke: 1rem var(--accent-color); + -webkit-text-fill-color: rgba(var(--foreground-color), 1); + margin: 0 0.5rem; + &::after { + content: attr(data-number); + position: absolute; line-height: 1; - font-weight: calc(500 * var(--font-weight-factor)); - z-index: 1; -} -.tile__brief{ - margin-top: 1rem; - z-index: 1; - color: rgba(var(--text-color), 0.7); -} -.round{ - display: inline-flex; - flex-shrink: 0; - padding: 0.4rem 1rem; - border-radius: 0.3rem; - color: white; - background-color: var(--banner-color); - font-weight: 700 !important; - font-size: 1rem; - z-index: 1; + font-size: 1em; + font-weight: inherit; + -webkit-text-stroke: 0; + color: rgba(var(--foreground-color), 1); + } } -.timeline-container{ - display: grid; - padding: 3rem 0; - gap: 4rem; +.label { + position: relative; + font-size: 0.8rem; + margin-bottom: 0.3rem; } -.timeline-item{ - position: relative; - display: grid; - padding-left: 1rem; - &:not(:last-of-type):before{ - content: ''; - position: absolute; - width: 0.1rem; - height: calc(100% + 4rem); - top: 0; - left: 0; - background-color: rgba(var(--text-color), 0.7); - } - &:after{ - content: ''; - position: absolute; - height: 0.6rem; - width: 0.6rem; - border-radius: 50%; - top: 0; - left: -0.25rem; - background-color: rgba(var(--text-color), 1); - } -} -.timeline-item__header{ - display: flex; - font-size: 0.8rem; - padding: 0.5rem 0.8rem; - border-radius: 0.2rem; - justify-self: flex-start; - transform: translateY(-0.8rem); - box-shadow: 0 0 0 1px rgba(var(--text-color), 0.6); - background-color: rgba(var(--foreground-color), 1); - +.value { + font-size: 1.2rem; } -.features-grid{ - display: grid; - gap: 3rem 2rem; - margin-bottom: 5rem; +.series-container { + gap: 1.5rem; + padding-bottom: 1.5rem; + grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); } -.feature{ + +.bit-bond-series__row, +.bob-fund__row, +.person-card { + min-width: 100%; +} + +.bob-fund__row { + .grid { + align-content: flex-start; + } +} + +.bob-fund__row, +.bit-bond-series__row, +.card { + gap: 1rem; + padding: 1.5rem; + border-radius: 0.5rem; + align-items: flex-start; + background-color: rgba(var(--foreground-color), 1); + box-shadow: 0 0.5rem 1rem -0.5rem rgba(0, 0, 0, 0.1); +} + +.bit-bond-series__row { + .original-value { + font-size: 0.85rem; + } +} + +.up-arrow { + height: 1em; + width: 1em; + fill: var(--green); + margin-right: 0.1em; +} +.percent-gain { + margin-right: 0.5em; + font-weight: calc(500 * var(--font-weight-factor)); +} +.percent-gain, +.time-elapsed { + font-size: 0.8rem; +} +.time-elapsed { + color: rgba(var(--text-color), 0.8); +} + +.person-card { + position: relative; + gap: 1rem; + text-align: center; + justify-items: center; + align-content: flex-start; + grid-template-columns: 1fr; +} +.person__image { + width: 100%; + height: auto; + border-radius: 0.5rem; + height: 10rem; + width: 10rem; + object-position: top; + border-radius: 50%; +} +.person__name { + font-size: 0.9rem; + text-transform: capitalize; +} +.investor__bio { + font-size: 0.85rem; + margin-top: 0.5rem; +} +.investor__contribution { + font-size: 0.85rem; +} +.intern-flo-id { + margin-top: 0.3rem; + font-size: 0.75rem; +} +.intern__project { + margin-top: 0.5rem; +} +.intern__level { + position: absolute; + cursor: pointer; + font-size: 0.8rem; + border-radius: 0.2rem; + margin-bottom: 0.3rem; + padding: 0.3rem 0.5rem; + justify-self: flex-end; + font-weight: calc(500 * var(--font-weight-factor)); + box-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.2); +} +.starter { + background-color: rgba(var(--foreground-color), 1); +} +.motivated { + color: black; + background-color: #ffca28; +} +.passionate { + color: black; + background-color: #00e676; +} +#intern_level_popup { + --width: min(48rem, 100%); +} +.table { + display: grid; + gap: 1rem; + grid-template-columns: 6rem 1fr; + p { + font-size: 0.9rem; + color: rgba(var(--text-color), 0.9); + } +} + +.outlet-hero-section { + display: grid; +} + +#outlet_switcher { + position: absolute; + top: 0; + padding: 1rem; + border-radius: 0.3rem; + background: rgba(var(--foreground-color), 1); + box-shadow: 0 2rem 4rem -1rem rgba(0, 0, 0, 0.2); + z-index: 2; + outline: none; +} +.outlet_switcher__floor { + display: flex; + flex-direction: column; + overflow-y: auto; +} +.outlet_switcher__button { + display: flex; + align-items: center; + font-size: 1rem; + padding: 0.6rem 0; + font-weight: calc(500 * var(--font-weight-factor)); + &--active { + color: var(--accent-color) !important; + } +} +.outlet-label { + display: grid; + gap: 0.5rem; + text-align: left; + align-items: center; + min-width: 8rem; + font-size: 1.1rem; + margin-bottom: 0.5rem; + align-self: flex-start; + grid-template-areas: "label icon" "num num"; + .icon { + grid-area: icon; + fill: var(--accent-color); + justify-self: flex-end; + } +} +.outlet-label__name { + font-size: 1.7rem; + color: rgba(var(--text-color), 0.5); + font-weight: calc(900 * var(--font-weight-factor)); +} +.outlet-label__no { + grid-area: num; + display: flex; + position: relative; + line-height: 1; + font-size: 8rem; + font-weight: 900; + -webkit-text-stroke: 1rem var(--accent-color); + -webkit-text-fill-color: var(--background-color); + margin: 0 0.5rem; + &::after { + content: attr(data-number); + position: absolute; + line-height: 1; + font-size: 1em; + font-weight: inherit; + -webkit-text-stroke: 0; + color: var(--background-color); + } +} +.auto-grid-layout { + justify-content: flex-start; + overflow-x: auto; +} +.grid-2 { + grid-template-columns: auto 1fr; +} + +.rooms__header { + z-index: 1; + display: flex; + align-items: center; + margin-bottom: 1.5rem; + background: var(--background-color); + box-shadow: 0 1rem 1rem -1rem rgba(0, 0, 0, 0.2); +} +.room__label { + position: relative; + display: flex; + align-items: center; + font-weight: calc(700 * var(--font-weight-factor)); + padding-right: 1.5rem; + font-size: 1.5rem; +} +.room-button { + position: relative; + opacity: 0.6; + flex-shrink: 0; + border-radius: 0; + font-weight: calc(500 * var(--font-weight-factor)); + font-size: 1.1rem; + transition: opacity 0.3s, background-color 0.3s; + padding: 0.6rem 0.8rem; + &:not(:last-of-type)::after { + content: ""; + height: 0.1rem; + width: 4rem; + margin-left: 1rem; + align-self: center; + background: var(--accent-color); + } + &[active] { + opacity: 1; + color: var(--accent-color); + .icon { + fill: var(--accent-color); + } + } +} + +.people-grid { + display: grid; + gap: 3rem 1.5rem; + grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); +} + +.rooms-layout { + position: relative; + display: grid; + gap: 1rem; + grid-template-columns: 1fr 1fr; + margin-bottom: 4rem; +} +.room-tile { + display: flex; + position: relative; + border-radius: 0.5rem; + transition: transform 0.3s; + background-color: rgba(var(--foreground-color), 1); + box-shadow: 0 1rem 3rem -1rem rgba(0, 0, 0, 0.1); + -webkit-tap-highlight-color: transparent; + &--main { + padding-top: 100%; + grid-row: span 2; + .tile-content { + position: absolute; + bottom: 0; + } + } + .tile-content { display: flex; - position: relative; - flex-direction: column; - align-items: center; - text-align: center; - // position: absolute; - bottom: 0; - left: 0; width: 100%; height: 100%; -} -.feature__icon{ - display: flex; - align-items: center; - margin-bottom: 1rem; padding: 1.5rem; - border-radius: 50%; - background-color: rgba(var(--text-color), 0.06); - .icon{ - height: 2.5rem; - width: 2.5rem; - fill: rgba(var(--text-color), 0.9); - } + align-self: flex-end; + flex-direction: column; + } + &:active { + transform: scale(0.95); + } } -.feature__title{ - color: rgba(var(--text-color), 0.9); - font-size: 1.2rem; - margin-bottom: 0.5rem; +.room-tile__icon { + position: absolute; + height: 6rem; + width: 6rem; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + // margin-bottom: 1rem; + &:not(.room-tile__icon--colored) { + fill: rgba(var(--text-color), 0.1); + } } -.feature__brief{ - font-size: 0.9rem; - color: rgba(var(--text-color), 0.8); +.investors-icon { + height: 8rem; + width: 8rem; } -#line_sample{ - width: 2rem; - height: 0.2rem; +.room-tile__title { + // font-size: 1.2rem; + // border-bottom: 1px solid; + font-size: 0.9rem; + padding: 0.4rem 0.8rem; + border: solid 0.1rem var(--secondary-text-color); + color: var(--secondary-text-color); + border-radius: 0.3rem; + // align-self: flex-start; +} +#performance_preview { + margin-top: auto; + & > * { + padding: 0; + box-shadow: none; + } +} +#expanding_tile { + position: fixed; + border-radius: 0.5rem; + background-color: rgba(var(--foreground-color), 1); + z-index: 5; +} + +.room-container { + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 6; + overflow-y: auto; + background-color: var(--background-color); + grid-template-rows: auto auto 1fr auto; + align-items: flex-start; +} +.room { + padding-bottom: 4rem; +} + +.room-container__header { + display: flex; + position: sticky; + top: 0; + z-index: 2; + background-color: inherit; + padding: 1rem 0; + &::before { + position: absolute; + content: ""; + width: 1rem; + height: 100%; + left: -1rem; + top: 0; + background-color: inherit; + } +} +#hero_title { + font-size: 2rem; + margin-bottom: 2rem; + font-weight: calc(700 * var(--font-weight-factor)); +} + +.room-container__footer { + position: sticky; + display: flex; + bottom: 0; + z-index: 2; + overflow-x: auto; + align-items: center; + padding: 2rem 0.5rem 0.5rem 3rem; + margin-left: -3rem; + background: linear-gradient( + 0deg, + var(--background-color) 70%, + rgba(0, 0, 0, 0) 100% + ); + & > h4 { margin-right: 1rem; - background: linear-gradient(90deg, #f49080, #80b6f4); + } } -.graph-container{ - min-height: 16rem; - margin: 1rem 0 4rem 0; +#room_switcher { + display: grid; + gap: 0.5rem; + grid-auto-flow: column; + justify-content: flex-start; } -.link-container{ - display: grid; - gap: 1rem; - justify-items: flex-start; - align-items: center; + +.room-shortcut { + .room-tile__title { + font-weight: 500; + font-size: 0.9rem; + } +} + +.ext-link-tile { + position: relative; + display: flex; + padding: 1.5rem; + border-radius: 0.5rem; + background-size: contain; + align-items: center; + justify-content: space-between; + border: solid 0.1rem var(--banner-color); + box-shadow: 0 1rem 3rem -1rem rgba(0, 0, 0, 0.2); + -webkit-tap-highlight-color: transparent; + overflow: hidden; +} +.tile__title { + font-size: 1.25rem; + line-height: 1; + font-weight: calc(500 * var(--font-weight-factor)); + z-index: 1; +} +.tile__brief { + margin-top: 1rem; + z-index: 1; + color: rgba(var(--text-color), 0.7); +} +.round { + display: inline-flex; + flex-shrink: 0; + padding: 0.4rem 1rem; + border-radius: 0.3rem; + color: white; + background-color: var(--banner-color); + font-weight: 700 !important; + font-size: 1rem; + z-index: 1; +} + +.timeline-container { + display: grid; + padding: 3rem 0; + gap: 4rem; +} +.timeline-item { + position: relative; + display: grid; + padding-left: 1rem; + &:not(:last-of-type):before { + content: ""; + position: absolute; + width: 0.1rem; + height: calc(100% + 4rem); + top: 0; + left: 0; + background-color: rgba(var(--text-color), 0.7); + } + &:after { + content: ""; + position: absolute; + height: 0.6rem; + width: 0.6rem; + border-radius: 50%; + top: 0; + left: -0.25rem; + background-color: rgba(var(--text-color), 1); + } +} +.timeline-item__header { + display: flex; + font-size: 0.8rem; + padding: 0.5rem 0.8rem; + border-radius: 0.2rem; + justify-self: flex-start; + transform: translateY(-0.8rem); + box-shadow: 0 0 0 1px rgba(var(--text-color), 0.6); + background-color: rgba(var(--foreground-color), 1); +} + +.features-grid { + display: grid; + gap: 3rem 2rem; + margin-bottom: 5rem; +} +.feature { + display: flex; + position: relative; + flex-direction: column; + align-items: center; + text-align: center; + // position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 100%; +} +.feature__icon { + display: flex; + align-items: center; + margin-bottom: 1rem; + padding: 1.5rem; + border-radius: 50%; + background-color: rgba(var(--text-color), 0.06); + .icon { + height: 2.5rem; + width: 2.5rem; + fill: rgba(var(--text-color), 0.9); + } +} +.feature__title { + color: rgba(var(--text-color), 0.9); + font-size: 1.2rem; + margin-bottom: 0.5rem; +} +.feature__brief { + font-size: 0.9rem; + color: rgba(var(--text-color), 0.8); +} +#line_sample { + width: 2rem; + height: 0.2rem; + margin-right: 1rem; + background: linear-gradient(90deg, #f49080, #80b6f4); +} +.graph-container { + min-height: 16rem; + margin: 1rem 0 4rem 0; +} +.link-container { + display: grid; + gap: 1rem; + justify-items: flex-start; + align-items: center; } @media only screen and (max-width: 640px) { - .hide-on-mobile{ - display: none; + .hide-on-mobile { + display: none; + } + .outlet-preview { + gap: 1.5rem; + } + .outlet-preview__number-container { + grid-row: 1/2; + } + .outlet-preview__number::after { + left: 0; + } + .outlet-preview__number, + .outlet-label__no { + font-size: 5rem; + } + #outlet_switcher { + width: calc(100% - 2rem); + } + .outlet-label { + grid-row: 1/2; + } + .outlet-hero-section { + margin-top: 2rem; + } + .outlet-label__no { + margin-bottom: 2rem; + } + .series-container { + gap: 1rem; + } + .outlet-list__item { + .icon { + margin-left: auto; } - .outlet-preview{ - gap: 1.5rem; + } + .rooms__header { + flex-direction: column; + align-items: flex-start; + scroll-tab-header { + width: calc(100vw - 2rem); } - .outlet-preview__number-container{ - grid-row: 1/2; + } + .room-tile { + padding-top: 100%; + &--main { + // padding-top: 50%; + grid-column: span 2; } - .outlet-preview__number::after{ - left: 0; - } - .outlet-preview__number, - .outlet-label__no{ - font-size: 5rem; - } - #outlet_switcher{ - width: calc(100% - 2rem); - } - .outlet-label{ - grid-row: 1/2; - } - .outlet-hero-section{ - margin-top: 2rem; - } - .outlet-label__no{ - margin-bottom: 2rem; - } - .series-container{ - gap: 1rem; - } - .outlet-list__item{ - .icon{ - margin-left: auto; - } - } - .rooms__header{ - flex-direction: column; - align-items: flex-start; - scroll-tab-header{ - width: calc(100vw - 2rem); - } - } - .room-tile{ - padding-top: 100%; - &--main{ - // padding-top: 50%; - grid-column: span 2; - } - .tile-content{ - top: 0; - padding: 1rem; - position: absolute; - } - } - .room-tile__icon{ - height: 4rem; - width: 4rem; - } - .investors-icon{ - height: 6rem; - width: 6rem; - } - #hero_title{ - margin-top: 2rem; - } - .ext-link-tile{ - padding: 1rem; - flex-direction: column; - align-items: flex-start; - } - .link-container{ - margin-top: 1.5rem; + .tile-content { + top: 0; + padding: 1rem; + position: absolute; } + } + .room-tile__icon { + height: 4rem; + width: 4rem; + } + .investors-icon { + height: 6rem; + width: 6rem; + } + #hero_title { + margin-top: 2rem; + } + .ext-link-tile { + padding: 1rem; + flex-direction: column; + align-items: flex-start; + } + .link-container { + margin-top: 1.5rem; + } } @media only screen and (min-width: 640px) { - #home_page,.page, - .page-layout{ - grid-template-columns: 1fr 90vw 1fr; + #home_page, + .page, + .page-layout { + grid-template-columns: 1fr 90vw 1fr; + } + .h1 { + font-size: 4rem; + } + .h2 { + font-size: 2.5rem; + } + .h3 { + font-size: 1.5rem; + } + .h4 { + font-size: 1.1rem; + } + #main_header { + padding: 1.2rem 2rem; + } + #floor_list { + gap: 8vw; + padding: 0 8vw 4rem 8vw; + } + .floor_list__item { + position: relative; + grid-template-columns: 1fr 1fr; + align-items: center; + justify-content: center; + .floor_list__header { + display: grid; } - .h1{ - font-size: 4rem; - } - .h2{ - font-size: 2.5rem; - } - .h3{ - font-size: 1.5rem; - } - .h4{ - font-size: 1.1rem; - } - #main_header{ - padding: 1.2rem 2rem; - } - #floor_list{ - gap: 8vw; - padding: 0 8vw 4rem 8vw; - } - .floor_list__item{ - position: relative; - grid-template-columns: 1fr 1fr; - align-items: center; - justify-content: center; - .floor_list__header{ - display: grid; - } - &:not(:last-of-type){ - padding-bottom: 8vw; - &::after{ - content: ''; - position: absolute; - width: 24rem; - height: 0.2rem; - bottom: 0; - background-color: var(--accent-color); - justify-self: center; - } - } - &:nth-of-type(odd){ - .floor_list__header{ - text-align: right; - grid-column: 2/3; - grid-row: 1/2; - } - .outlet-list{ - grid-row: 1/2; - grid-column: 1/2; - } - } - } - .floor__header{ - &::before{ - left: -10%; - width: 10%; - } - &::after{ - right: -10%; - width: 10%; - } - } - .outlets-container{ - gap: 1.5rem; - } - .outlet-preview{ - gap: 1rem; - padding: 5rem 4rem; - grid-template-columns: 1.2fr 1fr; - border: 1px solid rgba(0, 0, 0, 0.2); - box-shadow: 0 4rem 3rem -2rem rgba(0, 0, 0, 0.06); - &:nth-of-type(even){ - grid-template-columns: 1fr 2fr; - .outlet-preview__info{ - grid-column: 2/3; - } - .outlet-preview__number-container{ - grid-column: 1/2; - grid-row: 1/2; - } - .outlet-preview__number::after{ - left: 0; - } - } - &:nth-of-type(odd){ - .outlet-preview__number-container{ - margin-left: auto; - text-align: right; - } - .outlet-preview__number::after{ - right: 0; - } - } - } - .outlet__title{ - font-size: 2.5rem; - } - #outlet_switcher{ - padding: 1rem 1.5rem; - } - .outlet-label{ - grid-column: 2/3; - justify-self: right; - } - .outlet-label__no{ - justify-content: flex-end; - } - .outlet-hero-section{ - position: relative; - grid-template-columns: 1fr auto; - gap: 1.5rem; - margin-top: 4rem; - } - .auto-grid-layout{ - grid-template-columns: auto 1fr; - } - .rooms-layout{ - grid-template-rows: 1fr 1fr; - } - .room-container__header{ - padding: 1.5rem 0; - } - .people-grid{ - gap: 5rem 3rem; - } - #hero_title{ - font-size: 3rem; - } - .feature__title{ - font-size: 1.5rem; - } - .features-grid{ - grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr)); - } - .graph-container{ - width: 80%; - min-height: 60vh; + &:not(:last-of-type) { + padding-bottom: 8vw; + &::after { + content: ""; + position: absolute; + width: 24rem; + height: 0.2rem; + bottom: 0; + background-color: var(--accent-color); justify-self: center; + } } + &:nth-of-type(odd) { + .floor_list__header { + text-align: right; + grid-column: 2/3; + grid-row: 1/2; + } + .outlet-list { + grid-row: 1/2; + grid-column: 1/2; + } + } + } + .floor__header { + &::before { + left: -10%; + width: 10%; + } + &::after { + right: -10%; + width: 10%; + } + } + .outlets-container { + gap: 1.5rem; + } + .outlet-preview { + gap: 1rem; + padding: 5rem 4rem; + grid-template-columns: 1.2fr 1fr; + border: 1px solid rgba(0, 0, 0, 0.2); + box-shadow: 0 4rem 3rem -2rem rgba(0, 0, 0, 0.06); + &:nth-of-type(even) { + grid-template-columns: 1fr 2fr; + .outlet-preview__info { + grid-column: 2/3; + } + .outlet-preview__number-container { + grid-column: 1/2; + grid-row: 1/2; + } + .outlet-preview__number::after { + left: 0; + } + } + &:nth-of-type(odd) { + .outlet-preview__number-container { + margin-left: auto; + text-align: right; + } + .outlet-preview__number::after { + right: 0; + } + } + } + .outlet__title { + font-size: 2.5rem; + } + #outlet_switcher { + padding: 1rem 1.5rem; + } + .outlet-label { + grid-column: 2/3; + justify-self: right; + } + .outlet-label__no { + justify-content: flex-end; + } + .outlet-hero-section { + position: relative; + grid-template-columns: 1fr auto; + gap: 1.5rem; + margin-top: 4rem; + } + .auto-grid-layout { + grid-template-columns: auto 1fr; + } + .rooms-layout { + grid-template-rows: 1fr 1fr; + } + .room-container__header { + padding: 1.5rem 0; + } + .people-grid { + gap: 5rem 3rem; + } + #hero_title { + font-size: 3rem; + } + .feature__title { + font-size: 1.5rem; + } + .features-grid { + grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr)); + } + .graph-container { + width: 80%; + min-height: 60vh; + justify-self: center; + } } @media only screen and (min-width: 1280px) { - #home_page, .page, - .page-layout{ - grid-template-columns: 1fr 85vw 1fr; - } - .grid-3{ - justify-content: center; - & > .grid{ - width: 100%; - } - } - .rooms-layout{ - grid-template-columns: repeat(3, 1fr); - grid-auto-flow: column; - } - .link-container{ - grid-template-columns: auto auto; + #home_page, + .page, + .page-layout { + grid-template-columns: 1fr 85vw 1fr; + } + .grid-3 { + justify-content: center; + & > .grid { + width: 100%; } + } + .rooms-layout { + grid-template-columns: repeat(3, 1fr); + grid-auto-flow: column; + } + .link-container { + grid-template-columns: auto auto; + } } -@media (any-hover: hover){ - ::-webkit-scrollbar{ - width: 0.5rem; - height: 0.5rem; +@media (any-hover: hover) { + ::-webkit-scrollbar { + width: 0.5rem; + height: 0.5rem; + } + + ::-webkit-scrollbar-thumb { + background: rgba(var(--text-color), 0.3); + border-radius: 1rem; + &:hover { + background: rgba(var(--text-color), 0.5); } - - ::-webkit-scrollbar-thumb{ - background: rgba(var(--text-color), 0.3); - border-radius: 1rem; - &:hover{ - background: rgba(var(--text-color), 0.5); - } + } + .page-link { + cursor: pointer; + transition: color 0.3s; + &:hover { + color: var(--accent-color); + .icon { + fill: var(--accent-color); + } } - .page-link{ - cursor: pointer; - transition: color 0.3s; - &:hover{ - color: var(--accent-color); - .icon{ - fill: var(--accent-color); - } - } + } + .floor__button:hover { + background: var(--background-color); + } + .outlet-list__item { + .icon { + fill: var(--accent-color); + opacity: 0; + transform-origin: left; + transform: translateX(-0.5rem); + transition: opacity 0.3s, transform 0.3s; } - .floor__button:hover{ - background: var(--background-color); + &:hover .icon { + opacity: 1; + transform: translateX(0); } - .outlet-list__item{ - .icon{ - fill: var(--accent-color); - opacity: 0; - transform-origin: left; - transform: translateX(-0.5rem); - transition: opacity 0.3s, transform 0.3s; - } - &:hover .icon{ - opacity: 1; - transform: translateX(0); - } + } + .intern__level { + transition: transform 0.3s; + &:hover { + transform: scale(1.1); } - .intern__level{ - transition: transform 0.3s; - &:hover{ - transform: scale(1.1); - } - } -} \ No newline at end of file + } +} diff --git a/assets/investors/Margot Borden.jpg b/assets/investors/Margot Borden.jpg index 39e42b492a3a188d5b528fdfaa5642bcaf545f2d..ce161a0f185f10b1f063e79244abb1a33c3790ba 100644 GIT binary patch literal 128420 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

Rr^$oYDk8 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

-`; -customElements.define('sm-input', - class extends HTMLElement { - - static formAssociated = true; - - constructor() { - super() - this.attachShadow({ - mode: 'open' - }).append(smInput.content.cloneNode(true)) - } - - static get observedAttributes() { - return ['placeholder'] - } - - get value() { - return this.shadowRoot.querySelector('input').value - } - - set value(val) { - this.shadowRoot.querySelector('input').value = val; - this.checkInput() - this.fireEvent() - } - - get placeholder() { - return this.getAttribute('placeholder') - } - - set placeholder(val) { - this.setAttribute('placeholder', val) - } - - get type() { - return this.getAttribute('type') - } - - get isValid() { - return this.shadowRoot.querySelector('input').checkValidity() - } - - get validity() { - return this.shadowRoot.querySelector('input').validity - } - - set disabled(value) { - if (value) - this.shadowRoot.querySelector('.input').classList.add('disabled') - else - this.shadowRoot.querySelector('.input').classList.remove('disabled') - } - set readOnly(value) { - if (value) { - this.shadowRoot.querySelector('input').setAttribute('readonly', '') - this.shadowRoot.querySelector('.input').classList.add('readonly') - } else { - this.shadowRoot.querySelector('input').removeAttribute('readonly') - this.shadowRoot.querySelector('.input').classList.remove('readonly') - } - } - - setValidity = (message) => { - this.feedbackText.textContent = message - } - - showValidity = () => { - this.feedbackText.classList.remove('hide-completely') - } - - hideValidity = () => { - this.feedbackText.classList.add('hide-completely') - } - - focusIn = () => { - this.input.focus() - } - - focusOut = () => { - this.input.blur() - } - - fireEvent = () => { - let event = new Event('input', { - bubbles: true, - cancelable: true, - composed: true - }); - this.dispatchEvent(event); - } - - checkInput = (e) => { - if (!this.readonly) { - if (this.input.value !== '') { - this.clearBtn.classList.remove('hide') - } else { - this.clearBtn.classList.add('hide') - } - } - if (!this.hasAttribute('placeholder') || this.getAttribute('placeholder') === '') return; - if (this.input.value !== '') { - if (this.animate) - this.inputParent.classList.add('animate-label') - else - this.label.classList.add('hide') - } else { - if (this.animate) - this.inputParent.classList.remove('animate-label') - else - this.label.classList.remove('hide') - } - } - - - connectedCallback() { - this.inputParent = this.shadowRoot.querySelector('.input') - this.clearBtn = this.shadowRoot.querySelector('.clear') - this.label = this.shadowRoot.querySelector('.label') - this.feedbackText = this.shadowRoot.querySelector('.feedback-text') - this.valueChanged = false; - this.readonly = false - this.isNumeric = false - this.min - this.max - this.animate = this.hasAttribute('animate') - this.input = this.shadowRoot.querySelector('input') - this.shadowRoot.querySelector('.label').textContent = this.getAttribute('placeholder') - if (this.hasAttribute('value')) { - this.input.value = this.getAttribute('value') - this.checkInput() - } - if (this.hasAttribute('required')) { - this.input.setAttribute('required', '') - } - if (this.hasAttribute('min')) { - let minValue = this.getAttribute('min') - this.input.setAttribute('min', minValue) - this.min = parseInt(minValue) - } - if (this.hasAttribute('max')) { - let maxValue = this.getAttribute('max') - this.input.setAttribute('max', maxValue) - this.max = parseInt(maxValue) - } - if (this.hasAttribute('minlength')) { - const minValue = this.getAttribute('minlength') - this.input.setAttribute('minlength', minValue) - } - if (this.hasAttribute('maxlength')) { - const maxValue = this.getAttribute('maxlength') - this.input.setAttribute('maxlength', maxValue) - } - if (this.hasAttribute('step')) { - const steps = this.getAttribute('step') - this.input.setAttribute('step', steps) - } - if (this.hasAttribute('pattern')) { - this.input.setAttribute('pattern', this.getAttribute('pattern')) - } - if (this.hasAttribute('readonly')) { - this.input.setAttribute('readonly', '') - this.readonly = true - } - if (this.hasAttribute('disabled')) { - this.inputParent.classList.add('disabled') - } - if (this.hasAttribute('error-text')) { - this.feedbackText.textContent = this.getAttribute('error-text') - } - if (this.hasAttribute('type')) { - if (this.getAttribute('type') === 'number') { - this.input.setAttribute('inputmode', 'numeric') - this.input.setAttribute('type', 'number') - this.isNumeric = true - } else - this.input.setAttribute('type', this.getAttribute('type')) - } else - this.input.setAttribute('type', 'text') - this.input.addEventListener('input', e => { - this.checkInput(e) - }) - this.clearBtn.addEventListener('click', e => { - this.value = '' - }) - } - - attributeChangedCallback(name, oldValue, newValue) { - if (oldValue !== newValue) { - if (name === 'placeholder') { - this.shadowRoot.querySelector('.label').textContent = newValue; - this.setAttribute('aria-label', newValue); - } - } - } - }) - -//textarea -const smTextarea = document.createElement('template') -smTextarea.innerHTML = ` - - -`; -customElements.define('sm-textarea', - class extends HTMLElement { - constructor() { - super() - this.attachShadow({ - mode: 'open' - }).append(smTextarea.content.cloneNode(true)) - this.textarea = this.shadowRoot.querySelector('textarea') - } - get value() { - return this.textarea.value - } - set value(val) { - this.textarea.value = val; - this.textareaBox.dataset.value = val - this.checkInput() - this.fireEvent() - } - focusIn = () => { - this.textarea.focus() - } - fireEvent() { - let event = new Event('input', { - bubbles: true, - cancelable: true, - composed: true - }); - this.dispatchEvent(event); - } - checkInput = () => { - if (!this.hasAttribute('placeholder') || this.getAttribute('placeholder') === '') - return; - if (this.textarea.value !== '') { - this.placeholder.classList.add('hide') - } else { - this.placeholder.classList.remove('hide') - } - } - connectedCallback() { - this.textareaBox = this.shadowRoot.querySelector('.textarea') - this.placeholder = this.shadowRoot.querySelector('.placeholder') - - if(this.hasAttribute('placeholder')) - this.placeholder.textContent = this.getAttribute('placeholder') - - if (this.hasAttribute('value')) { - this.textarea.value = this.getAttribute('value') - this.checkInput() - } - if (this.hasAttribute('required')) { - this.textarea.setAttribute('required', '') - } - if (this.hasAttribute('readonly')) { - this.textarea.setAttribute('readonly', '') - } - if (this.hasAttribute('rows')) { - this.textarea.setAttribute('rows', this.getAttribute('rows')) - } - this.textarea.addEventListener('input', e => { - this.textareaBox.dataset.value = this.textarea.value - this.checkInput() - }) - } - }) - -// tab -const smTab = document.createElement('template') -smTab.innerHTML = ` - -
- -
-`; - -customElements.define('sm-tab', class extends HTMLElement { - constructor() { - super() - this.shadow = this.attachShadow({ - mode: 'open' - }).append(smTab.content.cloneNode(true)) - } -}) - -//chcekbox - -const smCheckbox = document.createElement('template') -smCheckbox.innerHTML = ` - -` -customElements.define('sm-checkbox', class extends HTMLElement { - constructor() { - super() - this.attachShadow({ - mode: 'open' - }).append(smCheckbox.content.cloneNode(true)) - - this.checkbox = this.shadowRoot.querySelector('.checkbox'); - this.input = this.shadowRoot.querySelector('input') - - this.isChecked = false - this.isDisabled = false - } - - static get observedAttributes() { - return ['disabled', 'checked'] - } - - get disabled() { - return this.isDisabled - } - - set disabled(val) { - if (val) { - this.setAttribute('disabled', '') - } else { - this.removeAttribute('disabled') - } - } - - get checked() { - return this.isChecked - } - - set checked(value) { - if (value) { - this.setAttribute('checked', '') - } - else { - this.removeAttribute('checked') - } - } - - set value(val) { - this.val = val - this.setAttribute('value', value) - } - - get value() { - return getAttribute('value') - } - - dispatch = () => { - this.dispatchEvent(new CustomEvent('change', { - bubbles: true, - composed: true - })) - } - handleKeyup = e => { - if ((e.code === "Enter" || e.code === "Space") && this.isDisabled == false) { - if (this.hasAttribute('checked')) { - this.input.checked = false - this.removeAttribute('checked') - } - else { - this.input.checked = true - this.setAttribute('checked', '') - } - } - } - handleChange = e => { - if (this.input.checked) { - this.setAttribute('checked', '') - } - else { - this.removeAttribute('checked') - } - } - - connectedCallback() { - this.val = '' - this.addEventListener('keyup', this.handleKeyup) - this.input.addEventListener('change', this.handleChange) - } - attributeChangedCallback(name, oldValue, newValue) { - if (oldValue !== newValue) { - if (name === 'disabled') { - if (newValue === 'true') { - this.isDisabled = true - } else { - this.isDisabled = false - } - } - else if (name === 'checked') { - if (this.hasAttribute('checked')) { - this.isChecked = true - this.input.checked = true - } - else { - this.input.checked = false - this.isChecked = false - } - this.dispatch() - } - } - } - disconnectedCallback() { - this.removeEventListener('keyup', this.handleKeyup) - this.removeEventListener('change', this.handleChange) - } -}) - -//switch - -const smSwitch = document.createElement('template') -smSwitch.innerHTML = ` - -` - -customElements.define('sm-switch', class extends HTMLElement { - constructor() { - super() - this.attachShadow({ - mode: 'open' - }).append(smSwitch.content.cloneNode(true)) - this.switch = this.shadowRoot.querySelector('.switch'); - this.input = this.shadowRoot.querySelector('input') - this.isChecked = false - this.isDisabled = false - } - - static get observedAttributes() { - return ['disabled', 'checked'] - } - - get disabled() { - return this.isDisabled - } - - set disabled(val) { - if (val) { - this.setAttribute('disabled', '') - } else { - this.removeAttribute('disabled') - } - } - - get checked() { - return this.isChecked - } - - set checked(value) { - if (value) { - this.setAttribute('checked', '') - } else { - this.removeAttribute('checked') - } - } - - dispatch = () => { - this.dispatchEvent(new CustomEvent('change', { - bubbles: true, - composed: true - })) - } - - connectedCallback() { - this.addEventListener('keyup', e => { - if ((e.code === "Enter" || e.code === "Space") && !this.isDisabled) { - this.input.click() - } - }) - this.input.addEventListener('click', e => { - if (this.input.checked) - this.checked = true - else - this.checked = false - this.dispatch() - }) - } - attributeChangedCallback(name, oldValue, newValue) { - if (oldValue !== newValue) { - if (name === 'disabled') { - if (this.hasAttribute('disabled')) { - this.disabled = true - } - else { - this.disabled = false - } - } - else if (name === 'checked') { - if (this.hasAttribute('checked')) { - this.isChecked = true - this.input.checked = true - } - else { - this.isChecked = false - this.input.checked = false - } - } - } - } - -}) - -// select -const smSelect = document.createElement('template') -smSelect.innerHTML = ` - -
-
-
- - - -
-
- -
-
`; -customElements.define('sm-select', class extends HTMLElement { - constructor() { - super() - this.attachShadow({ - mode: 'open' - }).append(smSelect.content.cloneNode(true)) - } - static get observedAttributes() { - return ['value'] - } - get value() { - return this.getAttribute('value') - } - set value(val) { - this.setAttribute('value', val) - } - - collapse() { - this.optionList.animate(this.slideUp, this.animationOptions) - this.optionList.classList.add('hide') - this.chevron.classList.remove('rotate') - this.open = false - } - connectedCallback() { - this.availableOptions - this.optionList = this.shadowRoot.querySelector('.options') - this.chevron = this.shadowRoot.querySelector('.toggle') - let slot = this.shadowRoot.querySelector('.options slot'), - selection = this.shadowRoot.querySelector('.selection'), - previousOption - this.open = false; - this.slideDown = [{ - transform: `translateY(-0.5rem)` - }, - { - transform: `translateY(0)` - } - ], - this.slideUp = [{ - transform: `translateY(0)` - }, - { - transform: `translateY(-0.5rem)` - } - ], - this.animationOptions = { - duration: 300, - fill: "forwards", - easing: 'ease' - } - selection.addEventListener('click', e => { - if (!this.open) { - this.optionList.classList.remove('hide') - this.optionList.animate(this.slideDown, this.animationOptions) - this.chevron.classList.add('rotate') - this.open = true - } else { - this.collapse() - } - }) - selection.addEventListener('keydown', e => { - if (e.code === 'ArrowDown' || e.code === 'ArrowRight') { - e.preventDefault() - this.availableOptions[0].focus() - } - if (e.code === 'Enter' || e.code === 'Space') - if (!this.open) { - this.optionList.classList.remove('hide') - this.optionList.animate(this.slideDown, this.animationOptions) - this.chevron.classList.add('rotate') - this.open = true - } else { - this.collapse() - } - }) - this.optionList.addEventListener('keydown', e => { - if (e.code === 'ArrowUp' || e.code === 'ArrowRight') { - e.preventDefault() - if (document.activeElement.previousElementSibling) { - document.activeElement.previousElementSibling.focus() - } - } - if (e.code === 'ArrowDown' || e.code === 'ArrowLeft') { - e.preventDefault() - if (document.activeElement.nextElementSibling) - document.activeElement.nextElementSibling.focus() - } - }) - this.addEventListener('optionSelected', e => { - if (previousOption !== e.target) { - this.setAttribute('value', e.detail.value) - this.shadowRoot.querySelector('.option-text').textContent = e.detail.text; - this.dispatchEvent(new CustomEvent('change', { - bubbles: true, - composed: true, - detail: { - value: e.detail.value - } - })) - if (previousOption) { - previousOption.classList.remove('check-selected') - } - previousOption = e.target; - } - if (!e.detail.switching) - this.collapse() - - e.target.classList.add('check-selected') - }) - slot.addEventListener('slotchange', e => { - this.availableOptions = slot.assignedElements() - if (this.availableOptions[0]) { - let firstElement = this.availableOptions[0]; - previousOption = firstElement; - firstElement.classList.add('check-selected') - this.setAttribute('value', firstElement.getAttribute('value')) - this.shadowRoot.querySelector('.option-text').textContent = firstElement.textContent - this.availableOptions.forEach((element, index) => { - element.setAttribute('data-rank', index + 1); - element.setAttribute('tabindex', "0"); - }) - } - }); - document.addEventListener('mousedown', e => { - if (!this.contains(e.target) && this.open) { - this.collapse() - } - }) - } -}) - -// option -const smOption = document.createElement('template') -smOption.innerHTML = ` - -
- - - - -
`; -customElements.define('sm-option', class extends HTMLElement { - constructor() { - super() - this.attachShadow({ - mode: 'open' - }).append(smOption.content.cloneNode(true)) - } - - sendDetails(switching) { - let optionSelected = new CustomEvent('optionSelected', { - bubbles: true, - composed: true, - detail: { - text: this.textContent, - value: this.getAttribute('value'), - switching: switching - } - }) - this.dispatchEvent(optionSelected) - } - - connectedCallback() { - let validKey = [ - 'ArrowUp', - 'ArrowDown', - 'ArrowLeft', - 'ArrowRight' - ] - this.addEventListener('click', e => { - this.sendDetails() - }) - this.addEventListener('keyup', e => { - if (e.code === 'Enter' || e.code === 'Space') { - e.preventDefault() - this.sendDetails(false) - } - if (validKey.includes(e.code)) { - e.preventDefault() - this.sendDetails(true) - } - }) - if (this.hasAttribute('default')) { - setTimeout(() => { - this.sendDetails() - }, 0); - } - } -}) - -// select -const smStripSelect = document.createElement('template') -smStripSelect.innerHTML = ` - -
-
- - Previous - - -
- -
- - Next - - -
-
`; -customElements.define('sm-strip-select', class extends HTMLElement { - constructor() { - super() - this.attachShadow({ - mode: 'open' - }).append(smStripSelect.content.cloneNode(true)) - } - static get observedAttributes() { - return ['value'] - } - get value() { - return this.getAttribute('value') - } - set value(val) { - this.setAttribute('value', val) - } - scrollLeft = () => { - this.select.scrollBy({ - top: 0, - left: -this.scrollDistance, - behavior: 'smooth' - }) - } - - scrollRight = () => { - this.select.scrollBy({ - top: 0, - left: this.scrollDistance, - behavior: 'smooth' - }) - } - connectedCallback() { - let previousOption, - slot = this.shadowRoot.querySelector('slot'); - this.selectContainer = this.shadowRoot.querySelector('.select-container') - this.select = this.shadowRoot.querySelector('.select') - this.nextArrow = this.shadowRoot.querySelector('.next-item') - this.previousArrow = this.shadowRoot.querySelector('.previous-item') - this.nextGradient = this.shadowRoot.querySelector('.right') - this.previousGradient = this.shadowRoot.querySelector('.left') - this.selectOptions - this.scrollDistance = this.selectContainer.getBoundingClientRect().width - const firstElementObserver = new IntersectionObserver(entries => { - if (entries[0].isIntersecting) { - this.previousArrow.classList.add('hide') - this.previousGradient.classList.add('hide') - } else { - this.previousArrow.classList.remove('hide') - this.previousGradient.classList.remove('hide') - } - }, { - root: this.selectContainer, - threshold: 0.95 - }) - const lastElementObserver = new IntersectionObserver(entries => { - if (entries[0].isIntersecting) { - this.nextArrow.classList.add('hide') - this.nextGradient.classList.add('hide') - } else { - this.nextArrow.classList.remove('hide') - this.nextGradient.classList.remove('hide') - } - }, { - root: this.selectContainer, - threshold: 0.95 - }) - - const selectObserver = new IntersectionObserver(entries => { - if (entries[0].isIntersecting) { - this.scrollDistance = this.selectContainer.getBoundingClientRect().width - } - }) - - selectObserver.observe(this.selectContainer) - this.addEventListener('optionSelected', e => { - if (previousOption === e.target) return; - if (previousOption) - previousOption.classList.remove('active') - e.target.classList.add('active') - e.target.scrollIntoView({ - behavior: 'smooth', - inline: 'center', - block: 'nearest' - }) - this.setAttribute('value', e.detail.value) - this.dispatchEvent(new CustomEvent('change', { - bubbles: true, - composed: true - })) - previousOption = e.target; - }) - slot.addEventListener('slotchange', e => { - this.selectOptions = slot.assignedElements() - firstElementObserver.observe(this.selectOptions[0]) - lastElementObserver.observe(this.selectOptions[this.selectOptions.length - 1]) - if (this.selectOptions[0]) { - let firstElement = this.selectOptions[0]; - this.setAttribute('value', firstElement.getAttribute('value')) - firstElement.classList.add('active') - previousOption = firstElement; - } - }); - this.nextArrow.addEventListener('click', this.scrollRight) - this.previousArrow.addEventListener('click', this.scrollLeft) - } - - disconnectedCallback() { - this.nextArrow.removeEventListener('click', this.scrollRight) - this.previousArrow.removeEventListener('click', this.scrollLeft) - } -}) - -// option -const smStripOption = document.createElement('template') -smStripOption.innerHTML = ` - -
- -
`; -customElements.define('sm-strip-option', class extends HTMLElement { - constructor() { - super() - this.attachShadow({ - mode: 'open' - }).append(smStripOption.content.cloneNode(true)) - } - sendDetails() { - let optionSelected = new CustomEvent('optionSelected', { - bubbles: true, - composed: true, - detail: { - text: this.textContent, - value: this.getAttribute('value') - } - }) - this.dispatchEvent(optionSelected) - } - - connectedCallback() { - this.addEventListener('click', e => { - this.sendDetails() - }) - this.addEventListener('keyup', e => { - if (e.code === 'Enter' || e.code === 'Space') { - e.preventDefault() - this.sendDetails(false) - } - }) - if (this.hasAttribute('default')) { - setTimeout(() => { - this.sendDetails() - }, 0); - } - } -}) - -//popup -const smPopup = document.createElement('template') -smPopup.innerHTML = ` - - -`; -customElements.define('sm-popup', class extends HTMLElement { - constructor() { - super() - this.attachShadow({ - mode: 'open' - }).append(smPopup.content.cloneNode(true)) - - this.allowClosing = false - this.isOpen = false - } - - get open() { - return this.isOpen - } - - resumeScrolling = () => { - const scrollY = document.body.style.top; - window.scrollTo(0, parseInt(scrollY || '0') * -1); - setTimeout(() => { - document.body.style.overflow = 'auto'; - document.body.style.top= 'initial' - }, 300); - } - - show = (pinned, popupStack) => { - if (popupStack) - this.popupStack = popupStack - if (this.popupStack && !this.hasAttribute('open')) { - this.popupStack.push({ - popup: this, - permission: pinned - }) - if (this.popupStack.items.length > 1) { - this.popupStack.items[this.popupStack.items.length - 2].popup.classList.add('stacked') - } - this.dispatchEvent( - new CustomEvent("popupopened", { - bubbles: true, - detail: { - popup: this, - popupStack: this.popupStack - } - }) - ) - this.setAttribute('open', '') - this.pinned = pinned - this.isOpen = true - } - this.popupContainer.classList.remove('hide') - this.popup.style.transform = 'none'; - document.body.style.overflow = 'hidden'; - document.body.style.top= `-${window.scrollY}px` - return this.popupStack - } - hide = () => { - if (window.innerWidth < 640) - this.popup.style.transform = 'translateY(100%)'; - else - this.popup.style.transform = 'translateY(3rem)'; - this.popupContainer.classList.add('hide') - this.removeAttribute('open') - if (typeof this.popupStack !== 'undefined') { - this.popupStack.pop() - if (this.popupStack.items.length) { - this.popupStack.items[this.popupStack.items.length - 1].popup.classList.remove('stacked') - } else { - this.resumeScrolling() - } - } else { - this.resumeScrolling() - } - - if (this.inputFields.length) { - setTimeout(() => { - this.inputFields.forEach(field => { - if (field.type === 'radio' || field.tagName === 'SM-CHECKBOX') - field.checked = false - if (field.tagName === 'SM-INPUT' || field.tagName === 'TEXTAREA'|| field.tagName === 'SM-TEXTAREA') - field.value = '' - }) - }, 300); - } - setTimeout(() => { - this.dispatchEvent( - new CustomEvent("popupclosed", { - bubbles: true, - detail: { - popup: this, - popupStack: this.popupStack - } - }) - ) - this.isOpen = false - }, 300); - } - - handleTouchStart = (e) => { - this.touchStartY = e.changedTouches[0].clientY - this.popup.style.transition = 'transform 0.1s' - this.touchStartTime = e.timeStamp - } - - handleTouchMove = (e) => { - if (this.touchStartY < e.changedTouches[0].clientY) { - this.offset = e.changedTouches[0].clientY - this.touchStartY; - this.touchEndAnimataion = window.requestAnimationFrame(() => this.movePopup()) - } - /*else { - this.offset = this.touchStartY - e.changedTouches[0].clientY; - this.popup.style.transform = `translateY(-${this.offset}px)` - }*/ - } - - handleTouchEnd = (e) => { - this.touchEndTime = e.timeStamp - cancelAnimationFrame(this.touchEndAnimataion) - this.touchEndY = e.changedTouches[0].clientY - this.popup.style.transition = 'transform 0.3s' - this.threshold = this.popup.getBoundingClientRect().height * 0.3 - if (this.touchEndTime - this.touchStartTime > 200) { - if (this.touchEndY - this.touchStartY > this.threshold) { - if (this.pinned) { - this.show() - return - } else - this.hide() - } else { - this.show() - } - } else { - if (this.touchEndY > this.touchStartY) - if (this.pinned) { - this.show() - return - } - else - this.hide() - } - } - - movePopup = () => { - this.popup.style.transform = `translateY(${this.offset}px)` - } - - connectedCallback() { - this.pinned = false - this.popupStack - this.popupContainer = this.shadowRoot.querySelector('.popup-container') - this.popup = this.shadowRoot.querySelector('.popup') - this.popupBodySlot = this.shadowRoot.querySelector('.popup-body slot') - this.offset - this.popupHeader = this.shadowRoot.querySelector('.popup-top') - this.touchStartY = 0 - this.touchEndY = 0 - this.touchStartTime = 0 - this.touchEndTime = 0 - this.touchEndAnimataion; - this.threshold = this.popup.getBoundingClientRect().height * 0.3 - - if (this.hasAttribute('open')) - this.show() - this.popupContainer.addEventListener('mousedown', e => { - if (e.target === this.popupContainer && !this.pinned) { - if (this.pinned) { - this.show() - return - } else - this.hide() - } - }) - - this.popupBodySlot.addEventListener('slotchange', () => { - setTimeout(() => { - this.threshold = this.popup.getBoundingClientRect().height * 0.3 - }, 200); - this.inputFields = this.querySelectorAll('sm-input', 'sm-checkbox', 'textarea', 'sm-textarea', 'radio') - }) - - this.popupHeader.addEventListener('touchstart', (e) => { this.handleTouchStart(e) }, {passive: true}) - this.popupHeader.addEventListener('touchmove', (e) => {this.handleTouchMove(e)}, {passive: true}) - this.popupHeader.addEventListener('touchend', (e) => {this.handleTouchEnd(e)}, {passive: true}) - } - disconnectedCallback() { - this.popupHeader.removeEventListener('touchstart', this.handleTouchStart, {passive: true}) - this.popupHeader.removeEventListener('touchmove', this.handleTouchMove, {passive: true}) - this.popupHeader.removeEventListener('touchend', this.handleTouchEnd, {passive: true}) - } -}) - -//carousel - -const smCarousel = document.createElement('template') -smCarousel.innerHTML = ` - - -`; - -customElements.define('sm-carousel', class extends HTMLElement { - constructor() { - super() - this.attachShadow({ - mode: 'open' - }).append(smCarousel.content.cloneNode(true)) - - this.isAutoPlaying = false - this.autoPlayInterval = 5000 - this.autoPlayTimeout - this.initialTimeout - this.activeSlideNum = 0 - this.carouselItems - this.indicators - this.showIndicator = false - this.carousel = this.shadowRoot.querySelector('.carousel') - this.carouselContainer = this.shadowRoot.querySelector('.carousel-container') - this.carouselSlot = this.shadowRoot.querySelector('slot') - this.nextArrow = this.shadowRoot.querySelector('.carousel__button--right') - this.previousArrow = this.shadowRoot.querySelector('.carousel__button--left') - this.indicatorsContainer = this.shadowRoot.querySelector('.indicators') - } - - static get observedAttributes() { - return ['indicator', 'autoplay', 'interval'] - } - - scrollLeft = () => { - this.carousel.scrollBy({ - left: -this.scrollDistance, - behavior: 'smooth' - }) - } - - scrollRight = () => { - this.carousel.scrollBy({ - left: this.scrollDistance, - behavior: 'smooth' - }) - } - - handleIndicatorClick = (e) => { - if (e.target.closest('.dot')) { - const slideNum = parseInt(e.target.closest('.dot').dataset.rank) - if (this.activeSlideNum !== slideNum) { - this.showSlide(slideNum) - } - } - } - - showSlide = (slideNum) => { - this.carousel.scrollTo({ - left: (this.carouselItems[slideNum].getBoundingClientRect().left - this.carousel.getBoundingClientRect().left + this.carousel.scrollLeft), - behavior: 'smooth' - }) - } - - nextSlide = () => { - if (!this.carouselItems) return - let showSlideNo = (this.activeSlideNum + 1) < this.carouselItems.length ? this.activeSlideNum + 1 : 0 - this.showSlide(showSlideNo) - } - - autoPlay = () => { - this.nextSlide() - if (this.isAutoPlaying) { - this.autoPlayTimeout = setTimeout(() => { - this.autoPlay() - }, this.autoPlayInterval); - } - } - - startAutoPlay = () => { - this.setAttribute('autoplay', '') - } - - stopAutoPlay = () => { - this.removeAttribute('autoplay') - } - - connectedCallback() { - this.scrollDistance = this.carouselContainer.getBoundingClientRect().width / 3 - let frag = document.createDocumentFragment(); - if (this.hasAttribute('indicator')) - this.showIndicator = true - - - let firstVisible = false, - lastVisible = false - const allElementsObserver = new IntersectionObserver(entries => { - entries.forEach(entry => { - if (this.showIndicator) { - const activeRank = parseInt(entry.target.dataset.rank) - if (entry.isIntersecting) { - this.indicators[activeRank].classList.add('active') - this.activeSlideNum = activeRank - } - else - this.indicators[activeRank].classList.remove('active') - } - if (!entry.target.previousElementSibling) - if (entry.isIntersecting) { - this.previousArrow.classList.remove('expand') - firstVisible = true - } - else { - this.previousArrow.classList.add('expand') - firstVisible = false - } - if (!entry.target.nextElementSibling) - if (entry.isIntersecting) { - this.nextArrow.classList.remove('expand') - lastVisible = true - } - else { - this.nextArrow.classList.add('expand') - lastVisible = false - } - if (firstVisible && lastVisible) - this.indicatorsContainer.classList.add('hide') - else - this.indicatorsContainer.classList.remove('hide') - }) - }, { - root: this.carouselContainer, - threshold: 0.9 - }) - - const carouselObserver = new IntersectionObserver(entries => { - if (entries[0].isIntersecting) { - this.scrollDistance = this.carouselContainer.getBoundingClientRect().width / 3 - } - }) - - carouselObserver.observe(this.carouselContainer) - - this.carouselSlot.addEventListener('slotchange', e => { - this.carouselItems = this.carouselSlot.assignedElements() - this.carouselItems.forEach(item => allElementsObserver.observe(item)) - if (this.showIndicator) { - this.indicatorsContainer.innerHTML = `` - this.carouselItems.forEach((item, index) => { - let dot = document.createElement('div') - dot.classList.add('dot') - dot.dataset.rank = index - frag.append(dot) - item.dataset.rank = index - }) - this.indicatorsContainer.append(frag) - this.indicators = this.indicatorsContainer.children - } - }) - - this.addEventListener('keyup', e => { - if (e.code === 'ArrowLeft') - this.scrollRight() - else if (e.code === 'ArrowRight') - this.scrollRight() - }) - - this.nextArrow.addEventListener('click', this.scrollRight) - this.previousArrow.addEventListener('click', this.scrollLeft) - this.indicatorsContainer.addEventListener('click', this.handleIndicatorClick) - } - - async attributeChangedCallback(name, oldValue, newValue) { - if (oldValue !== newValue) { - if (name === 'indicator') { - if (this.hasAttribute('indicator')) - this.showIndicator = true - else - this.showIndicator = false - } - if (name === 'autoplay') { - if (this.hasAttribute('autoplay')) { - this.initialTimeout = setTimeout(() => { - this.isAutoPlaying = true - this.autoPlay() - }, this.autoPlayInterval); - } - else { - this.isAutoPlaying = false - clearTimeout(this.autoPlayTimeout) - clearTimeout(this.initialTimeout) - } - - } - if (name === 'interval') { - if (this.hasAttribute('interval') && this.getAttribute('interval').trim() !== '') { - this.autoPlayInterval = Math.abs(parseInt(this.getAttribute('interval').trim())) - } - else { - this.autoPlayInterval = 5000 - } - } - } - } - - disconnectedCallback() { - this.nextArrow.removeEventListener('click', this.scrollRight) - this.previousArrow.removeEventListener('click', this.scrollLeft) - this.indicatorsContainer.removeEventListener('click', this.handleIndicatorClick) - } -}) - -//notifications - -const smNotifications = document.createElement('template') -smNotifications.innerHTML = ` - -
-` - -customElements.define('sm-notifications', class extends HTMLElement { - constructor() { - super() - this.shadow = this.attachShadow({ - mode: 'open' - }).append(smNotifications.content.cloneNode(true)) - } - - handleTouchStart = (e) => { - this.notification = e.target.closest('.notification') - this.touchStartX = e.changedTouches[0].clientX - this.notification.style.transition = 'initial' - this.touchStartTime = e.timeStamp - } - - handleTouchMove = (e) => { - e.preventDefault() - if (this.touchStartX < e.changedTouches[0].clientX) { - this.offset = e.changedTouches[0].clientX - this.touchStartX; - this.touchEndAnimataion = requestAnimationFrame(this.movePopup) - } else { - this.offset = -(this.touchStartX - e.changedTouches[0].clientX); - this.touchEndAnimataion = requestAnimationFrame(this.movePopup) - } - } - - handleTouchEnd = (e) => { - this.notification.style.transition = 'transform 0.3s, opacity 0.3s' - this.touchEndTime = e.timeStamp - cancelAnimationFrame(this.touchEndAnimataion) - this.touchEndX = e.changedTouches[0].clientX - if (this.touchEndTime - this.touchStartTime > 200) { - if (this.touchEndX - this.touchStartX > this.threshold) { - this.removeNotification(this.notification) - } else if (this.touchStartX - this.touchEndX > this.threshold) { - this.removeNotification(this.notification, true) - } else { - this.resetPosition() - } - } else { - if (this.touchEndX > this.touchStartX) { - this.removeNotification(this.notification) - } else { - this.removeNotification(this.notification, true) - } - } - } - - movePopup = () => { - this.notification.style.transform = `translateX(${this.offset}px)` - } - - resetPosition = () => { - this.notification.style.transform = `translateX(0)` - } - - push = (messageBody, type, pinned) => { - let notification = document.createElement('div'), - composition = `` - notification.classList.add('notification') - if (pinned) - notification.classList.add('pinned') - if (type === 'error') { - composition += ` - - - - - ` - } else if (type === 'success') { - composition += ` - - - ` - } - composition += ` -

${messageBody}

- - Close - - - ` - notification.innerHTML = composition - this.notificationPanel.prepend(notification) - if (window.innerWidth > 640) { - notification.animate([{ - transform: `translateX(1rem)`, - opacity: '0' - }, - { - transform: 'translateX(0)', - opacity: '1' - } - ], this.animationOptions).onfinish = () => { - notification.setAttribute('style', `transform: none;`); - } - } else { - notification.setAttribute('style', `transform: translateY(0); opacity: 1`) - } - notification.addEventListener('touchstart', this.handleTouchStart) - notification.addEventListener('touchmove', this.handleTouchMove) - notification.addEventListener('touchend', this.handleTouchEnd) - } - - removeNotification = (notification, toLeft) => { - if (!this.offset) - this.offset = 0; - - if (toLeft) - notification.animate([{ - transform: `translateX(${this.offset}px)`, - opacity: '1' - }, - { - transform: `translateX(-100%)`, - opacity: '0' - } - ], this.animationOptions).onfinish = () => { - notification.remove() - } - else { - notification.animate([{ - transform: `translateX(${this.offset}px)`, - opacity: '1' - }, - { - transform: `translateX(100%)`, - opacity: '0' - } - ], this.animationOptions).onfinish = () => { - notification.remove() - } - } - } - - clearAll = () => { - Array.from(this.notificationPanel.children).forEach(child => { - this.removeNotification(child) - }) - } - - connectedCallback() { - this.notificationPanel = this.shadowRoot.querySelector('.notification-panel') - this.animationOptions = { - duration: 300, - fill: "forwards", - easing: "ease" - } - this.fontSize = Number(window.getComputedStyle(document.body).getPropertyValue('font-size').match(/\d+/)[0]) - this.notification - this.offset - this.touchStartX = 0 - this.touchEndX = 0 - this.touchStartTime = 0 - this.touchEndTime = 0 - this.threshold = this.notificationPanel.getBoundingClientRect().width * 0.3 - this.touchEndAnimataion; - - this.notificationPanel.addEventListener('click', e => { - if (e.target.closest('.close'))( - this.removeNotification(e.target.closest('.notification')) - ) - }) - - const observer = new MutationObserver(mutationList => { - mutationList.forEach(mutation => { - if (mutation.type === 'childList') { - if (mutation.addedNodes.length) { - if (!mutation.addedNodes[0].classList.contains('pinned')) - setTimeout(() => { - this.removeNotification(mutation.addedNodes[0]) - }, 5000); - if (window.innerWidth > 640) - this.notificationPanel.style.padding = '1.5rem 0 3rem 1.5rem'; - else - this.notificationPanel.style.padding = '1rem 1rem 2rem 1rem'; - } else if (mutation.removedNodes.length && !this.notificationPanel.children.length) { - this.notificationPanel.style.padding = 0; - } - } - }) - }) - observer.observe(this.notificationPanel, { - attributes: true, - childList: true, - subtree: true - }) - } -}) - - - -// sm-menu -const smMenu = document.createElement('template') -smMenu.innerHTML = ` - -
- -
- -
-
`; -customElements.define('sm-menu', class extends HTMLElement { - constructor() { - super() - this.attachShadow({ - mode: 'open' - }).append(smMenu.content.cloneNode(true)) - } - static get observedAttributes() { - return ['value'] - } - get value() { - return this.getAttribute('value') - } - set value(val) { - this.setAttribute('value', val) - } - expand = () => { - if (!this.open) { - this.optionList.classList.remove('hide') - this.optionList.classList.add('no-transformations') - this.open = true - this.icon.classList.add('focused') - this.availableOptions.forEach(option => { - option.setAttribute('tabindex', '0') - }) - } - } - collapse() { - if (this.open) { - this.open = false - this.icon.classList.remove('focused') - this.optionList.classList.add('hide') - this.optionList.classList.remove('no-transformations') - this.availableOptions.forEach(option => { - option.removeAttribute('tabindex') - }) - } - } - connectedCallback() { - this.availableOptions - this.containerDimensions - this.optionList = this.shadowRoot.querySelector('.options') - let slot = this.shadowRoot.querySelector('.options slot'), - menu = this.shadowRoot.querySelector('.menu') - this.icon = this.shadowRoot.querySelector('.icon') - this.open = false; - menu.addEventListener('click', e => { - if (!this.open) { - this.expand() - } else { - this.collapse() - } - }) - menu.addEventListener('keydown', e => { - if (e.code === 'ArrowDown' || e.code === 'ArrowRight') { - e.preventDefault() - this.availableOptions[0].focus() - } - if (e.code === 'Enter' || e.code === 'Space') { - e.preventDefault() - if (!this.open) { - this.expand() - } else { - this.collapse() - } - } - }) - this.optionList.addEventListener('keydown', e => { - if (e.code === 'ArrowUp' || e.code === 'ArrowRight') { - e.preventDefault() - if (document.activeElement.previousElementSibling) { - document.activeElement.previousElementSibling.focus() - } - } - if (e.code === 'ArrowDown' || e.code === 'ArrowLeft') { - e.preventDefault() - if (document.activeElement.nextElementSibling) - document.activeElement.nextElementSibling.focus() - } - }) - this.optionList.addEventListener('click', e => { - this.collapse() - }) - slot.addEventListener('slotchange', e => { - this.availableOptions = slot.assignedElements() - this.containerDimensions = this.optionList.getBoundingClientRect() - }); - window.addEventListener('mousedown', e => { - if (!this.contains(e.target) && e.button !== 2) { - this.collapse() - } - }) - } -}) - -// option -const smMenuOption = document.createElement('template') -smMenuOption.innerHTML = ` - -
- -
`; -customElements.define('sm-menu-option', class extends HTMLElement { - constructor() { - super() - this.attachShadow({ - mode: 'open' - }).append(smMenuOption.content.cloneNode(true)) - } - - connectedCallback() { - this.addEventListener('keyup', e => { - if (e.code === 'Enter' || e.code === 'Space') { - e.preventDefault() - this.click() - } - }) - } -}) \ No newline at end of file +const smButton = document.createElement("template"); smButton.innerHTML = "\n\n
\n \n
", customElements.define("sm-button", class extends HTMLElement { constructor() { super(), this.attachShadow({ mode: "open" }).append(smButton.content.cloneNode(!0)) } static get observedAttributes() { return ["disabled"] } get disabled() { return this.hasAttribute("disabled") } set disabled(t) { t ? this.setAttribute("disabled", "") : this.removeAttribute("disabled") } focusIn() { this.focus() } handleKeyDown(t) { this.hasAttribute("disabled") || "Enter" !== t.key && " " !== t.key || (t.preventDefault(), this.click()) } connectedCallback() { this.hasAttribute("disabled") || this.setAttribute("tabindex", "0"), this.setAttribute("role", "button"), this.addEventListener("keydown", this.handleKeyDown) } attributeChangedCallback(t) { "disabled" === t && (this.hasAttribute("disabled") ? this.removeAttribute("tabindex") : this.setAttribute("tabindex", "0"), this.setAttribute("aria-disabled", this.hasAttribute("disabled"))) } }); +const smNotifications = document.createElement("template"); smNotifications.innerHTML = '\n \n
\n ', customElements.define("sm-notifications", class extends HTMLElement { constructor() { super(), this.shadow = this.attachShadow({ mode: "open" }).append(smNotifications.content.cloneNode(!0)), this.notificationPanel = this.shadowRoot.querySelector(".notification-panel"), this.animationOptions = { duration: 300, fill: "forwards", easing: "cubic-bezier(0.175, 0.885, 0.32, 1.275)" }, this.push = this.push.bind(this), this.createNotification = this.createNotification.bind(this), this.removeNotification = this.removeNotification.bind(this), this.clearAll = this.clearAll.bind(this), this.remove = this.remove.bind(this), this.handlePointerMove = this.handlePointerMove.bind(this), this.startX = 0, this.currentX = 0, this.endX = 0, this.swipeDistance = 0, this.swipeDirection = "", this.swipeThreshold = 0, this.startTime = 0, this.swipeTime = 0, this.swipeTimeThreshold = 200, this.currentTarget = null, this.mediaQuery = window.matchMedia("(min-width: 640px)"), this.handleOrientationChange = this.handleOrientationChange.bind(this), this.isLandscape = !1 } randString(n) { let t = ""; const i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; for (let e = 0; e < n; e++)t += i.charAt(Math.floor(Math.random() * i.length)); return t } createNotification(n, t = {}) { const { pinned: i = !1, icon: e = "", action: o } = t, r = document.createElement("div"); r.id = this.randString(8), r.classList.add("notification"); let a = ""; return a += `\n
${e}
\n ${n}\n `, o && (a += `\n \n `), i && (r.classList.add("pinned"), a += '\n \n '), r.innerHTML = a, r } push(n, t = {}) { const i = this.createNotification(n, t); return this.isLandscape ? this.notificationPanel.append(i) : this.notificationPanel.prepend(i), this.notificationPanel.animate([{ transform: `translateY(${this.isLandscape ? "" : "-"}${i.clientHeight}px)` }, { transform: "none" }], this.animationOptions), i.animate([{ transform: "translateY(-1rem)", opacity: "0" }, { transform: "none", opacity: "1" }], this.animationOptions).onfinish = (n => { n.target.commitStyles(), n.target.cancel() }), i.querySelector(".action") && i.querySelector(".action").addEventListener("click", t.action.callback), i.id } removeNotification(n, t = "left") { if (!n) return; const i = "left" === t ? "-" : "+"; n.animate([{ transform: this.currentX ? `translateX(${this.currentX}px)` : "none", opacity: "1" }, { transform: `translateX(calc(${i}${Math.abs(this.currentX)}px ${i} 1rem))`, opacity: "0" }], this.animationOptions).onfinish = (() => { n.remove() }) } remove(n) { const t = this.notificationPanel.querySelector(`#${n}`); t && this.removeNotification(t) } clearAll() { Array.from(this.notificationPanel.children).forEach(n => { this.removeNotification(n) }) } handlePointerMove(n) { this.currentX = n.clientX - this.startX, this.currentTarget.style.transform = `translateX(${this.currentX}px)` } handleOrientationChange(n) { this.isLandscape = n.matches, n.matches } connectedCallback() { this.handleOrientationChange(this.mediaQuery), this.mediaQuery.addEventListener("change", this.handleOrientationChange), this.notificationPanel.addEventListener("pointerdown", n => { n.target.closest(".close") ? this.removeNotification(n.target.closest(".notification")) : n.target.closest(".notification") && (this.swipeThreshold = n.target.closest(".notification").getBoundingClientRect().width / 2, this.currentTarget = n.target.closest(".notification"), this.currentTarget.setPointerCapture(n.pointerId), this.startTime = Date.now(), this.startX = n.clientX, this.startY = n.clientY, this.notificationPanel.addEventListener("pointermove", this.handlePointerMove)) }), this.notificationPanel.addEventListener("pointerup", n => { this.endX = n.clientX, this.endY = n.clientY, this.swipeDistance = Math.abs(this.endX - this.startX), this.swipeTime = Date.now() - this.startTime, this.endX > this.startX ? this.swipeDirection = "right" : this.swipeDirection = "left", this.swipeTime < this.swipeTimeThreshold ? this.swipeDistance > 50 && this.removeNotification(this.currentTarget, this.swipeDirection) : this.swipeDistance > this.swipeThreshold ? this.removeNotification(this.currentTarget, this.swipeDirection) : this.currentTarget.animate([{ transform: `translateX(${this.currentX}px)` }, { transform: "none" }], this.animationOptions).onfinish = (n => { n.target.commitStyles(), n.target.cancel() }), this.notificationPanel.removeEventListener("pointermove", this.handlePointerMove), this.notificationPanel.releasePointerCapture(n.pointerId), this.currentX = 0 }); const n = new MutationObserver(n => { n.forEach(n => { "childList" === n.type && n.addedNodes.length && !n.addedNodes[0].classList.contains("pinned") && setTimeout(() => { this.removeNotification(n.addedNodes[0]) }, 5e3) }) }); n.observe(this.notificationPanel, { childList: !0 }) } disconnectedCallback() { mediaQueryList.removeEventListener("change", handleOrientationChange) } }); +const themeToggle = document.createElement("template"); themeToggle.innerHTML = '\n \n \n'; class ThemeToggle extends HTMLElement { constructor() { super(), this.attachShadow({ mode: "open" }).append(themeToggle.content.cloneNode(!0)), this.isChecked = !1, this.hasTheme = "light", this.toggleState = this.toggleState.bind(this), this.fireEvent = this.fireEvent.bind(this), this.handleThemeChange = this.handleThemeChange.bind(this) } static get observedAttributes() { return ["checked"] } daylight() { this.hasTheme = "light", document.body.dataset.theme = "light", this.setAttribute("aria-checked", "false") } nightlight() { this.hasTheme = "dark", document.body.dataset.theme = "dark", this.setAttribute("aria-checked", "true") } toggleState() { this.toggleAttribute("checked"), this.fireEvent() } handleKeyDown(e) { " " === e.key && this.toggleState() } handleThemeChange(e) { e.detail.theme !== this.hasTheme && ("dark" === e.detail.theme ? this.setAttribute("checked", "") : this.removeAttribute("checked")) } fireEvent() { this.dispatchEvent(new CustomEvent("themechange", { bubbles: !0, composed: !0, detail: { theme: this.hasTheme } })) } connectedCallback() { this.setAttribute("role", "switch"), this.setAttribute("aria-label", "theme toggle"), "dark" === localStorage.getItem(`${window.location.hostname}-theme`) ? (this.nightlight(), this.setAttribute("checked", "")) : "light" === localStorage.getItem(`${window.location.hostname}-theme`) ? (this.daylight(), this.removeAttribute("checked")) : window.matchMedia("(prefers-color-scheme: dark)").matches ? (this.nightlight(), this.setAttribute("checked", "")) : (this.daylight(), this.removeAttribute("checked")), this.addEventListener("click", this.toggleState), this.addEventListener("keydown", this.handleKeyDown), document.addEventListener("themechange", this.handleThemeChange) } disconnectedCallback() { this.removeEventListener("click", this.toggleState), this.removeEventListener("keydown", this.handleKeyDown), document.removeEventListener("themechange", this.handleThemeChange) } attributeChangedCallback(e, t, n) { "checked" === e && (this.hasAttribute("checked") ? (this.nightlight(), localStorage.setItem(`${window.location.hostname}-theme`, "dark")) : (this.daylight(), localStorage.setItem(`${window.location.hostname}-theme`, "light"))) } } window.customElements.define("theme-toggle", ThemeToggle); \ No newline at end of file diff --git a/assets/js/index.js b/assets/js/index.js index 64a031d..92e3b7a 100644 --- a/assets/js/index.js +++ b/assets/js/index.js @@ -1,5 +1,18 @@ -const domRefs = {}; +"use strict"; +// Global variables +const { html, render: renderElem } = uhtml; +//Checks for internet connection status +if (!navigator.onLine) + floGlobals.connectionErrorNotification = notify('There seems to be a problem connecting to the internet, Please check you internet connection.', 'error') +window.addEventListener('offline', () => { + floGlobals.connectionErrorNotification = notify('There seems to be a problem connecting to the internet, Please check you internet connection.', 'error') +}) +window.addEventListener('online', () => { + getRef('notification_drawer').remove(floGlobals.connectionErrorNotification) + notify('We are back online.', 'success') +}) +const domRefs = {}; function getRef(elementId) { if (!domRefs.hasOwnProperty(elementId)) { domRefs[elementId] = { @@ -20,70 +33,13 @@ function getRef(elementId) { } function create(tagName, obj) { - const {className, text} = obj + const { className, text } = obj const elem = document.createElement(tagName) elem.className = className elem.textContent = text return elem } -//Checks for internet connection status -if (!navigator.onLine) - notify( - "There seems to be a problem connecting to the internet, Please check you internet connection.", - "error", - "", - true - ); -window.addEventListener("offline", () => { - notify( - "There seems to be a problem connecting to the internet, Please check you internet connection.", - "error", - true, - true - ); -}); -window.addEventListener("online", () => { - getRef("notification_drawer").clearAll(); - notify("We are back online.", "success"); -}); - -if (getRef("theme_switcher")) { - if (localStorage.theme === "dark") { - nightlight(); - getRef("theme_switcher").checked = true; - } else if (localStorage.theme === "light"){ - daylight(); - getRef("theme_switcher").checked = false; - } - else { - if (window.matchMedia(`(prefers-color-scheme: dark)`).matches) { - nightlight(); - getRef("theme_switcher").checked = true; - } else { - daylight(); - getRef("theme_switcher").checked = false; - } - } - - function daylight() { - document.body.setAttribute("data-theme", "light"); - } - - function nightlight() { - document.body.setAttribute("data-theme", "dark"); - } - getRef("theme_switcher").addEventListener("change", function (e) { - if (this.checked) { - nightlight(); - localStorage.setItem("theme", "dark"); - } else { - daylight(); - localStorage.setItem("theme", "light"); - } - }); -} - function setAttributes(el, attrs) { for (key in attrs) { el.setAttribute(key, attrs[key]); @@ -121,14 +77,21 @@ function randomColor() { } //Function for displaying toast notifications. pass in error for mode param if you want to show an error. -function notify(message, mode, pinned, sound) { - if (mode === "error") console.error(message); - else console.log(message); - getRef("notification_drawer").push(message, mode, pinned); - if (navigator.onLine && sound) { - getRef("notification_sound").currentTime = 0; - getRef("notification_sound").play(); +function notify(message, mode, options = {}) { + let icon + switch (mode) { + case 'success': + icon = `` + break; + case 'error': + icon = `` + options.pinned = true + break; } + if (mode === 'error') { + console.error(message) + } + return getRef("notification_drawer").push(message, { icon, ...options }); } const currentYear = new Date().getFullYear(); @@ -249,27 +212,40 @@ const siteMap = [ outlets: [ { name: "Bitcoin Bonds", - url: "bitcoinbonds.html", + outletLinks: [ + { + label: "Explore", + url: "bitcoinbonds.html", + } + ], brief: `Bondholders get a minimum guarantee of 13% interest per annum during the lock-in period or 50% of all Bitcoin price gains whichever is higher. It offers full capital protection if Bitcoin prices fall below acquisition price.`, - // isSold: true, - buyUrl: `purchase_room`, status: `We are servicing current customers only. A new Blockchain-based version of Bitcoin Bonds will be available soon.` }, { name: `Bob's Fund`, - url: `bob'sfund.html`, + outletLinks: [ + { + label: "Explore", + url: "bob'sfund.html", + } + ], brief: `Bobs Fund is a 20 year long term Bitcoin price linked product. Investors are entitled to 100% of Bitcoin price gains, but they must hold for 20 years.`, - // isSold: true, - buyUrl: `purchase_room`, status: `We are servicing current customers only. A new Blockchain-based version of Bob's Fund will be available soon.` }, { name: "Initial Coin Offering", - url: "ico.html", + outletLinks: [ + { + label: "Explore", + url: "ico.html", + }, + { + label: "Buy", + url: "ico.html#purchase_room", + }, + ], brief: `The Initial Coin Offering (ICO) of RanchiMall was launched in 2017. It was envisioned to sell 21 million tokens over 14 phases over 3 years.`, - isSold: true, - buyUrl: `purchase_room` }, ], }, @@ -357,191 +333,190 @@ const siteMap = [ } ], }, */ + { + floor: 'Internship', + brief: ``, + outlets: [ + { + name: "RanchiMall Internship Blockchain contract", + brief: `This outlet has the list of all active projects being executed through our internship program. Interns can apply or they can join active projects here.`, + outletLinks: [ + { + label: "Explore", + url: "https://ranchimall.github.io/RIBC/", + outbound: true, + } + ], + }, + { + name: `Certificates`, + brief: `This outlet has access to blockchain verification to all of RanchiMall issued Internship & Employment certificates`, + outletLinks: [ + { + label: "See Intern Payments", + url: "https://ranchimall.github.io/ribcpayments/", + outbound: true, + }, + { + label: "Verify Certificate", + url: "verify.html", + }, + { + label: "Check issued certificates", + url: "https://www.ranchimall.net/certify/", + outbound: true, + } + ], + } + ], + }, ]; -// templates - -const bitBondRowTemplate = document.createElement('template') -bitBondRowTemplate.innerHTML = ` -
-
-
Series
-

-
-
-
-
Invested
-

$100

-
-
-
Current value
-

-
- - - -
-
-
- -
-` - -const bobsFundRowTemplate = document.createElement('template') -bobsFundRowTemplate.innerHTML = ` -
-
-
FLO ID
-

-
-
-
-
Invested
-

-
-
-

Current value

-

-
- - - -
-
-
-
-` - - -const floorListitemTemplate = document.createElement('template') -floorListitemTemplate.innerHTML = ` -
  • - -
      -
    • -` - -const outletListitemTemplate = document.createElement('template') -outletListitemTemplate.innerHTML = ` -
    • - -
      -

      -

      -
      - -
      -
    • -` - +function formatAmount(amount, currency = 'USD') { + return amount.toLocaleString(currency === 'USD'? 'en-US': 'en-IN', { style: 'currency', currency: currency }); +} const render = { - bitBondRow(obj) { - const { series, currentValue, timeElapsed, percentGain } = obj; - const row = bitBondRowTemplate.content.cloneNode(true); - row.querySelector(".original-value").textContent = series.toLocaleString(`en-US`, { style: 'currency', currency: 'USD' }); - row.querySelector(".current-value").textContent = currentValue.toLocaleString(`en-US`, { style: 'currency', currency: 'USD' }); - row.querySelector(".time-elapsed").textContent = `In last ${timeElapsed} years`; - row.querySelector(".percent-gain").textContent = `${percentGain}%`; - return row; - }, - bobFundRow(obj) { - const { investorName, invested, floId, currentValue, timeElapsed, gain } = obj; - const row = bobsFundRowTemplate.content.cloneNode(true); - row.querySelector(".person__name").textContent = floId; - row.querySelector(".original-value").textContent = `${invested.toLocaleString(`en-IN`, { style: 'currency', currency: 'INR' })}`; - row.querySelector(".current-value").textContent = `${currentValue.toLocaleString(`en-IN`, { style: 'currency', currency: 'INR' })}`; - row.querySelector(".percent-gain").textContent = `${gain}%`; - row.querySelector(".time-elapsed").textContent = `In last ${timeElapsed} years`; - return row; - }, - icoInvestorRow(obj, options) { - const { extension, investorName, bio, contribution } = obj; - const { thumbnail } = options; - const row = getRef("ico_investor_row").content.cloneNode(true); - const card = row.querySelector(".person-card"); - const folder = thumbnail ? "investors-thumbnail" : "investors"; - const investorImage = row.querySelector(".person__image"); - if (thumbnail) card.classList.add("person-card--small"); - else card.classList.add("person-card--big"); - investorImage.src = `assets/${folder}/${investorName}.${extension}`; - investorImage.setAttribute("alt", `${investorName} profile picture`); - row.querySelector(".person__name").textContent = investorName; - row.querySelector(".investor__bio").textContent = bio; - row.querySelector(".investor__contribution").textContent = contribution; - return row; - }, - internCard(obj) { - const { extension, internName, level, floId, project } = obj; - const card = getRef("intern_card_template").content.cloneNode(true).firstElementChild; - const investorImage = card.querySelector(".person__image"); - investorImage.src = `assets/interns/${internName}.${extension}`; - investorImage.setAttribute("alt", `${internName} profile picture`); - card.querySelector(".intern__level").classList.add(level.toLowerCase()) - card.querySelector(".intern__level").textContent = level; - card.querySelector(".person__name").textContent = internName; - card.querySelector(".intern-flo-id").textContent = floId; - card.querySelector(".intern__project").textContent = project; - return card; + bitBondRow(obj) { + const { series, currentValue, timeElapsed, percentGain } = obj; + return html` +
      +
      +
      Series
      +

      ${formatAmount(series)}

      +
      +
      +
      +
      Invested
      +

      $100

      +
      +
      +
      Current value
      +

      ${formatAmount(currentValue)}

      +
      + + ${ `${percentGain}%`} + ${`In last ${timeElapsed} years`} +
      +
      +
      +
      + `; + }, + bobFundRow(obj) { + const { invested, floId, currentValue, timeElapsed, gain } = obj; + return html` +
      +
      +
      FLO ID
      +

      ${floId}

      +
      +
      +
      +
      Invested
      +

      ${formatAmount(invested, 'INR')}

      +
      +
      +

      Current value

      +

      ${formatAmount(currentValue)}

      +
      + + ${`${gain}%`} + ${`In last ${timeElapsed} years`} +
      +
      +
      +
      + `; + }, + icoInvestorRow(obj, options) { + const { extension, investorName, bio, contribution } = obj; + const { thumbnail } = options; + const folder = thumbnail ? "investors-thumbnail" : "investors"; + return html` +
      + ${`${investorName} +
      +

      ${investorName}

      +

      ${bio}

      +
      +
      +

      ${contribution}

      +
      +
      + `; }, +// internCard(obj) { +// const { extension, internName, level, floId, project } = obj; +// const card = getRef("intern_card_template").content.cloneNode(true).firstElementChild; +// const investorImage = card.querySelector(".person__image"); +// investorImage.src = `assets/interns/${internName}.${extension}`; +// investorImage.setAttribute("alt", `${internName} profile picture`); +// card.querySelector(".intern__level").classList.add(level.toLowerCase()) +// card.querySelector(".intern__level").textContent = level; +// card.querySelector(".person__name").textContent = internName; +// card.querySelector(".intern-flo-id").textContent = floId; +// card.querySelector(".intern__project").textContent = project; +// return card; +// }, floorLabel(floorNumber, offsetTop) { - const floorLabel = getRef("floor_indicator_template").content.cloneNode( - true - ).firstElementChild; - floorLabel.setAttribute("style", `top: ${offsetTop}px`); - floorLabel.dataset.target = `floor_${floorNumber}`; - return floorLabel; + return html` +
      + +
      + `; }, outletListItem(outletObj) { - const { name, brief, url } = outletObj - const li = outletListitemTemplate.content.cloneNode(true).firstElementChild - li.querySelector('a').href = `${url}` - li.querySelector('.outlet-title').textContent = name - // li.querySelector('.outlet-brief').textContent = brief ? brief : '' - return li + const { name, brief, outletLinks } = outletObj + return html` +
    • + +
      +

      ${name}

      + ${brief ? html`

      ${brief}

      ` : ''} +
      + +
      +
    • + `; }, - floorListitem(floorObj, index) { + floorListItem(floorObj, index) { const { floor, outlets } = floorObj - const li = floorListitemTemplate.content.cloneNode(true).firstElementChild - li.firstElementChild.dataset.target = `floor_${index + 1}`; - li.querySelector('.h3').textContent = floor - li.querySelector('.floor-num').textContent = `floor ${index + 1}` - - const h3 = document.createElement('h3') - h3.classList.add('h3', 'weight-900', 'floor-list__outlet') - h3.textContent = 'Outlets' - - const frag = document.createDocumentFragment() - outlets.forEach(outlet => frag.append(render.outletListItem(outlet))) - - li.querySelector('.outlet-list').append(h3, frag) + const li = html` +
    • + +
        +

        Outlets

        + ${outlets.map(outlet => render.outletListItem(outlet))} +
      +
    • + `; return li }, outletSwitcherButton(outletObj, activeOutlet) { - const { name, url } = outletObj + const { name, outletLinks } = outletObj const button = document.createElement('a') button.classList.add('outlet_switcher__button') - if (activeOutlet === url) { + if (activeOutlet === outletLinks[0].url) { button.classList.add('outlet_switcher__button--active') } - button.href = url + button.href = outletLinks[0].url button.textContent = name return button; }, - statusBanner(bannerMsg) { - const banner = document.createElement('section') - banner.classList.add('banner') - banner.innerHTML = ` - - + statusBanner(bannerMsg) { + return html.node` + ` - return banner } }; @@ -739,44 +714,23 @@ function hideOutletSwitcher() { let currentPage function renderSiteMap() { - const frag = document.createDocumentFragment() - siteMap.forEach((floor, index) => frag.append(render.floorListitem(floor, index))) - getRef('floor_list').append(frag) + getRef('floor_list').append(html.node`${siteMap.map((floor, index) =>render.floorListItem(floor, index))}`) const pathArray = location.pathname.split('/') - for (floor of siteMap) { - for (outlet of floor.outlets) { - currentPage = pathArray[pathArray.length - 1] - if (pathArray[pathArray.length - 1].includes(outlet.url)) { - renderFloorOutlets(floor, outlet.url) - break; - } - } - } + siteMap.forEach((floor) => { + const matchedOutlet = floor.outlets.find(outlet => pathArray[pathArray.length - 1].includes(outlet.outletLinks[0].url)) + if (matchedOutlet) + renderFloorOutlets(floor, matchedOutlet.outletLinks[0].url) + }) } renderSiteMap() function renderFloorOutlets(floorObj, activeOutlet) { const { floor, outlets } = floorObj - console.log(floor) const frag = document.createDocumentFragment() outlets.forEach(outlet => frag.append(render.outletSwitcherButton(outlet, activeOutlet))) getRef('outlet_switcher__outlet_container').append(frag) getRef('outlet_switcher__floor_num').textContent = floor - let floorNum = -1 - let outletNum = -1 - for (let i = 0; i < siteMap.length; i++) { - if (siteMap[i].floor === floor) { - floorNum = i - break - } - } - for (let i = 0; i < outlets.length; i++) { - if (outlets[i].url === activeOutlet) { - outletNum = i - break - } - } - // document.querySelector('.outlet-label__name').textContent = floorNum > -1 ? `Floor ${floorNum + 1} outlet ${outletNum + 1}` : '' + const outletNum = outlets.findIndex(o => o.outletLinks[0].url === activeOutlet) document.querySelector('.outlet-label__no').textContent = outletNum + 1 document.querySelector('.outlet-label__no').dataset.number = outletNum + 1 if (outlets[outletNum].hasOwnProperty('status')) { @@ -900,10 +854,10 @@ function showRoom(roomId, animate = false) { roomContainer.classList.remove('hide-completely') if (animate && !isRoomOpen) { roomContainer.animate(slideInDown, animeInOptions) - .onfinish = () => { - getRef('expanding_tile').classList.add('hide-completely') - isRoomOpen = true - } + .onfinish = () => { + getRef('expanding_tile').classList.add('hide-completely') + isRoomOpen = true + } } else { isRoomOpen = true @@ -947,7 +901,7 @@ function renderRoomShorcuts() { if (room.href.split('#').pop() !== window.location.hash.split('#').pop()) { const clone = room.cloneNode(true) clone.classList.remove('room-tile', 'room-tile--main') - if(clone.querySelector('img, svg, #performance_preview')) + if (clone.querySelector('img, svg, #performance_preview')) clone.querySelectorAll('img, svg, #performance_preview').forEach(elem => elem.remove()) clone.classList.add('room-shortcut') frag.append(clone) @@ -964,19 +918,19 @@ const heroTitleObserver = new IntersectionObserver(entries => { entries.forEach(entry => { if (entry.isIntersecting) { getRef('room_title').animate(slideOutDown, animeInOptions) - .onfinish = () => { - getRef('room_title').classList.add('hide-completely') - } + .onfinish = () => { + getRef('room_title').classList.add('hide-completely') + } } else { - if (isRoomOpen) - getRef('room_title').classList.remove('hide-completely') + if (isRoomOpen) + getRef('room_title').classList.remove('hide-completely') getRef('room_title').animate(slideInUp, animeInOptions) } }) }, { - threshold: 1 + threshold: 1 } ) @@ -984,6 +938,6 @@ if (getRef('hero_title')) { heroTitleObserver.observe(getRef('hero_title')) } -function getRandom(min, max){ +function getRandom(min, max) { return Math.floor(Math.random() * (max - min + 1) + min); } \ No newline at end of file diff --git a/bitcoinbonds.html b/bitcoinbonds.html index e29c97e..2b3a6cd 100644 --- a/bitcoinbonds.html +++ b/bitcoinbonds.html @@ -30,20 +30,22 @@
      - +
      @@ -55,12 +57,13 @@

      Bitcoin Bonds

      How does it work?

      - Bondholders get a minimum guarantee of 13% interest per annum during the lock-in period or 50% of all Bitcoin price gains whichever is higher. + Bondholders get a minimum guarantee of 13% interest per annum during the lock-in period or 50% of + all Bitcoin price gains whichever is higher. It offers full capital protection if Bitcoin prices fall below acquisition price.

      - +
      @@ -93,7 +80,10 @@
      @@ -101,7 +91,21 @@
      - + + + + + + + +

      Investors

      @@ -109,7 +113,11 @@
      - + + +

      Product

      @@ -118,7 +126,15 @@
      - + + + + +

      Buy

      @@ -128,7 +144,10 @@
      @@ -139,8 +158,10 @@

      - Please refer to the whitepaper here for detailed terms. - RanchiMall Initial Coin Offering (ICO) abides by the terms we offered in our ICO whitepaper available + Please refer to the whitepaper here for detailed terms. + RanchiMall Initial Coin Offering (ICO) abides by the terms we offered in our ICO whitepaper + available at link above. We have made certain changes in our terms as our learning has improved. All these changes are to support the interests of our long term investors.

      @@ -148,7 +169,8 @@
      1. - RanchiMall Tokens (RMT) now own the financial gains emerging from all our blockchain contracts + RanchiMall Tokens (RMT) now own the financial gains emerging from all our blockchain + contracts

      2. @@ -164,14 +186,16 @@
      3. Number of RMTs tokens in circulation has been paused to - 10000 instead of a release schedule of 21 million in 3 years. The un-issued tokens will stay vested + 10000 instead of a release schedule of 21 million in 3 years. The un-issued tokens will + stay vested with the Founder of RanchiMall.

      4. The price discovery during active phase has been USD 1500 per - token giving RMTs in circulation a valuation of 150 million USD. Unless this price is realised in open + token giving RMTs in circulation a valuation of 150 million USD. Unless this price is + realised in open makets on sustainable basis, new tokens will not be put in circulation.

      5. @@ -180,8 +204,10 @@

        Currently we are not selling any RanchiMall Tokens (RMT).
        You can buy tokens at - our last valuation in our exchange to become a - token holder and be part of our community’s learning process. Our products are aimed at long term investors. + our last valuation in our + exchange to become a + token holder and be part of our community’s learning process. Our products are aimed at long + term investors.
        Once you become a token holder, please be patient and be prepared to stay the whole course of journey. You will not regret it.

        @@ -193,8 +219,9 @@
        - + + + \ No newline at end of file diff --git a/incorporationblockchaincontract.html b/incorporationblockchaincontract.html index e841e39..10f52fb 100644 --- a/incorporationblockchaincontract.html +++ b/incorporationblockchaincontract.html @@ -28,22 +28,24 @@
        -
        +
        - +
        @@ -67,9 +69,16 @@

        Incorporation Blockchain Contract

        @@ -82,13 +91,23 @@

        Rooms

        @@ -126,8 +148,10 @@
        - - - + + + + + \ No newline at end of file diff --git a/index.html b/index.html index 1c64a64..292543c 100644 --- a/index.html +++ b/index.html @@ -1,5 +1,6 @@ + @@ -11,40 +12,20 @@ + - - - - - - - - - -
          @@ -54,36 +35,37 @@
          - +
          -
          - - + + - + \ No newline at end of file diff --git a/internshipblockchaincontract.html b/internshipblockchaincontract.html index c16df7d..d832b54 100644 --- a/internshipblockchaincontract.html +++ b/internshipblockchaincontract.html @@ -30,44 +30,62 @@

          Level

          -

          Details

          +

          Details

          Starter

          - Starter Level is the qualification level. This is learning stage and will lead to award of certificates to those who clear this level. In general we do not want to pay at this at level because money changes motivations. And we want to identify most passionate interns at their level, who would love their work even if no monetary consideration is involved + Starter Level is the qualification level. This is learning stage and will lead to award of + certificates to those who clear this level. In general we do not want to pay at this at level + because money changes motivations. And we want to identify most passionate interns at their level, + who would love their work even if no monetary consideration is involved

          Motivated

          - Motivated is one time rewards stage. The complexity of projects will increase in this stage. If projects are successfully completed, then one time rewards will be given. All this will be known before hand. Project details, acceptance criteria, and amounts will be notified in advance to interns. + Motivated is one time rewards stage. The complexity of projects will increase in this stage. If + projects are successfully completed, then one time rewards will be given. All this will be known + before hand. Project details, acceptance criteria, and amounts will be notified in advance to + interns.

          Passionate

          - Passionate is the first regular fixed stipend stage. The projects complexity will increase still further. This will be full scale commercial grade project. if 3 such projects are completed then one of the criteria to move into self driven stage will be met. Now we are looking for interns who in addition to being passionate are self driven, and can independently take on and complete full projects without day to day supervision. + Passionate is the first regular fixed stipend stage. The projects complexity will increase still + further. This will be full scale commercial grade project. if 3 such projects are completed then one + of the criteria to move into self driven stage will be met. Now we are looking for interns who in + addition to being passionate are self driven, and can independently take on and complete full + projects without day to day supervision.

          Self Driven

          - Self Driven interns is the stage where are we are considering interns for permanent employment with Ranchi Mall. The internship stipends will be higher. Some of self driven interns will be guide interns in other levels. The key criteria is ability of complete jobs with high quality, and them taking self initiative. + Self Driven interns is the stage where are we are considering interns for permanent employment with + Ranchi Mall. The internship stipends will be higher. Some of self driven interns will be guide + interns in other levels. The key criteria is ability of complete jobs with high quality, and them + taking self initiative.

          - +
            -
            +
            - +
            @@ -120,26 +140,57 @@

            Internship Blockchain Contract

            - Internship Blockchain Contract tokenizes all our internship initiatives. This is ownedby Incorporation Blockchain Contract. + Internship Blockchain Contract tokenizes all our internship initiatives. This is ownedby Incorporation + Blockchain Contract.

            Rooms

            - - - + + + + + \ No newline at end of file diff --git a/new-layout.html b/new-layout.html index 9178ac0..685597d 100644 --- a/new-layout.html +++ b/new-layout.html @@ -28,41 +28,49 @@
              -
              +
              - +
              - -

              Performance

              - + + +

              Product

              - + + + + +

              Buy

              @@ -142,7 +198,10 @@
              @@ -154,16 +213,20 @@

              - Bobs Fund allows customers to take a direct share in Bitcoin and they are automatically guided into a + Bobs Fund allows customers to take a direct share in Bitcoin and they are automatically guided + into a long term investment plan. Bitcoin is a long term investors paradise with supply artificially - constrained, and demand only growing. There are no price guarantees in this product. But the long - duration of the investment ensures that customers will get an outsized rate of return. RanchiMall as + constrained, and demand only growing. There are no price guarantees in this product. But the + long + duration of the investment ensures that customers will get an outsized rate of return. + RanchiMall as Fund Manager does not charge management fees.

              Risk Management

              There is no price risk for RanchiMall in Bobs Fund. But since this is a long term - product, information security risks are high to maintain Bitcoins safely. Bitcoin keys must be split + product, information security risks are high to maintain Bitcoins safely. Bitcoin keys must be + split using Shamir Secret Key Share algorithm, and should be recombined at the time of redemption. The number of shares should have enough redundancy so that if some holders are not around, the keys must still be recovered. @@ -171,12 +234,15 @@

              Founder Notes

              Bobs Fund was first issued in my MBA classmates WhatsApp group, and restricted only to my - classmates in June 2017. The product had a long term duration of 20 years, and it needed lot of trust + classmates in June 2017. The product had a long term duration of 20 years, and it needed lot of + trust which my classamtes had in me. We kept this product concept under observation and testing for 4 - years, before exploring options to make it public. Another objective was to try out an idea where + years, before exploring options to make it public. Another objective was to try out an idea + where fund management expenses are nil, as fund management fees eats up a lot of customer returns over long term. Instead we made an equal investment as every contributing member did, and we hope to - earn over the long life time of this product. Over time we realized, we could also use the Bitcoin as + earn over the long life time of this product. Over time we realized, we could also use the + Bitcoin as collateral for DeFi products, and that gives us an additional earning stream.

              @@ -190,7 +256,7 @@
              - +

              See Bob's Fund in action

              Visit the website to see investors and asset performance

              @@ -200,8 +266,9 @@
              - + + + \ No newline at end of file diff --git a/webwallet.html b/webwallet.html index 464f4a8..5962caf 100644 --- a/webwallet.html +++ b/webwallet.html @@ -26,22 +26,25 @@
                -
                +
                - +
                @@ -83,8 +86,8 @@

                Rooms

                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 diff --git a/assets/investors/Puneet Sondh.jpg b/assets/investors/Puneet Sondh.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5ef7a2cce43d977e69946e5e5f984f5150caa4bf GIT binary patch literal 31782 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 -*{ - padding: 0; - margin: 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; -} -:host{ - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - --padding: 0.6rem 1.2rem; - --border-radius: 0.3rem; - --background: rgba(var(--text-color), 0.1); -} -:host([disabled]) .button{ - cursor: not-allowed; - opacity: 0.6; - background: rgba(var(--text-color), 0.3) !important; - color: rgba(var(--foreground-color), 0.6); -} -:host([disabled][variant="primary"]) .button{ - color: rgba(var(--text-color), 1); -} -:host([variant='primary']) .button{ - background: var(--accent-color); - color: rgba(var(--foreground-color), 1); -} -:host([variant='outlined']) .button{ - -webkit-box-shadow: 0 0 0 1px rgba(var(--text-color), 0.2) inset; - box-shadow: 0 0 0 1px rgba(var(--text-color), 0.2) inset; - background: transparent; - color: var(--accent-color); -} -:host([variant='no-outline']) .button{ - background: rgba(var(--foreground-color), 1); - color: var(--accent-color); -} -:host(.small) .button{ - padding: 0.4rem 0.8rem; -} -:host(.round) .button{ - border-radius: 10rem; -} -.button { - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - width: 100%; - padding: var(--padding); - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - border-radius: var(--border-radius); - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-transition: -webkit-box-shadow 0.3s; - transition: -webkit-box-shadow 0.3s; - -o-transition: box-shadow 0.3s; - transition: box-shadow 0.3s; - transition: box-shadow 0.3s, -webkit-box-shadow 0.3s; - font-family: inherit; - font-size: 0.9rem; - font-weight: 500; - background: var(--background); - -webkit-tap-highlight-color: transparent; - outline: none; - overflow: hidden; - border: none; - color: inherit; -} -:host(:not([disabled])) .button:focus-visible{ - -webkit-box-shadow: 0 0 0 0.1rem var(--accent-color); - box-shadow: 0 0 0 0.1rem var(--accent-color); -} -:host([variant='outlined']) .button:focus-visible{ - -webkit-box-shadow: 0 0 0 1px rgba(var(--text-color), 0.2) inset, 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1), 0 0 0 0.1rem var(--accent-color); - box-shadow: 0 0 0 1px rgba(var(--text-color), 0.2) inset, 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1), 0 0 0 0.1rem var(--accent-color); -} -@media (hover: hover){ - :host(:not([disabled])) .button:hover{ - -webkit-box-shadow: 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1), 0 0.2rem 0.8rem rgba(0, 0, 0, 0.12); - box-shadow: 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1), 0 0.2rem 0.8rem rgba(0, 0, 0, 0.12); - } - :host([variant='outlined']) .button:hover{ - -webkit-box-shadow: 0 0 0 1px rgba(var(--text-color), 0.2) inset, 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1), 0 0.4rem 0.8rem rgba(0, 0, 0, 0.12); - box-shadow: 0 0 0 1px rgba(var(--text-color), 0.2) inset, 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1), 0 0.4rem 0.8rem rgba(0, 0, 0, 0.12); - } -} -@media (hover: none){ - :host(:not([disabled])) .button:active{ - -webkit-box-shadow: 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1), 0 0.2rem 0.8rem rgba(0, 0, 0, 0.2); - box-shadow: 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1), 0 0.2rem 0.8rem rgba(0, 0, 0, 0.2); - } - :host([variant='outlined']) .button:active{ - -webkit-box-shadow: 0 0 0 1px rgba(var(--text-color), 0.2) inset, 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1), 0 0.4rem 0.8rem rgba(0, 0, 0, 0.2); - box-shadow: 0 0 0 1px rgba(var(--text-color), 0.2) inset, 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1), 0 0.4rem 0.8rem rgba(0, 0, 0, 0.2); - } -} - -`; -customElements.define('sm-button', - class extends HTMLElement { - constructor() { - super() - this.attachShadow({ - mode: 'open' - }).append(smButton.content.cloneNode(true)) - } - - get disabled() { - return this.isDisabled - } - - set disabled(value) { - if (value && !this.isDisabled) { - this.isDisabled = true - this.setAttribute('disabled', '') - this.button.removeAttribute('tabindex') - } else if (!value && this.isDisabled) { - this.isDisabled = false - this.removeAttribute('disabled') - } - } - - dispatch() { - if (this.isDisabled) { - this.dispatchEvent(new CustomEvent('disabled', { - bubbles: true, - composed: true - })) - } else { - this.dispatchEvent(new CustomEvent('clicked', { - bubbles: true, - composed: true - })) - } - } - - connectedCallback() { - this.isDisabled = false - this.button = this.shadowRoot.querySelector('.button') - if (this.hasAttribute('disabled') && !this.isDisabled) - this.isDisabled = true - this.addEventListener('click', (e) => { - this.dispatch() - }) - } - }) - -//Input -const smInput = document.createElement('template') -smInput.innerHTML = ` - -