diff --git a/static/css/calculator-stylesheet.css b/static/css/calculator-stylesheet.css
deleted file mode 100644
index fc646dc..0000000
--- a/static/css/calculator-stylesheet.css
+++ /dev/null
@@ -1,38 +0,0 @@
-body {
- font-family: Arial, Helvetica, sans-serif;
- margin: 5% 10%;
-}
-
-input[type=text], select, textarea {
-
- padding: 5px;
- font-size: 12px;
- width: 50%;
- float: right
-}
-
-input[type=submit] {
- background-color: #4CAF50;
- color: white;
- padding: 12px 20px;
- border: none;
- border-radius: 4px;
- cursor: pointer;
- float: left
-}
-
-input[type=submit]:hover {
- background-color: #45a049;
-}
-
-.container {
- border-radius: 5px;
- background-color: #f2f2f2;
- padding: 20px;
-}
-label {
- padding: 5px;
- font-size: 16px;
- width: 20%;
- float: left
-}
\ No newline at end of file
diff --git a/static/css/font-awesome.min.css b/static/css/font-awesome.min.css
new file mode 100644
index 0000000..540440c
--- /dev/null
+++ b/static/css/font-awesome.min.css
@@ -0,0 +1,4 @@
+/*!
+ * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
+ * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
+ */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}
diff --git a/static/css/login_stylesheet.css b/static/css/login_stylesheet.css
deleted file mode 100644
index 4b4b13e..0000000
--- a/static/css/login_stylesheet.css
+++ /dev/null
@@ -1,80 +0,0 @@
-* {
-box-sizing: border-box;
-}
-
-*:focus {
- outline: none;
-}
-body {
-font-family: Arial;
-background-color: #3498DB;
-padding: 50px;
-
-}
-.login {
-margin: 20px auto;
-width: 300px;
-
-}
-.login-screen {
-background-color: #FFF;
-padding: 20px;
-border-radius: 5px
-}
-
-.app-title {
-text-align: center;
-color: #777;
-}
-
-.login-form {
-text-align: center;
-}
-.control-group {
-margin-bottom: 10px;
-}
-
-input {
-text-align: center;
-background-color: #ECF0F1;
-border: 2px solid transparent;
-border-radius: 3px;
-font-size: 16px;
-font-weight: 200;
-padding: 10px 0;
-width: 250px;
-transition: border .5s;
-}
-
-input:focus {
-border: 2px solid #3498DB;
-box-shadow: none;
-}
-
-.btn {
- border: 2px solid transparent;
- background: #3498DB;
- color: #ffffff;
- font-size: 16px;
- line-height: 25px;
- padding: 10px 0;
- text-decoration: none;
- text-shadow: none;
- border-radius: 3px;
- box-shadow: none;
- transition: 0.25s;
- display: block;
- width: 250px;
- margin: 0 auto;
-}
-
-.btn:hover {
- background-color: #2980B9;
-}
-
-.login-link {
- font-size: 12px;
- color: #444;
- display: block;
- margin-top: 12px;
-}
diff --git a/static/css/main.css b/static/css/main.css
new file mode 100644
index 0000000..030671e
--- /dev/null
+++ b/static/css/main.css
@@ -0,0 +1,2831 @@
+@import url(font-awesome.min.css);
+@import url("https://fonts.googleapis.com/css?family=Raleway:200,300,400,500,600");
+/*
+ Industrious by TEMPLATED
+ templated.co @templatedco
+ Released for free under the Creative Commons Attribution 3.0 license (templated.co/license)
+*/
+/* Basic */
+@-ms-viewport {
+ width: device-width; }
+body {
+ -ms-overflow-style: scrollbar; }
+
+@media screen and (max-width: 480px) {
+ html, body {
+ min-width: 320px; } }
+html {
+ box-sizing: border-box; }
+
+*, *:before, *:after {
+ box-sizing: inherit; }
+
+body {
+ background: #ffffff; }
+ body.is-preload *, body.is-preload *:before, body.is-preload *:after {
+ -moz-animation: none !important;
+ -webkit-animation: none !important;
+ -ms-animation: none !important;
+ animation: none !important;
+ -moz-transition: none !important;
+ -webkit-transition: none !important;
+ -ms-transition: none !important;
+ transition: none !important; }
+
+html, body, div, span, applet, object,
+iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
+pre, a, abbr, acronym, address, big, cite,
+code, del, dfn, em, img, ins, kbd, q, s, samp,
+small, strike, strong, sub, sup, tt, var, b,
+u, i, center, dl, dt, dd, ol, ul, li, fieldset,
+form, label, legend, table, caption, tbody,
+tfoot, thead, tr, th, td, article, aside,
+canvas, details, embed, figure, figcaption,
+footer, header, hgroup, menu, nav, output, ruby,
+section, summary, time, mark, audio, video {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ font-size: 100%;
+ font: inherit;
+ vertical-align: baseline; }
+
+article, aside, details, figcaption, figure,
+footer, header, hgroup, menu, nav, section {
+ display: block; }
+
+body {
+ line-height: 1; }
+
+ol, ul {
+ list-style: none; }
+
+blockquote, q {
+ quotes: none; }
+ blockquote:before, blockquote:after, q:before, q:after {
+ content: '';
+ content: none; }
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0; }
+
+body {
+ -webkit-text-size-adjust: none; }
+
+mark {
+ background-color: transparent;
+ color: inherit; }
+
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0; }
+
+input, select, textarea {
+ -moz-appearance: none;
+ -webkit-appearance: none;
+ -ms-appearance: none;
+ appearance: none; }
+
+/* Typography */
+html {
+ font-size: 13pt; }
+ @media screen and (max-width: 1680px) {
+ html {
+ font-size: 11pt; } }
+ @media screen and (max-width: 980px) {
+ html {
+ font-size: 12pt; } }
+ @media screen and (max-width: 480px) {
+ html {
+ font-size: 11pt; } }
+
+body {
+ background-color: #ffffff;
+ color: #444444; }
+
+body, input, select, textarea {
+ font-family: "Raleway", Arial, Helvetica, sans-serif;
+ font-weight: 400;
+ font-size: 1rem;
+ line-height: 1.65; }
+
+a {
+ -moz-transition: color 0.2s ease-in-out;
+ -webkit-transition: color 0.2s ease-in-out;
+ -ms-transition: color 0.2s ease-in-out;
+ transition: color 0.2s ease-in-out;
+ text-decoration: underline; }
+ a:hover {
+ text-decoration: none; }
+
+strong, b {
+ font-weight: 600; }
+
+em, i {
+ font-style: italic; }
+
+p {
+ margin: 0 0 2rem 0; }
+
+header.special {
+ text-align: center;
+ margin-bottom: 4rem; }
+ header.special p {
+ max-width: 75%;
+ margin-left: auto;
+ margin-right: auto; }
+
+h1, h2, h3, h4, h5, h6 {
+ font-weight: 300;
+ line-height: 1.5;
+ text-transform: uppercase;
+ margin: 0 0 1.5rem 0; }
+ h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
+ color: inherit;
+ text-decoration: none; }
+
+h1 {
+ font-size: 3rem;
+ line-height: 1.2; }
+
+h2 {
+ font-size: 2.25rem;
+ line-height: 1.3; }
+
+h3 {
+ font-size: 1.25rem; }
+
+h4 {
+ font-size: 1rem; }
+
+h5 {
+ font-size: 0.9rem; }
+
+h6 {
+ font-size: 0.7rem; }
+
+@media screen and (max-width: 736px) {
+ h1 {
+ font-size: 2.75rem;
+ line-height: 1.3; }
+
+ h2 {
+ font-size: 1.75rem;
+ line-height: 1.5; }
+
+ h3 {
+ font-size: 1.25rem; } }
+sub {
+ font-size: 0.8rem;
+ position: relative;
+ top: 0.5rem; }
+
+sup {
+ font-size: 0.8rem;
+ position: relative;
+ top: -0.5rem; }
+
+blockquote {
+ border-left: solid 0.5rem;
+ font-style: italic;
+ margin: 0 0 2rem 0;
+ padding: 1rem 0 1rem 2rem; }
+
+code {
+ border-radius: 4px;
+ border: solid 1px;
+ font-family: "Courier New", monospace;
+ font-size: 0.9rem;
+ margin: 0 0.25rem;
+ padding: 0.25rem 0.65rem; }
+
+pre {
+ -webkit-overflow-scrolling: touch;
+ font-family: "Courier New", monospace;
+ font-size: 0.9rem;
+ margin: 0 0 2rem 0; }
+ pre code {
+ display: block;
+ line-height: 1.75;
+ padding: 1rem 1.5rem;
+ overflow-x: auto; }
+
+hr {
+ border: 0;
+ border-bottom: solid 1px;
+ margin: 2rem 0; }
+ hr.major {
+ margin: 4rem 0; }
+
+input, select, textarea {
+ color: #555555; }
+
+a {
+ color: #ce1b28; }
+
+strong, b {
+ color: #555555; }
+
+h1, h2, h3, h4, h5, h6 {
+ color: #555555; }
+
+blockquote {
+ border-left-color: rgba(0, 0, 0, 0.25); }
+
+code {
+ background: rgba(0, 0, 0, 0.075);
+ border-color: rgba(0, 0, 0, 0.25); }
+
+hr {
+ border-bottom-color: rgba(0, 0, 0, 0.25); }
+
+/* Inner */
+.inner {
+ margin: 0 auto;
+ width: 75rem;
+ max-width: calc(100% - 6rem); }
+ @media screen and (max-width: 480px) {
+ .inner {
+ max-width: calc(100% - 3rem); } }
+
+/* Button */
+input[type="submit"],
+input[type="reset"],
+input[type="button"],
+button,
+.button {
+ -moz-appearance: none;
+ -webkit-appearance: none;
+ -ms-appearance: none;
+ appearance: none;
+ -moz-transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
+ -webkit-transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
+ -ms-transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
+ transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
+ border: 0;
+ border-radius: 4px;
+ cursor: pointer;
+ display: inline-block;
+ font-weight: 600;
+ height: 3.25rem;
+ line-height: 3.25rem;
+ padding: 0 1.75rem;
+ text-align: center;
+ text-decoration: none;
+ white-space: nowrap; }
+ input[type="submit"].small,
+ input[type="reset"].small,
+ input[type="button"].small,
+ button.small,
+ .button.small {
+ font-size: 0.8rem;
+ height: 2.4375rem;
+ line-height: 2.4375rem;
+ padding: 0 1.25rem; }
+ input[type="submit"].large,
+ input[type="reset"].large,
+ input[type="button"].large,
+ button.large,
+ .button.large {
+ font-size: 1.35rem;
+ height: 4.0625rem;
+ line-height: 4.0625rem;
+ padding: 0 2rem; }
+ input[type="submit"].wide,
+ input[type="reset"].wide,
+ input[type="button"].wide,
+ button.wide,
+ .button.wide {
+ min-width: 13rem; }
+ input[type="submit"].icon:before,
+ input[type="reset"].icon:before,
+ input[type="button"].icon:before,
+ button.icon:before,
+ .button.icon:before {
+ margin-right: 0.5rem; }
+ input[type="submit"].fit,
+ input[type="reset"].fit,
+ input[type="button"].fit,
+ button.fit,
+ .button.fit {
+ width: 100%; }
+ input[type="submit"].disabled, input[type="submit"]:disabled,
+ input[type="reset"].disabled,
+ input[type="reset"]:disabled,
+ input[type="button"].disabled,
+ input[type="button"]:disabled,
+ button.disabled,
+ button:disabled,
+ .button.disabled,
+ .button:disabled {
+ pointer-events: none;
+ opacity: 0.25; }
+
+input[type="submit"],
+input[type="reset"],
+input[type="button"],
+button,
+.button {
+ background-color: transparent;
+ box-shadow: inset 0 0 0 1px #555555;
+ color: #555555 !important; }
+ input[type="submit"]:hover,
+ input[type="reset"]:hover,
+ input[type="button"]:hover,
+ button:hover,
+ .button:hover {
+ box-shadow: inset 0 0 0 1px #ce1b28;
+ color: #ce1b28 !important; }
+ input[type="submit"]:hover:active,
+ input[type="reset"]:hover:active,
+ input[type="button"]:hover:active,
+ button:hover:active,
+ .button:hover:active {
+ background-color: rgba(206, 27, 40, 0.25); }
+ input[type="submit"].primary,
+ input[type="reset"].primary,
+ input[type="button"].primary,
+ button.primary,
+ .button.primary {
+ box-shadow: none;
+ background-color: #ce1b28;
+ color: #ffffff !important; }
+ input[type="submit"].primary:hover,
+ input[type="reset"].primary:hover,
+ input[type="button"].primary:hover,
+ button.primary:hover,
+ .button.primary:hover {
+ background-color: #e2212f;
+ box-shadow: none; }
+ input[type="submit"].primary:hover:active,
+ input[type="reset"].primary:hover:active,
+ input[type="button"].primary:hover:active,
+ button.primary:hover:active,
+ .button.primary:hover:active {
+ background-color: #b71824; }
+
+/* Form */
+form {
+ margin: 0 0 2rem 0; }
+
+input[type="text"],
+input[type="number"],
+input[type="password"],
+input[type="email"],
+input[type="tel"],
+input[type="search"],
+input[type="url"],
+select,
+textarea {
+ -moz-appearance: none;
+ -webkit-appearance: none;
+ -ms-appearance: none;
+ appearance: none;
+ border-radius: 4px;
+ border: none;
+ border: solid 1px;
+ color: inherit;
+ display: block;
+ outline: 0;
+ padding: 0 1rem;
+ text-decoration: none;
+ width: 100%; }
+ input[type="text"]:invalid,
+ input[type="number"]:invalid,
+ input[type="password"]:invalid,
+ input[type="email"]:invalid,
+ input[type="tel"]:invalid,
+ input[type="search"]:invalid,
+ input[type="url"]:invalid,
+ select:invalid,
+ textarea:invalid {
+ box-shadow: none; }
+
+label {
+ display: block;
+ font-size: 1rem;
+ font-weight: 600;
+ margin: 0 0 1rem 0; }
+
+input[type="text"],
+input[type="number"],
+input[type="password"],
+input[type="email"],
+input[type="tel"],
+input[type="search"],
+input[type="url"] {
+ height: 3.25rem; }
+
+select {
+ background-size: 1.25rem;
+ background-repeat: no-repeat;
+ background-position: calc(100% - 1rem) center;
+ height: 3.25rem;
+ padding-right: 3.25rem;
+ text-overflow: ellipsis; }
+ select:focus::-ms-value {
+ background-color: transparent; }
+ select::-ms-expand {
+ display: none; }
+
+textarea {
+ padding: 0.75rem 1rem; }
+
+input[type="checkbox"],
+input[type="radio"] {
+ -moz-appearance: none;
+ -webkit-appearance: none;
+ -ms-appearance: none;
+ appearance: none;
+ display: block;
+ float: left;
+ margin-right: -2rem;
+ opacity: 0;
+ width: 1rem;
+ z-index: -1; }
+ input[type="checkbox"] + label,
+ input[type="radio"] + label {
+ text-decoration: none;
+ cursor: pointer;
+ display: inline-block;
+ font-size: 1rem;
+ font-weight: 400;
+ padding-left: 2.825rem;
+ padding-right: 0.875rem;
+ position: relative; }
+ input[type="checkbox"] + label:before,
+ input[type="radio"] + label:before {
+ -moz-osx-font-smoothing: grayscale;
+ -webkit-font-smoothing: antialiased;
+ font-family: FontAwesome;
+ font-style: normal;
+ font-weight: normal;
+ text-transform: none !important; }
+ input[type="checkbox"] + label:before,
+ input[type="radio"] + label:before {
+ border-radius: 4px;
+ border: solid 1px;
+ content: '';
+ display: inline-block;
+ height: 1.95rem;
+ left: 0;
+ line-height: 1.86875rem;
+ position: absolute;
+ text-align: center;
+ top: -0.1625rem;
+ width: 1.95rem; }
+ input[type="checkbox"]:checked + label:before,
+ input[type="radio"]:checked + label:before {
+ content: '\f00c'; }
+
+input[type="checkbox"] + label:before {
+ border-radius: 4px; }
+
+input[type="radio"] + label:before {
+ border-radius: 100%; }
+
+::-webkit-input-placeholder {
+ opacity: 1.0; }
+
+:-moz-placeholder {
+ opacity: 1.0; }
+
+::-moz-placeholder {
+ opacity: 1.0; }
+
+:-ms-input-placeholder {
+ opacity: 1.0; }
+
+label {
+ color: #555555; }
+
+input[type="text"],
+input[type="number"],
+input[type="password"],
+input[type="email"],
+input[type="tel"],
+input[type="search"],
+input[type="url"],
+select,
+textarea {
+ background-color: rgba(0, 0, 0, 0.075);
+ border-color: rgba(0, 0, 0, 0.25); }
+ input[type="text"]:focus,
+ input[type="number"]:focus,
+ input[type="password"]:focus,
+ input[type="email"]:focus,
+ input[type="tel"]:focus,
+ input[type="search"]:focus,
+ input[type="url"]:focus,
+ select:focus,
+ textarea:focus {
+ border-color: #ce1b28;
+ box-shadow: 0 0 0 1px #ce1b28; }
+
+select {
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='rgba(0, 0, 0, 0.25)' /%3E%3C/svg%3E"); }
+ select option {
+ color: #444444;
+ background-color: #ffffff; }
+
+input[type="checkbox"] + label,
+input[type="radio"] + label {
+ color: #444444; }
+ input[type="checkbox"] + label:before,
+ input[type="radio"] + label:before {
+ background: rgba(0, 0, 0, 0.075);
+ border-color: rgba(0, 0, 0, 0.25); }
+input[type="checkbox"]:checked + label:before,
+input[type="radio"]:checked + label:before {
+ background-color: #ce1b28;
+ border-color: #ce1b28;
+ color: #ffffff; }
+input[type="checkbox"]:focus + label:before,
+input[type="radio"]:focus + label:before {
+ border-color: #ce1b28;
+ box-shadow: 0 0 0 1px #ce1b28; }
+
+::-webkit-input-placeholder {
+ color: #bbbbbb !important; }
+
+:-moz-placeholder {
+ color: #bbbbbb !important; }
+
+::-moz-placeholder {
+ color: #bbbbbb !important; }
+
+:-ms-input-placeholder {
+ color: #bbbbbb !important; }
+
+/* List */
+ol {
+ list-style: decimal;
+ margin: 0 0 2rem 0;
+ padding-left: 1.25rem; }
+ ol li {
+ padding-left: 0.25rem; }
+
+ul {
+ list-style: disc;
+ margin: 0 0 2rem 0;
+ padding-left: 1rem; }
+ ul li {
+ padding-left: 0.325rem; }
+ ul.plain {
+ list-style: none;
+ padding-left: 0; }
+ ul.plain li {
+ margin-bottom: 1rem; }
+ ul.plain li .icon {
+ border-radius: 4px;
+ color: #ffffff;
+ display: inline-block;
+ margin-right: 1rem;
+ text-align: center;
+ width: 2rem;
+ height: 2rem;
+ line-height: 2rem;
+ background: rgba(0, 0, 0, 0.5); }
+ ul.alt {
+ list-style: none;
+ padding-left: 0; }
+ ul.alt li {
+ border-top: solid 1px;
+ padding: 0.75rem 0; }
+ ul.alt li:first-child {
+ border-top: 0;
+ padding-top: 0; }
+ ul.alt li:last-child {
+ padding-bottom: 0; }
+
+dl {
+ margin: 0 0 2rem 0; }
+ dl dt {
+ display: block;
+ font-weight: 600;
+ margin: 0 0 1rem 0; }
+ dl dd {
+ margin-left: 1.5rem; }
+
+ul.alt li {
+ border-top-color: rgba(0, 0, 0, 0.25); }
+
+/* Table */
+.table-wrapper {
+ -webkit-overflow-scrolling: touch;
+ overflow-x: auto; }
+
+table {
+ margin: 0 0 2rem 0;
+ width: 100%; }
+ table tbody tr {
+ border: solid 1px;
+ border-left: 0;
+ border-right: 0; }
+ table td {
+ padding: 0.75rem 0.75rem; }
+ table th {
+ font-size: 0.9rem;
+ font-weight: 600;
+ padding: 0 0.75rem 0.75rem 0.75rem;
+ text-align: left; }
+ table thead {
+ border-bottom: solid 2px; }
+ table tfoot {
+ border-top: solid 2px; }
+ table.alt {
+ border-collapse: separate; }
+ table.alt tbody tr td {
+ border: solid 1px;
+ border-left-width: 0;
+ border-top-width: 0; }
+ table.alt tbody tr td:first-child {
+ border-left-width: 1px; }
+ table.alt tbody tr:first-child td {
+ border-top-width: 1px; }
+ table.alt thead {
+ border-bottom: 0; }
+ table.alt tfoot {
+ border-top: 0; }
+
+table tbody tr {
+ border-color: rgba(0, 0, 0, 0.25); }
+ table tbody tr:nth-child(2n + 1) {
+ background-color: rgba(0, 0, 0, 0.075); }
+table th {
+ color: #555555; }
+table thead {
+ border-bottom-color: rgba(0, 0, 0, 0.25); }
+table tfoot {
+ border-top-color: rgba(0, 0, 0, 0.25); }
+table.alt tbody tr td {
+ border-color: rgba(0, 0, 0, 0.25); }
+
+/* Highlights */
+.highlights {
+ width: 100%;
+ margin: 2.5rem 0;
+ display: -moz-flex;
+ display: -webkit-flex;
+ display: -ms-flex;
+ display: flex;
+ -moz-flex-wrap: wrap;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -moz-align-items: -moz-stretch;
+ -webkit-align-items: -webkit-stretch;
+ -ms-align-items: -ms-stretch;
+ align-items: stretch; }
+ .highlights > * {
+ -moz-flex-shrink: 1;
+ -webkit-flex-shrink: 1;
+ -ms-flex-shrink: 1;
+ flex-shrink: 1;
+ -moz-flex-grow: 0;
+ -webkit-flex-grow: 0;
+ -ms-flex-grow: 0;
+ flex-grow: 0; }
+ .highlights > * {
+ width: 33.3333333333%; }
+ .highlights > * {
+ padding: 1.5rem;
+ width: calc(33.3333333333% + 1rem); }
+ .highlights > :nth-child(-n + 3) {
+ padding-top: 0; }
+ .highlights > :nth-last-child(-n + 3) {
+ padding-bottom: 0; }
+ .highlights > :nth-child(3n + 1) {
+ padding-left: 0; }
+ .highlights > :nth-child(3n) {
+ padding-right: 0; }
+ .highlights > :nth-child(3n + 1),
+ .highlights > :nth-child(3n) {
+ width: calc(33.3333333333% + -0.5rem); }
+ .highlights .content {
+ border-radius: 4px;
+ height: 100%;
+ padding: 3rem;
+ text-align: center; }
+ .highlights .content .icon {
+ font-size: 5rem; }
+ .highlights > div > :last-child {
+ margin-bottom: 0; }
+ @media screen and (max-width: 980px) {
+ .highlights > * {
+ width: 50%; }
+ .highlights > * {
+ padding: 1rem;
+ width: calc(33.3333333333% + 0.6666666667rem); }
+ .highlights > :nth-child(-n + 3) {
+ padding-top: 1rem; }
+ .highlights > :nth-last-child(-n + 3) {
+ padding-bottom: 1rem; }
+ .highlights > :nth-child(3n + 1) {
+ padding-left: 1rem; }
+ .highlights > :nth-child(3n) {
+ padding-right: 1rem; }
+ .highlights > :nth-child(3n + 1),
+ .highlights > :nth-child(3n) {
+ padding: 1rem;
+ width: calc(50% + 1rem); }
+ .highlights > * {
+ padding: 1rem;
+ width: calc(50% + 1rem); }
+ .highlights > :nth-child(-n + 2) {
+ padding-top: 0; }
+ .highlights > :nth-last-child(-n + 2) {
+ padding-bottom: 0; }
+ .highlights > :nth-child(2n + 1) {
+ padding-left: 0; }
+ .highlights > :nth-child(2n) {
+ padding-right: 0; }
+ .highlights > :nth-child(2n + 1),
+ .highlights > :nth-child(2n) {
+ width: calc(50% + 0rem); }
+ .highlights .content {
+ padding: 2rem; } }
+ @media screen and (max-width: 736px) {
+ .highlights > * {
+ width: 100%; }
+ .highlights > * {
+ padding: 1rem;
+ width: calc(33.3333333333% + 0.6666666667rem); }
+ .highlights > :nth-child(-n + 3) {
+ padding-top: 1rem; }
+ .highlights > :nth-last-child(-n + 3) {
+ padding-bottom: 1rem; }
+ .highlights > :nth-child(3n + 1) {
+ padding-left: 1rem; }
+ .highlights > :nth-child(3n) {
+ padding-right: 1rem; }
+ .highlights > :nth-child(3n + 1),
+ .highlights > :nth-child(3n) {
+ padding: 1rem;
+ width: calc(100% + 2rem); }
+ .highlights > * {
+ padding: 1rem;
+ width: calc(50% + 1rem); }
+ .highlights > :nth-child(-n + 2) {
+ padding-top: 1rem; }
+ .highlights > :nth-last-child(-n + 2) {
+ padding-bottom: 1rem; }
+ .highlights > :nth-child(2n + 1) {
+ padding-left: 1rem; }
+ .highlights > :nth-child(2n) {
+ padding-right: 1rem; }
+ .highlights > :nth-child(2n + 1),
+ .highlights > :nth-child(2n) {
+ padding: 1rem;
+ width: calc(100% + 2rem); }
+ .highlights > * {
+ padding: 1rem;
+ width: calc(100% + 2rem); }
+ .highlights > :nth-child(-n + 1) {
+ padding-top: 0; }
+ .highlights > :nth-last-child(-n + 1) {
+ padding-bottom: 0; }
+ .highlights > :nth-child(1n + 1) {
+ padding-left: 0; }
+ .highlights > :nth-child(1n) {
+ padding-right: 0; }
+ .highlights > :nth-child(1n + 1),
+ .highlights > :nth-child(1n) {
+ width: calc(100% + 1rem); } }
+
+.highlights .content {
+ background: #ffffff;
+ box-shadow: 0px 0px 4px 1px rgba(0, 0, 0, 0.025); }
+
+/* Testimonials */
+.testimonials {
+ margin: 2.5rem 0;
+ width: 100%;
+ display: -moz-flex;
+ display: -webkit-flex;
+ display: -ms-flex;
+ display: flex;
+ -moz-flex-wrap: wrap;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -moz-align-items: -moz-stretch;
+ -webkit-align-items: -webkit-stretch;
+ -ms-align-items: -ms-stretch;
+ align-items: stretch; }
+ .testimonials > * {
+ -moz-flex-shrink: 1;
+ -webkit-flex-shrink: 1;
+ -ms-flex-shrink: 1;
+ flex-shrink: 1;
+ -moz-flex-grow: 0;
+ -webkit-flex-grow: 0;
+ -ms-flex-grow: 0;
+ flex-grow: 0; }
+ .testimonials > * {
+ width: 33.3333333333%; }
+ .testimonials > * {
+ padding: 1.5rem;
+ width: calc(33.3333333333% + 1rem); }
+ .testimonials > :nth-child(-n + 3) {
+ padding-top: 0; }
+ .testimonials > :nth-last-child(-n + 3) {
+ padding-bottom: 0; }
+ .testimonials > :nth-child(3n + 1) {
+ padding-left: 0; }
+ .testimonials > :nth-child(3n) {
+ padding-right: 0; }
+ .testimonials > :nth-child(3n + 1),
+ .testimonials > :nth-child(3n) {
+ width: calc(33.3333333333% + -0.5rem); }
+ .testimonials .content {
+ border-radius: 4px;
+ height: 100%;
+ padding: 3rem; }
+ .testimonials .content .author {
+ display: -moz-flex;
+ display: -webkit-flex;
+ display: -ms-flex;
+ display: flex;
+ -moz-align-items: center;
+ -webkit-align-items: center;
+ -ms-align-items: center;
+ align-items: center; }
+ .testimonials .content .author blockquote {
+ margin: 0; }
+ .testimonials .content .author .image {
+ margin-right: 2rem;
+ width: 20%; }
+ .testimonials .content .author .image img {
+ border-radius: 100%;
+ max-width: 100%; }
+ .testimonials .content .credit {
+ font-size: 0.75rem; }
+ .testimonials .content p:last-child {
+ margin: 0; }
+ .testimonials > div > :last-child {
+ margin-bottom: 0; }
+ @media screen and (max-width: 980px) {
+ .testimonials > * {
+ width: 50%; }
+ .testimonials > * {
+ padding: 1rem;
+ width: calc(33.3333333333% + 0.6666666667rem); }
+ .testimonials > :nth-child(-n + 3) {
+ padding-top: 1rem; }
+ .testimonials > :nth-last-child(-n + 3) {
+ padding-bottom: 1rem; }
+ .testimonials > :nth-child(3n + 1) {
+ padding-left: 1rem; }
+ .testimonials > :nth-child(3n) {
+ padding-right: 1rem; }
+ .testimonials > :nth-child(3n + 1),
+ .testimonials > :nth-child(3n) {
+ padding: 1rem;
+ width: calc(50% + 1rem); }
+ .testimonials > * {
+ padding: 1rem;
+ width: calc(50% + 1rem); }
+ .testimonials > :nth-child(-n + 2) {
+ padding-top: 0; }
+ .testimonials > :nth-last-child(-n + 2) {
+ padding-bottom: 0; }
+ .testimonials > :nth-child(2n + 1) {
+ padding-left: 0; }
+ .testimonials > :nth-child(2n) {
+ padding-right: 0; }
+ .testimonials > :nth-child(2n + 1),
+ .testimonials > :nth-child(2n) {
+ width: calc(50% + 0rem); }
+ .testimonials .content {
+ padding: 2rem; } }
+ @media screen and (max-width: 736px) {
+ .testimonials > * {
+ width: 100%; }
+ .testimonials > * {
+ padding: 1rem;
+ width: calc(33.3333333333% + 0.6666666667rem); }
+ .testimonials > :nth-child(-n + 3) {
+ padding-top: 1rem; }
+ .testimonials > :nth-last-child(-n + 3) {
+ padding-bottom: 1rem; }
+ .testimonials > :nth-child(3n + 1) {
+ padding-left: 1rem; }
+ .testimonials > :nth-child(3n) {
+ padding-right: 1rem; }
+ .testimonials > :nth-child(3n + 1),
+ .testimonials > :nth-child(3n) {
+ padding: 1rem;
+ width: calc(100% + 2rem); }
+ .testimonials > * {
+ padding: 1rem;
+ width: calc(50% + 1rem); }
+ .testimonials > :nth-child(-n + 2) {
+ padding-top: 1rem; }
+ .testimonials > :nth-last-child(-n + 2) {
+ padding-bottom: 1rem; }
+ .testimonials > :nth-child(2n + 1) {
+ padding-left: 1rem; }
+ .testimonials > :nth-child(2n) {
+ padding-right: 1rem; }
+ .testimonials > :nth-child(2n + 1),
+ .testimonials > :nth-child(2n) {
+ padding: 1rem;
+ width: calc(100% + 2rem); }
+ .testimonials > * {
+ padding: 1rem;
+ width: calc(100% + 2rem); }
+ .testimonials > :nth-child(-n + 1) {
+ padding-top: 0; }
+ .testimonials > :nth-last-child(-n + 1) {
+ padding-bottom: 0; }
+ .testimonials > :nth-child(1n + 1) {
+ padding-left: 0; }
+ .testimonials > :nth-child(1n) {
+ padding-right: 0; }
+ .testimonials > :nth-child(1n + 1),
+ .testimonials > :nth-child(1n) {
+ width: calc(100% + 1rem); } }
+
+.testimonials .content {
+ background: #ffffff;
+ box-shadow: 0px 0px 4px 1px rgba(0, 0, 0, 0.025); }
+ .testimonials .content .credit strong {
+ color: #ce1b28; }
+
+/* Actions */
+ul.actions {
+ display: -moz-flex;
+ display: -webkit-flex;
+ display: -ms-flex;
+ display: flex;
+ cursor: default;
+ list-style: none;
+ margin-left: -1rem;
+ padding-left: 0; }
+ ul.actions li {
+ padding: 0 0 0 1rem;
+ vertical-align: middle; }
+ ul.actions.special {
+ -moz-justify-content: center;
+ -webkit-justify-content: center;
+ -ms-justify-content: center;
+ justify-content: center;
+ width: calc(100% + 1rem); }
+ ul.actions.stacked {
+ -moz-flex-direction: column;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ margin-left: 0; }
+ ul.actions.stacked li {
+ padding: 1.3rem 0 0 0; }
+ ul.actions.stacked li:first-child {
+ padding-top: 0; }
+ ul.actions.fit {
+ width: calc(100% + 1rem); }
+ ul.actions.fit li {
+ -moz-flex-grow: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-grow: 1;
+ flex-grow: 1;
+ -moz-flex-shrink: 1;
+ -webkit-flex-shrink: 1;
+ -ms-flex-shrink: 1;
+ flex-shrink: 1;
+ width: 100%; }
+ ul.actions.fit li > * {
+ width: 100%; }
+ ul.actions.fit.stacked {
+ width: 100%; }
+ @media screen and (max-width: 480px) {
+ ul.actions:not(.fixed) {
+ -moz-flex-direction: column;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ margin-left: 0;
+ width: 100% !important; }
+ ul.actions:not(.fixed) li {
+ -moz-flex-grow: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-grow: 1;
+ flex-grow: 1;
+ -moz-flex-shrink: 1;
+ -webkit-flex-shrink: 1;
+ -ms-flex-shrink: 1;
+ flex-shrink: 1;
+ padding: 1rem 0 0 0;
+ text-align: center;
+ width: 100%; }
+ ul.actions:not(.fixed) li > * {
+ width: 100%; }
+ ul.actions:not(.fixed) li:first-child {
+ padding-top: 0; }
+ ul.actions:not(.fixed) li input[type="submit"],
+ ul.actions:not(.fixed) li input[type="reset"],
+ ul.actions:not(.fixed) li input[type="button"],
+ ul.actions:not(.fixed) li button,
+ ul.actions:not(.fixed) li .button {
+ width: 100%; }
+ ul.actions:not(.fixed) li input[type="submit"].icon:before,
+ ul.actions:not(.fixed) li input[type="reset"].icon:before,
+ ul.actions:not(.fixed) li input[type="button"].icon:before,
+ ul.actions:not(.fixed) li button.icon:before,
+ ul.actions:not(.fixed) li .button.icon:before {
+ margin-left: -0.5rem; } }
+
+/* Grid */
+.row {
+ display: flex;
+ flex-wrap: wrap;
+ box-sizing: border-box; }
+ .row > * {
+ box-sizing: border-box; }
+ .row.gtr-uniform > * > :last-child {
+ margin-bottom: 0; }
+
+.row > .imp {
+ order: -1; }
+.row > .col-1 {
+ width: 8.3333333333%; }
+.row > .off-1 {
+ margin-left: 8.3333333333%; }
+.row > .col-2 {
+ width: 16.6666666667%; }
+.row > .off-2 {
+ margin-left: 16.6666666667%; }
+.row > .col-3 {
+ width: 25%; }
+.row > .off-3 {
+ margin-left: 25%; }
+.row > .col-4 {
+ width: 33.3333333333%; }
+.row > .off-4 {
+ margin-left: 33.3333333333%; }
+.row > .col-5 {
+ width: 41.6666666667%; }
+.row > .off-5 {
+ margin-left: 41.6666666667%; }
+.row > .col-6 {
+ width: 50%; }
+.row > .off-6 {
+ margin-left: 50%; }
+.row > .col-7 {
+ width: 58.3333333333%; }
+.row > .off-7 {
+ margin-left: 58.3333333333%; }
+.row > .col-8 {
+ width: 66.6666666667%; }
+.row > .off-8 {
+ margin-left: 66.6666666667%; }
+.row > .col-9 {
+ width: 75%; }
+.row > .off-9 {
+ margin-left: 75%; }
+.row > .col-10 {
+ width: 83.3333333333%; }
+.row > .off-10 {
+ margin-left: 83.3333333333%; }
+.row > .col-11 {
+ width: 91.6666666667%; }
+.row > .off-11 {
+ margin-left: 91.6666666667%; }
+.row > .col-12 {
+ width: 100%; }
+.row > .off-12 {
+ margin-left: 100%; }
+.row.gtr-0 {
+ margin-top: 0;
+ margin-left: 0rem; }
+ .row.gtr-0 > * {
+ padding: 0 0 0 0rem; }
+ .row.gtr-0.gtr-uniform {
+ margin-top: 0rem; }
+ .row.gtr-0.gtr-uniform > * {
+ padding-top: 0rem; }
+.row.gtr-25 {
+ margin-top: 0;
+ margin-left: -0.75rem; }
+ .row.gtr-25 > * {
+ padding: 0 0 0 0.75rem; }
+ .row.gtr-25.gtr-uniform {
+ margin-top: -0.75rem; }
+ .row.gtr-25.gtr-uniform > * {
+ padding-top: 0.75rem; }
+.row.gtr-50 {
+ margin-top: 0;
+ margin-left: -1.5rem; }
+ .row.gtr-50 > * {
+ padding: 0 0 0 1.5rem; }
+ .row.gtr-50.gtr-uniform {
+ margin-top: -1.5rem; }
+ .row.gtr-50.gtr-uniform > * {
+ padding-top: 1.5rem; }
+.row {
+ margin-top: 0;
+ margin-left: -3rem; }
+ .row > * {
+ padding: 0 0 0 3rem; }
+ .row.gtr-uniform {
+ margin-top: -3rem; }
+ .row.gtr-uniform > * {
+ padding-top: 3rem; }
+.row.gtr-150 {
+ margin-top: 0;
+ margin-left: -4.5rem; }
+ .row.gtr-150 > * {
+ padding: 0 0 0 4.5rem; }
+ .row.gtr-150.gtr-uniform {
+ margin-top: -4.5rem; }
+ .row.gtr-150.gtr-uniform > * {
+ padding-top: 4.5rem; }
+.row.gtr-200 {
+ margin-top: 0;
+ margin-left: -6rem; }
+ .row.gtr-200 > * {
+ padding: 0 0 0 6rem; }
+ .row.gtr-200.gtr-uniform {
+ margin-top: -6rem; }
+ .row.gtr-200.gtr-uniform > * {
+ padding-top: 6rem; }
+
+@media screen and (max-width: 1680px) {
+ .row {
+ display: flex;
+ flex-wrap: wrap;
+ box-sizing: border-box; }
+ .row > * {
+ box-sizing: border-box; }
+ .row.gtr-uniform > * > :last-child {
+ margin-bottom: 0; }
+
+ .row > .imp-xlarge {
+ order: -1; }
+ .row > .col-1-xlarge {
+ width: 8.3333333333%; }
+ .row > .off-1-xlarge {
+ margin-left: 8.3333333333%; }
+ .row > .col-2-xlarge {
+ width: 16.6666666667%; }
+ .row > .off-2-xlarge {
+ margin-left: 16.6666666667%; }
+ .row > .col-3-xlarge {
+ width: 25%; }
+ .row > .off-3-xlarge {
+ margin-left: 25%; }
+ .row > .col-4-xlarge {
+ width: 33.3333333333%; }
+ .row > .off-4-xlarge {
+ margin-left: 33.3333333333%; }
+ .row > .col-5-xlarge {
+ width: 41.6666666667%; }
+ .row > .off-5-xlarge {
+ margin-left: 41.6666666667%; }
+ .row > .col-6-xlarge {
+ width: 50%; }
+ .row > .off-6-xlarge {
+ margin-left: 50%; }
+ .row > .col-7-xlarge {
+ width: 58.3333333333%; }
+ .row > .off-7-xlarge {
+ margin-left: 58.3333333333%; }
+ .row > .col-8-xlarge {
+ width: 66.6666666667%; }
+ .row > .off-8-xlarge {
+ margin-left: 66.6666666667%; }
+ .row > .col-9-xlarge {
+ width: 75%; }
+ .row > .off-9-xlarge {
+ margin-left: 75%; }
+ .row > .col-10-xlarge {
+ width: 83.3333333333%; }
+ .row > .off-10-xlarge {
+ margin-left: 83.3333333333%; }
+ .row > .col-11-xlarge {
+ width: 91.6666666667%; }
+ .row > .off-11-xlarge {
+ margin-left: 91.6666666667%; }
+ .row > .col-12-xlarge {
+ width: 100%; }
+ .row > .off-12-xlarge {
+ margin-left: 100%; }
+ .row.gtr-0 {
+ margin-top: 0;
+ margin-left: 0rem; }
+ .row.gtr-0 > * {
+ padding: 0 0 0 0rem; }
+ .row.gtr-0.gtr-uniform {
+ margin-top: 0rem; }
+ .row.gtr-0.gtr-uniform > * {
+ padding-top: 0rem; }
+ .row.gtr-25 {
+ margin-top: 0;
+ margin-left: -0.75rem; }
+ .row.gtr-25 > * {
+ padding: 0 0 0 0.75rem; }
+ .row.gtr-25.gtr-uniform {
+ margin-top: -0.75rem; }
+ .row.gtr-25.gtr-uniform > * {
+ padding-top: 0.75rem; }
+ .row.gtr-50 {
+ margin-top: 0;
+ margin-left: -1.5rem; }
+ .row.gtr-50 > * {
+ padding: 0 0 0 1.5rem; }
+ .row.gtr-50.gtr-uniform {
+ margin-top: -1.5rem; }
+ .row.gtr-50.gtr-uniform > * {
+ padding-top: 1.5rem; }
+ .row {
+ margin-top: 0;
+ margin-left: -3rem; }
+ .row > * {
+ padding: 0 0 0 3rem; }
+ .row.gtr-uniform {
+ margin-top: -3rem; }
+ .row.gtr-uniform > * {
+ padding-top: 3rem; }
+ .row.gtr-150 {
+ margin-top: 0;
+ margin-left: -4.5rem; }
+ .row.gtr-150 > * {
+ padding: 0 0 0 4.5rem; }
+ .row.gtr-150.gtr-uniform {
+ margin-top: -4.5rem; }
+ .row.gtr-150.gtr-uniform > * {
+ padding-top: 4.5rem; }
+ .row.gtr-200 {
+ margin-top: 0;
+ margin-left: -6rem; }
+ .row.gtr-200 > * {
+ padding: 0 0 0 6rem; }
+ .row.gtr-200.gtr-uniform {
+ margin-top: -6rem; }
+ .row.gtr-200.gtr-uniform > * {
+ padding-top: 6rem; } }
+@media screen and (max-width: 1280px) {
+ .row {
+ display: flex;
+ flex-wrap: wrap;
+ box-sizing: border-box; }
+ .row > * {
+ box-sizing: border-box; }
+ .row.gtr-uniform > * > :last-child {
+ margin-bottom: 0; }
+
+ .row > .imp-large {
+ order: -1; }
+ .row > .col-1-large {
+ width: 8.3333333333%; }
+ .row > .off-1-large {
+ margin-left: 8.3333333333%; }
+ .row > .col-2-large {
+ width: 16.6666666667%; }
+ .row > .off-2-large {
+ margin-left: 16.6666666667%; }
+ .row > .col-3-large {
+ width: 25%; }
+ .row > .off-3-large {
+ margin-left: 25%; }
+ .row > .col-4-large {
+ width: 33.3333333333%; }
+ .row > .off-4-large {
+ margin-left: 33.3333333333%; }
+ .row > .col-5-large {
+ width: 41.6666666667%; }
+ .row > .off-5-large {
+ margin-left: 41.6666666667%; }
+ .row > .col-6-large {
+ width: 50%; }
+ .row > .off-6-large {
+ margin-left: 50%; }
+ .row > .col-7-large {
+ width: 58.3333333333%; }
+ .row > .off-7-large {
+ margin-left: 58.3333333333%; }
+ .row > .col-8-large {
+ width: 66.6666666667%; }
+ .row > .off-8-large {
+ margin-left: 66.6666666667%; }
+ .row > .col-9-large {
+ width: 75%; }
+ .row > .off-9-large {
+ margin-left: 75%; }
+ .row > .col-10-large {
+ width: 83.3333333333%; }
+ .row > .off-10-large {
+ margin-left: 83.3333333333%; }
+ .row > .col-11-large {
+ width: 91.6666666667%; }
+ .row > .off-11-large {
+ margin-left: 91.6666666667%; }
+ .row > .col-12-large {
+ width: 100%; }
+ .row > .off-12-large {
+ margin-left: 100%; }
+ .row.gtr-0 {
+ margin-top: 0;
+ margin-left: 0rem; }
+ .row.gtr-0 > * {
+ padding: 0 0 0 0rem; }
+ .row.gtr-0.gtr-uniform {
+ margin-top: 0rem; }
+ .row.gtr-0.gtr-uniform > * {
+ padding-top: 0rem; }
+ .row.gtr-25 {
+ margin-top: 0;
+ margin-left: -0.375rem; }
+ .row.gtr-25 > * {
+ padding: 0 0 0 0.375rem; }
+ .row.gtr-25.gtr-uniform {
+ margin-top: -0.375rem; }
+ .row.gtr-25.gtr-uniform > * {
+ padding-top: 0.375rem; }
+ .row.gtr-50 {
+ margin-top: 0;
+ margin-left: -0.75rem; }
+ .row.gtr-50 > * {
+ padding: 0 0 0 0.75rem; }
+ .row.gtr-50.gtr-uniform {
+ margin-top: -0.75rem; }
+ .row.gtr-50.gtr-uniform > * {
+ padding-top: 0.75rem; }
+ .row {
+ margin-top: 0;
+ margin-left: -1.5rem; }
+ .row > * {
+ padding: 0 0 0 1.5rem; }
+ .row.gtr-uniform {
+ margin-top: -1.5rem; }
+ .row.gtr-uniform > * {
+ padding-top: 1.5rem; }
+ .row.gtr-150 {
+ margin-top: 0;
+ margin-left: -2.25rem; }
+ .row.gtr-150 > * {
+ padding: 0 0 0 2.25rem; }
+ .row.gtr-150.gtr-uniform {
+ margin-top: -2.25rem; }
+ .row.gtr-150.gtr-uniform > * {
+ padding-top: 2.25rem; }
+ .row.gtr-200 {
+ margin-top: 0;
+ margin-left: -3rem; }
+ .row.gtr-200 > * {
+ padding: 0 0 0 3rem; }
+ .row.gtr-200.gtr-uniform {
+ margin-top: -3rem; }
+ .row.gtr-200.gtr-uniform > * {
+ padding-top: 3rem; } }
+@media screen and (max-width: 980px) {
+ .row {
+ display: flex;
+ flex-wrap: wrap;
+ box-sizing: border-box; }
+ .row > * {
+ box-sizing: border-box; }
+ .row.gtr-uniform > * > :last-child {
+ margin-bottom: 0; }
+
+ .row > .imp-medium {
+ order: -1; }
+ .row > .col-1-medium {
+ width: 8.3333333333%; }
+ .row > .off-1-medium {
+ margin-left: 8.3333333333%; }
+ .row > .col-2-medium {
+ width: 16.6666666667%; }
+ .row > .off-2-medium {
+ margin-left: 16.6666666667%; }
+ .row > .col-3-medium {
+ width: 25%; }
+ .row > .off-3-medium {
+ margin-left: 25%; }
+ .row > .col-4-medium {
+ width: 33.3333333333%; }
+ .row > .off-4-medium {
+ margin-left: 33.3333333333%; }
+ .row > .col-5-medium {
+ width: 41.6666666667%; }
+ .row > .off-5-medium {
+ margin-left: 41.6666666667%; }
+ .row > .col-6-medium {
+ width: 50%; }
+ .row > .off-6-medium {
+ margin-left: 50%; }
+ .row > .col-7-medium {
+ width: 58.3333333333%; }
+ .row > .off-7-medium {
+ margin-left: 58.3333333333%; }
+ .row > .col-8-medium {
+ width: 66.6666666667%; }
+ .row > .off-8-medium {
+ margin-left: 66.6666666667%; }
+ .row > .col-9-medium {
+ width: 75%; }
+ .row > .off-9-medium {
+ margin-left: 75%; }
+ .row > .col-10-medium {
+ width: 83.3333333333%; }
+ .row > .off-10-medium {
+ margin-left: 83.3333333333%; }
+ .row > .col-11-medium {
+ width: 91.6666666667%; }
+ .row > .off-11-medium {
+ margin-left: 91.6666666667%; }
+ .row > .col-12-medium {
+ width: 100%; }
+ .row > .off-12-medium {
+ margin-left: 100%; }
+ .row.gtr-0 {
+ margin-top: 0;
+ margin-left: 0rem; }
+ .row.gtr-0 > * {
+ padding: 0 0 0 0rem; }
+ .row.gtr-0.gtr-uniform {
+ margin-top: 0rem; }
+ .row.gtr-0.gtr-uniform > * {
+ padding-top: 0rem; }
+ .row.gtr-25 {
+ margin-top: 0;
+ margin-left: -0.375rem; }
+ .row.gtr-25 > * {
+ padding: 0 0 0 0.375rem; }
+ .row.gtr-25.gtr-uniform {
+ margin-top: -0.375rem; }
+ .row.gtr-25.gtr-uniform > * {
+ padding-top: 0.375rem; }
+ .row.gtr-50 {
+ margin-top: 0;
+ margin-left: -0.75rem; }
+ .row.gtr-50 > * {
+ padding: 0 0 0 0.75rem; }
+ .row.gtr-50.gtr-uniform {
+ margin-top: -0.75rem; }
+ .row.gtr-50.gtr-uniform > * {
+ padding-top: 0.75rem; }
+ .row {
+ margin-top: 0;
+ margin-left: -1.5rem; }
+ .row > * {
+ padding: 0 0 0 1.5rem; }
+ .row.gtr-uniform {
+ margin-top: -1.5rem; }
+ .row.gtr-uniform > * {
+ padding-top: 1.5rem; }
+ .row.gtr-150 {
+ margin-top: 0;
+ margin-left: -2.25rem; }
+ .row.gtr-150 > * {
+ padding: 0 0 0 2.25rem; }
+ .row.gtr-150.gtr-uniform {
+ margin-top: -2.25rem; }
+ .row.gtr-150.gtr-uniform > * {
+ padding-top: 2.25rem; }
+ .row.gtr-200 {
+ margin-top: 0;
+ margin-left: -3rem; }
+ .row.gtr-200 > * {
+ padding: 0 0 0 3rem; }
+ .row.gtr-200.gtr-uniform {
+ margin-top: -3rem; }
+ .row.gtr-200.gtr-uniform > * {
+ padding-top: 3rem; } }
+@media screen and (max-width: 736px) {
+ .row {
+ display: flex;
+ flex-wrap: wrap;
+ box-sizing: border-box; }
+ .row > * {
+ box-sizing: border-box; }
+ .row.gtr-uniform > * > :last-child {
+ margin-bottom: 0; }
+
+ .row > .imp-small {
+ order: -1; }
+ .row > .col-1-small {
+ width: 8.3333333333%; }
+ .row > .off-1-small {
+ margin-left: 8.3333333333%; }
+ .row > .col-2-small {
+ width: 16.6666666667%; }
+ .row > .off-2-small {
+ margin-left: 16.6666666667%; }
+ .row > .col-3-small {
+ width: 25%; }
+ .row > .off-3-small {
+ margin-left: 25%; }
+ .row > .col-4-small {
+ width: 33.3333333333%; }
+ .row > .off-4-small {
+ margin-left: 33.3333333333%; }
+ .row > .col-5-small {
+ width: 41.6666666667%; }
+ .row > .off-5-small {
+ margin-left: 41.6666666667%; }
+ .row > .col-6-small {
+ width: 50%; }
+ .row > .off-6-small {
+ margin-left: 50%; }
+ .row > .col-7-small {
+ width: 58.3333333333%; }
+ .row > .off-7-small {
+ margin-left: 58.3333333333%; }
+ .row > .col-8-small {
+ width: 66.6666666667%; }
+ .row > .off-8-small {
+ margin-left: 66.6666666667%; }
+ .row > .col-9-small {
+ width: 75%; }
+ .row > .off-9-small {
+ margin-left: 75%; }
+ .row > .col-10-small {
+ width: 83.3333333333%; }
+ .row > .off-10-small {
+ margin-left: 83.3333333333%; }
+ .row > .col-11-small {
+ width: 91.6666666667%; }
+ .row > .off-11-small {
+ margin-left: 91.6666666667%; }
+ .row > .col-12-small {
+ width: 100%; }
+ .row > .off-12-small {
+ margin-left: 100%; }
+ .row.gtr-0 {
+ margin-top: 0;
+ margin-left: 0rem; }
+ .row.gtr-0 > * {
+ padding: 0 0 0 0rem; }
+ .row.gtr-0.gtr-uniform {
+ margin-top: 0rem; }
+ .row.gtr-0.gtr-uniform > * {
+ padding-top: 0rem; }
+ .row.gtr-25 {
+ margin-top: 0;
+ margin-left: -0.3125rem; }
+ .row.gtr-25 > * {
+ padding: 0 0 0 0.3125rem; }
+ .row.gtr-25.gtr-uniform {
+ margin-top: -0.3125rem; }
+ .row.gtr-25.gtr-uniform > * {
+ padding-top: 0.3125rem; }
+ .row.gtr-50 {
+ margin-top: 0;
+ margin-left: -0.625rem; }
+ .row.gtr-50 > * {
+ padding: 0 0 0 0.625rem; }
+ .row.gtr-50.gtr-uniform {
+ margin-top: -0.625rem; }
+ .row.gtr-50.gtr-uniform > * {
+ padding-top: 0.625rem; }
+ .row {
+ margin-top: 0;
+ margin-left: -1.25rem; }
+ .row > * {
+ padding: 0 0 0 1.25rem; }
+ .row.gtr-uniform {
+ margin-top: -1.25rem; }
+ .row.gtr-uniform > * {
+ padding-top: 1.25rem; }
+ .row.gtr-150 {
+ margin-top: 0;
+ margin-left: -1.875rem; }
+ .row.gtr-150 > * {
+ padding: 0 0 0 1.875rem; }
+ .row.gtr-150.gtr-uniform {
+ margin-top: -1.875rem; }
+ .row.gtr-150.gtr-uniform > * {
+ padding-top: 1.875rem; }
+ .row.gtr-200 {
+ margin-top: 0;
+ margin-left: -2.5rem; }
+ .row.gtr-200 > * {
+ padding: 0 0 0 2.5rem; }
+ .row.gtr-200.gtr-uniform {
+ margin-top: -2.5rem; }
+ .row.gtr-200.gtr-uniform > * {
+ padding-top: 2.5rem; } }
+@media screen and (max-width: 480px) {
+ .row {
+ display: flex;
+ flex-wrap: wrap;
+ box-sizing: border-box; }
+ .row > * {
+ box-sizing: border-box; }
+ .row.gtr-uniform > * > :last-child {
+ margin-bottom: 0; }
+
+ .row > .imp-xsmall {
+ order: -1; }
+ .row > .col-1-xsmall {
+ width: 8.3333333333%; }
+ .row > .off-1-xsmall {
+ margin-left: 8.3333333333%; }
+ .row > .col-2-xsmall {
+ width: 16.6666666667%; }
+ .row > .off-2-xsmall {
+ margin-left: 16.6666666667%; }
+ .row > .col-3-xsmall {
+ width: 25%; }
+ .row > .off-3-xsmall {
+ margin-left: 25%; }
+ .row > .col-4-xsmall {
+ width: 33.3333333333%; }
+ .row > .off-4-xsmall {
+ margin-left: 33.3333333333%; }
+ .row > .col-5-xsmall {
+ width: 41.6666666667%; }
+ .row > .off-5-xsmall {
+ margin-left: 41.6666666667%; }
+ .row > .col-6-xsmall {
+ width: 50%; }
+ .row > .off-6-xsmall {
+ margin-left: 50%; }
+ .row > .col-7-xsmall {
+ width: 58.3333333333%; }
+ .row > .off-7-xsmall {
+ margin-left: 58.3333333333%; }
+ .row > .col-8-xsmall {
+ width: 66.6666666667%; }
+ .row > .off-8-xsmall {
+ margin-left: 66.6666666667%; }
+ .row > .col-9-xsmall {
+ width: 75%; }
+ .row > .off-9-xsmall {
+ margin-left: 75%; }
+ .row > .col-10-xsmall {
+ width: 83.3333333333%; }
+ .row > .off-10-xsmall {
+ margin-left: 83.3333333333%; }
+ .row > .col-11-xsmall {
+ width: 91.6666666667%; }
+ .row > .off-11-xsmall {
+ margin-left: 91.6666666667%; }
+ .row > .col-12-xsmall {
+ width: 100%; }
+ .row > .off-12-xsmall {
+ margin-left: 100%; }
+ .row.gtr-0 {
+ margin-top: 0;
+ margin-left: 0rem; }
+ .row.gtr-0 > * {
+ padding: 0 0 0 0rem; }
+ .row.gtr-0.gtr-uniform {
+ margin-top: 0rem; }
+ .row.gtr-0.gtr-uniform > * {
+ padding-top: 0rem; }
+ .row.gtr-25 {
+ margin-top: 0;
+ margin-left: -0.3125rem; }
+ .row.gtr-25 > * {
+ padding: 0 0 0 0.3125rem; }
+ .row.gtr-25.gtr-uniform {
+ margin-top: -0.3125rem; }
+ .row.gtr-25.gtr-uniform > * {
+ padding-top: 0.3125rem; }
+ .row.gtr-50 {
+ margin-top: 0;
+ margin-left: -0.625rem; }
+ .row.gtr-50 > * {
+ padding: 0 0 0 0.625rem; }
+ .row.gtr-50.gtr-uniform {
+ margin-top: -0.625rem; }
+ .row.gtr-50.gtr-uniform > * {
+ padding-top: 0.625rem; }
+ .row {
+ margin-top: 0;
+ margin-left: -1.25rem; }
+ .row > * {
+ padding: 0 0 0 1.25rem; }
+ .row.gtr-uniform {
+ margin-top: -1.25rem; }
+ .row.gtr-uniform > * {
+ padding-top: 1.25rem; }
+ .row.gtr-150 {
+ margin-top: 0;
+ margin-left: -1.875rem; }
+ .row.gtr-150 > * {
+ padding: 0 0 0 1.875rem; }
+ .row.gtr-150.gtr-uniform {
+ margin-top: -1.875rem; }
+ .row.gtr-150.gtr-uniform > * {
+ padding-top: 1.875rem; }
+ .row.gtr-200 {
+ margin-top: 0;
+ margin-left: -2.5rem; }
+ .row.gtr-200 > * {
+ padding: 0 0 0 2.5rem; }
+ .row.gtr-200.gtr-uniform {
+ margin-top: -2.5rem; }
+ .row.gtr-200.gtr-uniform > * {
+ padding-top: 2.5rem; } }
+/* Icon */
+.icon {
+ text-decoration: none;
+ border-bottom: none;
+ position: relative; }
+ .icon:before {
+ -moz-osx-font-smoothing: grayscale;
+ -webkit-font-smoothing: antialiased;
+ font-family: FontAwesome;
+ font-style: normal;
+ font-weight: normal;
+ text-transform: none !important; }
+ .icon > .label {
+ display: none; }
+
+/* Icons */
+ul.icons {
+ cursor: default;
+ list-style: none;
+ padding-left: 0; }
+ ul.icons li {
+ display: inline-block;
+ padding: 0 1rem 0 0; }
+ ul.icons li:last-child {
+ padding-right: 0; }
+ ul.icons li .icon:before {
+ font-size: 2rem; }
+
+/* Image */
+.image {
+ border-radius: 4px;
+ border: 0;
+ display: inline-block;
+ position: relative; }
+ .image img {
+ border-radius: 4px;
+ display: block; }
+ .image.left, .image.right {
+ max-width: 40%; }
+ .image.left img, .image.right img {
+ width: 100%; }
+ .image.left {
+ float: left;
+ margin: 0 2rem 2rem 0;
+ top: 0.25rem; }
+ .image.right {
+ float: right;
+ margin: 0 0 2rem 2rem;
+ top: 0.25rem; }
+ .image.fit {
+ display: block;
+ margin: 0 0 2rem 0;
+ width: 100%; }
+ .image.fit img {
+ width: 100%; }
+ .image.main {
+ display: block;
+ margin: 0 0 3rem 0;
+ width: 100%; }
+ .image.main img {
+ width: 100%; }
+
+/* Wrapper */
+.wrapper {
+ padding: 8rem 0 6rem 0 ;
+ position: relative;
+ z-index: 1; }
+ @media screen and (max-width: 1280px) {
+ .wrapper {
+ padding: 4rem 0 2rem 0 ; } }
+ @media screen and (max-width: 736px) {
+ .wrapper {
+ padding: 3rem 0 1rem 0 ; } }
+ @media screen and (max-width: 480px) {
+ .wrapper {
+ padding: 2rem 0 0.1rem 0 ; } }
+
+/* Banner */
+#banner {
+ -ms-flex-align: center;
+ -ms-flex-pack: center;
+ background-color: #111111;
+ color: rgba(255, 255, 255, 0.5);
+ -moz-align-items: center;
+ -webkit-align-items: center;
+ -ms-align-items: center;
+ align-items: center;
+ display: -moz-flex;
+ display: -webkit-flex;
+ display: -ms-flex;
+ display: flex;
+ -moz-justify-content: center;
+ -webkit-justify-content: center;
+ -ms-justify-content: center;
+ justify-content: center;
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: cover;
+ border-top: 0;
+ display: -ms-flexbox;
+ height: 35rem !important;
+ min-height: 35rem;
+ overflow: hidden;
+ position: relative;
+ text-align: center;
+ width: 100%; }
+ #banner input, #banner select, #banner textarea {
+ color: #ffffff; }
+ #banner a {
+ color: #ce1b28; }
+ #banner strong, #banner b {
+ color: #ffffff; }
+ #banner h1, #banner h2, #banner h3, #banner h4, #banner h5, #banner h6 {
+ color: #ffffff; }
+ #banner blockquote {
+ border-left-color: rgba(255, 255, 255, 0.25); }
+ #banner code {
+ background: rgba(255, 255, 255, 0.075);
+ border-color: rgba(255, 255, 255, 0.25); }
+ #banner hr {
+ border-bottom-color: rgba(255, 255, 255, 0.25); }
+ #banner input[type="submit"],
+ #banner input[type="reset"],
+ #banner input[type="button"],
+ #banner button,
+ #banner .button {
+ background-color: transparent;
+ box-shadow: inset 0 0 0 1px #ffffff;
+ color: #ffffff !important; }
+ #banner input[type="submit"]:hover,
+ #banner input[type="reset"]:hover,
+ #banner input[type="button"]:hover,
+ #banner button:hover,
+ #banner .button:hover {
+ box-shadow: inset 0 0 0 1px #ce1b28;
+ color: #ce1b28 !important; }
+ #banner input[type="submit"]:hover:active,
+ #banner input[type="reset"]:hover:active,
+ #banner input[type="button"]:hover:active,
+ #banner button:hover:active,
+ #banner .button:hover:active {
+ background-color: rgba(206, 27, 40, 0.25); }
+ #banner input[type="submit"].primary,
+ #banner input[type="reset"].primary,
+ #banner input[type="button"].primary,
+ #banner button.primary,
+ #banner .button.primary {
+ box-shadow: none;
+ background-color: #ce1b28;
+ color: #ffffff !important; }
+ #banner input[type="submit"].primary:hover,
+ #banner input[type="reset"].primary:hover,
+ #banner input[type="button"].primary:hover,
+ #banner button.primary:hover,
+ #banner .button.primary:hover {
+ background-color: #e2212f;
+ box-shadow: none; }
+ #banner input[type="submit"].primary:hover:active,
+ #banner input[type="reset"].primary:hover:active,
+ #banner input[type="button"].primary:hover:active,
+ #banner button.primary:hover:active,
+ #banner .button.primary:hover:active {
+ background-color: #b71824; }
+ #banner label {
+ color: #ffffff; }
+ #banner input[type="text"],
+ #banner input[type="number"],
+ #banner input[type="password"],
+ #banner input[type="email"],
+ #banner input[type="tel"],
+ #banner input[type="search"],
+ #banner input[type="url"],
+ #banner select,
+ #banner textarea {
+ background-color: rgba(255, 255, 255, 0.075);
+ border-color: rgba(255, 255, 255, 0.25); }
+ #banner input[type="text"]:focus,
+ #banner input[type="number"]:focus,
+ #banner input[type="password"]:focus,
+ #banner input[type="email"]:focus,
+ #banner input[type="tel"]:focus,
+ #banner input[type="search"]:focus,
+ #banner input[type="url"]:focus,
+ #banner select:focus,
+ #banner textarea:focus {
+ border-color: #ce1b28;
+ box-shadow: 0 0 0 1px #ce1b28; }
+ #banner select {
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='rgba(255, 255, 255, 0.25)' /%3E%3C/svg%3E"); }
+ #banner select option {
+ color: rgba(255, 255, 255, 0.5);
+ background-color: #111111; }
+ #banner input[type="checkbox"] + label,
+ #banner input[type="radio"] + label {
+ color: rgba(255, 255, 255, 0.5); }
+ #banner input[type="checkbox"] + label:before,
+ #banner input[type="radio"] + label:before {
+ background: rgba(255, 255, 255, 0.075);
+ border-color: rgba(255, 255, 255, 0.25); }
+ #banner input[type="checkbox"]:checked + label:before,
+ #banner input[type="radio"]:checked + label:before {
+ background-color: #ce1b28;
+ border-color: #ce1b28;
+ color: #ffffff; }
+ #banner input[type="checkbox"]:focus + label:before,
+ #banner input[type="radio"]:focus + label:before {
+ border-color: #ce1b28;
+ box-shadow: 0 0 0 1px #ce1b28; }
+ #banner ::-webkit-input-placeholder {
+ color: rgba(255, 255, 255, 0.4) !important; }
+ #banner :-moz-placeholder {
+ color: rgba(255, 255, 255, 0.4) !important; }
+ #banner ::-moz-placeholder {
+ color: rgba(255, 255, 255, 0.4) !important; }
+ #banner :-ms-input-placeholder {
+ color: rgba(255, 255, 255, 0.4) !important; }
+ #banner ul.alt li {
+ border-top-color: rgba(255, 255, 255, 0.25); }
+ #banner table tbody tr {
+ border-color: rgba(255, 255, 255, 0.25); }
+ #banner table tbody tr:nth-child(2n + 1) {
+ background-color: rgba(255, 255, 255, 0.075); }
+ #banner table th {
+ color: #ffffff; }
+ #banner table thead {
+ border-bottom-color: rgba(255, 255, 255, 0.25); }
+ #banner table tfoot {
+ border-top-color: rgba(255, 255, 255, 0.25); }
+ #banner table.alt tbody tr td {
+ border-color: rgba(255, 255, 255, 0.25); }
+ #banner .highlights .content {
+ background: #111111;
+ box-shadow: 0px 0px 4px 1px rgba(255, 255, 255, 0.025); }
+ #banner .testimonials .content {
+ background: #111111;
+ box-shadow: 0px 0px 4px 1px rgba(255, 255, 255, 0.025); }
+ #banner .testimonials .content .credit strong {
+ color: #ce1b28; }
+ #banner > .inner {
+ -moz-transform: scale(1.0);
+ -webkit-transform: scale(1.0);
+ -ms-transform: scale(1.0);
+ transform: scale(1.0);
+ -moz-transition: opacity 1s ease, -moz-transform 1s ease;
+ -webkit-transition: opacity 1s ease, -webkit-transform 1s ease;
+ -ms-transition: opacity 1s ease, -ms-transform 1s ease;
+ transition: opacity 1s ease, transform 1s ease;
+ opacity: 1;
+ position: relative;
+ z-index: 3; }
+ #banner > .inner > :last-child {
+ margin-bottom: 0; }
+ #banner h1 {
+ font-size: 4rem;
+ margin-bottom: 1rem; }
+ #banner p {
+ font-size: 1.5rem; }
+ #banner a {
+ color: rgba(255, 255, 255, 0.5);
+ text-decoration: none; }
+ #banner a:hover {
+ color: #ffffff; }
+ #banner video {
+ -moz-transform: translateX(50%) translateY(50%);
+ -webkit-transform: translateX(50%) translateY(50%);
+ -ms-transform: translateX(50%) translateY(50%);
+ transform: translateX(50%) translateY(50%);
+ bottom: 50%;
+ height: auto;
+ min-height: 100%;
+ min-width: 100%;
+ overflow: hidden;
+ position: absolute;
+ right: 50%;
+ width: auto; }
+ #banner:before {
+ -moz-transition: opacity 3s ease;
+ -webkit-transition: opacity 3s ease;
+ -ms-transition: opacity 3s ease;
+ transition: opacity 3s ease;
+ -moz-transition-delay: 1.25s;
+ -webkit-transition-delay: 1.25s;
+ -ms-transition-delay: 1.25s;
+ transition-delay: 1.25s;
+ background: #111111;
+ content: '';
+ display: block;
+ height: 100%;
+ left: 0;
+ opacity: 0.45;
+ position: absolute;
+ top: 0;
+ width: 100%;
+ z-index: 1; }
+ #banner:after {
+ background: linear-gradient(135deg, #ce1b28 0%, #111111 74%);
+ content: ' ';
+ display: block;
+ height: 100%;
+ left: 0;
+ opacity: 0.6;
+ position: absolute;
+ top: 0;
+ webkit-linear-gradientidth: 100%;
+ width: 100%;
+ z-index: 1; }
+ #banner.small {
+ height: 30vh !important;
+ min-height: 30vh; }
+ @media screen and (max-width: 1280px) {
+ #banner video {
+ display: none; } }
+ @media screen and (max-width: 736px) {
+ #banner {
+ height: auto !important;
+ min-height: 0;
+ padding: 4rem 2rem 4rem 2rem; }
+ #banner .inner {
+ width: 100%; }
+ #banner h1 {
+ font-size: 1.75rem;
+ margin-bottom: 0.5rem;
+ padding-bottom: 0; }
+ #banner p {
+ font-size: 1.25rem; }
+ #banner br {
+ display: none; }
+ #banner .button {
+ width: 100%; } }
+ @media screen and (max-width: 480px) {
+ #banner p {
+ font-size: 1rem; } }
+ body.is-preload #banner .inner {
+ -moz-transform: scale(0.99);
+ -webkit-transform: scale(0.99);
+ -ms-transform: scale(0.99);
+ transform: scale(0.99);
+ opacity: 0; }
+ body.is-preload #banner:before {
+ opacity: 1; }
+
+/* CTA */
+#cta {
+ background-color: #ce1b28;
+ color: rgba(255, 255, 255, 0.75);
+ background-attachment: fixed;
+ background-image: linear-gradient(rgba(206, 27, 40, 0.25), rgba(206, 27, 40, 0.25)), url(../../images/cta01.jpg);
+ background-position: bottom;
+ background-repeat: no-repeat;
+ background-size: cover;
+ position: relative;
+ text-align: center;
+ z-index: 1; }
+ #cta input, #cta select, #cta textarea {
+ color: #ffffff; }
+ #cta a {
+ color: #ffffff; }
+ #cta strong, #cta b {
+ color: #ffffff; }
+ #cta h1, #cta h2, #cta h3, #cta h4, #cta h5, #cta h6 {
+ color: #ffffff; }
+ #cta blockquote {
+ border-left-color: rgba(255, 255, 255, 0.25); }
+ #cta code {
+ background: rgba(255, 255, 255, 0.075);
+ border-color: rgba(255, 255, 255, 0.25); }
+ #cta hr {
+ border-bottom-color: rgba(255, 255, 255, 0.25); }
+ #cta input[type="submit"],
+ #cta input[type="reset"],
+ #cta input[type="button"],
+ #cta button,
+ #cta .button {
+ background-color: transparent;
+ box-shadow: inset 0 0 0 1px #ffffff;
+ color: #ffffff !important; }
+ #cta input[type="submit"]:hover,
+ #cta input[type="reset"]:hover,
+ #cta input[type="button"]:hover,
+ #cta button:hover,
+ #cta .button:hover {
+ background-color: rgba(255, 255, 255, 0.1); }
+ #cta input[type="submit"]:hover:active,
+ #cta input[type="reset"]:hover:active,
+ #cta input[type="button"]:hover:active,
+ #cta button:hover:active,
+ #cta .button:hover:active {
+ background-color: rgba(255, 255, 255, 0.25); }
+ #cta input[type="submit"].primary,
+ #cta input[type="reset"].primary,
+ #cta input[type="button"].primary,
+ #cta button.primary,
+ #cta .button.primary {
+ box-shadow: none;
+ background-color: #ffffff;
+ color: #ce1b28 !important; }
+ #cta input[type="submit"].primary:hover,
+ #cta input[type="reset"].primary:hover,
+ #cta input[type="button"].primary:hover,
+ #cta button.primary:hover,
+ #cta .button.primary:hover {
+ background-color: rgba(255, 255, 255, 0.875);
+ box-shadow: none; }
+ #cta input[type="submit"].primary:hover:active,
+ #cta input[type="reset"].primary:hover:active,
+ #cta input[type="button"].primary:hover:active,
+ #cta button.primary:hover:active,
+ #cta .button.primary:hover:active {
+ background-color: rgba(255, 255, 255, 0.5); }
+ #cta label {
+ color: #ffffff; }
+ #cta input[type="text"],
+ #cta input[type="password"],
+ #cta input[type="email"],
+ #cta input[type="tel"],
+ #cta input[type="search"],
+ #cta input[type="url"],
+ #cta select,
+ #cta textarea {
+ background-color: rgba(255, 255, 255, 0.075);
+ border-color: rgba(255, 255, 255, 0.25); }
+ #cta input[type="text"]:focus,
+ #cta input[type="number"]:focus,
+ #cta input[type="password"]:focus,
+ #cta input[type="email"]:focus,
+ #cta input[type="tel"]:focus,
+ #cta input[type="search"]:focus,
+ #cta input[type="url"]:focus,
+ #cta select:focus,
+ #cta textarea:focus {
+ border-color: #ffffff;
+ box-shadow: 0 0 0 1px #ffffff; }
+ #cta select {
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='rgba(255, 255, 255, 0.25)' /%3E%3C/svg%3E"); }
+ #cta select option {
+ color: rgba(255, 255, 255, 0.75);
+ background-color: #ce1b28; }
+ #cta input[type="checkbox"] + label,
+ #cta input[type="radio"] + label {
+ color: rgba(255, 255, 255, 0.75); }
+ #cta input[type="checkbox"] + label:before,
+ #cta input[type="radio"] + label:before {
+ background: rgba(255, 255, 255, 0.075);
+ border-color: rgba(255, 255, 255, 0.25); }
+ #cta input[type="checkbox"]:checked + label:before,
+ #cta input[type="radio"]:checked + label:before {
+ background-color: #ffffff;
+ border-color: #ffffff;
+ color: #ce1b28; }
+ #cta input[type="checkbox"]:focus + label:before,
+ #cta input[type="radio"]:focus + label:before {
+ border-color: #ffffff;
+ box-shadow: 0 0 0 1px #ffffff; }
+ #cta ::-webkit-input-placeholder {
+ color: rgba(255, 255, 255, 0.4) !important; }
+ #cta :-moz-placeholder {
+ color: rgba(255, 255, 255, 0.4) !important; }
+ #cta ::-moz-placeholder {
+ color: rgba(255, 255, 255, 0.4) !important; }
+ #cta :-ms-input-placeholder {
+ color: rgba(255, 255, 255, 0.4) !important; }
+ #cta ul.alt li {
+ border-top-color: rgba(255, 255, 255, 0.25); }
+ #cta table tbody tr {
+ border-color: rgba(255, 255, 255, 0.25); }
+ #cta table tbody tr:nth-child(2n + 1) {
+ background-color: rgba(255, 255, 255, 0.075); }
+ #cta table th {
+ color: #ffffff; }
+ #cta table thead {
+ border-bottom-color: rgba(255, 255, 255, 0.25); }
+ #cta table tfoot {
+ border-top-color: rgba(255, 255, 255, 0.25); }
+ #cta table.alt tbody tr td {
+ border-color: rgba(255, 255, 255, 0.25); }
+ #cta .highlights .content {
+ background: #ce1b28;
+ box-shadow: 0px 0px 4px 1px rgba(255, 255, 255, 0.025); }
+ #cta .testimonials .content {
+ background: #ce1b28;
+ box-shadow: 0px 0px 4px 1px rgba(255, 255, 255, 0.025); }
+ #cta .testimonials .content .credit strong {
+ color: #ce1b28; }
+ #cta .inner {
+ position: relative;
+ z-index: 3; }
+ @media screen and (max-width: 980px) {
+ #cta {
+ background-attachment: scroll; } }
+
+/* Footer */
+#footer {
+ background-color: #111111;
+ color: rgba(255, 255, 255, 0.5);
+ padding: 8rem 0 6rem 0 ; }
+ #footer input, #footer select, #footer textarea {
+ color: #ffffff; }
+ #footer a {
+ color: #ce1b28; }
+ #footer strong, #footer b {
+ color: #ffffff; }
+ #footer h1, #footer h2, #footer h3, #footer h4, #footer h5, #footer h6 {
+ color: #ffffff; }
+ #footer blockquote {
+ border-left-color: rgba(255, 255, 255, 0.25); }
+ #footer code {
+ background: rgba(255, 255, 255, 0.075);
+ border-color: rgba(255, 255, 255, 0.25); }
+ #footer hr {
+ border-bottom-color: rgba(255, 255, 255, 0.25); }
+ #footer input[type="submit"],
+ #footer input[type="reset"],
+ #footer input[type="button"],
+ #footer button,
+ #footer .button {
+ background-color: transparent;
+ box-shadow: inset 0 0 0 1px #ffffff;
+ color: #ffffff !important; }
+ #footer input[type="submit"]:hover,
+ #footer input[type="reset"]:hover,
+ #footer input[type="button"]:hover,
+ #footer button:hover,
+ #footer .button:hover {
+ box-shadow: inset 0 0 0 1px #ce1b28;
+ color: #ce1b28 !important; }
+ #footer input[type="submit"]:hover:active,
+ #footer input[type="reset"]:hover:active,
+ #footer input[type="button"]:hover:active,
+ #footer button:hover:active,
+ #footer .button:hover:active {
+ background-color: rgba(206, 27, 40, 0.25); }
+ #footer input[type="submit"].primary,
+ #footer input[type="reset"].primary,
+ #footer input[type="button"].primary,
+ #footer button.primary,
+ #footer .button.primary {
+ box-shadow: none;
+ background-color: #ce1b28;
+ color: #ffffff !important; }
+ #footer input[type="submit"].primary:hover,
+ #footer input[type="reset"].primary:hover,
+ #footer input[type="button"].primary:hover,
+ #footer button.primary:hover,
+ #footer .button.primary:hover {
+ background-color: #e2212f;
+ box-shadow: none; }
+ #footer input[type="submit"].primary:hover:active,
+ #footer input[type="reset"].primary:hover:active,
+ #footer input[type="button"].primary:hover:active,
+ #footer button.primary:hover:active,
+ #footer .button.primary:hover:active {
+ background-color: #b71824; }
+ #footer label {
+ color: #ffffff; }
+ #footer input[type="text"],
+ #footer input[type="password"],
+ #footer input[type="email"],
+ #footer input[type="tel"],
+ #footer input[type="search"],
+ #footer input[type="url"],
+ #footer select,
+ #footer textarea {
+ background-color: rgba(255, 255, 255, 0.075);
+ border-color: rgba(255, 255, 255, 0.25); }
+ #footer input[type="text"]:focus,
+ #footer input[type="number"]:focus,
+ #footer input[type="password"]:focus,
+ #footer input[type="email"]:focus,
+ #footer input[type="tel"]:focus,
+ #footer input[type="search"]:focus,
+ #footer input[type="url"]:focus,
+ #footer select:focus,
+ #footer textarea:focus {
+ border-color: #ce1b28;
+ box-shadow: 0 0 0 1px #ce1b28; }
+ #footer select {
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='rgba(255, 255, 255, 0.25)' /%3E%3C/svg%3E"); }
+ #footer select option {
+ color: rgba(255, 255, 255, 0.5);
+ background-color: #111111; }
+ #footer input[type="checkbox"] + label,
+ #footer input[type="radio"] + label {
+ color: rgba(255, 255, 255, 0.5); }
+ #footer input[type="checkbox"] + label:before,
+ #footer input[type="radio"] + label:before {
+ background: rgba(255, 255, 255, 0.075);
+ border-color: rgba(255, 255, 255, 0.25); }
+ #footer input[type="checkbox"]:checked + label:before,
+ #footer input[type="radio"]:checked + label:before {
+ background-color: #ce1b28;
+ border-color: #ce1b28;
+ color: #ffffff; }
+ #footer input[type="checkbox"]:focus + label:before,
+ #footer input[type="radio"]:focus + label:before {
+ border-color: #ce1b28;
+ box-shadow: 0 0 0 1px #ce1b28; }
+ #footer ::-webkit-input-placeholder {
+ color: rgba(255, 255, 255, 0.4) !important; }
+ #footer :-moz-placeholder {
+ color: rgba(255, 255, 255, 0.4) !important; }
+ #footer ::-moz-placeholder {
+ color: rgba(255, 255, 255, 0.4) !important; }
+ #footer :-ms-input-placeholder {
+ color: rgba(255, 255, 255, 0.4) !important; }
+ #footer ul.alt li {
+ border-top-color: rgba(255, 255, 255, 0.25); }
+ #footer table tbody tr {
+ border-color: rgba(255, 255, 255, 0.25); }
+ #footer table tbody tr:nth-child(2n + 1) {
+ background-color: rgba(255, 255, 255, 0.075); }
+ #footer table th {
+ color: #ffffff; }
+ #footer table thead {
+ border-bottom-color: rgba(255, 255, 255, 0.25); }
+ #footer table tfoot {
+ border-top-color: rgba(255, 255, 255, 0.25); }
+ #footer table.alt tbody tr td {
+ border-color: rgba(255, 255, 255, 0.25); }
+ #footer .highlights .content {
+ background: #111111;
+ box-shadow: 0px 0px 4px 1px rgba(255, 255, 255, 0.025); }
+ #footer .testimonials .content {
+ background: #111111;
+ box-shadow: 0px 0px 4px 1px rgba(255, 255, 255, 0.025); }
+ #footer .testimonials .content .credit strong {
+ color: #ce1b28; }
+ #footer a {
+ color: rgba(255, 255, 255, 0.5);
+ text-decoration: none; }
+ #footer a:hover {
+ color: #ce1b28; }
+ #footer .content {
+ display: -moz-flex;
+ display: -webkit-flex;
+ display: -ms-flex;
+ display: flex; }
+ #footer .content section {
+ width: 25%; }
+ #footer .content section:first-child {
+ width: 50%;
+ padding-right: 4rem; }
+ #footer .content section:last-child {
+ padding-left: 4rem; }
+ #footer .copyright {
+ border-top: 1px solid;
+ font-size: 0.8rem;
+ opacity: 0.5;
+ padding: 2rem 0;
+ text-align: center; }
+ @media screen and (max-width: 1280px) {
+ #footer {
+ padding: 4rem 0 2rem 0 ; } }
+ @media screen and (max-width: 980px) {
+ #footer .content {
+ -moz-flex-wrap: wrap;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap; }
+ #footer .content section {
+ width: 50%; }
+ #footer .content section:first-child {
+ width: 100%;
+ padding-right: 0; } }
+ @media screen and (max-width: 736px) {
+ #footer {
+ padding: 3rem 0 1rem 0 ; }
+ #footer .content section {
+ width: 100%; }
+ #footer .content section:last-child {
+ padding-left: 0; } }
+ @media screen and (max-width: 480px) {
+ #footer {
+ padding: 2rem 0 0.1rem 0 ; } }
+
+/* Header */
+body {
+ padding-top: 3.25rem; }
+ body:before {
+ content: ' ';
+ background-image: url(../../images/bg.jpg);
+ background-size: cover;
+ background-repeat: no-repeat;
+ background-attachment: fixed;
+ display: block;
+ position: fixed;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ z-index: -1;
+ opacity: 0.05; }
+
+#header {
+ -moz-align-items: center;
+ -webkit-align-items: center;
+ -ms-align-items: center;
+ align-items: center;
+ display: -moz-flex;
+ display: -webkit-flex;
+ display: -ms-flex;
+ display: flex;
+ -moz-justify-content: space-between;
+ -webkit-justify-content: space-between;
+ -ms-justify-content: space-between;
+ justify-content: space-between;
+ background: #111111;
+ color: rgba(255, 255, 255, 0.5);
+ cursor: default;
+ height: 3.25rem;
+ left: 0;
+ line-height: 3.25rem;
+ position: fixed;
+ top: 0;
+ width: 100%;
+ z-index: 10001; }
+ #header > .logo {
+ color: #ffffff;
+ font-size: 1rem;
+ font-weight: 600;
+ height: inherit;
+ line-height: inherit;
+ padding: 0 1.25rem;
+ text-decoration: none; }
+ #header > nav > a {
+ color: inherit;
+ display: inline-block;
+ padding: 0 0.75rem;
+ text-decoration: none; }
+ #header > nav > a:hover {
+ color: #ffffff; }
+ #header > nav > a[href="#menu"] {
+ text-decoration: none;
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
+ #header > nav > a[href="#menu"]:before {
+ -moz-osx-font-smoothing: grayscale;
+ -webkit-font-smoothing: antialiased;
+ font-family: FontAwesome;
+ font-style: normal;
+ font-weight: normal;
+ text-transform: none !important; }
+ #header > nav > a[href="#menu"]:before {
+ content: '\f0c9';
+ margin: 0 0.5rem 0 0; }
+ #header > nav > a + a[href="#menu"]:last-child {
+ border-left: solid 1px rgba(255, 255, 255, 0.25);
+ margin-left: 0.5rem;
+ padding-left: 1.25rem; }
+ #header > nav > a:last-child {
+ padding-right: 1.25rem; }
+ @media screen and (max-width: 736px) {
+ #header > nav > a {
+ padding: 0 0.5rem; }
+ #header > nav > a + a[href="#menu"]:last-child {
+ margin-left: 0.25rem;
+ padding-left: 1rem; }
+ #header > nav > a:last-child {
+ padding-right: 1rem; } }
+
+@media screen and (max-width: 980px) {
+ body {
+ padding-top: 44px; }
+
+ #header {
+ height: 44px;
+ line-height: 44px; } }
+@media screen and (max-width: 480px) {
+ #header {
+ min-width: 320px; } }
+/* Heading */
+#heading {
+ -ms-flex-align: center;
+ -ms-flex-pack: center;
+ background-color: #111111;
+ color: rgba(255, 255, 255, 0.5);
+ -moz-align-items: center;
+ -webkit-align-items: center;
+ -ms-align-items: center;
+ align-items: center;
+ display: -moz-flex;
+ display: -webkit-flex;
+ display: -ms-flex;
+ display: flex;
+ -moz-justify-content: center;
+ -webkit-justify-content: center;
+ -ms-justify-content: center;
+ justify-content: center;
+ background-image: linear-gradient(rgba(17, 17, 17, 0.25), rgba(17, 17, 17, 0.25)), url("../../images/banner.jpg");
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: cover;
+ border-top: 0;
+ display: -ms-flexbox;
+ height: 15rem !important;
+ min-height: 15rem;
+ overflow: hidden;
+ position: relative;
+ text-align: center;
+ width: 100%; }
+ #heading input, #heading select, #heading textarea {
+ color: #ffffff; }
+ #heading a {
+ color: #ce1b28; }
+ #heading strong, #heading b {
+ color: #ffffff; }
+ #heading h1, #heading h2, #heading h3, #heading h4, #heading h5, #heading h6 {
+ color: #ffffff; }
+ #heading blockquote {
+ border-left-color: rgba(255, 255, 255, 0.25); }
+ #heading code {
+ background: rgba(255, 255, 255, 0.075);
+ border-color: rgba(255, 255, 255, 0.25); }
+ #heading hr {
+ border-bottom-color: rgba(255, 255, 255, 0.25); }
+ #heading input[type="submit"],
+ #heading input[type="reset"],
+ #heading input[type="button"],
+ #heading button,
+ #heading .button {
+ background-color: transparent;
+ box-shadow: inset 0 0 0 1px #ffffff;
+ color: #ffffff !important; }
+ #heading input[type="submit"]:hover,
+ #heading input[type="reset"]:hover,
+ #heading input[type="button"]:hover,
+ #heading button:hover,
+ #heading .button:hover {
+ box-shadow: inset 0 0 0 1px #ce1b28;
+ color: #ce1b28 !important; }
+ #heading input[type="submit"]:hover:active,
+ #heading input[type="reset"]:hover:active,
+ #heading input[type="button"]:hover:active,
+ #heading button:hover:active,
+ #heading .button:hover:active {
+ background-color: rgba(206, 27, 40, 0.25); }
+ #heading input[type="submit"].primary,
+ #heading input[type="reset"].primary,
+ #heading input[type="button"].primary,
+ #heading button.primary,
+ #heading .button.primary {
+ box-shadow: none;
+ background-color: #ce1b28;
+ color: #ffffff !important; }
+ #heading input[type="submit"].primary:hover,
+ #heading input[type="reset"].primary:hover,
+ #heading input[type="button"].primary:hover,
+ #heading button.primary:hover,
+ #heading .button.primary:hover {
+ background-color: #e2212f;
+ box-shadow: none; }
+ #heading input[type="submit"].primary:hover:active,
+ #heading input[type="reset"].primary:hover:active,
+ #heading input[type="button"].primary:hover:active,
+ #heading button.primary:hover:active,
+ #heading .button.primary:hover:active {
+ background-color: #b71824; }
+ #heading label {
+ color: #ffffff; }
+ #heading input[type="text"],
+ #heading input[type="password"],
+ #heading input[type="email"],
+ #heading input[type="tel"],
+ #heading input[type="search"],
+ #heading input[type="url"],
+ #heading select,
+ #heading textarea {
+ background-color: rgba(255, 255, 255, 0.075);
+ border-color: rgba(255, 255, 255, 0.25); }
+ #heading input[type="text"]:focus,
+ #heading input[type="number"]:focus,
+ #heading input[type="password"]:focus,
+ #heading input[type="email"]:focus,
+ #heading input[type="tel"]:focus,
+ #heading input[type="search"]:focus,
+ #heading input[type="url"]:focus,
+ #heading select:focus,
+ #heading textarea:focus {
+ border-color: #ce1b28;
+ box-shadow: 0 0 0 1px #ce1b28; }
+ #heading select {
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='rgba(255, 255, 255, 0.25)' /%3E%3C/svg%3E"); }
+ #heading select option {
+ color: rgba(255, 255, 255, 0.5);
+ background-color: #111111; }
+ #heading input[type="checkbox"] + label,
+ #heading input[type="radio"] + label {
+ color: rgba(255, 255, 255, 0.5); }
+ #heading input[type="checkbox"] + label:before,
+ #heading input[type="radio"] + label:before {
+ background: rgba(255, 255, 255, 0.075);
+ border-color: rgba(255, 255, 255, 0.25); }
+ #heading input[type="checkbox"]:checked + label:before,
+ #heading input[type="radio"]:checked + label:before {
+ background-color: #ce1b28;
+ border-color: #ce1b28;
+ color: #ffffff; }
+ #heading input[type="checkbox"]:focus + label:before,
+ #heading input[type="radio"]:focus + label:before {
+ border-color: #ce1b28;
+ box-shadow: 0 0 0 1px #ce1b28; }
+ #heading ::-webkit-input-placeholder {
+ color: rgba(255, 255, 255, 0.4) !important; }
+ #heading :-moz-placeholder {
+ color: rgba(255, 255, 255, 0.4) !important; }
+ #heading ::-moz-placeholder {
+ color: rgba(255, 255, 255, 0.4) !important; }
+ #heading :-ms-input-placeholder {
+ color: rgba(255, 255, 255, 0.4) !important; }
+ #heading ul.alt li {
+ border-top-color: rgba(255, 255, 255, 0.25); }
+ #heading table tbody tr {
+ border-color: rgba(255, 255, 255, 0.25); }
+ #heading table tbody tr:nth-child(2n + 1) {
+ background-color: rgba(255, 255, 255, 0.075); }
+ #heading table th {
+ color: #ffffff; }
+ #heading table thead {
+ border-bottom-color: rgba(255, 255, 255, 0.25); }
+ #heading table tfoot {
+ border-top-color: rgba(255, 255, 255, 0.25); }
+ #heading table.alt tbody tr td {
+ border-color: rgba(255, 255, 255, 0.25); }
+ #heading .highlights .content {
+ background: #111111;
+ box-shadow: 0px 0px 4px 1px rgba(255, 255, 255, 0.025); }
+ #heading .testimonials .content {
+ background: #111111;
+ box-shadow: 0px 0px 4px 1px rgba(255, 255, 255, 0.025); }
+ #heading .testimonials .content .credit strong {
+ color: #ce1b28; }
+ #heading:before {
+ background: linear-gradient(135deg, #ce1b28 0%, #111111 74%);
+ content: ' ';
+ display: block;
+ height: 100%;
+ left: 0;
+ opacity: 0.6;
+ position: absolute;
+ top: 0;
+ width: 100%;
+ z-index: 1; }
+ #heading h1 {
+ margin-bottom: 0;
+ position: relative;
+ z-index: 2; }
+ @media screen and (max-width: 980px) {
+ #heading {
+ padding: 2rem; } }
+
+/* Main */
+#main .content {
+ background: #ffffff;
+ border-radius: 4px;
+ box-shadow: 0px 0px 4px 1px rgba(0, 0, 0, 0.025);
+ margin-bottom: 2rem;
+ padding: 3rem; }
+ @media screen and (max-width: 980px) {
+ #main .content {
+ padding: 2rem; } }
+ @media screen and (max-width: 480px) {
+ #main .content {
+ padding: 1.5rem; } }
+
+/* Menu */
+#menu {
+ background-color: #111111;
+ color: rgba(255, 255, 255, 0.5);
+ -moz-transform: translateX(20rem);
+ -webkit-transform: translateX(20rem);
+ -ms-transform: translateX(20rem);
+ transform: translateX(20rem);
+ -moz-transition: -moz-transform 0.5s ease, box-shadow 0.5s ease, visibility 0.5s;
+ -webkit-transition: -webkit-transform 0.5s ease, box-shadow 0.5s ease, visibility 0.5s;
+ -ms-transition: -ms-transform 0.5s ease, box-shadow 0.5s ease, visibility 0.5s;
+ transition: transform 0.5s ease, box-shadow 0.5s ease, visibility 0.5s;
+ -webkit-overflow-scrolling: touch;
+ box-shadow: none;
+ height: 100%;
+ max-width: 80%;
+ overflow-y: auto;
+ padding: 3rem 2rem;
+ position: fixed;
+ right: 0;
+ top: 0;
+ visibility: hidden;
+ width: 20rem;
+ z-index: 10002; }
+ #menu input, #menu select, #menu textarea {
+ color: #ffffff; }
+ #menu a {
+ color: #ce1b28; }
+ #menu strong, #menu b {
+ color: #ffffff; }
+ #menu h1, #menu h2, #menu h3, #menu h4, #menu h5, #menu h6 {
+ color: #ffffff; }
+ #menu blockquote {
+ border-left-color: rgba(255, 255, 255, 0.25); }
+ #menu code {
+ background: rgba(255, 255, 255, 0.075);
+ border-color: rgba(255, 255, 255, 0.25); }
+ #menu hr {
+ border-bottom-color: rgba(255, 255, 255, 0.25); }
+ #menu input[type="submit"],
+ #menu input[type="reset"],
+ #menu input[type="button"],
+ #menu button,
+ #menu .button {
+ background-color: transparent;
+ box-shadow: inset 0 0 0 1px #ffffff;
+ color: #ffffff !important; }
+ #menu input[type="submit"]:hover,
+ #menu input[type="reset"]:hover,
+ #menu input[type="button"]:hover,
+ #menu button:hover,
+ #menu .button:hover {
+ box-shadow: inset 0 0 0 1px #ce1b28;
+ color: #ce1b28 !important; }
+ #menu input[type="submit"]:hover:active,
+ #menu input[type="reset"]:hover:active,
+ #menu input[type="button"]:hover:active,
+ #menu button:hover:active,
+ #menu .button:hover:active {
+ background-color: rgba(206, 27, 40, 0.25); }
+ #menu input[type="submit"].primary,
+ #menu input[type="reset"].primary,
+ #menu input[type="button"].primary,
+ #menu button.primary,
+ #menu .button.primary {
+ box-shadow: none;
+ background-color: #ce1b28;
+ color: #ffffff !important; }
+ #menu input[type="submit"].primary:hover,
+ #menu input[type="reset"].primary:hover,
+ #menu input[type="button"].primary:hover,
+ #menu button.primary:hover,
+ #menu .button.primary:hover {
+ background-color: #e2212f;
+ box-shadow: none; }
+ #menu input[type="submit"].primary:hover:active,
+ #menu input[type="reset"].primary:hover:active,
+ #menu input[type="button"].primary:hover:active,
+ #menu button.primary:hover:active,
+ #menu .button.primary:hover:active {
+ background-color: #b71824; }
+ #menu > ul {
+ margin: 0 0 1rem 0; }
+ #menu > ul.links {
+ list-style: none;
+ padding: 0; }
+ #menu > ul.links > li {
+ padding: 0; }
+ #menu > ul.links > li > a {
+ border: 0;
+ border-top: solid 1px rgba(255, 255, 255, 0.25);
+ color: inherit;
+ display: block;
+ line-height: 3.5rem;
+ text-decoration: none; }
+ #menu > ul.links > li > a:hover {
+ color: #ffffff; }
+ #menu > ul.links > li:first-child > a {
+ border-top: 0; }
+ #menu .close {
+ text-decoration: none;
+ -moz-transition: color 0.2s ease-in-out;
+ -webkit-transition: color 0.2s ease-in-out;
+ -ms-transition: color 0.2s ease-in-out;
+ transition: color 0.2s ease-in-out;
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+ border: 0;
+ color: rgba(255, 255, 255, 0.4);
+ cursor: pointer;
+ display: block;
+ height: 3.25rem;
+ line-height: 3.25rem;
+ padding-right: 1.25rem;
+ position: absolute;
+ right: 0;
+ text-align: right;
+ top: 0;
+ vertical-align: middle;
+ width: 7rem; }
+ #menu .close:before {
+ -moz-osx-font-smoothing: grayscale;
+ -webkit-font-smoothing: antialiased;
+ font-family: FontAwesome;
+ font-style: normal;
+ font-weight: normal;
+ text-transform: none !important; }
+ #menu .close:before {
+ content: '\f00d';
+ font-size: 1.25rem; }
+ #menu .close:hover {
+ color: #ffffff; }
+ @media screen and (max-width: 736px) {
+ #menu .close {
+ height: 4rem;
+ line-height: 4rem; } }
+ @media screen and (max-width: 736px) {
+ #menu {
+ padding: 2.5rem 1.75rem; } }
+
+body.is-menu-visible #menu {
+ -moz-transform: translateX(0);
+ -webkit-transform: translateX(0);
+ -ms-transform: translateX(0);
+ transform: translateX(0);
+ box-shadow: 0 0 1.5rem 0 rgba(0, 0, 0, 0.2);
+ visibility: visible; }
diff --git a/static/css/result-stylesheet.css b/static/css/result-stylesheet.css
deleted file mode 100644
index bc8d6c0..0000000
--- a/static/css/result-stylesheet.css
+++ /dev/null
@@ -1,25 +0,0 @@
-body {
- margin: 5% 10%;
-}
-#calculator {
- font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
- border-collapse: collapse;
- width: 100%;
-}
-
-#calculator td, #calculator th {
- border: 1px solid #ddd;
- padding: 8px;
-}
-
-#calculator tr:nth-child(even){background-color: #f2f2f2;}
-
-#calculator tr:hover {background-color: #ddd;}
-
-#calculator th {
- padding-top: 12px;
- padding-bottom: 12px;
- text-align: left;
- background-color: #4CAF50;
- color: white;
-}
\ No newline at end of file
diff --git a/static/fonts/FontAwesome.otf b/static/fonts/FontAwesome.otf
new file mode 100644
index 0000000..401ec0f
Binary files /dev/null and b/static/fonts/FontAwesome.otf differ
diff --git a/static/fonts/fontawesome-webfont.eot b/static/fonts/fontawesome-webfont.eot
new file mode 100644
index 0000000..e9f60ca
Binary files /dev/null and b/static/fonts/fontawesome-webfont.eot differ
diff --git a/static/fonts/fontawesome-webfont.svg b/static/fonts/fontawesome-webfont.svg
new file mode 100644
index 0000000..855c845
--- /dev/null
+++ b/static/fonts/fontawesome-webfont.svg
@@ -0,0 +1,2671 @@
+
+
+
diff --git a/static/fonts/fontawesome-webfont.ttf b/static/fonts/fontawesome-webfont.ttf
new file mode 100644
index 0000000..35acda2
Binary files /dev/null and b/static/fonts/fontawesome-webfont.ttf differ
diff --git a/static/fonts/fontawesome-webfont.woff b/static/fonts/fontawesome-webfont.woff
new file mode 100644
index 0000000..400014a
Binary files /dev/null and b/static/fonts/fontawesome-webfont.woff differ
diff --git a/static/fonts/fontawesome-webfont.woff2 b/static/fonts/fontawesome-webfont.woff2
new file mode 100644
index 0000000..4d13fc6
Binary files /dev/null and b/static/fonts/fontawesome-webfont.woff2 differ
diff --git a/static/js/stock_profile.js b/static/js/stock_profile.js
deleted file mode 100644
index 8e10fc6..0000000
--- a/static/js/stock_profile.js
+++ /dev/null
@@ -1,3 +0,0 @@
-function myFunction() {
- alert("Page is loaded");
-}
diff --git a/static/sass/base/_page.scss b/static/sass/base/_page.scss
new file mode 100644
index 0000000..03335d3
--- /dev/null
+++ b/static/sass/base/_page.scss
@@ -0,0 +1,41 @@
+/* Basic */
+
+ // MSIE: Required for IEMobile.
+ @-ms-viewport {
+ width: device-width;
+ }
+
+ // MSIE: Prevents scrollbar from overlapping content.
+ body {
+ -ms-overflow-style: scrollbar;
+ }
+
+ // Ensures page width is always >=320px.
+ @include breakpoint('<=xsmall') {
+ html, body {
+ min-width: 320px;
+ }
+ }
+
+ // Set box model to border-box.
+ // Based on css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice
+ html {
+ box-sizing: border-box;
+ }
+
+ *, *:before, *:after {
+ box-sizing: inherit;
+ }
+
+ body {
+ background: _palette(bg);
+
+ // Stops initial animations until page loads.
+ &.is-preload {
+ *, *:before, *:after {
+ @include vendor('animation', 'none !important');
+ @include vendor('transition', 'none !important');
+ }
+ }
+
+ }
\ No newline at end of file
diff --git a/static/sass/base/_reset.scss b/static/sass/base/_reset.scss
new file mode 100644
index 0000000..7793bdf
--- /dev/null
+++ b/static/sass/base/_reset.scss
@@ -0,0 +1,70 @@
+// Reset.
+// Based on meyerweb.com/eric/tools/css/reset (v2.0 | 20110126 | License: public domain)
+
+ html, body, div, span, applet, object,
+ iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
+ pre, a, abbr, acronym, address, big, cite,
+ code, del, dfn, em, img, ins, kbd, q, s, samp,
+ small, strike, strong, sub, sup, tt, var, b,
+ u, i, center, dl, dt, dd, ol, ul, li, fieldset,
+ form, label, legend, table, caption, tbody,
+ tfoot, thead, tr, th, td, article, aside,
+ canvas, details, embed, figure, figcaption,
+ footer, header, hgroup, menu, nav, output, ruby,
+ section, summary, time, mark, audio, video {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ font-size: 100%;
+ font: inherit;
+ vertical-align: baseline;
+ }
+
+ article, aside, details, figcaption, figure,
+ footer, header, hgroup, menu, nav, section {
+ display: block;
+ }
+
+ body {
+ line-height: 1;
+ }
+
+ ol, ul {
+ list-style:none;
+ }
+
+ blockquote, q {
+ quotes: none;
+
+ &:before,
+ &:after {
+ content: '';
+ content: none;
+ }
+ }
+
+ table {
+ border-collapse: collapse;
+ border-spacing: 0;
+ }
+
+ body {
+ -webkit-text-size-adjust: none;
+ }
+
+ mark {
+ background-color: transparent;
+ color: inherit;
+ }
+
+ input::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+ }
+
+ input, select, textarea {
+ -moz-appearance: none;
+ -webkit-appearance: none;
+ -ms-appearance: none;
+ appearance: none;
+ }
\ No newline at end of file
diff --git a/static/sass/base/_typography.scss b/static/sass/base/_typography.scss
new file mode 100644
index 0000000..f19e30e
--- /dev/null
+++ b/static/sass/base/_typography.scss
@@ -0,0 +1,214 @@
+/* Typography */
+
+ html {
+ font-size: 13pt;
+
+ @include breakpoint('<=xlarge') {
+ font-size: 11pt;
+ }
+
+ @include breakpoint('<=medium') {
+ font-size: 12pt;
+ }
+
+ @include breakpoint('<=xsmall') {
+ font-size: 11pt;
+ }
+ }
+
+ body {
+ background-color: _palette(bg);
+ color: _palette(fg);
+ }
+
+ body, input, select, textarea {
+ font-family: _font(family);
+ font-weight: _font(weight);
+ font-size: 1rem;
+ line-height: 1.65;
+ }
+
+ a {
+ @include vendor('transition', 'color #{_duration(transition)} ease-in-out');
+ text-decoration: underline;
+
+ &:hover {
+ text-decoration: none;
+ }
+ }
+
+ strong, b {
+ font-weight: _font(weight-bold);
+ }
+
+ em, i {
+ font-style: italic;
+ }
+
+ p {
+ margin: 0 0 _size(element-margin) 0;
+ }
+
+ header {
+ &.special {
+ text-align:center;
+ margin-bottom: _size(element-margin) * 2;
+
+ p {
+ max-width: 75%;
+ margin-left: auto;
+ margin-right: auto;
+ }
+ }
+ }
+
+ h1, h2, h3, h4, h5, h6 {
+ font-weight: _font(weight-light);
+ line-height: 1.5;
+ text-transform: uppercase;
+ margin: 0 0 (_size(element-margin) * 0.75) 0;
+
+ a {
+ color: inherit;
+ text-decoration: none;
+ }
+ }
+
+ h1 {
+ font-size: 3rem;
+ line-height: 1.2;
+ }
+
+ h2 {
+ font-size: 2.25rem;
+ line-height: 1.3;
+ }
+
+ h3 {
+ font-size: 1.25rem;
+ }
+
+ h4 {
+ font-size: 1rem;
+ }
+
+ h5 {
+ font-size: 0.9rem;
+ }
+
+ h6 {
+ font-size: 0.7rem;
+ }
+
+ @include breakpoint('<=small') {
+ h1 {
+ font-size: 2.75rem;
+ line-height: 1.3;
+ }
+
+ h2 {
+ font-size: 1.75rem;
+ line-height: 1.5;
+ }
+
+ h3 {
+ font-size: 1.25rem;
+ }
+ }
+
+ sub {
+ font-size: 0.8rem;
+ position: relative;
+ top: 0.5rem;
+ }
+
+ sup {
+ font-size: 0.8rem;
+ position: relative;
+ top: -0.5rem;
+ }
+
+ blockquote {
+ border-left: solid 0.5rem;
+ font-style: italic;
+ margin: 0 0 _size(element-margin) 0;
+ padding: (_size(element-margin) * 0.5) 0 (_size(element-margin) * 0.5) _size(element-margin);
+ }
+
+ code {
+ border-radius: _size(border-radius);
+ border: solid 1px;
+ font-family: _font(family-fixed);
+ font-size: 0.9rem;
+ margin: 0 0.25rem;
+ padding: 0.25rem 0.65rem;
+ }
+
+ pre {
+ -webkit-overflow-scrolling: touch;
+ font-family: _font(family-fixed);
+ font-size: 0.9rem;
+ margin: 0 0 _size(element-margin) 0;
+
+ code {
+ display: block;
+ line-height: 1.75;
+ padding: 1rem 1.5rem;
+ overflow-x: auto;
+ }
+ }
+
+ hr {
+ border: 0;
+ border-bottom: solid 1px;
+ margin: _size(element-margin) 0;
+
+ &.major {
+ margin: (_size(element-margin) * 2) 0;
+ }
+ }
+
+ @mixin color-typography($p: null) {
+ $highlight: _palette($p, highlight);
+
+ @if $p != null {
+ background-color: _palette($p, bg);
+ color: _palette($p, fg);
+ }
+
+ input, select, textarea {
+ color: _palette($p, fg-bold);
+ }
+
+ a {
+ @if $p == $highlight {
+ color: _palette($p, fg-bold);
+ }
+ @else {
+ color: _palette(accent1, bg);
+ }
+ }
+
+ strong, b {
+ color: _palette($p, fg-bold);
+ }
+
+ h1, h2, h3, h4, h5, h6 {
+ color: _palette($p, fg-bold);
+ }
+
+ blockquote {
+ border-left-color: _palette($p, border);
+ }
+
+ code {
+ background: _palette($p, border-bg);
+ border-color: _palette($p, border);
+ }
+
+ hr {
+ border-bottom-color: _palette($p, border);
+ }
+ }
+
+ @include color-typography;
\ No newline at end of file
diff --git a/static/sass/components/_actions.scss b/static/sass/components/_actions.scss
new file mode 100644
index 0000000..8967359
--- /dev/null
+++ b/static/sass/components/_actions.scss
@@ -0,0 +1,88 @@
+/* Actions */
+
+ ul.actions {
+ @include vendor('display', 'flex');
+ cursor: default;
+ list-style: none;
+ margin-left: (_size(element-margin) * -0.5);
+ padding-left: 0;
+
+ li {
+ padding: 0 0 0 (_size(element-margin) * 0.5);
+ vertical-align: middle;
+ }
+
+ &.special {
+ @include vendor('justify-content', 'center');
+ width: calc(100% + #{_size(element-margin) * 0.5});
+ }
+
+ &.stacked {
+ @include vendor('flex-direction', 'column');
+ margin-left: 0;
+
+ li {
+ padding: (_size(element-margin) * 0.65) 0 0 0;
+
+ &:first-child {
+ padding-top: 0;
+ }
+ }
+ }
+
+ &.fit {
+ width: calc(100% + #{_size(element-margin) * 0.5});
+
+ li {
+ @include vendor('flex-grow', '1');
+ @include vendor('flex-shrink', '1');
+ width: 100%;
+
+ > * {
+ width: 100%;
+ }
+ }
+
+ &.stacked {
+ width: 100%;
+ }
+ }
+
+ @include breakpoint('<=xsmall') {
+ &:not(.fixed) {
+ @include vendor('flex-direction', 'column');
+ margin-left: 0;
+ width: 100% !important;
+
+ li {
+ @include vendor('flex-grow', '1');
+ @include vendor('flex-shrink', '1');
+ padding: (_size(element-margin) * 0.5) 0 0 0;
+ text-align: center;
+ width: 100%;
+
+ > * {
+ width: 100%;
+ }
+
+ &:first-child {
+ padding-top: 0;
+ }
+
+ input[type="submit"],
+ input[type="reset"],
+ input[type="button"],
+ button,
+ .button {
+ width: 100%;
+
+ &.icon {
+ &:before {
+ margin-left: -0.5rem;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/static/sass/components/_box.scss b/static/sass/components/_box.scss
new file mode 100644
index 0000000..d0185ee
--- /dev/null
+++ b/static/sass/components/_box.scss
@@ -0,0 +1,29 @@
+/* Box */
+
+ .box {
+ border-radius: _size(border-radius);
+ box-shadow: 0px 0px 4px 1px _palette(border-lt);
+ padding: 3rem;
+
+ > :last-child {
+ margin-bottom: 0;
+ }
+
+ &.alt {
+ border: 0;
+ border-radius: 0;
+ padding: 0;
+ }
+
+ @include breakpoint('<=medium') {
+ padding: 2rem;
+ }
+ }
+
+ @mixin color-box($p: null) {
+ .box {
+ border-color: _palette($p, border);
+ }
+ }
+
+ @include color-box;
\ No newline at end of file
diff --git a/static/sass/components/_button.scss b/static/sass/components/_button.scss
new file mode 100644
index 0000000..3b09fca
--- /dev/null
+++ b/static/sass/components/_button.scss
@@ -0,0 +1,126 @@
+/* Button */
+
+ input[type="submit"],
+ input[type="reset"],
+ input[type="button"],
+ button,
+ .button {
+ @include vendor('appearance', 'none');
+ @include vendor('transition', (
+ 'background-color #{_duration(transition)} ease-in-out',
+ 'box-shadow #{_duration(transition)} ease-in-out',
+ 'color #{_duration(transition)} ease-in-out'
+ ));
+ border: 0;
+ border-radius: _size(border-radius);
+ cursor: pointer;
+ display: inline-block;
+ font-weight: _font(weight-bold);
+ height: _size(element-height);
+ line-height: _size(element-height);
+ padding: 0 1.75rem;
+ text-align: center;
+ text-decoration: none;
+ white-space: nowrap;
+
+ &.small {
+ font-size: 0.8rem;
+ height: _size(element-height) * 0.75;
+ line-height: _size(element-height) * 0.75;
+ padding: 0 1.25rem;
+ }
+
+ &.large {
+ font-size: 1.35rem;
+ height: _size(element-height) * 1.25;
+ line-height: _size(element-height) * 1.25;
+ padding: 0 2rem;
+ }
+
+ &.wide {
+ min-width: 13rem;
+ }
+
+ &.icon {
+ &:before {
+ margin-right: 0.5rem;
+ }
+ }
+
+ &.fit {
+ width: 100%;
+ }
+
+ &.disabled,
+ &:disabled {
+ @include vendor('pointer-events', 'none');
+ opacity: 0.25;
+ }
+ }
+
+ @mixin color-button($p: null) {
+ $highlight: _palette($p, highlight);
+
+ input[type="submit"],
+ input[type="reset"],
+ input[type="button"],
+ button,
+ .button {
+ background-color: transparent;
+ box-shadow: inset 0 0 0 1px _palette($p, fg-bold);
+ color: _palette($p, fg-bold) !important;
+
+ @if ($p == $highlight) {
+ &:hover {
+ background-color: transparentize(_palette($p, fg-bold), 0.9);
+
+ &:active {
+ background-color: transparentize(_palette($p, fg-bold), 0.75);
+ }
+ }
+ }
+ @else {
+ &:hover {
+ box-shadow: inset 0 0 0 1px _palette($highlight, bg);
+ color: _palette($highlight, bg) !important;
+
+ &:active {
+ background-color: transparentize(_palette($highlight, bg), 0.75);
+ }
+ }
+ }
+
+ &.primary {
+ box-shadow: none;
+
+ @if $p == $highlight {
+ background-color: _palette($p, fg-bold);
+ color: _palette($p, bg) !important;
+
+ &:hover {
+ background-color: transparentize(_palette($p, fg-bold), 0.125);
+ box-shadow: none;
+
+ &:active {
+ background-color: transparentize(_palette($p, fg-bold), 0.5);
+ }
+ }
+ }
+ @else {
+ background-color: _palette($highlight, bg);
+ color: _palette($highlight, fg-bold) !important;
+
+ &:hover {
+ background-color: lighten(_palette($highlight, bg), 5);
+ box-shadow: none;
+
+ &:active {
+ background-color: darken(_palette($highlight, bg), 5);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ @include color-button;
\ No newline at end of file
diff --git a/static/sass/components/_form.scss b/static/sass/components/_form.scss
new file mode 100644
index 0000000..f620f86
--- /dev/null
+++ b/static/sass/components/_form.scss
@@ -0,0 +1,240 @@
+/* Form */
+
+ form {
+ margin: 0 0 _size(element-margin) 0;
+ }
+
+ input[type="text"],
+ input[type="password"],
+ input[type="email"],
+ input[type="tel"],
+ input[type="search"],
+ input[type="url"],
+ select,
+ textarea {
+ @include vendor('appearance', 'none');
+ border-radius: _size(border-radius);
+ border: none;
+ border: solid 1px;
+ color: inherit;
+ display: block;
+ outline: 0;
+ padding: 0 1rem;
+ text-decoration: none;
+ width: 100%;
+
+ &:invalid {
+ box-shadow: none;
+ }
+ }
+
+ label {
+ display: block;
+ font-size: 1rem;
+ font-weight: _font(weight-bold);
+ margin: 0 0 (_size(element-margin) * 0.5) 0;
+ }
+
+ input[type="text"],
+ input[type="password"],
+ input[type="email"],
+ input[type="tel"],
+ input[type="search"],
+ input[type="url"] {
+ height: _size(element-height);
+ }
+
+ select {
+ background-size: 1.25rem;
+ background-repeat: no-repeat;
+ background-position: calc(100% - 1rem) center;
+ height: _size(element-height);
+ padding-right: _size(element-height);
+ text-overflow: ellipsis;
+
+ &:focus {
+ &::-ms-value {
+ background-color: transparent;
+ }
+ }
+
+ &::-ms-expand {
+ display: none;
+ }
+ }
+
+ textarea {
+ padding: 0.75rem 1rem;
+ }
+
+ input[type="checkbox"],
+ input[type="radio"], {
+ @include vendor('appearance', 'none');
+ display: block;
+ float: left;
+ margin-right: -2rem;
+ opacity: 0;
+ width: 1rem;
+ z-index: -1;
+
+ & + label {
+ @include icon;
+ cursor: pointer;
+ display: inline-block;
+ font-size: 1rem;
+ font-weight: _font(weight);
+ padding-left: (_size(element-height) * 0.6) + 0.875rem;
+ padding-right: 0.875rem;
+ position: relative;
+
+ &:before {
+ border-radius: _size(border-radius);
+ border: solid 1px;
+ content: '';
+ display: inline-block;
+ height: (_size(element-height) * 0.6);
+ left: 0;
+ line-height: (_size(element-height) * 0.575);
+ position: absolute;
+ text-align: center;
+ top: (_size(element-height) * -0.05);
+ width: (_size(element-height) * 0.6);
+ }
+ }
+
+ &:checked + label {
+ &:before {
+ content: '\f00c';
+ }
+ }
+ }
+
+ input[type="checkbox"] {
+ & + label {
+ &:before {
+ border-radius: _size(border-radius);
+ }
+ }
+ }
+
+ input[type="radio"] {
+ & + label {
+ &:before {
+ border-radius: 100%;
+ }
+ }
+ }
+
+ ::-webkit-input-placeholder {
+ opacity: 1.0;
+ }
+
+ :-moz-placeholder {
+ opacity: 1.0;
+ }
+
+ ::-moz-placeholder {
+ opacity: 1.0;
+ }
+
+ :-ms-input-placeholder {
+ opacity: 1.0;
+ }
+
+ @mixin color-form($p: null) {
+ $highlight: _palette($p, highlight);
+
+ label {
+ color: _palette($p, fg-bold);
+ }
+
+ input[type="text"],
+ input[type="password"],
+ input[type="email"],
+ input[type="tel"],
+ input[type="search"],
+ input[type="url"],
+ select,
+ textarea {
+ background-color: _palette($p, border-bg);
+ border-color: _palette($p, border);
+
+ &:focus {
+ @if $p == $highlight {
+ border-color: _palette($p, fg-bold);
+ box-shadow: 0 0 0 1px _palette($p, fg-bold);
+ }
+ @else {
+ border-color: _palette(accent1, bg);
+ box-shadow: 0 0 0 1px _palette(accent1, bg);
+ }
+ }
+ }
+
+ select {
+ background-image: svg-url("");
+
+ option {
+ color: _palette($p, fg);
+ background-color: _palette($p, bg);
+ }
+ }
+
+ input[type="checkbox"],
+ input[type="radio"], {
+ & + label {
+ color: _palette($p, fg);
+
+ &:before {
+ background: _palette($p, border-bg);
+ border-color: _palette($p, border);
+ }
+ }
+
+ &:checked + label {
+ &:before {
+ @if $p == $highlight {
+ background-color: _palette($p, fg-bold);
+ border-color: _palette($p, fg-bold);
+ color: _palette($p, bg);
+ }
+ @else {
+ background-color: _palette(accent1, bg);
+ border-color: _palette(accent1, bg);
+ color: _palette(accent1, fg-bold);
+ }
+ }
+ }
+
+ &:focus + label {
+ &:before {
+ @if $p == $highlight {
+ border-color: _palette($p, fg-bold);
+ box-shadow: 0 0 0 1px _palette($p, fg-bold);
+ }
+ @else {
+ border-color: _palette(accent1, bg);
+ box-shadow: 0 0 0 1px _palette(accent1, bg);
+ }
+ }
+ }
+ }
+
+ ::-webkit-input-placeholder {
+ color: _palette($p, fg-light) !important;
+ }
+
+ :-moz-placeholder {
+ color: _palette($p, fg-light) !important;
+ }
+
+ ::-moz-placeholder {
+ color: _palette($p, fg-light) !important;
+ }
+
+ :-ms-input-placeholder {
+ color: _palette($p, fg-light) !important;
+ }
+ }
+
+ @include color-form;
\ No newline at end of file
diff --git a/static/sass/components/_grid.scss b/static/sass/components/_grid.scss
new file mode 100644
index 0000000..f78da70
--- /dev/null
+++ b/static/sass/components/_grid.scss
@@ -0,0 +1,23 @@
+/* Grid */
+
+ @include grid(3rem);
+
+ @include breakpoint('<=xlarge') {
+ @include grid(3rem, 'xlarge');
+ }
+
+ @include breakpoint('<=large') {
+ @include grid(1.5rem, 'large');
+ }
+
+ @include breakpoint('<=medium') {
+ @include grid(1.5rem, 'medium');
+ }
+
+ @include breakpoint('<=small') {
+ @include grid(1.25rem, 'small');
+ }
+
+ @include breakpoint('<=xsmall') {
+ @include grid(1.25rem, 'xsmall');
+ }
\ No newline at end of file
diff --git a/static/sass/components/_highlights.scss b/static/sass/components/_highlights.scss
new file mode 100644
index 0000000..505ad11
--- /dev/null
+++ b/static/sass/components/_highlights.scss
@@ -0,0 +1,65 @@
+/* Highlights */
+
+ .highlights {
+ width: 100%;
+ margin: (_size(element-margin) * 1.25) 0;
+
+ @include flexgrid((
+ columns: 3,
+ gutters: 3rem,
+ vertical-align: stretch
+ ));
+
+ .content {
+ border-radius: _size(border-radius);
+ height: 100%;
+ padding: 3rem;
+ text-align: center;
+
+ .icon {
+ font-size: 5rem;
+ }
+ }
+
+ > div {
+
+ > :last-child {
+ margin-bottom: 0;
+ }
+
+ }
+
+ @include breakpoint('<=medium') {
+ @include flexgrid-resize((
+ columns: 2,
+ gutters: 2rem,
+ prev-columns: 3
+ ));
+
+ .content {
+ padding: 2rem;
+ }
+ }
+
+ @include breakpoint('<=small') {
+ @include flexgrid-resize((
+ columns: 1,
+ gutters: 2rem,
+ prev-columns: (3, 2)
+ ));
+
+ }
+ }
+
+ @mixin color-highlights($p: null) {
+ $highlight: _palette($p, highlight);
+
+ .highlights {
+ .content {
+ background: _palette($p, bg);
+ box-shadow: 0px 0px 4px 1px _palette($p, border-lt);
+ }
+ }
+ }
+
+ @include color-highlights;
\ No newline at end of file
diff --git a/static/sass/components/_icon.scss b/static/sass/components/_icon.scss
new file mode 100644
index 0000000..8276798
--- /dev/null
+++ b/static/sass/components/_icon.scss
@@ -0,0 +1,11 @@
+/* Icon */
+
+ .icon {
+ @include icon;
+ border-bottom: none;
+ position: relative;
+
+ > .label {
+ display: none;
+ }
+ }
\ No newline at end of file
diff --git a/static/sass/components/_icons.scss b/static/sass/components/_icons.scss
new file mode 100644
index 0000000..15e4aa6
--- /dev/null
+++ b/static/sass/components/_icons.scss
@@ -0,0 +1,22 @@
+/* Icons */
+
+ ul.icons {
+ cursor: default;
+ list-style: none;
+ padding-left: 0;
+
+ li {
+ display: inline-block;
+ padding: 0 1rem 0 0;
+
+ &:last-child {
+ padding-right: 0;
+ }
+
+ .icon {
+ &:before {
+ font-size: 2rem;
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/static/sass/components/_image.scss b/static/sass/components/_image.scss
new file mode 100644
index 0000000..771a0f1
--- /dev/null
+++ b/static/sass/components/_image.scss
@@ -0,0 +1,54 @@
+/* Image */
+
+ .image {
+ border-radius: _size(border-radius);
+ border: 0;
+ display: inline-block;
+ position: relative;
+
+ img {
+ border-radius: _size(border-radius);
+ display: block;
+ }
+
+ &.left,
+ &.right {
+ max-width: 40%;
+
+ img {
+ width: 100%;
+ }
+ }
+
+ &.left {
+ float: left;
+ margin: 0 2rem 2rem 0;
+ top: 0.25rem;
+ }
+
+ &.right {
+ float: right;
+ margin: 0 0 2rem 2rem;
+ top: 0.25rem;
+ }
+
+ &.fit {
+ display: block;
+ margin: 0 0 _size(element-margin) 0;
+ width: 100%;
+
+ img {
+ width: 100%;
+ }
+ }
+
+ &.main {
+ display: block;
+ margin: 0 0 (_size(element-margin) * 1.5) 0;
+ width: 100%;
+
+ img {
+ width: 100%;
+ }
+ }
+ }
\ No newline at end of file
diff --git a/static/sass/components/_inner.scss b/static/sass/components/_inner.scss
new file mode 100644
index 0000000..42fc87e
--- /dev/null
+++ b/static/sass/components/_inner.scss
@@ -0,0 +1,11 @@
+/* Inner */
+
+ .inner {
+ margin: 0 auto;
+ width: _size(inner-width);
+ max-width: calc(100% - 6rem);
+
+ @include breakpoint('<=xsmall') {
+ max-width: calc(100% - 3rem);
+ }
+ }
\ No newline at end of file
diff --git a/static/sass/components/_list.scss b/static/sass/components/_list.scss
new file mode 100644
index 0000000..6c40535
--- /dev/null
+++ b/static/sass/components/_list.scss
@@ -0,0 +1,88 @@
+/* List */
+
+ ol {
+ list-style: decimal;
+ margin: 0 0 _size(element-margin) 0;
+ padding-left: 1.25rem;
+
+ li {
+ padding-left: 0.25rem;
+ }
+ }
+
+ ul {
+ list-style: disc;
+ margin: 0 0 _size(element-margin) 0;
+ padding-left: 1rem;
+
+ li {
+ padding-left: 0.325rem;
+ }
+
+ &.plain {
+ list-style: none;
+ padding-left: 0;
+
+ li {
+ margin-bottom: 1rem;
+
+ .icon {
+ border-radius: _size(border-radius);
+ color: _palette(accent1,fg-bold);
+ display: inline-block;
+ margin-right: 1rem;
+ text-align:center;
+ width: 2rem;
+ height: 2rem;
+ line-height: 2rem;
+ background: rgba(0,0,0,0.5);
+ }
+
+ }
+ }
+
+ &.alt {
+ list-style: none;
+ padding-left: 0;
+
+ li {
+ border-top: solid 1px;
+ padding: 0.75rem 0;
+
+ &:first-child {
+ border-top: 0;
+ padding-top: 0;
+ }
+
+ &:last-child {
+ padding-bottom: 0;
+ }
+ }
+ }
+ }
+
+ dl {
+ margin: 0 0 _size(element-margin) 0;
+
+ dt {
+ display: block;
+ font-weight: _font(weight-bold);
+ margin: 0 0 (_size(element-margin) * 0.5) 0;
+ }
+
+ dd {
+ margin-left: (_size(element-margin) * 0.75);
+ }
+ }
+
+ @mixin color-list($p: null) {
+ ul {
+ &.alt {
+ li {
+ border-top-color: _palette($p, border);
+ }
+ }
+ }
+ }
+
+ @include color-list;
\ No newline at end of file
diff --git a/static/sass/components/_table.scss b/static/sass/components/_table.scss
new file mode 100644
index 0000000..e7ce171
--- /dev/null
+++ b/static/sass/components/_table.scss
@@ -0,0 +1,108 @@
+/* Table */
+
+ .table-wrapper {
+ -webkit-overflow-scrolling: touch;
+ overflow-x: auto;
+ }
+
+ table {
+ margin: 0 0 _size(element-margin) 0;
+ width: 100%;
+
+ tbody {
+ tr {
+ border: solid 1px;
+ border-left: 0;
+ border-right: 0;
+ }
+ }
+
+ td {
+ padding: 0.75rem 0.75rem;
+ }
+
+ th {
+ font-size: 0.9rem;
+ font-weight: _font(weight-bold);
+ padding: 0 0.75rem 0.75rem 0.75rem;
+ text-align: left;
+ }
+
+ thead {
+ border-bottom: solid 2px;
+ }
+
+ tfoot {
+ border-top: solid 2px;
+ }
+
+ &.alt {
+ border-collapse: separate;
+
+ tbody {
+ tr {
+ td {
+ border: solid 1px;
+ border-left-width: 0;
+ border-top-width: 0;
+
+ &:first-child {
+ border-left-width: 1px;
+ }
+ }
+
+ &:first-child {
+ td {
+ border-top-width: 1px;
+ }
+ }
+ }
+ }
+
+ thead {
+ border-bottom: 0;
+ }
+
+ tfoot {
+ border-top: 0;
+ }
+ }
+ }
+
+ @mixin color-table($p: null) {
+ table {
+ tbody {
+ tr {
+ border-color: _palette($p, border);
+
+ &:nth-child(2n + 1) {
+ background-color: _palette($p, border-bg);
+ }
+ }
+ }
+
+ th {
+ color: _palette($p, fg-bold);
+ }
+
+ thead {
+ border-bottom-color: _palette($p, border);
+ }
+
+ tfoot {
+ border-top-color: _palette($p, border);
+ }
+
+ &.alt {
+ tbody {
+ tr {
+ td {
+ border-color: _palette($p, border);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ @include color-table;
\ No newline at end of file
diff --git a/static/sass/components/_testimonials.scss b/static/sass/components/_testimonials.scss
new file mode 100644
index 0000000..c803f2c
--- /dev/null
+++ b/static/sass/components/_testimonials.scss
@@ -0,0 +1,92 @@
+/* Testimonials */
+
+ .testimonials {
+ margin: (_size(element-margin) * 1.25) 0;
+ width: 100%;
+
+ @include flexgrid((
+ columns: 3,
+ gutters: 3rem,
+ vertical-align: stretch,
+ ));
+
+ .content {
+ border-radius: _size(border-radius);
+ height: 100%;
+ padding: 3rem;
+
+ .author {
+ @include vendor('display','flex');
+ @include vendor('align-items','center');
+
+ blockquote {
+ margin: 0;
+ }
+
+ .image {
+ margin-right: 2rem;
+ width: 20%;
+
+ img {
+ border-radius: 100%;
+ max-width: 100%;
+ }
+ }
+ }
+
+ .credit {
+ font-size: 0.75rem;
+ }
+
+ p {
+ &:last-child {
+ margin: 0;
+ }
+ }
+ }
+
+ > div {
+ > :last-child {
+ margin-bottom: 0;
+ }
+ }
+
+ @include breakpoint('<=medium') {
+ @include flexgrid-resize((
+ columns: 2,
+ gutters: 2rem,
+ prev-columns: 3
+ ));
+
+ .content {
+ padding: 2rem;
+ }
+ }
+
+ @include breakpoint('<=small') {
+ @include flexgrid-resize((
+ columns: 1,
+ gutters: 2rem,
+ prev-columns: (3, 2)
+ ));
+ }
+ }
+
+ @mixin color-testimonials($p: null) {
+ $highlight: _palette($p, highlight);
+
+ .testimonials {
+ .content {
+ background: _palette($p, bg);
+ box-shadow: 0px 0px 4px 1px _palette($p, border-lt);
+
+ .credit {
+ strong {
+ color: _palette($highlight,bg);
+ }
+ }
+ }
+ }
+ }
+
+ @include color-testimonials;
\ No newline at end of file
diff --git a/static/sass/components/_wrapper.scss b/static/sass/components/_wrapper.scss
new file mode 100644
index 0000000..f22321d
--- /dev/null
+++ b/static/sass/components/_wrapper.scss
@@ -0,0 +1,20 @@
+/* Wrapper */
+
+ .wrapper {
+ @include padding(8rem, 0);
+ position: relative;
+ z-index: 1;
+
+ @include breakpoint('<=large') {
+ @include padding(4rem, 0);
+ }
+
+ @include breakpoint('<=small') {
+ @include padding(3rem, 0);
+ }
+
+ @include breakpoint('<=xsmall') {
+ @include padding(2rem, 0);
+ }
+
+ }
\ No newline at end of file
diff --git a/static/sass/layout/_banner.scss b/static/sass/layout/_banner.scss
new file mode 100644
index 0000000..4e768e2
--- /dev/null
+++ b/static/sass/layout/_banner.scss
@@ -0,0 +1,152 @@
+/* Banner */
+
+ #banner {
+ -ms-flex-align: center;
+ -ms-flex-pack: center;
+ @include color(accent2);
+ @include vendor('align-items', 'center');
+ @include vendor('display', 'flex');
+ @include vendor('justify-content', 'center');
+ background-image: url('../../images/banner.jpg');
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: cover;
+ border-top: 0;
+ display: -ms-flexbox;
+ height: 35rem !important;
+ min-height: 35rem;
+ overflow: hidden;
+ position: relative;
+ text-align: center;
+ width: 100%;
+
+ > .inner {
+ @include vendor('transform', 'scale(1.0)');
+ @include vendor('transition', (
+ 'opacity #{_duration(banner)} ease',
+ 'transform #{_duration(banner)} ease'
+ ));
+ opacity: 1;
+ position: relative;
+ z-index: 3;
+
+ > :last-child {
+ margin-bottom: 0;
+ }
+ }
+
+ h1 {
+ font-size: 4rem;
+ margin-bottom: 1rem;
+ }
+
+ p {
+ font-size: 1.5rem;
+ }
+
+ a {
+ color: _palette(accent2, fg);
+ text-decoration: none;
+
+ &:hover {
+ color: _palette(accent2, fg-bold);
+ }
+ }
+
+ video {
+ @include vendor('transform', 'translateX(50%) translateY(50%)');
+ bottom: 50%;
+ height: auto;
+ min-height: 100%;
+ min-width: 100%;
+ overflow: hidden;
+ position: absolute;
+ right: 50%;
+ width: auto;
+ }
+
+ &:before {
+ @include vendor('transition', 'opacity 3s ease');
+ @include vendor('transition-delay', '#{_duration(banner) * 1.25}');
+ background: _palette(accent2,bg);
+ content: '';
+ display: block;
+ height: 100%;
+ left: 0;
+ opacity: 0.45;
+ position: absolute;
+ top: 0;
+ width: 100%;
+ z-index: 1;
+ }
+
+ &:after {
+ background: linear-gradient(135deg, _palette(accent1,bg) 0%,_palette(accent2,bg) 74%);
+ content: ' ';
+ display: block;
+ height: 100%;
+ left: 0;
+ opacity: 0.6;
+ position: absolute;
+ top: 0;
+ webkit-linear-gradientidth: 100%;
+ width: 100%;
+ z-index: 1;
+ }
+
+ &.small {
+ height: 30vh !important;
+ min-height: 30vh;
+ }
+
+ @include breakpoint('<=large') {
+ video {
+ display: none;
+ }
+ }
+
+ @include breakpoint('<=small') {
+ height: auto !important;
+ min-height: 0;
+ padding: 4rem 2rem 4rem 2rem;
+
+ .inner {
+ width: 100%;
+ }
+
+ h1 {
+ font-size: 1.75rem;
+ margin-bottom: 0.5rem;
+ padding-bottom: 0;
+ }
+
+ p {
+ font-size: 1.25rem;
+ }
+
+ br {
+ display: none;
+ }
+
+ .button {
+ width: 100%;
+ }
+ }
+
+ @include breakpoint('<=xsmall') {
+ p {
+ font-size: 1rem;
+ }
+ }
+
+ body.is-preload & {
+ .inner {
+ @include vendor('transform', 'scale(0.99)');
+ opacity: 0;
+ }
+
+ &:before {
+ opacity: 1;
+ }
+ }
+ }
\ No newline at end of file
diff --git a/static/sass/layout/_cta.scss b/static/sass/layout/_cta.scss
new file mode 100644
index 0000000..8133ed1
--- /dev/null
+++ b/static/sass/layout/_cta.scss
@@ -0,0 +1,22 @@
+/* CTA */
+
+ #cta {
+ @include color(accent1);
+ background-attachment: fixed;
+ background-image: linear-gradient(transparentize(_palette(accent1,bg), 0.75), transparentize(_palette(accent1,bg), 0.75)), url(../../images/cta01.jpg);
+ background-position: bottom;
+ background-repeat: no-repeat;
+ background-size: cover;
+ position: relative;
+ text-align: center;
+ z-index: 1;
+
+ .inner {
+ position: relative;
+ z-index: 3;
+ }
+
+ @include breakpoint('<=medium') {
+ background-attachment: scroll;
+ }
+ }
\ No newline at end of file
diff --git a/static/sass/layout/_footer.scss b/static/sass/layout/_footer.scss
new file mode 100644
index 0000000..bbaab62
--- /dev/null
+++ b/static/sass/layout/_footer.scss
@@ -0,0 +1,77 @@
+/* Footer */
+
+ #footer {
+ @include color(accent2);
+ @include padding(8rem, 0);
+
+ a {
+ color: _palette(accent2, fg);
+ text-decoration: none;
+
+ &:hover {
+ color: _palette(accent1, bg);
+ }
+ }
+
+ .content {
+ @include vendor('display', 'flex');
+
+ section {
+ width: 25%;
+
+ &:first-child {
+ width: 50%;
+ padding-right: _size(element-margin) * 2;
+ }
+
+ &:last-child {
+ padding-left: _size(element-margin) * 2;
+ }
+ }
+ }
+
+ .copyright {
+ border-top: 1px solid;
+ font-size: 0.8rem;
+ opacity: 0.5;
+ padding: _size(element-margin) 0;
+ text-align: center;
+ }
+
+ @include breakpoint('<=large') {
+ @include padding(4rem, 0);
+ }
+
+ @include breakpoint('<=medium') {
+ .content {
+ @include vendor('flex-wrap', 'wrap');
+
+ section {
+ width: 50%;
+
+ &:first-child {
+ width: 100%;
+ padding-right: 0;
+ }
+ }
+ }
+ }
+
+ @include breakpoint('<=small') {
+ @include padding(3rem, 0);
+
+ .content {
+ section {
+ width: 100%;
+
+ &:last-child {
+ padding-left: 0;
+ }
+ }
+ }
+ }
+
+ @include breakpoint('<=xsmall') {
+ @include padding(2rem, 0);
+ }
+ }
\ No newline at end of file
diff --git a/static/sass/layout/_header.scss b/static/sass/layout/_header.scss
new file mode 100644
index 0000000..2ac6eea
--- /dev/null
+++ b/static/sass/layout/_header.scss
@@ -0,0 +1,113 @@
+/* Header */
+
+ $accent: accent2;
+
+ body {
+
+ padding-top: _size(header-height);
+
+ &:before {
+ content: ' ';
+ background-image: url(../../images/bg.jpg);
+ background-size: cover;
+ background-repeat: no-repeat;
+ background-attachment: fixed;
+ display: block;
+ position: fixed;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ z-index: -1;
+ opacity: 0.05;
+ }
+ }
+
+ #header {
+ @include vendor('align-items', 'center');
+ @include vendor('display', 'flex');
+ @include vendor('justify-content', 'space-between');
+ background: _palette($accent, bg);
+ color: _palette($accent, fg);
+ cursor: default;
+ height: _size(header-height);
+ left: 0;
+ line-height: _size(header-height);
+ position: fixed;
+ top: 0;
+ width: 100%;
+ z-index: _misc(z-index-base) + 1;
+
+ > .logo {
+ color: _palette($accent, fg-bold);
+ font-size: 1rem;
+ font-weight: _font(weight-bold);
+ height: inherit;
+ line-height: inherit;
+ padding: 0 1.25rem;
+ text-decoration: none;
+ }
+
+ > nav {
+ > a {
+ color: inherit;
+ display: inline-block;
+ padding: 0 0.75rem;
+ text-decoration: none;
+
+ &:hover {
+ color: _palette($accent, fg-bold);
+ }
+
+ &[href="#menu"] {
+ @include icon;
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
+
+ &:before {
+ content: '\f0c9';
+ margin: 0 0.5rem 0 0;
+ }
+ }
+
+ & + a[href="#menu"]:last-child {
+ border-left: solid 1px _palette($accent, border);
+ margin-left: 0.5rem;
+ padding-left: 1.25rem;
+ }
+
+ &:last-child {
+ padding-right: 1.25rem;
+ }
+
+ @include breakpoint('<=small') {
+ padding: 0 0.5rem;
+
+ & + a[href="#menu"]:last-child {
+ margin-left: 0.25rem;
+ padding-left: 1rem;
+ }
+
+ &:last-child {
+ padding-right: 1rem;
+ }
+ }
+ }
+ }
+ }
+
+ @include breakpoint('<=medium') {
+ body {
+ padding-top: 44px;
+ }
+
+ #header {
+ height: 44px;
+ line-height: 44px;
+ }
+ }
+
+ @include breakpoint('<=xsmall') {
+ #header {
+ min-width: 320px;
+ }
+ }
\ No newline at end of file
diff --git a/static/sass/layout/_heading.scss b/static/sass/layout/_heading.scss
new file mode 100644
index 0000000..b164568
--- /dev/null
+++ b/static/sass/layout/_heading.scss
@@ -0,0 +1,45 @@
+/* Heading */
+
+ #heading {
+ -ms-flex-align: center;
+ -ms-flex-pack: center;
+ @include color(accent2);
+ @include vendor('align-items', 'center');
+ @include vendor('display', 'flex');
+ @include vendor('justify-content', 'center');
+ background-image: linear-gradient(transparentize(_palette(accent2,bg), 0.75), transparentize(_palette(accent2,bg), 0.75)), url('../../images/banner.jpg');
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: cover;
+ border-top: 0;
+ display: -ms-flexbox;
+ height: 15rem !important;
+ min-height: 15rem;
+ overflow: hidden;
+ position: relative;
+ text-align: center;
+ width: 100%;
+
+ &:before {
+ background: linear-gradient(135deg, _palette(accent1,bg) 0%,_palette(accent2,bg) 74%);
+ content: ' ';
+ display: block;
+ height: 100%;
+ left: 0;
+ opacity: 0.6;
+ position: absolute;
+ top: 0;
+ width: 100%;
+ z-index: 1;
+ }
+
+ h1 {
+ margin-bottom: 0;
+ position: relative;
+ z-index: 2;
+ }
+
+ @include breakpoint('<=medium') {
+ padding: 2rem;
+ }
+ }
diff --git a/static/sass/layout/_main.scss b/static/sass/layout/_main.scss
new file mode 100644
index 0000000..462e65a
--- /dev/null
+++ b/static/sass/layout/_main.scss
@@ -0,0 +1,19 @@
+/* Main */
+
+ #main {
+ .content {
+ background: _palette(bg);
+ border-radius: _size(border-radius);
+ box-shadow: 0px 0px 4px 1px _palette(border-lt);
+ margin-bottom: _size(element-margin);
+ padding: 3rem;
+
+ @include breakpoint('<=medium') {
+ padding: 2rem;
+ }
+
+ @include breakpoint('<=xsmall') {
+ padding: 1.5rem;
+ }
+ }
+ }
\ No newline at end of file
diff --git a/static/sass/layout/_menu.scss b/static/sass/layout/_menu.scss
new file mode 100644
index 0000000..34b0aaa
--- /dev/null
+++ b/static/sass/layout/_menu.scss
@@ -0,0 +1,104 @@
+/* Menu */
+
+ $accent: accent2;
+
+ #menu {
+ @include color-typography($accent);
+ @include color-button($accent);
+ @include vendor('transform', 'translateX(#{_size(menu-width)})');
+ @include vendor('transition', (
+ 'transform #{_duration(menu)} ease',
+ 'box-shadow #{_duration(menu)} ease',
+ 'visibility #{_duration(menu)}'
+ ));
+ -webkit-overflow-scrolling: touch;
+ box-shadow: none;
+ height: 100%;
+ max-width: 80%;
+ overflow-y: auto;
+ padding: 3rem 2rem;
+ position: fixed;
+ right: 0;
+ top: 0;
+ visibility: hidden;
+ width: _size(menu-width);
+ z-index: _misc(z-index-base) + 2;
+
+ > ul {
+ margin: 0 0 (_size(element-margin) * 0.5) 0;
+
+ &.links {
+ list-style: none;
+ padding: 0;
+
+ > li {
+ padding: 0;
+
+ > a {
+ border: 0;
+ border-top: solid 1px _palette($accent, border);
+ color: inherit;
+ display: block;
+ letter-spacing: _size(letter-spacing-alt);
+ line-height: 3.5rem;
+ text-decoration: none;
+
+ &:hover {
+ color: _palette($accent, fg-bold);
+ }
+ }
+
+ &:first-child {
+ > a {
+ border-top: 0;
+ }
+ }
+ }
+ }
+ }
+
+ .close {
+ @include icon;
+ @include vendor('transition', 'color #{_duration(transition)} ease-in-out');
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
+ border: 0;
+ color: _palette($accent, fg-light);
+ cursor: pointer;
+ display: block;
+ height: 3.25rem;
+ line-height: 3.25rem;
+ padding-right: 1.25rem;
+ position: absolute;
+ right: 0;
+ text-align: right;
+ top: 0;
+ vertical-align: middle;
+ width: 7rem;
+
+ &:before {
+ content: '\f00d';
+ font-size: 1.25rem;
+ }
+
+ &:hover {
+ color: _palette($accent, fg-bold);
+ }
+
+ @include breakpoint('<=small') {
+ height: 4rem;
+ line-height: 4rem;
+ }
+ }
+
+ @include breakpoint('<=small') {
+ padding: 2.5rem 1.75rem;
+ }
+ }
+
+ body.is-menu-visible {
+ #menu {
+ @include vendor('transform', 'translateX(0)');
+ box-shadow: 0 0 1.5rem 0 rgba(0,0,0,0.2);
+ visibility: visible;
+ }
+ }
\ No newline at end of file
diff --git a/static/sass/libs/_breakpoints.scss b/static/sass/libs/_breakpoints.scss
new file mode 100644
index 0000000..ce56df7
--- /dev/null
+++ b/static/sass/libs/_breakpoints.scss
@@ -0,0 +1,223 @@
+// breakpoints.scss v0.1-dev | @ajlkn | MIT licensed */
+
+// Vars.
+
+ /// Breakpoints.
+ /// @var {list}
+ $breakpoints: () !global;
+
+// Mixins.
+
+ /// Sets breakpoints.
+ /// @param {map} $x Breakpoints.
+ @mixin breakpoints($x: ()) {
+ $breakpoints: $x !global;
+ }
+
+ /// Wraps @content in a @media block targeting a specific orientation.
+ /// @param {string} $orientation Orientation.
+ @mixin orientation($orientation) {
+ @media screen and (orientation: #{$orientation}) {
+ @content;
+ }
+ }
+
+ /// Wraps @content in a @media block using a given query.
+ /// @param {string} $query Query.
+ @mixin breakpoint($query: null) {
+
+ $breakpoint: null;
+ $op: null;
+ $media: null;
+
+ // Determine operator, breakpoint.
+
+ // Greater than or equal.
+ @if (str-slice($query, 0, 2) == '>=') {
+
+ $op: 'gte';
+ $breakpoint: str-slice($query, 3);
+
+ }
+
+ // Less than or equal.
+ @elseif (str-slice($query, 0, 2) == '<=') {
+
+ $op: 'lte';
+ $breakpoint: str-slice($query, 3);
+
+ }
+
+ // Greater than.
+ @elseif (str-slice($query, 0, 1) == '>') {
+
+ $op: 'gt';
+ $breakpoint: str-slice($query, 2);
+
+ }
+
+ // Less than.
+ @elseif (str-slice($query, 0, 1) == '<') {
+
+ $op: 'lt';
+ $breakpoint: str-slice($query, 2);
+
+ }
+
+ // Not.
+ @elseif (str-slice($query, 0, 1) == '!') {
+
+ $op: 'not';
+ $breakpoint: str-slice($query, 2);
+
+ }
+
+ // Equal.
+ @else {
+
+ $op: 'eq';
+ $breakpoint: $query;
+
+ }
+
+ // Build media.
+ @if ($breakpoint and map-has-key($breakpoints, $breakpoint)) {
+
+ $a: map-get($breakpoints, $breakpoint);
+
+ // Range.
+ @if (type-of($a) == 'list') {
+
+ $x: nth($a, 1);
+ $y: nth($a, 2);
+
+ // Max only.
+ @if ($x == null) {
+
+ // Greater than or equal (>= 0 / anything)
+ @if ($op == 'gte') {
+ $media: 'screen';
+ }
+
+ // Less than or equal (<= y)
+ @elseif ($op == 'lte') {
+ $media: 'screen and (max-width: ' + $y + ')';
+ }
+
+ // Greater than (> y)
+ @elseif ($op == 'gt') {
+ $media: 'screen and (min-width: ' + ($y + 1) + ')';
+ }
+
+ // Less than (< 0 / invalid)
+ @elseif ($op == 'lt') {
+ $media: 'screen and (max-width: -1px)';
+ }
+
+ // Not (> y)
+ @elseif ($op == 'not') {
+ $media: 'screen and (min-width: ' + ($y + 1) + ')';
+ }
+
+ // Equal (<= y)
+ @else {
+ $media: 'screen and (max-width: ' + $y + ')';
+ }
+
+ }
+
+ // Min only.
+ @else if ($y == null) {
+
+ // Greater than or equal (>= x)
+ @if ($op == 'gte') {
+ $media: 'screen and (min-width: ' + $x + ')';
+ }
+
+ // Less than or equal (<= inf / anything)
+ @elseif ($op == 'lte') {
+ $media: 'screen';
+ }
+
+ // Greater than (> inf / invalid)
+ @elseif ($op == 'gt') {
+ $media: 'screen and (max-width: -1px)';
+ }
+
+ // Less than (< x)
+ @elseif ($op == 'lt') {
+ $media: 'screen and (max-width: ' + ($x - 1) + ')';
+ }
+
+ // Not (< x)
+ @elseif ($op == 'not') {
+ $media: 'screen and (max-width: ' + ($x - 1) + ')';
+ }
+
+ // Equal (>= x)
+ @else {
+ $media: 'screen and (min-width: ' + $x + ')';
+ }
+
+ }
+
+ // Min and max.
+ @else {
+
+ // Greater than or equal (>= x)
+ @if ($op == 'gte') {
+ $media: 'screen and (min-width: ' + $x + ')';
+ }
+
+ // Less than or equal (<= y)
+ @elseif ($op == 'lte') {
+ $media: 'screen and (max-width: ' + $y + ')';
+ }
+
+ // Greater than (> y)
+ @elseif ($op == 'gt') {
+ $media: 'screen and (min-width: ' + ($y + 1) + ')';
+ }
+
+ // Less than (< x)
+ @elseif ($op == 'lt') {
+ $media: 'screen and (max-width: ' + ($x - 1) + ')';
+ }
+
+ // Not (< x and > y)
+ @elseif ($op == 'not') {
+ $media: 'screen and (max-width: ' + ($x - 1) + '), screen and (min-width: ' + ($y + 1) + ')';
+ }
+
+ // Equal (>= x and <= y)
+ @else {
+ $media: 'screen and (min-width: ' + $x + ') and (max-width: ' + $y + ')';
+ }
+
+ }
+
+ }
+
+ // String.
+ @else {
+
+ // Missing a media type? Prefix with "screen".
+ @if (str-slice($a, 0, 1) == '(') {
+ $media: 'screen and ' + $a;
+ }
+
+ // Otherwise, use as-is.
+ @else {
+ $media: $a;
+ }
+
+ }
+
+ }
+
+ // Output.
+ @media #{$media} {
+ @content;
+ }
+
+ }
\ No newline at end of file
diff --git a/static/sass/libs/_flexgrid.scss b/static/sass/libs/_flexgrid.scss
new file mode 100644
index 0000000..51b5c20
--- /dev/null
+++ b/static/sass/libs/_flexgrid.scss
@@ -0,0 +1,338 @@
+// flexgrid.scss v0.1-dev | @ajlkn | MIT licensed */
+
+// Mixins.
+
+ /// Initializes base flexgrid classes.
+ /// @param {string} $vertical-align Vertical alignment of cells.
+ /// @param {string} $horizontal-align Horizontal alignment of cells.
+ @mixin flexgrid-base($vertical-align: null, $horizontal-align: null) {
+
+ // Grid.
+ @include vendor('display', 'flex');
+ @include vendor('flex-wrap', 'wrap');
+
+ // Vertical alignment.
+ @if ($vertical-align == top) {
+ @include vendor('align-items', 'flex-start');
+ }
+ @else if ($vertical-align == bottom) {
+ @include vendor('align-items', 'flex-end');
+ }
+ @else if ($vertical-align == center) {
+ @include vendor('align-items', 'center');
+ }
+ @else {
+ @include vendor('align-items', 'stretch');
+ }
+
+ // Horizontal alignment.
+ @if ($horizontal-align != null) {
+ text-align: $horizontal-align;
+ }
+
+ // Cells.
+ > * {
+ @include vendor('flex-shrink', '1');
+ @include vendor('flex-grow', '0');
+ }
+
+ }
+
+ /// Sets up flexgrid columns.
+ /// @param {integer} $columns Columns.
+ @mixin flexgrid-columns($columns) {
+
+ > * {
+ $cell-width: 100% / $columns;
+ width: #{$cell-width};
+ }
+
+ }
+
+ /// Sets up flexgrid gutters.
+ /// @param {integer} $columns Columns.
+ /// @param {number} $gutters Gutters.
+ @mixin flexgrid-gutters($columns, $gutters) {
+
+ // Apply padding.
+ > * {
+ $cell-width: 100% / $columns;
+
+ padding: ($gutters * 0.5);
+ width: $cell-width;
+ }
+
+ }
+
+ /// Sets up flexgrid gutters (flush).
+ /// @param {integer} $columns Columns.
+ /// @param {number} $gutters Gutters.
+ @mixin flexgrid-gutters-flush($columns, $gutters) {
+
+ // Apply padding.
+ > * {
+ $cell-width: 100% / $columns;
+ $cell-width-pad: $gutters / $columns;
+
+ padding: ($gutters * 0.5);
+ width: calc(#{$cell-width} + #{$cell-width-pad});
+ }
+
+ // Clear top/bottom gutters.
+ > :nth-child(-n + #{$columns}) {
+ padding-top: 0;
+ }
+
+ > :nth-last-child(-n + #{$columns}) {
+ padding-bottom: 0;
+ }
+
+ // Clear left/right gutters.
+ > :nth-child(#{$columns}n + 1) {
+ padding-left: 0;
+ }
+
+ > :nth-child(#{$columns}n) {
+ padding-right: 0;
+ }
+
+ // Adjust widths of leftmost and rightmost cells.
+ > :nth-child(#{$columns}n + 1),
+ > :nth-child(#{$columns}n) {
+ $cell-width: 100% / $columns;
+ $cell-width-pad: ($gutters / $columns) - ($gutters / 2);
+
+ width: calc(#{$cell-width} + #{$cell-width-pad});
+ }
+
+ }
+
+ /// Reset flexgrid gutters (flush only).
+ /// Used to override a previous set of flexgrid gutter classes.
+ /// @param {integer} $columns Columns.
+ /// @param {number} $gutters Gutters.
+ /// @param {integer} $prev-columns Previous columns.
+ @mixin flexgrid-gutters-flush-reset($columns, $gutters, $prev-columns) {
+
+ // Apply padding.
+ > * {
+ $cell-width: 100% / $prev-columns;
+ $cell-width-pad: $gutters / $prev-columns;
+
+ padding: ($gutters * 0.5);
+ width: calc(#{$cell-width} + #{$cell-width-pad});
+ }
+
+ // Clear top/bottom gutters.
+ > :nth-child(-n + #{$prev-columns}) {
+ padding-top: ($gutters * 0.5);
+ }
+
+ > :nth-last-child(-n + #{$prev-columns}) {
+ padding-bottom: ($gutters * 0.5);
+ }
+
+ // Clear left/right gutters.
+ > :nth-child(#{$prev-columns}n + 1) {
+ padding-left: ($gutters * 0.5);
+ }
+
+ > :nth-child(#{$prev-columns}n) {
+ padding-right: ($gutters * 0.5);
+ }
+
+ // Adjust widths of leftmost and rightmost cells.
+ > :nth-child(#{$prev-columns}n + 1),
+ > :nth-child(#{$prev-columns}n) {
+ $cell-width: 100% / $columns;
+ $cell-width-pad: $gutters / $columns;
+
+ padding: ($gutters * 0.5);
+ width: calc(#{$cell-width} + #{$cell-width-pad});
+ }
+
+ }
+
+ /// Adds debug styles to current flexgrid element.
+ @mixin flexgrid-debug() {
+
+ box-shadow: 0 0 0 1px red;
+
+ > * {
+ box-shadow: inset 0 0 0 1px blue;
+ position: relative;
+
+ > * {
+ position: relative;
+ box-shadow: inset 0 0 0 1px green;
+ }
+ }
+
+ }
+
+ /// Initializes the current element as a flexgrid.
+ /// @param {integer} $columns Columns (optional).
+ /// @param {number} $gutters Gutters (optional).
+ /// @param {bool} $flush If true, clears padding around the very edge of the grid.
+ @mixin flexgrid($settings: ()) {
+
+ // Settings.
+
+ // Debug.
+ $debug: false;
+
+ @if (map-has-key($settings, 'debug')) {
+ $debug: map-get($settings, 'debug');
+ }
+
+ // Vertical align.
+ $vertical-align: null;
+
+ @if (map-has-key($settings, 'vertical-align')) {
+ $vertical-align: map-get($settings, 'vertical-align');
+ }
+
+ // Horizontal align.
+ $horizontal-align: null;
+
+ @if (map-has-key($settings, 'horizontal-align')) {
+ $horizontal-align: map-get($settings, 'horizontal-align');
+ }
+
+ // Columns.
+ $columns: null;
+
+ @if (map-has-key($settings, 'columns')) {
+ $columns: map-get($settings, 'columns');
+ }
+
+ // Gutters.
+ $gutters: 0;
+
+ @if (map-has-key($settings, 'gutters')) {
+ $gutters: map-get($settings, 'gutters');
+ }
+
+ // Flush.
+ $flush: true;
+
+ @if (map-has-key($settings, 'flush')) {
+ $flush: map-get($settings, 'flush');
+ }
+
+ // Initialize base grid.
+ @include flexgrid-base($vertical-align, $horizontal-align);
+
+ // Debug?
+ @if ($debug) {
+ @include flexgrid-debug;
+ }
+
+ // Columns specified?
+ @if ($columns != null) {
+
+ // Initialize columns.
+ @include flexgrid-columns($columns);
+
+ // Gutters specified?
+ @if ($gutters > 0) {
+
+ // Flush gutters?
+ @if ($flush) {
+
+ // Initialize gutters (flush).
+ @include flexgrid-gutters-flush($columns, $gutters);
+
+ }
+
+ // Otherwise ...
+ @else {
+
+ // Initialize gutters.
+ @include flexgrid-gutters($columns, $gutters);
+
+ }
+
+ }
+
+ }
+
+ }
+
+ /// Resizes a previously-initialized grid.
+ /// @param {integer} $columns Columns.
+ /// @param {number} $gutters Gutters (optional).
+ /// @param {list} $reset A list of previously-initialized grid columns (only if $flush is true).
+ /// @param {bool} $flush If true, clears padding around the very edge of the grid.
+ @mixin flexgrid-resize($settings: ()) {
+
+ // Settings.
+
+ // Columns.
+ $columns: 1;
+
+ @if (map-has-key($settings, 'columns')) {
+ $columns: map-get($settings, 'columns');
+ }
+
+ // Gutters.
+ $gutters: 0;
+
+ @if (map-has-key($settings, 'gutters')) {
+ $gutters: map-get($settings, 'gutters');
+ }
+
+ // Previous columns.
+ $prev-columns: false;
+
+ @if (map-has-key($settings, 'prev-columns')) {
+ $prev-columns: map-get($settings, 'prev-columns');
+ }
+
+ // Flush.
+ $flush: true;
+
+ @if (map-has-key($settings, 'flush')) {
+ $flush: map-get($settings, 'flush');
+ }
+
+ // Resize columns.
+ @include flexgrid-columns($columns);
+
+ // Gutters specified?
+ @if ($gutters > 0) {
+
+ // Flush gutters?
+ @if ($flush) {
+
+ // Previous columns specified?
+ @if ($prev-columns) {
+
+ // Convert to list if it isn't one already.
+ @if (type-of($prev-columns) != list) {
+ $prev-columns: ($prev-columns);
+ }
+
+ // Step through list of previous columns and reset them.
+ @each $x in $prev-columns {
+ @include flexgrid-gutters-flush-reset($columns, $gutters, $x);
+ }
+
+ }
+
+ // Resize gutters (flush).
+ @include flexgrid-gutters-flush($columns, $gutters);
+
+ }
+
+ // Otherwise ...
+ @else {
+
+ // Resize gutters.
+ @include flexgrid-gutters($columns, $gutters);
+
+ }
+
+ }
+
+ }
\ No newline at end of file
diff --git a/static/sass/libs/_functions.scss b/static/sass/libs/_functions.scss
new file mode 100644
index 0000000..b17e775
--- /dev/null
+++ b/static/sass/libs/_functions.scss
@@ -0,0 +1,92 @@
+// skel-baseline v3.0.1 | (c) n33 | skel.io | MIT licensed
+
+/// Removes a specific item from a list.
+/// @author Hugo Giraudel
+/// @param {list} $list List.
+/// @param {integer} $index Index.
+/// @return {list} Updated list.
+@function remove-nth($list, $index) {
+
+ $result: null;
+
+ @if type-of($index) != number {
+ @warn "$index: #{quote($index)} is not a number for `remove-nth`.";
+ }
+ @else if $index == 0 {
+ @warn "List index 0 must be a non-zero integer for `remove-nth`.";
+ }
+ @else if abs($index) > length($list) {
+ @warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`.";
+ }
+ @else {
+
+ $result: ();
+ $index: if($index < 0, length($list) + $index + 1, $index);
+
+ @for $i from 1 through length($list) {
+
+ @if $i != $index {
+ $result: append($result, nth($list, $i));
+ }
+
+ }
+
+ }
+
+ @return $result;
+
+}
+
+/// Gets a value from a map.
+/// @author Hugo Giraudel
+/// @param {map} $map Map.
+/// @param {string} $keys Key(s).
+/// @return {string} Value.
+@function val($map, $keys...) {
+
+ @if nth($keys, 1) == null {
+ $keys: remove-nth($keys, 1);
+ }
+
+ @each $key in $keys {
+ $map: map-get($map, $key);
+ }
+
+ @return $map;
+
+}
+
+/// Gets a duration value.
+/// @param {string} $keys Key(s).
+/// @return {string} Value.
+@function _duration($keys...) {
+ @return val($duration, $keys...);
+}
+
+/// Gets a font value.
+/// @param {string} $keys Key(s).
+/// @return {string} Value.
+@function _font($keys...) {
+ @return val($font, $keys...);
+}
+
+/// Gets a misc value.
+/// @param {string} $keys Key(s).
+/// @return {string} Value.
+@function _misc($keys...) {
+ @return val($misc, $keys...);
+}
+
+/// Gets a palette value.
+/// @param {string} $keys Key(s).
+/// @return {string} Value.
+@function _palette($keys...) {
+ @return val($palette, $keys...);
+}
+
+/// Gets a size value.
+/// @param {string} $keys Key(s).
+/// @return {string} Value.
+@function _size($keys...) {
+ @return val($size, $keys...);
+}
\ No newline at end of file
diff --git a/static/sass/libs/_grid.scss b/static/sass/libs/_grid.scss
new file mode 100644
index 0000000..69f7ce7
--- /dev/null
+++ b/static/sass/libs/_grid.scss
@@ -0,0 +1,121 @@
+// grid.scss v0.1-dev | @ajlkn | MIT licensed */
+
+// Mixins.
+
+ /// Initializes grid classes.
+ /// @param {mixed} $gutters Gutters (either a single number to set both column/row gutters, or a list to set them individually).
+ /// @param {string} $suffix Optional column class suffix.
+ /// @param {list} $override Optional list of column classes to override.
+ @mixin grid($gutters: 1.5em, $suffix: '', $override: ()) {
+
+ // Initialize.
+ $cols: 12;
+ $multipliers: 0, 0.25, 0.5, 1, 1.50, 2.00;
+ $unit: 100% / $cols;
+ $suffixes: join($override, ($suffix));
+
+ // Gutters.
+ $guttersCols: null;
+ $guttersRows: null;
+
+ @if (type-of($gutters) == 'list') {
+
+ $guttersCols: nth($gutters, 1);
+ $guttersRows: nth($gutters, 2);
+
+ }
+ @else {
+
+ $guttersCols: $gutters;
+ $guttersRows: 0;
+
+ }
+
+ // Row.
+ .row {
+ display: flex;
+ flex-wrap: wrap;
+ box-sizing: border-box;
+
+ // Columns.
+ > * {
+ box-sizing: border-box;
+ }
+
+ // Gutters.
+ &.gtr-uniform {
+ > * {
+ > :last-child {
+ margin-bottom: 0;
+ }
+ }
+ }
+
+ }
+
+ // Step through suffixes.
+ @each $suffix in $suffixes {
+
+ // Suffix.
+ @if ($suffix != '') {
+ $suffix: '-' + $suffix;
+ }
+ @else {
+ $suffix: '';
+ }
+
+ // Row.
+ .row {
+
+ // Important.
+ > .imp#{$suffix} {
+ order: -1;
+ }
+
+ // Columns, offsets.
+ @for $i from 1 through $cols {
+ > .col-#{$i}#{$suffix} {
+ width: $unit * $i;
+ }
+
+ > .off-#{$i}#{$suffix} {
+ margin-left: $unit * $i;
+ }
+ }
+
+ // Step through multipliers.
+ @each $multiplier in $multipliers {
+
+ // Gutters.
+ $class: null;
+
+ @if ($multiplier != 1) {
+ $class: '.gtr-' + ($multiplier * 100);
+ }
+
+ {$class} {
+ margin-top: ($guttersRows * $multiplier * -1);
+ margin-left: ($guttersCols * $multiplier * -1);
+
+ > * {
+ padding: ($guttersRows * $multiplier) 0 0 ($guttersCols * $multiplier);
+ }
+
+ // Uniform.
+ &.gtr-uniform {
+ margin-top: $guttersCols * $multiplier * -1;
+
+ > * {
+ padding-top: $guttersCols * $multiplier;
+ }
+ }
+
+ }
+
+ }
+
+ }
+
+ }
+
+ }
\ No newline at end of file
diff --git a/static/sass/libs/_mixins.scss b/static/sass/libs/_mixins.scss
new file mode 100644
index 0000000..9ac20ad
--- /dev/null
+++ b/static/sass/libs/_mixins.scss
@@ -0,0 +1,63 @@
+/// Makes an element's :before pseudoelement a FontAwesome icon.
+/// @param {string} $content Optional content value to use.
+/// @param {string} $where Optional pseudoelement to target (before or after).
+@mixin icon($content: false, $where: before) {
+
+ text-decoration: none;
+
+ &:#{$where} {
+
+ @if $content {
+ content: $content;
+ }
+
+ -moz-osx-font-smoothing: grayscale;
+ -webkit-font-smoothing: antialiased;
+ font-family: FontAwesome;
+ font-style: normal;
+ font-weight: normal;
+ text-transform: none !important;
+
+ }
+
+}
+
+/// Applies padding to an element, taking the current element-margin value into account.
+/// @param {mixed} $tb Top/bottom padding.
+/// @param {mixed} $lr Left/right padding.
+/// @param {list} $pad Optional extra padding (in the following order top, right, bottom, left)
+/// @param {bool} $important If true, adds !important.
+@mixin padding($tb, $lr, $pad: (0,0,0,0), $important: null) {
+
+ @if $important {
+ $important: '!important';
+ }
+
+ $x: 0.1em;
+
+ @if unit(_size(element-margin)) == 'rem' {
+ $x: 0.1rem;
+ }
+
+ padding: ($tb + nth($pad,1)) ($lr + nth($pad,2)) max($x, $tb - _size(element-margin) + nth($pad,3)) ($lr + nth($pad,4)) #{$important};
+
+}
+
+/// Encodes a SVG data URL so IE doesn't choke (via codepen.io/jakob-e/pen/YXXBrp).
+/// @param {string} $svg SVG data URL.
+/// @return {string} Encoded SVG data URL.
+@function svg-url($svg) {
+
+ $svg: str-replace($svg, '"', '\'');
+ $svg: str-replace($svg, '%', '%25');
+ $svg: str-replace($svg, '<', '%3C');
+ $svg: str-replace($svg, '>', '%3E');
+ $svg: str-replace($svg, '&', '%26');
+ $svg: str-replace($svg, '#', '%23');
+ $svg: str-replace($svg, '{', '%7B');
+ $svg: str-replace($svg, '}', '%7D');
+ $svg: str-replace($svg, ';', '%3B');
+
+ @return url("data:image/svg+xml;charset=utf8,#{$svg}");
+
+}
\ No newline at end of file
diff --git a/static/sass/libs/_vars.scss b/static/sass/libs/_vars.scss
new file mode 100644
index 0000000..e1d1c4d
--- /dev/null
+++ b/static/sass/libs/_vars.scss
@@ -0,0 +1,66 @@
+// Misc.
+ $misc: (
+ z-index-base: 10000
+ );
+
+// Duration.
+ $duration: (
+ menu: 0.5s,
+ banner: 1s,
+ transition: 0.2s
+ );
+
+// Size.
+ $size: (
+ border-radius: 4px,
+ element-height: 3.25rem,
+ element-margin: 2rem,
+ container-width: 80rem,
+ header-height: 3.25rem,
+ inner-width: 75rem,
+ menu-width: 20rem
+ );
+
+// Font.
+ $font: (
+ family: ('Raleway', Arial, Helvetica, sans-serif),
+ family-fixed: ('Courier New', monospace),
+ weight: 400,
+ weight-light: 300,
+ weight-xlite: 200,
+ weight-bold: 600
+ );
+
+// Palette.
+ $palette: (
+ bg: #ffffff,
+ fg: #444444,
+ fg-bold: #555555,
+ fg-light: #bbbbbb,
+ border: rgba(0,0,0,0.25),
+ border-bg: rgba(0,0,0,0.075),
+ border-lt: rgba(0,0,0,0.025),
+ highlight: accent1,
+
+ accent1: (
+ bg: #ce1b28,
+ fg: rgba(255,255,255,0.75),
+ fg-bold: #ffffff,
+ fg-light: rgba(255,255,255,0.4),
+ border: rgba(255,255,255,0.25),
+ border-bg: rgba(255,255,255,0.075),
+ border-lt: rgba(255,255,255,0.025),
+ highlight: accent1
+ ),
+
+ accent2: (
+ bg: #111111,
+ fg: rgba(255,255,255,0.5),
+ fg-bold: #ffffff,
+ fg-light: rgba(255,255,255,0.4),
+ border: rgba(255,255,255,0.25),
+ border-bg: rgba(255,255,255,0.075),
+ border-lt: rgba(255,255,255,0.025),
+ highlight: accent1
+ )
+ );
\ No newline at end of file
diff --git a/static/sass/libs/_vendor.scss b/static/sass/libs/_vendor.scss
new file mode 100644
index 0000000..672394b
--- /dev/null
+++ b/static/sass/libs/_vendor.scss
@@ -0,0 +1,376 @@
+// vendor.scss v0.1-dev | @ajlkn | MIT licensed */
+
+// Vars.
+
+ /// Vendor prefixes.
+ /// @var {list}
+ $vendor-prefixes: (
+ '-moz-',
+ '-webkit-',
+ '-ms-',
+ ''
+ );
+
+ /// Properties that should be vendorized.
+ /// Data via caniuse.com, github.com/postcss/autoprefixer, and developer.mozilla.org
+ /// @var {list}
+ $vendor-properties: (
+
+ // Animation.
+ 'animation',
+ 'animation-delay',
+ 'animation-direction',
+ 'animation-duration',
+ 'animation-fill-mode',
+ 'animation-iteration-count',
+ 'animation-name',
+ 'animation-play-state',
+ 'animation-timing-function',
+
+ // Appearance.
+ 'appearance',
+
+ // Backdrop filter.
+ 'backdrop-filter',
+
+ // Background image options.
+ 'background-clip',
+ 'background-origin',
+ 'background-size',
+
+ // Box sizing.
+ 'box-sizing',
+
+ // Clip path.
+ 'clip-path',
+
+ // Filter effects.
+ 'filter',
+
+ // Flexbox.
+ 'align-content',
+ 'align-items',
+ 'align-self',
+ 'flex',
+ 'flex-basis',
+ 'flex-direction',
+ 'flex-flow',
+ 'flex-grow',
+ 'flex-shrink',
+ 'flex-wrap',
+ 'justify-content',
+ 'order',
+
+ // Font feature.
+ 'font-feature-settings',
+ 'font-language-override',
+ 'font-variant-ligatures',
+
+ // Font kerning.
+ 'font-kerning',
+
+ // Fragmented borders and backgrounds.
+ 'box-decoration-break',
+
+ // Grid layout.
+ 'grid-column',
+ 'grid-column-align',
+ 'grid-column-end',
+ 'grid-column-start',
+ 'grid-row',
+ 'grid-row-align',
+ 'grid-row-end',
+ 'grid-row-start',
+ 'grid-template-columns',
+ 'grid-template-rows',
+
+ // Hyphens.
+ 'hyphens',
+ 'word-break',
+
+ // Masks.
+ 'mask',
+ 'mask-border',
+ 'mask-border-outset',
+ 'mask-border-repeat',
+ 'mask-border-slice',
+ 'mask-border-source',
+ 'mask-border-width',
+ 'mask-clip',
+ 'mask-composite',
+ 'mask-image',
+ 'mask-origin',
+ 'mask-position',
+ 'mask-repeat',
+ 'mask-size',
+
+ // Multicolumn.
+ 'break-after',
+ 'break-before',
+ 'break-inside',
+ 'column-count',
+ 'column-fill',
+ 'column-gap',
+ 'column-rule',
+ 'column-rule-color',
+ 'column-rule-style',
+ 'column-rule-width',
+ 'column-span',
+ 'column-width',
+ 'columns',
+
+ // Object fit.
+ 'object-fit',
+ 'object-position',
+
+ // Regions.
+ 'flow-from',
+ 'flow-into',
+ 'region-fragment',
+
+ // Scroll snap points.
+ 'scroll-snap-coordinate',
+ 'scroll-snap-destination',
+ 'scroll-snap-points-x',
+ 'scroll-snap-points-y',
+ 'scroll-snap-type',
+
+ // Shapes.
+ 'shape-image-threshold',
+ 'shape-margin',
+ 'shape-outside',
+
+ // Tab size.
+ 'tab-size',
+
+ // Text align last.
+ 'text-align-last',
+
+ // Text decoration.
+ 'text-decoration-color',
+ 'text-decoration-line',
+ 'text-decoration-skip',
+ 'text-decoration-style',
+
+ // Text emphasis.
+ 'text-emphasis',
+ 'text-emphasis-color',
+ 'text-emphasis-position',
+ 'text-emphasis-style',
+
+ // Text size adjust.
+ 'text-size-adjust',
+
+ // Text spacing.
+ 'text-spacing',
+
+ // Transform.
+ 'transform',
+ 'transform-origin',
+
+ // Transform 3D.
+ 'backface-visibility',
+ 'perspective',
+ 'perspective-origin',
+ 'transform-style',
+
+ // Transition.
+ 'transition',
+ 'transition-delay',
+ 'transition-duration',
+ 'transition-property',
+ 'transition-timing-function',
+
+ // Unicode bidi.
+ 'unicode-bidi',
+
+ // User select.
+ 'user-select',
+
+ // Writing mode.
+ 'writing-mode',
+
+ );
+
+ /// Values that should be vendorized.
+ /// Data via caniuse.com, github.com/postcss/autoprefixer, and developer.mozilla.org
+ /// @var {list}
+ $vendor-values: (
+
+ // Cross fade.
+ 'cross-fade',
+
+ // Element function.
+ 'element',
+
+ // Filter function.
+ 'filter',
+
+ // Flexbox.
+ 'flex',
+ 'inline-flex',
+
+ // Grab cursors.
+ 'grab',
+ 'grabbing',
+
+ // Gradients.
+ 'linear-gradient',
+ 'repeating-linear-gradient',
+ 'radial-gradient',
+ 'repeating-radial-gradient',
+
+ // Grid layout.
+ 'grid',
+ 'inline-grid',
+
+ // Image set.
+ 'image-set',
+
+ // Intrinsic width.
+ 'max-content',
+ 'min-content',
+ 'fit-content',
+ 'fill',
+ 'fill-available',
+ 'stretch',
+
+ // Sticky position.
+ 'sticky',
+
+ // Transform.
+ 'transform',
+
+ // Zoom cursors.
+ 'zoom-in',
+ 'zoom-out',
+
+ );
+
+// Functions.
+
+ /// Removes a specific item from a list.
+ /// @author Hugo Giraudel
+ /// @param {list} $list List.
+ /// @param {integer} $index Index.
+ /// @return {list} Updated list.
+ @function remove-nth($list, $index) {
+
+ $result: null;
+
+ @if type-of($index) != number {
+ @warn "$index: #{quote($index)} is not a number for `remove-nth`.";
+ }
+ @else if $index == 0 {
+ @warn "List index 0 must be a non-zero integer for `remove-nth`.";
+ }
+ @else if abs($index) > length($list) {
+ @warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`.";
+ }
+ @else {
+
+ $result: ();
+ $index: if($index < 0, length($list) + $index + 1, $index);
+
+ @for $i from 1 through length($list) {
+
+ @if $i != $index {
+ $result: append($result, nth($list, $i));
+ }
+
+ }
+
+ }
+
+ @return $result;
+
+ }
+
+ /// Replaces a substring within another string.
+ /// @author Hugo Giraudel
+ /// @param {string} $string String.
+ /// @param {string} $search Substring.
+ /// @param {string} $replace Replacement.
+ /// @return {string} Updated string.
+ @function str-replace($string, $search, $replace: '') {
+
+ $index: str-index($string, $search);
+
+ @if $index {
+ @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
+ }
+
+ @return $string;
+
+ }
+
+ /// Replaces a substring within each string in a list.
+ /// @param {list} $strings List of strings.
+ /// @param {string} $search Substring.
+ /// @param {string} $replace Replacement.
+ /// @return {list} Updated list of strings.
+ @function str-replace-all($strings, $search, $replace: '') {
+
+ @each $string in $strings {
+ $strings: set-nth($strings, index($strings, $string), str-replace($string, $search, $replace));
+ }
+
+ @return $strings;
+
+ }
+
+// Mixins.
+
+ /// Wraps @content in vendorized keyframe blocks.
+ /// @param {string} $name Name.
+ @mixin keyframes($name) {
+
+ @-moz-keyframes #{$name} { @content; }
+ @-webkit-keyframes #{$name} { @content; }
+ @-ms-keyframes #{$name} { @content; }
+ @keyframes #{$name} { @content; }
+
+ }
+
+ /// Vendorizes a declaration's property and/or value(s).
+ /// @param {string} $property Property.
+ /// @param {mixed} $value String/list of value(s).
+ @mixin vendor($property, $value) {
+
+ // Determine if property should expand.
+ $expandProperty: index($vendor-properties, $property);
+
+ // Determine if value should expand (and if so, add '-prefix-' placeholder).
+ $expandValue: false;
+
+ @each $x in $value {
+ @each $y in $vendor-values {
+ @if $y == str-slice($x, 1, str-length($y)) {
+
+ $value: set-nth($value, index($value, $x), '-prefix-' + $x);
+ $expandValue: true;
+
+ }
+ }
+ }
+
+ // Expand property?
+ @if $expandProperty {
+ @each $vendor in $vendor-prefixes {
+ #{$vendor}#{$property}: #{str-replace-all($value, '-prefix-', $vendor)};
+ }
+ }
+
+ // Expand just the value?
+ @elseif $expandValue {
+ @each $vendor in $vendor-prefixes {
+ #{$property}: #{str-replace-all($value, '-prefix-', $vendor)};
+ }
+ }
+
+ // Neither? Treat them as a normal declaration.
+ @else {
+ #{$property}: #{$value};
+ }
+
+ }
\ No newline at end of file
diff --git a/static/sass/main.scss b/static/sass/main.scss
new file mode 100644
index 0000000..ed51f6a
--- /dev/null
+++ b/static/sass/main.scss
@@ -0,0 +1,66 @@
+@import 'libs/vars';
+@import 'libs/functions';
+@import 'libs/mixins';
+@import 'libs/vendor';
+@import 'libs/breakpoints';
+@import 'libs/grid';
+@import 'libs/flexgrid';
+@import 'font-awesome.min.css';
+@import url('https://fonts.googleapis.com/css?family=Raleway:200,300,400,500,600');
+
+/*
+ Industrious by TEMPLATED
+ templated.co @templatedco
+ Released for free under the Creative Commons Attribution 3.0 license (templated.co/license)
+*/
+
+// Breakpoints.
+ @include breakpoints((
+ default: (1681px, null ),
+ xlarge: (1281px, 1680px ),
+ large: (981px, 1280px ),
+ medium: (737px, 980px ),
+ small: (481px, 736px ),
+ xsmall: (361px, 480px ),
+ xxsmall: (null, 360px )
+ ));
+
+// Color.
+ @mixin color($p) {
+ @include color-typography($p);
+ @include color-button($p);
+ @include color-form($p);
+ @include color-list($p);
+ @include color-table($p);
+ @include color-highlights($p);
+ @include color-testimonials($p);
+ }
+
+// Base.
+ @import 'base/page';
+ @import 'base/reset';
+ @import 'base/typography';
+
+// Component.
+ @import 'components/inner';
+ @import 'components/button';
+ @import 'components/form';
+ @import 'components/list';
+ @import 'components/table';
+ @import 'components/highlights';
+ @import 'components/testimonials';
+ @import 'components/actions';
+ @import 'components/grid';
+ @import 'components/icon';
+ @import 'components/icons';
+ @import 'components/image';
+ @import 'components/wrapper';
+
+// Layout.
+ @import 'layout/banner';
+ @import 'layout/cta';
+ @import 'layout/footer';
+ @import 'layout/header';
+ @import 'layout/heading';
+ @import 'layout/main';
+ @import 'layout/menu';
\ No newline at end of file
diff --git a/templates/stock_portfolio_homepage.html b/templates/stock_portfolio_homepage.html
index 8ddb75e..cd639db 100644
--- a/templates/stock_portfolio_homepage.html
+++ b/templates/stock_portfolio_homepage.html
@@ -1,5 +1,10 @@