diff --git a/palette b/palette new file mode 100644 index 0000000..78e99d2 Binary files /dev/null and b/palette differ diff --git a/public/css/buttons.css b/public/css/buttons.css new file mode 100644 index 0000000..9206a96 --- /dev/null +++ b/public/css/buttons.css @@ -0,0 +1,236 @@ +/* from https://codepen.io/ben_jammin/pen/syaCq */ + +.button::-moz-focus-inner{ + border: 0; + padding: 0; +} + +.button{ + display: inline-block; + *display: inline; + zoom: 1; + padding: 6px 20px; + margin: 0; + cursor: pointer; + border: 1px solid #bbb; + overflow: visible; + font: bold 13px arial, helvetica, sans-serif; + text-decoration: none; + white-space: nowrap; + color: #555; + + background-color: #ddd; + background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,1)), to(rgba(255,255,255,0))); + background-image: -webkit-linear-gradient(top, rgba(255,255,255,1), rgba(255,255,255,0)); + background-image: -moz-linear-gradient(top, rgba(255,255,255,1), rgba(255,255,255,0)); + background-image: -ms-linear-gradient(top, rgba(255,255,255,1), rgba(255,255,255,0)); + background-image: -o-linear-gradient(top, rgba(255,255,255,1), rgba(255,255,255,0)); + background-image: linear-gradient(top, rgba(255,255,255,1), rgba(255,255,255,0)); + + -webkit-transition: background-color .2s ease-out; + -moz-transition: background-color .2s ease-out; + -ms-transition: background-color .2s ease-out; + -o-transition: background-color .2s ease-out; + transition: background-color .2s ease-out; + background-clip: padding-box; /* Fix bleeding */ + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, .3), 0 2px 2px -1px rgba(0, 0, 0, .5), 0 1px 0 rgba(255, 255, 255, .3) inset; + -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, .3), 0 2px 2px -1px rgba(0, 0, 0, .5), 0 1px 0 rgba(255, 255, 255, .3) inset; + box-shadow: 0 1px 0 rgba(0, 0, 0, .3), 0 2px 2px -1px rgba(0, 0, 0, .5), 0 1px 0 rgba(255, 255, 255, .3) inset; + text-shadow: 0 1px 0 rgba(255,255,255, .9); + + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.button:hover{ + background-color: #eee; + color: #555; +} + +.button:active{ + background: #e9e9e9; + position: relative; + top: 1px; + text-shadow: none; + -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, .3) inset; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .3) inset; + box-shadow: 0 1px 1px rgba(0, 0, 0, .3) inset; +} + +.button[disabled], .button[disabled]:hover, .button[disabled]:active{ + border-color: #eaeaea; + background: #fafafa; + cursor: default; + position: static; + color: #999; + /* Usually, !important should be avoided but here it's really needed :) */ + -moz-box-shadow: none !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; + text-shadow: none !important; +} + +/* Smaller buttons styles */ + +.button.small{ + padding: 4px 12px; +} + +/* Larger buttons styles */ + +.button.large{ + padding: 12px 30px; + text-transform: uppercase; +} + +.button.large:active{ + top: 2px; +} + +/* Colored buttons styles */ + +.button.green, .button.red, .button.blue { + color: #fff; + text-shadow: 0 1px 0 rgba(0,0,0,.2); + + background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,.3)), to(rgba(255,255,255,0))); + background-image: -webkit-linear-gradient(top, rgba(255,255,255,.3), rgba(255,255,255,0)); + background-image: -moz-linear-gradient(top, rgba(255,255,255,.3), rgba(255,255,255,0)); + background-image: -ms-linear-gradient(top, rgba(255,255,255,.3), rgba(255,255,255,0)); + background-image: -o-linear-gradient(top, rgba(255,255,255,.3), rgba(255,255,255,0)); + background-image: linear-gradient(top, rgba(255,255,255,.3), rgba(255,255,255,0)); +} + +/* */ + +.button.green{ + background-color: #57a957; + border-color: #57a957; +} + +.button.green:hover{ + background-color: #62c462; +} + +.button.green:active{ + background: #57a957; +} + +/* */ + +.button.red{ + background-color: #ca3535; + border-color: #c43c35; +} + +.button.red:hover{ + background-color: #ee5f5b; +} + +.button.red:active{ + background: #c43c35; +} + +/* */ + +.button.blue{ + background-color: #269CE9; + border-color: #269CE9; +} + +.button.blue:hover{ + background-color: #70B9E8; +} + +.button.blue:active{ + background: #269CE9; +} + +/* */ + +.green[disabled], .green[disabled]:hover, .green[disabled]:active{ + border-color: #57A957; + background: #57A957; + color: #D2FFD2; +} + +.red[disabled], .red[disabled]:hover, .red[disabled]:active{ + border-color: #C43C35; + background: #C43C35; + color: #FFD3D3; +} + +.blue[disabled], .blue[disabled]:hover, .blue[disabled]:active{ + border-color: #269CE9; + background: #269CE9; + color: #93D5FF; +} + +/* Group buttons */ + +.button-group, +.button-group li{ + display: inline-block; + *display: inline; + zoom: 1; +} + +.button-group{ + font-size: 0; /* Inline block elements gap - fix */ + margin: 0; + padding: 0; + background: rgba(0, 0, 0, .1); + border-bottom: 1px solid rgba(0, 0, 0, .1); + padding: 7px; + -moz-border-radius: 7px; + -webkit-border-radius: 7px; + border-radius: 7px; +} + +.button-group li{ + margin-right: -1px; /* Overlap each right button border */ +} + +.button-group .button{ + font-size: 13px; /* Set the font size, different from inherited 0 */ + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; +} + +.button-group .button:active{ + -moz-box-shadow: 0 0 1px rgba(0, 0, 0, .2) inset, 5px 0 5px -3px rgba(0, 0, 0, .2) inset, -5px 0 5px -3px rgba(0, 0, 0, .2) inset; + -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, .2) inset, 5px 0 5px -3px rgba(0, 0, 0, .2) inset, -5px 0 5px -3px rgba(0, 0, 0, .2) inset; + box-shadow: 0 0 1px rgba(0, 0, 0, .2) inset, 5px 0 5px -3px rgba(0, 0, 0, .2) inset, -5px 0 5px -3px rgba(0, 0, 0, .2) inset; +} + +.button-group li:first-child .button{ + -moz-border-radius: 3px 0 0 3px; + -webkit-border-radius: 3px 0 0 3px; + border-radius: 3px 0 0 3px; +} + +.button-group li:first-child .button:active{ + -moz-box-shadow: 0 0 1px rgba(0, 0, 0, .2) inset, -5px 0 5px -3px rgba(0, 0, 0, .2) inset; + -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, .2) inset, -5px 0 5px -3px rgba(0, 0, 0, .2) inset; + box-shadow: 0 0 1px rgba(0, 0, 0, .2) inset, -5px 0 5px -3px rgba(0, 0, 0, .2) inset; +} + +.button-group li:last-child .button{ + -moz-border-radius: 0 3px 3px 0; + -webkit-border-radius: 0 3px 3px 0; + border-radius: 0 3px 3px 0; +} + +.button-group li:last-child .button:active{ + -moz-box-shadow: 0 0 1px rgba(0, 0, 0, .2) inset, 5px 0 5px -3px rgba(0, 0, 0, .2) inset; + -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, .2) inset, 5px 0 5px -3px rgba(0, 0, 0, .2) inset; + box-shadow: 0 0 1px rgba(0, 0, 0, .2) inset, 5px 0 5px -3px rgba(0, 0, 0, .2) inset; +} diff --git a/public/favicon.png b/public/favicon.png new file mode 100644 index 0000000..7e6f5eb Binary files /dev/null and b/public/favicon.png differ diff --git a/public/fonts/dosis/Dosis-VariableFont_wght.ttf b/public/fonts/dosis/Dosis-VariableFont_wght.ttf new file mode 100644 index 0000000..78af21c Binary files /dev/null and b/public/fonts/dosis/Dosis-VariableFont_wght.ttf differ diff --git a/public/fonts/dosis/OFL.txt b/public/fonts/dosis/OFL.txt new file mode 100644 index 0000000..35a7281 --- /dev/null +++ b/public/fonts/dosis/OFL.txt @@ -0,0 +1,95 @@ +Copyright (c) 2011, Edgar Tolentino and Pablo Impallari (www.impallari.com|impallari@gmail.com), +Copyright (c) 2011, Igino Marini. (www.ikern.com|mail@iginomarini.com), +with Reserved Font Names "Dosis". + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/public/fonts/dosis/README.txt b/public/fonts/dosis/README.txt new file mode 100644 index 0000000..76015bf --- /dev/null +++ b/public/fonts/dosis/README.txt @@ -0,0 +1,69 @@ +Dosis Variable Font +=================== + +This download contains Dosis as both a variable font and static fonts. + +Dosis is a variable font with this axis: + wght + +This means all the styles are contained in a single file: + Dosis-VariableFont_wght.ttf + +If your app fully supports variable fonts, you can now pick intermediate styles +that aren’t available as static fonts. Not all apps support variable fonts, and +in those cases you can use the static font files for Dosis: + static/Dosis-ExtraLight.ttf + static/Dosis-Light.ttf + static/Dosis-Regular.ttf + static/Dosis-Medium.ttf + static/Dosis-SemiBold.ttf + static/Dosis-Bold.ttf + static/Dosis-ExtraBold.ttf + +Get started +----------- + +1. Install the font files you want to use + +2. Use your app's font picker to view the font family and all the +available styles + +Learn more about variable fonts +------------------------------- + + https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts + https://variablefonts.typenetwork.com + https://medium.com/variable-fonts + +In desktop apps + + https://theblog.adobe.com/can-variable-fonts-illustrator-cc + https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts + +Online + + https://developers.google.com/fonts/docs/getting_started + https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide + https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts + +Installing fonts + + MacOS: https://support.apple.com/en-us/HT201749 + Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux + Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows + +Android Apps + + https://developers.google.com/fonts/docs/android + https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts + +License +------- +Please read the full license text (OFL.txt) to understand the permissions, +restrictions and requirements for usage, redistribution, and modification. + +You can use them freely in your products & projects - print or digital, +commercial or otherwise. However, you can't sell the fonts on their own. + +This isn't legal advice, please consider consulting a lawyer and see the full +license for all details. diff --git a/public/fonts/dosis/dosis.css b/public/fonts/dosis/dosis.css new file mode 100644 index 0000000..9ee3901 --- /dev/null +++ b/public/fonts/dosis/dosis.css @@ -0,0 +1,4 @@ +@font-face { + font-family: 'Dosis'; + src: url(Dosis-VariableFont_wght.ttf) format('truetype'); +} diff --git a/public/fonts/dosis/static/Dosis-Bold.ttf b/public/fonts/dosis/static/Dosis-Bold.ttf new file mode 100644 index 0000000..a9cf34a Binary files /dev/null and b/public/fonts/dosis/static/Dosis-Bold.ttf differ diff --git a/public/fonts/dosis/static/Dosis-ExtraBold.ttf b/public/fonts/dosis/static/Dosis-ExtraBold.ttf new file mode 100644 index 0000000..71f25b0 Binary files /dev/null and b/public/fonts/dosis/static/Dosis-ExtraBold.ttf differ diff --git a/public/fonts/dosis/static/Dosis-ExtraLight.ttf b/public/fonts/dosis/static/Dosis-ExtraLight.ttf new file mode 100644 index 0000000..b47296d Binary files /dev/null and b/public/fonts/dosis/static/Dosis-ExtraLight.ttf differ diff --git a/public/fonts/dosis/static/Dosis-Light.ttf b/public/fonts/dosis/static/Dosis-Light.ttf new file mode 100644 index 0000000..9da0907 Binary files /dev/null and b/public/fonts/dosis/static/Dosis-Light.ttf differ diff --git a/public/fonts/dosis/static/Dosis-Medium.ttf b/public/fonts/dosis/static/Dosis-Medium.ttf new file mode 100644 index 0000000..8b47958 Binary files /dev/null and b/public/fonts/dosis/static/Dosis-Medium.ttf differ diff --git a/public/fonts/dosis/static/Dosis-Regular.ttf b/public/fonts/dosis/static/Dosis-Regular.ttf new file mode 100644 index 0000000..f31a36a Binary files /dev/null and b/public/fonts/dosis/static/Dosis-Regular.ttf differ diff --git a/public/fonts/dosis/static/Dosis-SemiBold.ttf b/public/fonts/dosis/static/Dosis-SemiBold.ttf new file mode 100644 index 0000000..9648025 Binary files /dev/null and b/public/fonts/dosis/static/Dosis-SemiBold.ttf differ diff --git a/public/fonts/faktos.css b/public/fonts/faktos.css new file mode 100644 index 0000000..626e0e5 --- /dev/null +++ b/public/fonts/faktos.css @@ -0,0 +1,5 @@ +@font-face { + font-family: 'Faktos'; + font-style: normal; + src: url(Faktos.ttf) format('truetype'); +} diff --git a/public/global.css b/public/global.css index 57b9a99..92df750 100644 --- a/public/global.css +++ b/public/global.css @@ -1,11 +1,28 @@ -:root { - --font-scale-8: calc(1rem/1.125/1.125); - --font-scale-9: calc(1rem/1.125); - --font-scale-10: 1rem; - --font-scale-11: calc(1rem * 1.125); - --font-scale-12: calc(1rem * 1.125 * 1.125); +:root { + --font-scale-9: 0.75rem; + --font-scale-10: 1em; + --font-scale-11: 1.333rem; + --font-scale-12: 1.777rem; + --font-scale-13: 2.369rem; + --font-scale-14: 3.157rem; + --font-scale-15: 4.209rem; + + --oxford-blue: hsla(226, 60%, 10%, 1); + --royal-blue-dark: hsla(218, 100%, 16%, 1); + --indigo-dye: hsla(209, 95%, 24%, 1); + --cg-blue: hsla(193, 80%, 35%, 1); + --white: hsla(20, 60%, 99%, 1); + + --main-width: 60em; } +small {font-size: var(--font-scale-9); } + +h1 { + margin: 0px; + padding: 0px; + font-size: var(--font-scale-14); +} html, body { @@ -15,11 +32,12 @@ html, body { } body { + background-color: var(--white); color: #333; margin: 0; padding: 8px; box-sizing: border-box; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-family: "Dosis", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; } a { @@ -74,3 +92,18 @@ button:not(:disabled):active { button:focus { border-color: #666; } + +/* ---- inputs --- */ + +input, select { + border: 0px; + border-bottom: 1px solid var(--indigo-dye); +} + +input:focus, select:focus { + border: 1px solid var(--indigo-dye);; +} + +input.short { + width:5em; +} diff --git a/public/index.html b/public/index.html index b724992..2377875 100644 --- a/public/index.html +++ b/public/index.html @@ -4,14 +4,18 @@ - Svelte app + The Shipyard + + + +