feat: implemented edits

This commit is contained in:
Rushil Umaretiya 2021-10-31 02:54:23 -04:00
parent fa087fba9a
commit 0abfe2c7cf
97 changed files with 9042 additions and 2205 deletions

126
contact.html Normal file
View File

@ -0,0 +1,126 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>NeuroSecure</title>
<link rel="stylesheet" href="/css/contact.css" />
<link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png">
<link rel="manifest" href="/favicon/site.webmanifest">
<link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<div class="nav">
<nav>
<div class="logo">
<h4>
<img src="/css/res/brain.svg" style="width: 28px"/>
<!-- <img src="/css/res/plus.svg" /> -->
<!-- <img src="/css/res/lock.svg" /> -->
<span>NeuroSecure</span>
</h4>
</div>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/project">Timeline</a></li>
<li><a href="/team">Our Team</a></li>
<li><a href="/contact">Contact Us</a></li>
<span>NeuroSecure</span>
</ul>
<div class="burger">
<div class="line1"></div>
<div class="line2"></div>
<div class="line3"></div>
</div>
</nav>
</div>
<div class="contact-wrapper">
<section class="contact">
<form id="contact" action="/" method="post">
<h1>Get in contact</h1>
<fieldset>
<fieldset>
<input
placeholder="Your name"
name="name"
type="text"
tabindex="1"
required
/>
</fieldset>
<fieldset>
<input
placeholder="Your email"
name="email"
type="email"
tabindex="2"
required
/>
</fieldset>
<fieldset>
<input
placeholder="Your phone number (optional)"
name="phone"
type="tel"
tabindex="3"
required
/>
</fieldset>
<fieldset>
<textarea
placeholder="Type your message here..."
name="message"
tabindex="4"
></textarea>
</fieldset>
<button type="submit">submit</button>
</fieldset>
<p class="alternative">
Or, you can feel free to email us
<a href="mailto:leonjia0942@gmail.com">here</a>.
</p>
</form>
</section>
</div>
<footer>
<div class="footer">
<div class="columns">
<div class="logo">
<h4>
<img src="/css/res/brain.svg" />
<!-- <img src="/css/res/plus.svg" />
<img src="/css/res/lock.svg" /> -->
<span>NeuroSecure</span>
</h4>
</div>
<ul>
<li>Important Links</li>
<li><a href="">Link</a></li>
<li><a href="">Another Link</a></li>
<li><a href="">Yet another link</a></li>
</ul>
<ul>
<li>More Links</li>
<li><a href="">Link</a></li>
<li><a href="">Another Link</a></li>
<li><a href="">Yet another link</a></li>
</ul>
</div>
<div class="copyright">
&copy; All rights reserved 2021<br />designed by
<a target="_blank" href="https://github.com/rushilwiz"
>rushil umaretiya</a
>
</div>
</div>
</footer>
</body>
</html>

283
css/base.css Normal file
View File

@ -0,0 +1,283 @@
@font-face {
font-family: 'Poppins';
src: url("fonts/Poppins/Poppins-Regular.ttf");
}
@font-face {
font-family: 'Open Sans';
src: url("fonts/Open_Sans/OpenSans-Regular.ttf");
}
@font-face {
font-family: 'Astro';
src: url("fonts/Astro/astro.ttf");
}
@font-face {
font-family: 'Garamond';
src: url("fonts/Garamond/EBGaramond-Regular.ttf");
}
* {
margin: 0px;
padding: 0px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
background-color: #131313;
}
body {
overflow-x: hidden;
}
.nav {
position: fixed;
width: 100vw;
top: 0;
z-index: 999;
}
.nav nav {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-pack: distribute;
justify-content: space-around;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
min-height: 8vh;
background-color: #131313;
font-family: "Poppins", sans-serif;
}
.nav nav .logo {
color: #d4d4d4;
text-transform: uppercase;
letter-spacing: 3px;
font-size: 1.75em;
}
.nav nav .logo h4 {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
.nav nav .logo span {
padding-left: 20px;
}
.nav nav ul {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-pack: distribute;
justify-content: space-around;
width: 30%;
}
.nav nav ul li {
list-style: none;
}
.nav nav ul span {
display: none;
}
.nav nav ul a {
font-family: "Open Sans", sans-serif;
color: #d4d4d4;
text-decoration: none;
font-weight: bold;
font-size: 1.1em;
}
.nav nav ul a:hover {
color: white;
}
.nav nav .nav-active {
-webkit-transform: translateX(0%) !important;
transform: translateX(0%) !important;
}
.nav nav .burger {
display: none;
}
.nav nav .burger div {
width: 25px;
height: 3px;
background-color: #d4d4d4;
margin: 5px;
-webkit-transition: all 0.3s ease;
transition: all 0.3s ease;
}
@media (max-width: 768px) {
.nav nav {
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
padding: 20px;
}
.nav nav .logo img {
width: 28px;
height: 28px;
}
.nav nav .logo span {
display: none;
}
.nav nav ul {
z-index: 1;
-webkit-transform: translateX(100%);
transform: translateX(100%);
position: absolute;
right: 0%;
top: 8vh;
height: 30vh;
width: 100% !important;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
background-color: #131313;
-webkit-transition: -webkit-transform 0.5s ease-in;
transition: -webkit-transform 0.5s ease-in;
transition: transform 0.5s ease-in;
transition: transform 0.5s ease-in, -webkit-transform 0.5s ease-in;
border-bottom: 3px solid #d4d4d4;
}
.nav nav ul span {
display: block;
color: #d4d4d4;
font-weight: bold;
text-transform: uppercase;
letter-spacing: 3px;
font-size: 1.75em;
}
.nav nav ul li a {
color: #d4d4d4 !important;
font-size: 1.2em;
font-weight: normal;
}
.nav nav .burger {
display: block !important;
}
.nav nav .burger.toggle .line1 {
-webkit-transform: rotate(-45deg) translate(-5px, 6px);
transform: rotate(-45deg) translate(-5px, 6px);
}
.nav nav .burger.toggle .line2 {
opacity: 0;
}
.nav nav .burger.toggle .line3 {
-webkit-transform: rotate(45deg) translate(-5px, -6px);
transform: rotate(45deg) translate(-5px, -6px);
}
}
footer {
position: relative;
margin-top: 10%;
height: 10vh;
width: 100%;
}
footer .footer {
width: 50%;
margin: 0 auto;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
color: #d4d4d4;
font-family: "Open Sans", sans-serif;
}
footer .footer .columns {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-ms-flex-pack: distribute;
justify-content: space-around;
}
footer .footer .columns .logo {
margin: auto 0;
}
footer .footer .columns .logo h4 {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
margin: auto 0;
color: #d4d4d4;
text-transform: uppercase;
letter-spacing: 3px;
font-size: 1.2em;
}
footer .footer .columns .logo span {
padding-left: 10px;
}
footer .footer .columns ul {
list-style: none;
}
footer .footer .columns ul li {
color: #868686;
}
footer .footer .columns ul li:first-child {
font-size: 1.2em;
padding: 5px 0;
color: #939393;
}
footer .footer .columns ul li a {
padding: 4px 0;
color: inherit;
text-decoration: none;
}
footer .footer .columns ul li a:hover {
color: #acacac;
}
footer .footer .copyright {
color: #797979;
text-align: center;
font-size: 0.9em;
margin: 50px 0;
}
footer .footer .copyright a {
color: inherit;
}
/*# sourceMappingURL=base.css.map */

233
css/base.sass Normal file
View File

@ -0,0 +1,233 @@
// colors
$dark: #131313
$gray: #747474
$light: #d4d4d4
$accent: #7DF9FF
$gradient-width: -5px
// fonts
@font-face
font-family: 'Poppins'
src: url('fonts/Poppins/Poppins-Regular.ttf')
@font-face
font-family: 'Open Sans'
src: url('fonts/Open_Sans/OpenSans-Regular.ttf')
@font-face
font-family: 'Astro'
src: url('fonts/Astro/astro.ttf')
@font-face
font-family: 'Garamond'
src: url('fonts/Garamond/EBGaramond-Regular.ttf')
$hero-stack: 'Astro', sans-serif
$title-stack: 'Poppins', sans-serif
$subtitle-stack: 'Open Sans', sans-serif
$body-stack: 'Poppins', sans-serif
$serif-title-stack: 'Garamond', serif
$serif-stack: serif
// mobile
$mobile-width: 768px
@mixin mobile
@media (max-width: #{$mobile-width})
@content
@mixin desktop
@media (min-width: #{$mobile-width})
@content
*
margin: 0px
padding: 0px
box-sizing: border-box
background-color: $dark
body
overflow-x: hidden
.nav
position: fixed
width: 100vw
top: 0
z-index: 999
nav
display: flex
justify-content: space-around
align-items: center
min-height: 8vh
background-color: $dark
font-family: $title-stack
.logo
color: $light
text-transform: uppercase
letter-spacing: 3px
font-size: 1.75em
h4
display: flex
span
padding-left: 20px
ul
display: flex
justify-content: space-around
width: 30%
li
list-style: none
span
display: none
a
font-family: $subtitle-stack
color: $light
text-decoration: none
font-weight: bold
font-size: 1.1em
&:hover
color: white
.nav-active
transform: translateX(0%) !important
.burger
display: none
div
width: 25px
height: 3px
background-color: $light
margin: 5px
transition: all 0.3s ease
@include mobile
justify-content: space-between
padding: 20px
.logo
img
width: 28px
height: 28px
span
display: none
ul
z-index: 1
transform: translateX(100%)
position: absolute
right: 0%
top: 8vh
height: 30vh
width: 100% !important
display: flex
flex-direction: column
align-items: center
background-color: $dark
transition: transform 0.5s ease-in
border-bottom: 3px solid $light
span
display: block
color: $light
font-weight: bold
text-transform: uppercase
letter-spacing: 3px
font-size: 1.75em
li a
color: $light !important
font-size: 1.2em
font-weight: normal
.burger
display: block !important
&.toggle
.line1
transform: rotate(-45deg) translate(-5px, 6px)
.line2
opacity: 0
.line3
transform: rotate(45deg) translate(-5px, -6px)
footer
position: relative
margin-top: 10%
height: 10vh
width: 100%
.footer
width: 50%
margin: 0 auto
display: flex
flex-direction: column
color: $light
font-family: $subtitle-stack
.columns
display: flex
flex: 1
flex-direction: row
justify-content: space-around
.logo
margin: auto 0
h4
display: flex
flex-direction: row
align-items: center
margin: auto 0
color: $light
text-transform: uppercase
letter-spacing: 3px
font-size: 1.2em
span
padding-left: 10px
ul
list-style: none
li
color: lighten($dark, 45%)
&:first-child
font-size: 1.2em
padding: 5px 0
color: lighten($dark, 50%)
a
padding: 4px 0
color: inherit
text-decoration: none
&:hover
color: lighten($dark, 60%)
.copyright
color: lighten($dark, 40%)
text-align: center
font-size: 0.9em
margin: 50px 0
a
color: inherit

410
css/contact.css Normal file
View File

@ -0,0 +1,410 @@
@font-face {
font-family: 'Poppins';
src: url("fonts/Poppins/Poppins-Regular.ttf");
}
@font-face {
font-family: 'Open Sans';
src: url("fonts/Open_Sans/OpenSans-Regular.ttf");
}
@font-face {
font-family: 'Astro';
src: url("fonts/Astro/astro.ttf");
}
@font-face {
font-family: 'Garamond';
src: url("fonts/Garamond/EBGaramond-Regular.ttf");
}
* {
margin: 0px;
padding: 0px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
background-color: #131313;
}
body {
overflow-x: hidden;
}
.nav {
position: fixed;
width: 100vw;
top: 0;
z-index: 999;
}
.nav nav {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-pack: distribute;
justify-content: space-around;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
min-height: 8vh;
background-color: #131313;
font-family: "Poppins", sans-serif;
}
.nav nav .logo {
color: #d4d4d4;
text-transform: uppercase;
letter-spacing: 3px;
font-size: 1.75em;
}
.nav nav .logo h4 {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
.nav nav .logo span {
padding-left: 20px;
}
.nav nav ul {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-pack: distribute;
justify-content: space-around;
width: 30%;
}
.nav nav ul li {
list-style: none;
}
.nav nav ul span {
display: none;
}
.nav nav ul a {
font-family: "Open Sans", sans-serif;
color: #d4d4d4;
text-decoration: none;
font-weight: bold;
font-size: 1.1em;
}
.nav nav ul a:hover {
color: white;
}
.nav nav .nav-active {
-webkit-transform: translateX(0%) !important;
transform: translateX(0%) !important;
}
.nav nav .burger {
display: none;
}
.nav nav .burger div {
width: 25px;
height: 3px;
background-color: #d4d4d4;
margin: 5px;
-webkit-transition: all 0.3s ease;
transition: all 0.3s ease;
}
@media (max-width: 768px) {
.nav nav {
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
padding: 20px;
}
.nav nav .logo img {
width: 28px;
height: 28px;
}
.nav nav .logo span {
display: none;
}
.nav nav ul {
z-index: 1;
-webkit-transform: translateX(100%);
transform: translateX(100%);
position: absolute;
right: 0%;
top: 8vh;
height: 30vh;
width: 100% !important;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
background-color: #131313;
-webkit-transition: -webkit-transform 0.5s ease-in;
transition: -webkit-transform 0.5s ease-in;
transition: transform 0.5s ease-in;
transition: transform 0.5s ease-in, -webkit-transform 0.5s ease-in;
border-bottom: 3px solid #d4d4d4;
}
.nav nav ul span {
display: block;
color: #d4d4d4;
font-weight: bold;
text-transform: uppercase;
letter-spacing: 3px;
font-size: 1.75em;
}
.nav nav ul li a {
color: #d4d4d4 !important;
font-size: 1.2em;
font-weight: normal;
}
.nav nav .burger {
display: block !important;
}
.nav nav .burger.toggle .line1 {
-webkit-transform: rotate(-45deg) translate(-5px, 6px);
transform: rotate(-45deg) translate(-5px, 6px);
}
.nav nav .burger.toggle .line2 {
opacity: 0;
}
.nav nav .burger.toggle .line3 {
-webkit-transform: rotate(45deg) translate(-5px, -6px);
transform: rotate(45deg) translate(-5px, -6px);
}
}
footer {
position: relative;
margin-top: 10%;
height: 10vh;
width: 100%;
}
footer .footer {
width: 50%;
margin: 0 auto;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
color: #d4d4d4;
font-family: "Open Sans", sans-serif;
}
footer .footer .columns {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-ms-flex-pack: distribute;
justify-content: space-around;
}
footer .footer .columns .logo {
margin: auto 0;
}
footer .footer .columns .logo h4 {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
margin: auto 0;
color: #d4d4d4;
text-transform: uppercase;
letter-spacing: 3px;
font-size: 1.2em;
}
footer .footer .columns .logo span {
padding-left: 10px;
}
footer .footer .columns ul {
list-style: none;
}
footer .footer .columns ul li {
color: #868686;
}
footer .footer .columns ul li:first-child {
font-size: 1.2em;
padding: 5px 0;
color: #939393;
}
footer .footer .columns ul li a {
padding: 4px 0;
color: inherit;
text-decoration: none;
}
footer .footer .columns ul li a:hover {
color: #acacac;
}
footer .footer .copyright {
color: #797979;
text-align: center;
font-size: 0.9em;
margin: 50px 0;
}
footer .footer .copyright a {
color: inherit;
}
.contact-wrapper {
height: 100vh;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.contact {
position: relative;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
width: 100vw;
color: #d4d4d4;
background-color: transparent;
z-index: 0;
margin-bottom: 50px;
}
.contact #contact {
position: relative;
padding: 40px 0;
background: #131313;
width: 100%;
max-width: 500px;
padding: 25px;
}
.contact #contact:before {
content: '';
position: absolute;
top: -5px;
left: -5px;
right: -5px;
bottom: -5px;
background: linear-gradient(45deg, #ffd800, #ff5520, #750cf2, #0cbcf2);
z-index: -1;
}
.contact #contact:after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(45deg, #ffd800, #ff5520, #750cf2, #0cbcf2);
z-index: -2;
-webkit-filter: blur(40px);
filter: blur(40px);
}
.contact #contact h1 {
margin: 0 0 15px;
font-family: "Poppins", sans-serif;
font-size: 3em;
}
.contact #contact fieldset {
border: none !important;
margin: 0 0 10px;
min-width: 100%;
padding: 0;
width: 100%;
}
.contact #contact input, .contact #contact textarea {
font-family: "Open Sans", sans-serif;
color: #d4d4d4;
border-color: #d4d4d4;
width: 100%;
margin: 0 0 5px;
padding: 10px;
}
.contact #contact input:last-child, .contact #contact textarea:last-child {
margin: 0;
}
.contact #contact input::-webkit-input-placeholder, .contact #contact textarea::-webkit-input-placeholder {
color: #d4d4d4;
}
.contact #contact input:-ms-input-placeholder, .contact #contact textarea:-ms-input-placeholder {
color: #d4d4d4;
}
.contact #contact input::-ms-input-placeholder, .contact #contact textarea::-ms-input-placeholder {
color: #d4d4d4;
}
.contact #contact input::placeholder, .contact #contact textarea::placeholder {
color: #d4d4d4;
}
.contact #contact textarea {
height: 100px;
max-width: 100%;
resize: none;
}
.contact #contact button {
color: #131313;
background: #d4d4d4;
width: 100%;
padding: 10px 20px;
text-transform: lowercase;
font-family: "Poppins", sans-serif;
font-weight: bold;
border: none;
}
.contact #contact .alternative {
font-family: "Open Sans", sans-serif;
color: #747474;
}
.contact #contact .alternative a {
color: #747474;
}
/*# sourceMappingURL=contact.css.map */

96
css/contact.sass Normal file
View File

@ -0,0 +1,96 @@
@import "base"
.contact-wrapper
height: 100vh
display: flex
align-items: center
.contact
position: relative
display: flex
justify-content: center
width: 100vw
color: $light
background-color: transparent
z-index: 0
margin-bottom: 50px
#contact
position: relative
padding: 40px 0
background: $dark
width: 100%
max-width: 500px
padding: 25px
&:before
content: ''
position: absolute
top: $gradient-width
left: $gradient-width
right: $gradient-width
bottom: $gradient-width
background: linear-gradient(45deg, #ffd800, #ff5520, #750cf2, #0cbcf2)
z-index: -1
&:after
content: ''
position: absolute
top: 0
left: 0
right: 0
bottom: 0
background: linear-gradient(45deg, #ffd800, #ff5520, #750cf2, #0cbcf2)
z-index: -2
filter: blur(40px)
h1
margin: 0 0 15px
font-family: $title-stack
font-size: 3em
fieldset
border: none !important
margin: 0 0 10px
min-width: 100%
padding: 0
width: 100%
input, textarea
font-family: $subtitle-stack
color: $light
border-color: $light
width: 100%
margin: 0 0 5px
padding: 10px
&:last-child
margin: 0
&::placeholder
color: $light
textarea
height: 100px
max-width: 100%
resize: none
button
color: $dark
background: $light
width: 100%
padding: 10px 20px
text-transform: lowercase
font-family: $title-stack
font-weight: bold
border: none
.alternative
font-family: $subtitle-stack
color: $gray
a
color: $gray

View File

View File

@ -58,6 +58,12 @@ body {
font-size: 1.75em;
}
.nav nav .logo h4 {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
.nav nav .logo span {
padding-left: 20px;
}
@ -178,6 +184,103 @@ body {
}
}
footer {
position: relative;
margin-top: 10%;
height: 10vh;
width: 100%;
}
footer .footer {
width: 50%;
margin: 0 auto;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
color: #d4d4d4;
font-family: "Open Sans", sans-serif;
}
footer .footer .columns {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-ms-flex-pack: distribute;
justify-content: space-around;
}
footer .footer .columns .logo {
margin: auto 0;
}
footer .footer .columns .logo h4 {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
margin: auto 0;
color: #d4d4d4;
text-transform: uppercase;
letter-spacing: 3px;
font-size: 1.2em;
}
footer .footer .columns .logo span {
padding-left: 10px;
}
footer .footer .columns ul {
list-style: none;
}
footer .footer .columns ul li {
color: #868686;
}
footer .footer .columns ul li:first-child {
font-size: 1.2em;
padding: 5px 0;
color: #939393;
}
footer .footer .columns ul li a {
padding: 4px 0;
color: inherit;
text-decoration: none;
}
footer .footer .columns ul li a:hover {
color: #acacac;
}
footer .footer .copyright {
color: #797979;
text-align: center;
font-size: 0.9em;
margin: 50px 0;
}
footer .footer .copyright a {
color: inherit;
}
.hero {
color: #d4d4d4;
position: relative;
@ -210,7 +313,7 @@ body {
background-color: transparent;
}
.about {
.about-section {
position: relative;
color: #d4d4d4;
overflow: hidden;
@ -218,40 +321,159 @@ body {
text-align: center;
}
.about #about {
.about-section .about {
position: absolute;
}
.about #about h1 {
.about-section .about h1 {
font-size: 4em;
font-family: "Open Sans", sans-serif;
}
.about #about h4 {
.about-section .about h4 {
font-size: 1em;
font-family: "Open Sans", sans-serif;
margin-left: 20%;
width: 60%;
}
.about #about button {
.about-section .about button {
padding: 10px 20px;
border: 3px solid #d4d4d4;
text-transform: uppercase;
font-size: 1.5em;
margin-top: 30px;
border-radius: 20px;
font-family: "Astro", sans-serif;
}
.about #about button a {
.about-section .about button a {
color: #d4d4d4;
text-decoration: none;
}
.about div canvas {
.about-section div canvas {
margin: -5% 0;
}
.about-section .about-1 {
margin-top: 8vh;
}
.about-section .about-2 {
position: relative;
height: 100vh;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.about-section .about-2 .about {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
.about-section .about-2 .about * {
-webkit-box-flex: 1;
-ms-flex: 1 1 0px;
flex: 1 1 0;
}
.about-section .about-2 .about img {
width: 50%;
height: 50%;
}
.about-section .about-3 {
position: relative;
height: 100vh;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.about-section .about-3 .about {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
.about-section .about-3 .about * {
-webkit-box-flex: 1;
-ms-flex: 1 1 0px;
flex: 1 1 0;
}
.about-section .about-3 .about img {
width: 50%;
height: 50%;
}
.about-section .about-4 {
position: relative;
height: 100vh;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.about-section .about-4 .about {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
.about-section .about-4 .about * {
-webkit-box-flex: 1;
-ms-flex: 1 1 0px;
flex: 1 1 0;
}
.about-section .about-4 .about img {
width: 50%;
height: 50%;
}
.founders {
position: relative;
display: -webkit-box;
@ -278,7 +500,7 @@ body {
.founders .profile img {
width: 200px;
height: 200px;
background-color: #ffd1dc;
background-color: #7DF9FF;
border-radius: 50%;
}
@ -323,133 +545,6 @@ body {
font-family: "Open Sans", sans-serif;
}
.timeline {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
height: auto;
color: #d4d4d4;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
margin-bottom: 5%;
}
.timeline .header {
margin-bottom: 2%;
font-family: "Poppins", sans-serif;
font-size: 4em;
}
.timeline #timeline {
max-width: 800px;
margin: 0 auto;
margin-bottom: 2%;
position: relative;
}
.timeline #timeline ul {
list-style: none;
}
.timeline #timeline ul li {
border: 8px solid #747474;
padding: 20px;
color: white;
border-radius: 10px;
margin-bottom: 20px;
}
.timeline #timeline ul li:last-child {
margin-bottom: 0;
}
.timeline #timeline ul li .content h1 {
font-family: "Open Sans", sans-serif;
font-weight: bold;
font-size: 25px;
line-height: 30px;
margin-bottom: 10px;
}
.timeline #timeline ul li .content p {
font-family: "Poppins", sans-serif;
font-weight: normal;
font-size: 16px;
line-height: 30px;
}
.timeline #timeline ul li .content .date {
font-family: monospace;
font-weight: normal;
font-size: 12px;
margin-bottom: 10px;
letter-spacing: 2px;
}
@media (min-width: 768px) {
.timeline #timeline:before {
content: "";
position: absolute;
top: 0;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
width: 2px;
height: 100%;
background-color: #d4d4d4;
}
.timeline #timeline .date {
position: absolute;
top: -30px;
}
.timeline #timeline ul li {
width: 50%;
position: relative;
margin-bottom: 50px;
}
.timeline #timeline ul li:nth-child(odd) {
float: left;
clear: right;
-webkit-transform: translateX(-30px);
transform: translateX(-30px);
border-radius: 20px 0px 20px 20px;
}
.timeline #timeline ul li:nth-child(odd)::before {
-webkit-transform: translate(50%, -50%);
transform: translate(50%, -50%);
right: -38px;
}
.timeline #timeline ul li:nth-child(even) {
float: right;
clear: left;
-webkit-transform: translateX(30px);
transform: translateX(30px);
border-radius: 0px 20px 20px 20px;
}
.timeline #timeline ul li:nth-child(even)::before {
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
left: -38px;
}
.timeline #timeline ul li::before {
content: "";
position: absolute;
height: 20px;
width: 20px;
border-radius: 50%;
background-color: #747474;
top: 0;
}
}
.contact {
position: relative;
display: -webkit-box;

331
css/index.sass Normal file
View File

@ -0,0 +1,331 @@
@import "base"
.hero
color: $light
position: relative
width: 100vw
height: 100%
#hero
position: absolute
left: 10%
top: 20%
background-color: transparent
z-index: 1
h1
font-family: $hero-stack
text-align: left
font-size: 8em
padding: 0.5em 0.5em 0
background: -webkit-linear-gradient(#eee 70%, #333 100%)
-webkit-background-clip: text
-webkit-text-fill-color: transparent
h3
font-family: "Open Sans", serif
text-align: left
font-size: 2em
background-color: transparent
.about-section
position: relative
color: $light
overflow: hidden
background-color: transparent
text-align: center
.about
position: absolute
h1
font-size: 4em
font-family: $subtitle-stack
h4
font-size: 1em
font-family: $subtitle-stack
margin-left: 20%
width: 60%
button
padding: 10px 20px
border: 3px solid $light
text-transform: uppercase
font-size: 1.5em
margin-top: 30px
border-radius: 20px
font-family: $hero-stack
a
color: $light
text-decoration: none
div canvas
margin: -5% 0
.about-1
margin-top: 8vh
.about-2
position: relative
height: 100vh
display: flex
align-items: center
.about
display: flex
flex-direction: row
align-items: center
justify-content: center
*
flex: 1 1 0
img
width: 50%
height: 50%
.about-3
position: relative
height: 100vh
display: flex
align-items: center
.about
display: flex
flex-direction: row
align-items: center
justify-content: center
*
flex: 1 1 0
img
width: 50%
height: 50%
.about-4
position: relative
height: 100vh
display: flex
align-items: center
.about
display: flex
flex-direction: row
align-items: center
justify-content: center
*
flex: 1 1 0
img
width: 50%
height: 50%
.founders
position: relative
display: flex
height: auto
color: $light
align-items: center
justify-content: center
.profile
flex: 1 1 0
margin: 0 auto
text-align: center
img
width: 200px
height: 200px
background-color: $accent
border-radius: 50%
h1
font-family: $title-stack
font-size: 1.6em
margin-top: 0.3em
h2
font-family: $title-stack
font-weight: normal
font-size: 1em
p
font-family: sans-serif
width: 60%
margin: 0 auto
margin-top: 0.5em
a
text-decoration: none
color: #11c1e0
.caption
flex: 1.5 1 0
text-align: center
h1
font-family: $title-stack
font-size: 5em
white-space: nowrap
p
font-family: $subtitle-stack
.contact
position: relative
display: flex
justify-content: center
width: 100vw
height: auto
color: $light
background-color: transparent
z-index: 0
margin-bottom: 50px
#contact
position: relative
padding: 40px 0
background: $dark
width: 100%
max-width: 500px
padding: 25px
&:before
content: ''
position: absolute
top: $gradient-width
left: $gradient-width
right: $gradient-width
bottom: $gradient-width
background: linear-gradient(45deg, #ffd800, #ff5520, #750cf2, #0cbcf2)
z-index: -1
&:after
content: ''
position: absolute
top: 0
left: 0
right: 0
bottom: 0
background: linear-gradient(45deg, #ffd800, #ff5520, #750cf2, #0cbcf2)
z-index: -2
filter: blur(40px)
h1
margin: 0 0 15px
font-family: $title-stack
font-size: 3em
fieldset
border: none !important
margin: 0 0 10px
min-width: 100%
padding: 0
width: 100%
input, textarea
font-family: $subtitle-stack
color: $light
border-color: $light
width: 100%
margin: 0 0 5px
padding: 10px
&:last-child
margin: 0
&::placeholder
color: $light
textarea
height: 100px
max-width: 100%
resize: none
button
color: $dark
background: $light
width: 100%
padding: 10px 20px
text-transform: lowercase
font-family: $title-stack
font-weight: bold
border: none
.alternative
font-family: $subtitle-stack
color: $gray
a
color: $gray
footer
position: relative
margin-top: 10%
height: 10vh
width: 100%
.footer
width: 50%
margin: 0 auto
display: flex
flex-direction: column
color: $light
font-family: $subtitle-stack
.columns
display: flex
flex: 1
flex-direction: row
justify-content: space-around
.logo
margin: auto 0
h4
display: flex
flex-direction: row
align-items: center
margin: auto 0
color: $light
text-transform: uppercase
letter-spacing: 3px
font-size: 1.2em
span
padding-left: 10px
ul
list-style: none
li
color: lighten($dark, 45%)
&:first-child
font-size: 1.2em
padding: 5px 0
color: lighten($dark, 50%)
a
padding: 4px 0
color: inherit
text-decoration: none
&:hover
color: lighten($dark, 60%)
.copyright
color: lighten($dark, 40%)
text-align: center
font-size: 0.9em
margin: 50px 0
a
color: inherit

BIN
css/res/ani.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

View File

@ -4,17 +4,17 @@
viewBox="0 0 512 512" style="enable-background:new 0 0 0 0;" xml:space="preserve">
<g>
<g>
<path fill="#d4d4d4" d="M306,83c-5.52,0-10,4.48-10,10s4.48,10,10,10c5.52,0,10-4.48,10-10S311.52,83,306,83z"/>
<path fill="#7DF9FF" d="M306,83c-5.52,0-10,4.48-10,10s4.48,10,10,10c5.52,0,10-4.48,10-10S311.52,83,306,83z"/>
</g>
</g>
<g>
<g>
<path fill="#d4d4d4" d="M206,83c-5.52,0-10,4.48-10,10s4.48,10,10,10s10-4.48,10-10S211.52,83,206,83z"/>
<path fill="#7DF9FF" d="M206,83c-5.52,0-10,4.48-10,10s4.48,10,10,10s10-4.48,10-10S211.52,83,206,83z"/>
</g>
</g>
<g>
<g>
<path fill="#d4d4d4" d="M473.123,298.882C481.706,286,486,269.927,486,256c0-20.996-9.327-40.503-25.332-53.731
<path fill="#7DF9FF" d="M473.123,298.882C481.706,286,486,269.927,486,256c0-20.996-9.327-40.503-25.332-53.731
C464.21,193.805,466,185.002,466,176c0-27.855-16.256-53.803-40.425-65.92c3.667-30.414-16.151-58.292-45.52-65.403
C368.56,18.104,342.975,0,316,0c-25.11,0-47.631,14.646-60,36.016C243.63,14.646,221.109,0,196,0
c-26.977,0-52.562,18.104-64.055,44.678c-29.545,7.156-49.177,35.173-45.52,65.402C62.257,122.196,46,148.145,46,176
@ -48,7 +48,7 @@
</g>
<g>
<g>
<path fill="#d4d4d4" d="M223.453,214.053c-3.682-4.116-10.003-4.468-14.12-0.786C177.265,241.952,126,219.027,126,176c0-5.523-4.477-10-10-10
<path fill="#7DF9FF" d="M223.453,214.053c-3.682-4.116-10.003-4.468-14.12-0.786C177.265,241.952,126,219.027,126,176c0-5.523-4.477-10-10-10
s-10,4.477-10,10c0,34.715,25.407,63.595,58.6,69.057C160.75,257.185,149.386,266,136,266c-5.523,0-10,4.477-10,10s4.477,10,10,10
c24.357,0,44.69-17.51,49.102-40.602c13.907-1.819,26.996-7.77,37.565-17.225C226.783,224.491,227.135,218.169,223.453,214.053z"
/>
@ -56,19 +56,19 @@
</g>
<g>
<g>
<path fill="#d4d4d4" d="M116,389c-5.523,0-10,4.477-10,10s4.477,10,10,10c26.636,0,50,24.767,50,53c0,5.523,4.477,10,10,10s10-4.477,10-10
<path fill="#7DF9FF" d="M116,389c-5.523,0-10,4.477-10,10s4.477,10,10,10c26.636,0,50,24.767,50,53c0,5.523,4.477,10,10,10s10-4.477,10-10
C186,422.43,153.944,389,116,389z"/>
</g>
</g>
<g>
<g>
<path fill="#d4d4d4" d="M196,309c-33.886,0-62.98,18.585-78.3,45.608c-2.723,4.805-1.036,10.908,3.768,13.631
<path fill="#7DF9FF" d="M196,309c-33.886,0-62.98,18.585-78.3,45.608c-2.723,4.805-1.036,10.908,3.768,13.631
c4.805,2.723,10.907,1.037,13.631-3.768C147.034,343.415,169.68,329,196,329c5.523,0,10-4.477,10-10S201.523,309,196,309z"/>
</g>
</g>
<g>
<g>
<path fill="#d4d4d4" d="M376,266c-13.386,0-24.75-8.815-28.6-20.943C380.593,239.595,406,210.715,406,176c0-5.523-4.478-10-10-10
<path fill="#7DF9FF" d="M376,266c-13.386,0-24.75-8.815-28.6-20.943C380.593,239.595,406,210.715,406,176c0-5.523-4.478-10-10-10
c-5.522,0-10,4.477-10,10c0,27.57-22.43,50-50,50c-12.316,0-24.153-4.522-33.333-12.733c-4.115-3.682-10.438-3.331-14.12,0.786
c-3.683,4.116-3.33,10.438,0.786,14.12c10.569,9.455,23.659,15.406,37.565,17.225C331.31,268.49,351.643,286,376,286
c5.522,0,10-4.477,10-10S381.522,266,376,266z"/>
@ -76,13 +76,13 @@
</g>
<g>
<g>
<path fill="#d4d4d4" d="M396,389c-37.944,0-70,33.43-70,73c0,5.523,4.478,10,10,10c5.522,0,10-4.477,10-10c0-28.233,23.364-53,50-53
<path fill="#7DF9FF" d="M396,389c-37.944,0-70,33.43-70,73c0,5.523,4.478,10,10,10c5.522,0,10-4.477,10-10c0-28.233,23.364-53,50-53
c5.522,0,10-4.477,10-10S401.522,389,396,389z"/>
</g>
</g>
<g>
<g>
<path fill="#d4d4d4" d="M394.3,354.609C379.018,327.65,349.964,309,316,309c-5.522,0-10,4.477-10,10s4.478,10,10,10
<path fill="#7DF9FF" d="M394.3,354.609C379.018,327.65,349.964,309,316,309c-5.522,0-10,4.477-10,10s4.478,10,10,10
c26.301,0,48.964,14.411,60.899,35.471c2.727,4.811,8.834,6.489,13.631,3.769C395.335,365.517,397.022,359.414,394.3,354.609z"/>
</g>
</g>

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-file-earmark-lock" viewBox="0 0 16 16">
<path fill="white" d="M10 7v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V9.3c0-.627.46-1.058 1-1.224V7a2 2 0 1 1 4 0zM7 7v1h2V7a1 1 0 0 0-2 0zM6 9.3v2.4c0 .042.02.107.105.175A.637.637 0 0 0 6.5 12h3a.64.64 0 0 0 .395-.125c.085-.068.105-.133.105-.175V9.3c0-.042-.02-.107-.105-.175A.637.637 0 0 0 9.5 9h-3a.637.637 0 0 0-.395.125C6.02 9.193 6 9.258 6 9.3z"/>
<path fill="white" d="M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z"/>
</svg>

After

Width:  |  Height:  |  Size: 720 B

BIN
css/res/leon.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

View File

Before

Width:  |  Height:  |  Size: 353 B

After

Width:  |  Height:  |  Size: 355 B

View File

Before

Width:  |  Height:  |  Size: 261 B

After

Width:  |  Height:  |  Size: 263 B

3
css/res/recycle.svg Normal file
View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="#fffff" class="bi bi-recycle" viewBox="0 0 16 16">
<path fill="white" d="M9.302 1.256a1.5 1.5 0 0 0-2.604 0l-1.704 2.98a.5.5 0 0 0 .869.497l1.703-2.981a.5.5 0 0 1 .868 0l2.54 4.444-1.256-.337a.5.5 0 1 0-.26.966l2.415.647a.5.5 0 0 0 .613-.353l.647-2.415a.5.5 0 1 0-.966-.259l-.333 1.242-2.532-4.431zM2.973 7.773l-1.255.337a.5.5 0 1 1-.26-.966l2.416-.647a.5.5 0 0 1 .612.353l.647 2.415a.5.5 0 0 1-.966.259l-.333-1.242-2.545 4.454a.5.5 0 0 0 .434.748H5a.5.5 0 0 1 0 1H1.723A1.5 1.5 0 0 1 .421 12.24l2.552-4.467zm10.89 1.463a.5.5 0 1 0-.868.496l1.716 3.004a.5.5 0 0 1-.434.748h-5.57l.647-.646a.5.5 0 1 0-.708-.707l-1.5 1.5a.498.498 0 0 0 0 .707l1.5 1.5a.5.5 0 1 0 .708-.707l-.647-.647h5.57a1.5 1.5 0 0 0 1.302-2.244l-1.716-3.004z"/>
</svg>

After

Width:  |  Height:  |  Size: 806 B

3
css/res/shield.svg Normal file
View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-shield" viewBox="0 0 16 16">
<path fill="white" d="M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z"/>
</svg>

After

Width:  |  Height:  |  Size: 1003 B

406
css/team.css Normal file
View File

@ -0,0 +1,406 @@
@font-face {
font-family: 'Poppins';
src: url("fonts/Poppins/Poppins-Regular.ttf");
}
@font-face {
font-family: 'Open Sans';
src: url("fonts/Open_Sans/OpenSans-Regular.ttf");
}
@font-face {
font-family: 'Astro';
src: url("fonts/Astro/astro.ttf");
}
@font-face {
font-family: 'Garamond';
src: url("fonts/Garamond/EBGaramond-Regular.ttf");
}
* {
margin: 0px;
padding: 0px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
background-color: #131313;
}
body {
overflow-x: hidden;
}
.nav {
position: fixed;
width: 100vw;
top: 0;
z-index: 999;
}
.nav nav {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-pack: distribute;
justify-content: space-around;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
min-height: 8vh;
background-color: #131313;
font-family: "Poppins", sans-serif;
}
.nav nav .logo {
color: #d4d4d4;
text-transform: uppercase;
letter-spacing: 3px;
font-size: 1.75em;
}
.nav nav .logo h4 {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
.nav nav .logo span {
padding-left: 20px;
}
.nav nav ul {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-pack: distribute;
justify-content: space-around;
width: 30%;
}
.nav nav ul li {
list-style: none;
}
.nav nav ul span {
display: none;
}
.nav nav ul a {
font-family: "Open Sans", sans-serif;
color: #d4d4d4;
text-decoration: none;
font-weight: bold;
font-size: 1.1em;
}
.nav nav ul a:hover {
color: white;
}
.nav nav .nav-active {
-webkit-transform: translateX(0%) !important;
transform: translateX(0%) !important;
}
.nav nav .burger {
display: none;
}
.nav nav .burger div {
width: 25px;
height: 3px;
background-color: #d4d4d4;
margin: 5px;
-webkit-transition: all 0.3s ease;
transition: all 0.3s ease;
}
@media (max-width: 768px) {
.nav nav {
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
padding: 20px;
}
.nav nav .logo img {
width: 28px;
height: 28px;
}
.nav nav .logo span {
display: none;
}
.nav nav ul {
z-index: 1;
-webkit-transform: translateX(100%);
transform: translateX(100%);
position: absolute;
right: 0%;
top: 8vh;
height: 30vh;
width: 100% !important;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
background-color: #131313;
-webkit-transition: -webkit-transform 0.5s ease-in;
transition: -webkit-transform 0.5s ease-in;
transition: transform 0.5s ease-in;
transition: transform 0.5s ease-in, -webkit-transform 0.5s ease-in;
border-bottom: 3px solid #d4d4d4;
}
.nav nav ul span {
display: block;
color: #d4d4d4;
font-weight: bold;
text-transform: uppercase;
letter-spacing: 3px;
font-size: 1.75em;
}
.nav nav ul li a {
color: #d4d4d4 !important;
font-size: 1.2em;
font-weight: normal;
}
.nav nav .burger {
display: block !important;
}
.nav nav .burger.toggle .line1 {
-webkit-transform: rotate(-45deg) translate(-5px, 6px);
transform: rotate(-45deg) translate(-5px, 6px);
}
.nav nav .burger.toggle .line2 {
opacity: 0;
}
.nav nav .burger.toggle .line3 {
-webkit-transform: rotate(45deg) translate(-5px, -6px);
transform: rotate(45deg) translate(-5px, -6px);
}
}
footer {
position: relative;
margin-top: 10%;
height: 10vh;
width: 100%;
}
footer .footer {
width: 50%;
margin: 0 auto;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
color: #d4d4d4;
font-family: "Open Sans", sans-serif;
}
footer .footer .columns {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-ms-flex-pack: distribute;
justify-content: space-around;
}
footer .footer .columns .logo {
margin: auto 0;
}
footer .footer .columns .logo h4 {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
margin: auto 0;
color: #d4d4d4;
text-transform: uppercase;
letter-spacing: 3px;
font-size: 1.2em;
}
footer .footer .columns .logo span {
padding-left: 10px;
}
footer .footer .columns ul {
list-style: none;
}
footer .footer .columns ul li {
color: #868686;
}
footer .footer .columns ul li:first-child {
font-size: 1.2em;
padding: 5px 0;
color: #939393;
}
footer .footer .columns ul li a {
padding: 4px 0;
color: inherit;
text-decoration: none;
}
footer .footer .columns ul li a:hover {
color: #acacac;
}
footer .footer .copyright {
color: #797979;
text-align: center;
font-size: 0.9em;
margin: 50px 0;
}
footer .footer .copyright a {
color: inherit;
}
.team {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
width: 100vw;
height: auto;
color: #d4d4d4;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
margin-bottom: 5%;
margin-top: 8vh;
}
.team .header {
margin-bottom: 1%;
font-family: "Poppins", sans-serif;
font-size: 4em;
}
.team .subheader {
margin-bottom: 2%;
font-family: "Poppins", sans-serif;
font-size: 1.5em;
}
.team .subheader p {
text-align: center;
color: #747474;
}
.team .founders {
position: relative;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
height: auto;
color: #d4d4d4;
-webkit-box-align: start;
-ms-flex-align: start;
align-items: flex-start;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
width: 50%;
margin-bottom: 2%;
}
.team .founders .profile {
-webkit-box-flex: 1;
-ms-flex: 1 1 0px;
flex: 1 1 0;
margin: 0 auto;
text-align: center;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.team .founders .profile img {
width: 300px;
height: 300px;
background-color: #7DF9FF;
}
.team .founders .profile h1 {
font-family: "Poppins", sans-serif;
font-size: 1.6em;
margin-top: 0.3em;
}
.team .founders .profile h2 {
font-family: "Poppins", sans-serif;
font-weight: normal;
font-size: 1em;
}
.team .founders .profile p {
font-family: sans-serif;
width: 60%;
margin: 0 auto;
margin-top: 0.5em;
}
.team .founders .profile p a {
text-decoration: none;
color: #11c1e0;
}
.team .founders .caption {
-webkit-box-flex: 1.5;
-ms-flex: 1.5 1 0px;
flex: 1.5 1 0;
text-align: center;
}
.team .founders .caption h1 {
font-family: "Poppins", sans-serif;
font-size: 5em;
white-space: nowrap;
}
.team .founders .caption p {
font-family: "Open Sans", sans-serif;
}
/*# sourceMappingURL=team.css.map */

83
css/team.sass Normal file
View File

@ -0,0 +1,83 @@
@import "base"
.team
display: flex
flex-direction: column
width: 100vw
height: auto
color: $light
align-items: center
justify-content: center
margin-bottom: 5%
margin-top: 8vh
.header
margin-bottom: 1%
font-family: $title-stack
font-size: 4em
.subheader
margin-bottom: 2%
font-family: $title-stack
font-size: 1.5em
p
text-align: center
color: $gray
.founders
position: relative
display: flex
height: auto
color: $light
align-items: flex-start
justify-content: center
width: 50%
margin-bottom: 2%
.profile
flex: 1 1 0
margin: 0 auto
text-align: center
display: flex
flex-direction: column
justify-content: center
align-items: center
img
width: 300px
height: 300px
background-color: $accent
h1
font-family: $title-stack
font-size: 1.6em
margin-top: 0.3em
h2
font-family: $title-stack
font-weight: normal
font-size: 1em
p
font-family: sans-serif
width: 60%
margin: 0 auto
margin-top: 0.5em
a
text-decoration: none
color: #11c1e0
.caption
flex: 1.5 1 0
text-align: center
h1
font-family: $title-stack
font-size: 5em
white-space: nowrap
p
font-family: $subtitle-stack

418
css/timeline.css Normal file
View File

@ -0,0 +1,418 @@
@font-face {
font-family: 'Poppins';
src: url("fonts/Poppins/Poppins-Regular.ttf");
}
@font-face {
font-family: 'Open Sans';
src: url("fonts/Open_Sans/OpenSans-Regular.ttf");
}
@font-face {
font-family: 'Astro';
src: url("fonts/Astro/astro.ttf");
}
@font-face {
font-family: 'Garamond';
src: url("fonts/Garamond/EBGaramond-Regular.ttf");
}
* {
margin: 0px;
padding: 0px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
background-color: #131313;
}
body {
overflow-x: hidden;
}
.nav {
position: fixed;
width: 100vw;
top: 0;
z-index: 999;
}
.nav nav {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-pack: distribute;
justify-content: space-around;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
min-height: 8vh;
background-color: #131313;
font-family: "Poppins", sans-serif;
}
.nav nav .logo {
color: #d4d4d4;
text-transform: uppercase;
letter-spacing: 3px;
font-size: 1.75em;
}
.nav nav .logo h4 {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
.nav nav .logo span {
padding-left: 20px;
}
.nav nav ul {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-pack: distribute;
justify-content: space-around;
width: 30%;
}
.nav nav ul li {
list-style: none;
}
.nav nav ul span {
display: none;
}
.nav nav ul a {
font-family: "Open Sans", sans-serif;
color: #d4d4d4;
text-decoration: none;
font-weight: bold;
font-size: 1.1em;
}
.nav nav ul a:hover {
color: white;
}
.nav nav .nav-active {
-webkit-transform: translateX(0%) !important;
transform: translateX(0%) !important;
}
.nav nav .burger {
display: none;
}
.nav nav .burger div {
width: 25px;
height: 3px;
background-color: #d4d4d4;
margin: 5px;
-webkit-transition: all 0.3s ease;
transition: all 0.3s ease;
}
@media (max-width: 768px) {
.nav nav {
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
padding: 20px;
}
.nav nav .logo img {
width: 28px;
height: 28px;
}
.nav nav .logo span {
display: none;
}
.nav nav ul {
z-index: 1;
-webkit-transform: translateX(100%);
transform: translateX(100%);
position: absolute;
right: 0%;
top: 8vh;
height: 30vh;
width: 100% !important;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
background-color: #131313;
-webkit-transition: -webkit-transform 0.5s ease-in;
transition: -webkit-transform 0.5s ease-in;
transition: transform 0.5s ease-in;
transition: transform 0.5s ease-in, -webkit-transform 0.5s ease-in;
border-bottom: 3px solid #d4d4d4;
}
.nav nav ul span {
display: block;
color: #d4d4d4;
font-weight: bold;
text-transform: uppercase;
letter-spacing: 3px;
font-size: 1.75em;
}
.nav nav ul li a {
color: #d4d4d4 !important;
font-size: 1.2em;
font-weight: normal;
}
.nav nav .burger {
display: block !important;
}
.nav nav .burger.toggle .line1 {
-webkit-transform: rotate(-45deg) translate(-5px, 6px);
transform: rotate(-45deg) translate(-5px, 6px);
}
.nav nav .burger.toggle .line2 {
opacity: 0;
}
.nav nav .burger.toggle .line3 {
-webkit-transform: rotate(45deg) translate(-5px, -6px);
transform: rotate(45deg) translate(-5px, -6px);
}
}
footer {
position: relative;
margin-top: 10%;
height: 10vh;
width: 100%;
}
footer .footer {
width: 50%;
margin: 0 auto;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
color: #d4d4d4;
font-family: "Open Sans", sans-serif;
}
footer .footer .columns {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-ms-flex-pack: distribute;
justify-content: space-around;
}
footer .footer .columns .logo {
margin: auto 0;
}
footer .footer .columns .logo h4 {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
margin: auto 0;
color: #d4d4d4;
text-transform: uppercase;
letter-spacing: 3px;
font-size: 1.2em;
}
footer .footer .columns .logo span {
padding-left: 10px;
}
footer .footer .columns ul {
list-style: none;
}
footer .footer .columns ul li {
color: #868686;
}
footer .footer .columns ul li:first-child {
font-size: 1.2em;
padding: 5px 0;
color: #939393;
}
footer .footer .columns ul li a {
padding: 4px 0;
color: inherit;
text-decoration: none;
}
footer .footer .columns ul li a:hover {
color: #acacac;
}
footer .footer .copyright {
color: #797979;
text-align: center;
font-size: 0.9em;
margin: 50px 0;
}
footer .footer .copyright a {
color: inherit;
}
.timeline {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
height: auto;
color: #d4d4d4;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
margin-bottom: 5%;
margin-top: 8vh;
}
.timeline .header {
margin-bottom: 2%;
font-family: "Poppins", sans-serif;
font-size: 4em;
}
.timeline #timeline {
max-width: 800px;
margin: 0 auto;
margin-bottom: 2%;
position: relative;
}
.timeline #timeline ul {
list-style: none;
}
.timeline #timeline ul li {
border: 8px solid #747474;
padding: 20px;
color: white;
border-radius: 10px;
margin-bottom: 20px;
}
.timeline #timeline ul li:last-child {
margin-bottom: 0;
}
.timeline #timeline ul li .content h1 {
font-family: "Open Sans", sans-serif;
font-weight: bold;
font-size: 25px;
line-height: 30px;
margin-bottom: 10px;
}
.timeline #timeline ul li .content h2 {
font-family: "Open Sans", sans-serif;
font-weight: bold;
font-size: 20px;
line-height: 30px;
}
.timeline #timeline ul li .content p {
font-family: "Poppins", sans-serif;
font-weight: normal;
font-size: 16px;
line-height: 30px;
}
.timeline #timeline ul li .content .date {
font-family: monospace;
font-weight: normal;
font-size: 12px;
margin-bottom: 10px;
letter-spacing: 2px;
}
@media (min-width: 768px) {
.timeline #timeline:before {
content: "";
position: absolute;
top: 0;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
width: 2px;
height: 100%;
background-color: #d4d4d4;
}
.timeline #timeline .date {
position: absolute;
top: -30px;
}
.timeline #timeline ul li {
width: 50%;
position: relative;
margin-bottom: 50px;
}
.timeline #timeline ul li:nth-child(odd) {
float: left;
clear: right;
-webkit-transform: translateX(-30px);
transform: translateX(-30px);
border-radius: 20px 0px 20px 20px;
}
.timeline #timeline ul li:nth-child(odd)::before {
-webkit-transform: translate(50%, -50%);
transform: translate(50%, -50%);
right: -38px;
}
.timeline #timeline ul li:nth-child(even) {
float: right;
clear: left;
-webkit-transform: translateX(30px);
transform: translateX(30px);
border-radius: 0px 20px 20px 20px;
}
.timeline #timeline ul li:nth-child(even)::before {
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
left: -38px;
}
.timeline #timeline ul li::before {
content: "";
position: absolute;
height: 20px;
width: 20px;
border-radius: 50%;
background-color: #747474;
top: 0;
}
}
/*# sourceMappingURL=timeline.css.map */

114
css/timeline.sass Normal file
View File

@ -0,0 +1,114 @@
@import "base"
.timeline
display: flex
flex-direction: column
height: auto
color: $light
align-items: center
justify-content: center
margin-bottom: 5%
margin-top: 8vh
.header
margin-bottom: 2%
font-family: $title-stack
font-size: 4em
#timeline
max-width: 800px
margin: 0 auto
margin-bottom: 2%
position: relative
ul
list-style: none
li
border: 8px solid $gray
padding: 20px
color: white
border-radius: 10px
margin-bottom: 20px
&:last-child
margin-bottom: 0
.content
h1
font-family: $subtitle-stack
font-weight: bold
font-size: 25px
line-height: 30px
margin-bottom: 10px
h2
font-family: $subtitle-stack
font-weight: bold
font-size: 20px
line-height: 30px
p
font-family: $body-stack
font-weight: normal
font-size: 16px
line-height: 30px
.date
font-family: monospace
font-weight: normal
font-size: 12px
margin-bottom: 10px
letter-spacing: 2px
@include desktop
&:before
content: ""
position: absolute
top: 0
left: 50%
transform: translateX(-50%)
width: 2px
height: 100%
background-color: $light
.date
position: absolute
top: -30px
ul li
width: 50%
position: relative
margin-bottom: 50px
&:nth-child(odd)
float: left
clear: right
transform: translateX(-30px)
border-radius: 20px 0px 20px 20px
&::before
transform: translate(50%, -50%)
right: -38px
&:nth-child(even)
float: right
clear: left
transform: translateX(30px)
border-radius: 0px 20px 20px 20px
&::before
transform: translate(-50%, -50%)
left: -38px
&::before
content: ""
position: absolute
height: 20px
width: 20px
border-radius: 50%
background-color: $gray
top: 0

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square150x150logo src="/mstile-150x150.png"/>
<TileColor>#da532c</TileColor>
</tile>
</msapplication>
</browserconfig>

BIN
favicon/favicon-16x16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
favicon/favicon-32x32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
favicon/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
favicon/mstile-144x144.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
favicon/mstile-150x150.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
favicon/mstile-310x150.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
favicon/mstile-310x310.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

BIN
favicon/mstile-70x70.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@ -0,0 +1,105 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="700.000000pt" height="700.000000pt" viewBox="0 0 700.000000 700.000000"
preserveAspectRatio="xMidYMid meet">
<metadata>
Created by potrace 1.14, written by Peter Selinger 2001-2017
</metadata>
<g transform="translate(0.000000,700.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M2520 6984 c-175 -35 -356 -132 -485 -260 -85 -84 -181 -220 -214
-301 -11 -27 -22 -35 -69 -48 -76 -23 -175 -74 -248 -128 -207 -156 -326 -395
-327 -659 0 -54 -3 -98 -6 -98 -12 0 -151 -97 -201 -140 -115 -101 -223 -261
-279 -416 -76 -210 -80 -440 -11 -639 l21 -60 -38 -35 c-336 -317 -402 -804
-167 -1227 l34 -62 -34 -54 c-91 -141 -144 -335 -140 -512 3 -142 34 -262 101
-399 36 -74 107 -180 150 -222 26 -26 26 -29 28 -178 2 -83 6 -167 9 -186 25
-123 91 -280 165 -388 169 -248 453 -412 734 -423 54 -2 59 -5 74 -33 9 -17
19 -33 22 -36 3 -3 25 -30 49 -61 86 -114 221 -225 358 -296 83 -43 215 -90
274 -99 19 -3 42 -8 50 -11 33 -12 267 -11 340 3 246 45 450 157 616 338 57
62 149 187 168 228 5 11 7 11 12 0 25 -55 123 -182 199 -257 297 -298 700
-397 1089 -269 227 74 441 237 569 431 l41 63 54 0 c197 0 442 111 606 274
208 206 309 454 302 746 -2 105 0 127 14 140 87 80 188 260 231 409 68 239 26
530 -108 739 l-34 54 35 61 c108 193 157 434 133 644 -11 88 -52 224 -93 307
-48 95 -101 167 -179 247 l-65 65 24 71 c32 95 37 127 42 268 7 264 -83 501
-276 719 -38 42 -162 141 -220 173 l-50 28 3 51 c2 27 0 86 -5 130 -35 326
-245 587 -559 694 -62 21 -68 26 -88 69 -51 114 -169 260 -283 353 -94 77
-268 165 -358 182 -19 3 -46 9 -60 12 -14 3 -74 7 -135 9 -198 5 -364 -46
-545 -169 -87 -58 -209 -188 -274 -290 l-19 -29 -15 28 c-8 16 -18 33 -23 39
-189 239 -351 350 -594 407 -72 17 -269 19 -345 3z m292 -273 c220 -51 419
-231 502 -453 46 -121 48 -161 50 -748 1 -305 0 -560 -2 -566 -2 -8 -16 -5
-42 7 -103 50 -244 66 -298 33 -42 -24 -72 -84 -66 -132 10 -75 51 -109 150
-123 121 -17 216 -92 245 -194 9 -29 12 -391 13 -1343 1 -717 -1 -1308 -5
-1313 -3 -5 -33 18 -67 50 -181 174 -427 280 -688 297 -78 5 -88 3 -128 -20
-60 -35 -84 -104 -58 -167 12 -31 67 -79 90 -80 193 -10 303 -37 422 -102 433
-235 564 -788 286 -1206 -253 -380 -729 -487 -1108 -247 -124 77 -226 189
-298 325 -48 90 -61 95 -215 96 -114 1 -139 5 -203 27 -106 38 -175 83 -263
169 -143 143 -217 308 -224 507 -1 47 1 75 19 195 7 44 -14 89 -62 132 -103
93 -185 230 -218 366 -4 13 -8 69 -10 124 -3 110 10 190 48 278 43 99 36 96
116 43 146 -97 313 -154 468 -161 66 -3 87 0 112 15 90 55 92 181 3 233 -17
10 -52 20 -78 22 -27 2 -68 7 -93 11 -137 22 -248 82 -361 194 -73 73 -93 101
-137 190 -59 122 -84 225 -81 345 5 214 111 412 291 544 97 70 109 120 54 235
-55 116 -69 178 -69 301 -1 444 395 793 804 708 216 -44 415 -218 504 -440 28
-68 55 -195 55 -253 0 -58 22 -104 63 -128 67 -42 157 -19 192 49 16 29 22
123 11 174 -2 11 -7 43 -10 70 -24 172 -142 394 -285 536 -198 196 -435 290
-699 277 l-92 -4 0 30 c1 58 29 164 61 227 43 87 153 196 239 237 166 81 348
78 509 -8 32 -17 76 -48 98 -68 70 -65 130 -79 190 -42 55 33 70 68 64 147 -3
46 -119 150 -236 211 -57 31 -203 82 -231 82 -8 0 -14 4 -14 9 0 24 128 154
198 203 139 96 330 135 484 99z m1641 0 c139 -32 289 -134 394 -268 l33 -41
-38 -6 c-20 -4 -59 -14 -87 -24 -27 -9 -52 -17 -55 -17 -3 -1 -34 -16 -70 -34
-118 -61 -238 -167 -241 -214 -6 -79 9 -114 64 -148 24 -15 44 -19 79 -16 39
3 57 13 110 57 68 58 175 112 251 128 75 15 206 7 280 -17 81 -27 167 -82 230
-147 78 -80 147 -244 147 -347 l0 -32 -122 0 c-144 0 -195 -7 -300 -42 -282
-93 -515 -331 -616 -629 -17 -49 -33 -107 -37 -129 -3 -23 -8 -52 -10 -65 -12
-57 -6 -158 10 -189 48 -94 194 -94 237 0 9 19 18 68 22 109 23 300 216 551
495 647 142 49 324 33 469 -39 198 -99 361 -326 390 -543 20 -153 2 -272 -64
-410 -55 -116 -44 -165 54 -237 188 -137 281 -311 288 -538 4 -141 -20 -242
-86 -370 -64 -121 -185 -242 -301 -299 -95 -46 -183 -71 -268 -75 -71 -4 -109
-21 -137 -64 -28 -41 -27 -110 2 -150 36 -48 79 -63 168 -57 156 10 316 67
454 159 37 25 71 46 74 46 12 0 70 -144 84 -212 47 -226 -39 -485 -213 -638
-64 -56 -81 -105 -62 -175 6 -22 12 -80 13 -130 5 -194 -71 -382 -212 -523
-152 -154 -300 -215 -507 -210 -121 4 -144 -9 -189 -97 -33 -66 -111 -172
-159 -217 -298 -280 -718 -311 -1036 -75 -322 238 -441 673 -284 1031 59 135
184 281 306 360 126 80 256 121 415 130 60 3 79 9 108 31 82 63 73 179 -17
226 -36 18 -53 20 -123 15 -113 -9 -149 -15 -245 -43 -158 -45 -302 -127 -433
-245 -59 -52 -78 -65 -79 -51 0 10 -1 605 -1 1323 0 1446 -5 1335 64 1422 39
49 137 98 197 98 110 0 177 100 131 195 -36 74 -102 92 -235 65 -33 -7 -81
-22 -107 -35 -29 -13 -48 -18 -49 -11 0 6 -1 268 -1 581 0 540 1 574 21 647
78 296 308 510 591 550 43 6 153 0 203 -11z"/>
<path d="M2776 5855 c-49 -17 -73 -39 -87 -82 -30 -92 48 -191 141 -179 104
14 156 132 95 212 -42 56 -87 70 -149 49z"/>
<path d="M1525 4714 c-55 -27 -70 -60 -70 -149 0 -131 15 -207 67 -335 111
-272 355 -484 645 -561 79 -21 81 -22 72 -46 -34 -90 -112 -174 -203 -218 -55
-26 -80 -32 -166 -41 -95 -10 -144 -56 -144 -135 0 -54 21 -91 67 -120 69 -44
282 -3 422 82 126 75 243 223 291 365 14 44 29 82 32 86 4 3 21 8 37 11 147
23 313 100 444 205 70 56 89 127 51 189 -52 85 -150 94 -230 20 -45 -41 -144
-96 -225 -124 -71 -24 -94 -27 -205 -27 -108 1 -136 4 -205 27 -113 37 -198
90 -286 178 -63 62 -85 93 -122 170 -48 100 -64 158 -73 272 -7 84 -29 128
-78 151 -42 20 -82 20 -121 0z"/>
<path d="M2628 2775 c-2 -1 -38 -5 -80 -8 -187 -15 -406 -97 -578 -218 -160
-113 -360 -351 -376 -447 -5 -31 -1 -49 16 -80 52 -93 167 -98 234 -9 15 19
26 37 26 42 0 13 108 142 159 190 154 144 356 234 561 251 156 13 166 16 200
64 42 59 24 153 -36 190 -27 17 -115 35 -126 25z"/>
<path d="M1520 1662 c-79 -43 -92 -156 -25 -218 26 -24 50 -31 135 -39 230
-21 441 -167 554 -385 54 -105 72 -167 82 -290 11 -135 54 -184 152 -177 100
7 134 70 120 222 -18 184 -81 349 -195 509 -113 158 -291 289 -473 350 -92 30
-122 35 -230 42 -72 5 -91 2 -120 -14z"/>
<path d="M4134 5855 c-68 -29 -99 -104 -74 -179 16 -48 84 -90 135 -83 45 6
81 30 106 70 37 59 10 154 -53 185 -38 18 -82 21 -114 7z"/>
<path d="M5350 4712 c-49 -27 -68 -65 -75 -153 -8 -106 -28 -180 -76 -276
-119 -241 -382 -389 -654 -369 -138 10 -258 56 -378 147 -53 40 -79 53 -111
55 -48 4 -92 -18 -124 -63 -24 -34 -24 -108 0 -145 25 -39 143 -123 235 -169
79 -39 235 -89 279 -89 17 0 24 -11 38 -61 45 -164 162 -315 310 -403 129 -77
334 -117 405 -79 71 37 95 108 61 178 -26 53 -60 72 -145 80 -116 12 -208 56
-279 135 -35 39 -91 138 -83 146 3 3 17 7 33 10 101 18 250 83 357 156 176
120 332 344 378 546 6 26 13 56 15 67 3 11 7 59 11 106 5 68 2 92 -11 120 -34
70 -119 98 -186 61z"/>
<path d="M4289 2770 c-88 -25 -128 -113 -88 -192 29 -57 55 -69 175 -79 320
-28 569 -171 741 -428 31 -46 70 -92 87 -102 109 -66 241 48 192 166 -48 115
-219 309 -358 408 -137 98 -286 164 -448 201 -105 25 -260 38 -301 26z"/>
<path d="M5224 1659 c-382 -83 -690 -419 -754 -822 -24 -154 -11 -223 49 -266
61 -44 168 -16 196 52 7 17 15 66 18 107 27 357 304 649 641 676 86 7 133 29
158 74 35 67 12 147 -53 182 -43 23 -140 22 -255 -3z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.9 KiB

19
favicon/site.webmanifest Normal file
View File

@ -0,0 +1,19 @@
{
"name": "",
"short_name": "",
"icons": [
{
"src": "/favicon/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/favicon/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
],
"theme_color": "#ffffff",
"background_color": "#ffffff",
"display": "standalone"
}

View File

@ -6,23 +6,31 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>NeuroSecure</title>
<link rel="stylesheet" href="/css/index.css" />
<link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png">
<link rel="manifest" href="/favicon/site.webmanifest">
<link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<div class="nav">
<nav>
<div class="logo">
<h4>
<img src="/css/res/brain.svg" />
<img src="/css/res/plus.svg" />
<img src="/css/res/lock.svg" />
<img src="/css/res/brain.svg" style="width: 28px"/>
<!-- <img src="/css/res/plus.svg" /> -->
<!-- <img src="/css/res/lock.svg" /> -->
<span>NeuroSecure</span>
</h4>
</div>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Timeline</a></li>
<li><a href="#">Contact Us</a></li>
<li><a href="/">Home</a></li>
<li><a href="/project">Timeline</a></li>
<li><a href="/team">Our Team</a></li>
<li><a href="/contact">Contact Us</a></li>
<span>NeuroSecure</span>
</ul>
<div class="burger">
@ -38,24 +46,50 @@
<h3>A product to revolutionize the field of cybersecurity.</h3>
</div>
</section>
<section class="about">
<div id="about">
<h1>The future of authentication.</h1>
<h4>
A cloud based authentication platform that will allow users to login
with their minds. Lorem ipsum dolor sit, amet consectetur adipisicing
elit. Similique ex, nihil ullam dolores nisi, porro tenetur tempore
facilis delectus optio, alias nemo ipsum error laudantium quia soluta!
Atque, soluta consequatur?
</h4>
<button><a href="">Watch a demo</a></button>
<section class="about-section">
<div class="about-1">
<div class="about">
<h1>The future of authentication.</h1>
<h4>
NeuroSecure is a revolutionary product that aims to transform the biometrics market, projected to reach nearly $100 billion by 2027. The first of its kind in brain biometrics, this user-friendly device takes in an individuals brain waves to create a unique <strong>brain signature</strong> for authentication into any system.
</h4>
<button><a href="">Watch a demo</a></button>
</div>
</div>
<div class="about-2">
<div class="about">
<div>
<h1>Truly canceleable</h1>
<h4>Need to change your password? No problem. Unlike fingerprints, irises, or facial recognition biometrics, brain signatures can be reregistered to a new set of stimuli at any time. This defends and outwits any data compromisation, an enormous stride ahead of comparable biometrics.</h4>
</div>
<div class="img"><img src="/css/res/recycle.svg" alt=""></div>
</div>
</div>
<div class="about-3">
<div class="about">
<div class="img"><img src="/css/res/file-earmark-lock.svg" alt=""></div>
<div>
<h1>Immune to synthesization</h1>
<h4>Your data is secure and private. Brain biometric data cannot be accessed without specific technology, such as the electroencephalograms built into the NeuroSecure device. Additionally, research demonstrates that brain biometric data is unique and consistent. Combined, this means its simply impossible for your data to be replicated.</h4>
</div>
</div>
</div>
<div class="about-4">
<div class="about">
<div>
<h1>Immune to coercion</h1>
<h4>In the event of an emergency, your data will be safe. No use of force or actions against the will of the user will be successful due to critical disruptions in cerebral activity. Only users who want to be authenticated will be able to be authenticated.</h4>
</div>
<div class="img"><img src="/css/res/shield.svg" alt=""></div>
</div>
</div>
</section>
<section class="founders">
<div class="profile">
<img />
<img src="/css/res/leon.jpg"/>
<h1>Leon Jia</h1>
<h2>NOVA Class of 2026</h2>
<h2>Co-Founder</h2>
<p>
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Unde,
quisquam magni rerum, beatae vel deleniti temporibus tempore voluptas.
@ -69,9 +103,9 @@
</p>
</div>
<div class="profile">
<img />
<img src="/css/res/ani.jpg"/>
<h1>Anirudh Bansal</h1>
<h2>More impressive title</h2>
<h2>Co-Founder</h2>
<p>
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Unde,
quisquam magni rerum, beatae vel deleniti temporibus tempore voluptas
@ -80,59 +114,7 @@
</p>
</div>
</section>
<section class="timeline">
<div class="header">
<h1>Our timeline</h1>
</div>
<div id="timeline">
<ul>
<li>
<div class="content">
<h3 class="date">20th may, 2010</h3>
<h1>Heading 1</h1>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit.
Consectetur tempora ab laudantium voluptatibus aut eos placeat
laborum, quibusdam exercitationem labore.
</p>
</div>
</li>
<li>
<div class="content">
<h3 class="date">20th may, 2010</h3>
<h1>Heading 2</h1>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit.
Consectetur tempora ab laudantium voluptatibus aut eos placeat
laborum, quibusdam exercitationem labore.
</p>
</div>
</li>
<li>
<div class="content">
<h3 class="date">20th may, 2010</h3>
<h1>Heading 3</h1>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit.
Consectetur tempora ab laudantium voluptatibus aut eos placeat
laborum, quibusdam exercitationem labore.
</p>
</div>
</li>
<li>
<div class="content">
<h3 class="date">20th may, 2010</h3>
<h1>Heading 4</h1>
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit.
Consectetur tempora ab laudantium voluptatibus aut eos placeat
laborum, quibusdam exercitationem labore.
</p>
</div>
</li>
</ul>
</div>
</section>
<section class="contact">
<form id="contact" action="/" method="post">
<h1>Get in contact</h1>
@ -185,8 +167,8 @@
<div class="logo">
<h4>
<img src="/css/res/brain.svg" />
<img src="/css/res/plus.svg" />
<img src="/css/res/lock.svg" />
<!-- <img src="/css/res/plus.svg" />
<img src="/css/res/lock.svg" /> -->
<span>NeuroSecure</span>
</h4>
</div>
@ -212,7 +194,7 @@
</div>
</footer>
</body>
<script type="x-shader/x-vertex" id="vertexshader">
<script type="vert" id="vertexshader">
attribute float scale;
void main() {
vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );
@ -220,12 +202,17 @@
gl_Position = projectionMatrix * mvPosition;
}
</script>
<script type="x-shader/x-fragment" id="fragmentshader">
<script type="vert" id="fragmentshader">
uniform vec3 color;
void main() {
if ( length( gl_PointCoord - vec2( 0.5, 0.5 ) ) > 0.475 ) discard;
gl_FragColor = vec4( color, 1.0 );
}
</script>
<script src="/src/app.js" type="module"></script>
<script src="/js/index.js" type="module"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/2.0.2/TweenMax.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.5/ScrollMagic.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.5/plugins/animation.gsap.js"></script>
<script src="/js/scroll.js" type="module"></script>
</html>

200
js/brain.json Normal file

File diff suppressed because one or more lines are too long

439
js/index.js Normal file
View File

@ -0,0 +1,439 @@
import * as THREE from "three/build/three.module.js";
window.THREE = THREE; // Used by APP Scripts.
var APP = {
Player: function () {
var renderer = new THREE.WebGLRenderer( { antialias: true } );
renderer.setPixelRatio( window.devicePixelRatio ); // TODO: Use player.setPixelRatio()
renderer.outputEncoding = THREE.sRGBEncoding;
var loader = new THREE.ObjectLoader();
var camera, scene;
var events = {};
var dom = document.createElement( 'div' );
dom.appendChild( renderer.domElement );
this.dom = dom;
this.width = 500;
this.height = 500;
this.load = function ( json ) {
var project = json.project;
if ( project.vr !== undefined ) renderer.xr.enabled = project.vr;
if ( project.shadows !== undefined ) renderer.shadowMap.enabled = project.shadows;
if ( project.shadowType !== undefined ) renderer.shadowMap.type = project.shadowType;
if ( project.toneMapping !== undefined ) renderer.toneMapping = project.toneMapping;
if ( project.toneMappingExposure !== undefined ) renderer.toneMappingExposure = project.toneMappingExposure;
if ( project.physicallyCorrectLights !== undefined ) renderer.physicallyCorrectLights = project.physicallyCorrectLights;
this.setScene( loader.parse( json.scene ) );
this.setCamera( loader.parse( json.camera ) );
events = {
init: [],
start: [],
stop: [],
keydown: [],
keyup: [],
pointerdown: [],
pointerup: [],
pointermove: [],
update: []
};
var scriptWrapParams = 'player,renderer,scene,camera';
var scriptWrapResultObj = {};
for ( var eventKey in events ) {
scriptWrapParams += ',' + eventKey;
scriptWrapResultObj[ eventKey ] = eventKey;
}
var scriptWrapResult = JSON.stringify( scriptWrapResultObj ).replace( /\"/g, '' );
for ( var uuid in json.scripts ) {
var object = scene.getObjectByProperty( 'uuid', uuid, true );
if ( object === undefined ) {
console.warn( 'APP.Player: Script without object.', uuid );
continue;
}
var scripts = json.scripts[ uuid ];
for ( var i = 0; i < scripts.length; i ++ ) {
var script = scripts[ i ];
var functions = ( new Function( scriptWrapParams, script.source + '\nreturn ' + scriptWrapResult + ';' ).bind( object ) )( this, renderer, scene, camera );
for ( var name in functions ) {
if ( functions[ name ] === undefined ) continue;
if ( events[ name ] === undefined ) {
console.warn( 'APP.Player: Event type not supported (', name, ')' );
continue;
}
events[ name ].push( functions[ name ].bind( object ) );
}
}
}
dispatch( events.init, arguments );
};
this.setCamera = function ( value ) {
camera = value;
camera.aspect = this.width / this.height;
camera.updateProjectionMatrix();
};
this.setScene = function ( value ) {
scene = value;
};
this.setPixelRatio = function ( pixelRatio ) {
renderer.setPixelRatio( pixelRatio );
};
this.setSize = function ( width, height ) {
this.width = width;
this.height = height;
if ( camera ) {
camera.aspect = this.width / this.height;
camera.updateProjectionMatrix();
}
if ( renderer ) {
renderer.setSize( width, height );
}
};
function dispatch( array, event ) {
for ( var i = 0, l = array.length; i < l; i ++ ) {
array[ i ]( event );
}
}
var time, startTime, prevTime;
function animate() {
time = performance.now();
try {
dispatch( events.update, { time: time - startTime, delta: time - prevTime } );
} catch ( e ) {
console.error( ( e.message || e ), ( e.stack || '' ) );
}
renderer.render( scene, camera );
prevTime = time;
}
this.play = function () {
startTime = prevTime = performance.now();
document.addEventListener( 'keydown', onKeyDown );
document.addEventListener( 'keyup', onKeyUp );
document.addEventListener( 'pointerdown', onPointerDown );
document.addEventListener( 'pointerup', onPointerUp );
document.addEventListener( 'pointermove', onPointerMove );
dispatch( events.start, arguments );
renderer.setAnimationLoop( animate );
};
this.stop = function () {
document.removeEventListener( 'keydown', onKeyDown );
document.removeEventListener( 'keyup', onKeyUp );
document.removeEventListener( 'pointerdown', onPointerDown );
document.removeEventListener( 'pointerup', onPointerUp );
document.removeEventListener( 'pointermove', onPointerMove );
dispatch( events.stop, arguments );
renderer.setAnimationLoop( null );
};
this.render = function ( time ) {
dispatch( events.update, { time: time * 1000, delta: 0 /* TODO */ } );
renderer.render( scene, camera );
};
this.dispose = function () {
renderer.dispose();
camera = undefined;
scene = undefined;
};
//
function onKeyDown( event ) {
dispatch( events.keydown, event );
}
function onKeyUp( event ) {
dispatch( events.keyup, event );
}
function onPointerDown( event ) {
dispatch( events.pointerdown, event );
}
function onPointerUp( event ) {
dispatch( events.pointerup, event );
}
function onPointerMove( event ) {
dispatch( events.pointermove, event );
}
}
};
var loader = new THREE.FileLoader();
loader.load("/js/brain.json", function (text) {
var player = new APP.Player();
player.load(JSON.parse(text));
player.setSize(window.innerWidth, window.innerHeight);
player.play();
const hero = document.getElementById("hero");
hero.after(player.dom);
window.addEventListener("resize", function () {
player.setSize(window.innerWidth, window.innerHeight);
});
});
const SEPARATION = 100,
AMOUNTX = 50,
AMOUNTY = 50;
let container;
let camera, scene, renderer;
let particles,
count = 0;
let windowHalfX = window.innerWidth / 2;
let windowHalfY = window.innerHeight / 2;
init();
animate();
function init() {
container = document.createElement("div");
const about = document.getElementsByClassName("about-1")[0];
about.appendChild(container);
camera = new THREE.PerspectiveCamera(
75,
window.innerWidth / window.innerHeight,
500,
10000
);
camera.position.z = 1000;
camera.position.y = 250;
scene = new THREE.Scene();
scene.background = new THREE.Color(0x131313);
//
const numParticles = AMOUNTX * AMOUNTY;
const positions = new Float32Array(numParticles * 3);
const scales = new Float32Array(numParticles);
let i = 0,
j = 0;
for (let ix = 0; ix < AMOUNTX; ix++) {
for (let iy = 0; iy < AMOUNTY; iy++) {
positions[i] = ix * SEPARATION - (AMOUNTX * SEPARATION) / 2; // x
positions[i + 1] = 0; // y
positions[i + 2] = iy * SEPARATION - (AMOUNTY * SEPARATION) / 2; // z
scales[j] = 1;
i += 3;
j++;
}
}
const geometry = new THREE.BufferGeometry();
geometry.setAttribute("position", new THREE.BufferAttribute(positions, 3));
geometry.setAttribute("scale", new THREE.BufferAttribute(scales, 1));
const material = new THREE.ShaderMaterial({
uniforms: {
color: { value: new THREE.Color(0xffffff) },
},
vertexShader: document.getElementById("vertexshader").textContent,
fragmentShader: document.getElementById("fragmentshader").textContent,
});
//
particles = new THREE.Points(geometry, material);
scene.add(particles);
//
renderer = new THREE.WebGLRenderer({ antialias: true });
renderer.setPixelRatio(window.devicePixelRatio);
renderer.setSize(window.innerWidth, window.innerHeight / 2);
container.appendChild(renderer.domElement);
container.style.touchAction = "none";
//
windowHalfX = window.innerWidth / 2;
windowHalfY = window.innerHeight / 2;
camera.aspect = window.innerWidth / window.innerHeight;
camera.updateProjectionMatrix();
renderer.setSize(window.innerWidth, window.innerHeight);
window.addEventListener("resize", onWindowResize);
}
function onWindowResize() {
windowHalfX = window.innerWidth / 2;
windowHalfY = window.innerHeight / 2;
camera.aspect = window.innerWidth / window.innerHeight;
camera.updateProjectionMatrix();
renderer.setSize(window.innerWidth, window.innerHeight);
}
//
function onPointerMove(event) {
if (event.isPrimary === false) return;
}
//
function animate() {
requestAnimationFrame(animate);
render();
}
function render() {
//camera.lookAt(scene.position);
const positions = particles.geometry.attributes.position.array;
const scales = particles.geometry.attributes.scale.array;
let i = 0,
j = 0;
for (let ix = 0; ix < AMOUNTX; ix++) {
for (let iy = 0; iy < AMOUNTY; iy++) {
positions[i + 1] =
Math.sin((ix + count) * 0.3) * 50 + Math.sin((iy + count) * 0.5) * 50;
scales[j] =
(Math.sin((ix + count) * 0.3) + 1) * 20 +
(Math.sin((iy + count) * 0.5) + 1) * 20;
i += 3;
j++;
}
}
particles.geometry.attributes.position.needsUpdate = true;
particles.geometry.attributes.scale.needsUpdate = true;
renderer.render(scene, camera);
count += 0.1;
}
const nav = () => {
const burger = document.querySelector(".burger");
const nav = document.querySelector("nav ul");
burger.addEventListener("click", () => {
nav.classList.toggle("nav-active");
burger.classList.toggle("toggle");
});
};
nav();

18
js/scroll.js Normal file
View File

@ -0,0 +1,18 @@
import { gsap } from "gsap";
var controller = new ScrollMagic.Controller();
var wipeAnimation = new TimelineMax()
.fromTo(".about-1", 1, { xPercent: 100 })
.from(".about-2", 1, { xPercent: -100 })
.from(".about-3", 1, { yPercent: 100 })
.from(".about-4", 1, { yPercent: -100 });
new ScrollMagic.Scene({
triggerElement: ".about-section",
triggerHook: "onLeave",
duration: "300%",
})
.setPin(".about-section")
.setTween(wipeAnimation)
.addTo(controller);

View File

@ -2,15 +2,23 @@
"name": "neurosecure",
"version": "0.0.0",
"scripts": {
"dev": "vite",
"build": "vite build",
"serve": "vite preview"
"start": "parcel",
"build": "parcel build"
},
"staticFiles": {
"staticPath": "deez",
"watcherGlob": "**"
},
"devDependencies": {
"sass": "^1.38.2",
"vite": "^2.4.4"
"@parcel/packager-raw-url": "^2.0.0",
"@parcel/transformer-webmanifest": "^2.0.0",
"parcel": "^2.0.0",
"parcel-plugin-json-url-loader": "^0.1.2",
"parcel-plugin-static-files-copy": "^2.6.0"
},
"dependencies": {
"three": "^0.131.3"
"gsap": "^3.8.0",
"scrollmagic": "^2.0.8",
"three": "^0.134.0"
}
}

118
project.html Normal file
View File

@ -0,0 +1,118 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>NeuroSecure</title>
<link rel="stylesheet" href="/css/timeline.css" />
<link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png">
<link rel="manifest" href="/favicon/site.webmanifest">
<link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<div class="nav">
<nav>
<div class="logo">
<h4>
<img src="/css/res/brain.svg" style="width: 28px"/>
<!-- <img src="/css/res/plus.svg" /> -->
<!-- <img src="/css/res/lock.svg" /> -->
<span>NeuroSecure</span>
</h4>
</div>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/project">Timeline</a></li>
<li><a href="/team">Our Team</a></li>
<li><a href="/contact">Contact Us</a></li>
<span>NeuroSecure</span>
</ul>
<div class="burger">
<div class="line1"></div>
<div class="line2"></div>
<div class="line3"></div>
</div>
</nav>
</div>
<section class="timeline">
<div class="header">
<h1>Our timeline</h1>
</div>
<div id="timeline">
<ul>
<li>
<div class="content">
<h3 class="date">august, 2021</h3>
<h2>EEG Prototyping, Stimulus Set Experimentation, and Machine Learning Modeling</h2>
</div>
</li>
<li>
<div class="content">
<h3 class="date">january, 2022</h3>
<h2>Stimulus Set Design, Machine Learning Hyperparameter Optimization</h2>
</div>
</li>
<li>
<div class="content">
<h3 class="date">march, 2022</h3>
<h2>Hardware Development, Cost Reduction Analysis</h2>
</div>
</li>
<li>
<div class="content">
<h3 class="date">june, 2022</h3>
<h2>Market Testing</h2>
</div>
</li>
<li>
<div class="content">
<h3 class="date">august, 2022</h3>
<h2>Product Launch</h2>
</div>
</li>
</ul>
</div>
</section>
<footer>
<div class="footer">
<div class="columns">
<div class="logo">
<h4>
<img src="/css/res/brain.svg" />
<!-- <img src="/css/res/plus.svg" />
<img src="/css/res/lock.svg" /> -->
<span>NeuroSecure</span>
</h4>
</div>
<ul>
<li>Important Links</li>
<li><a href="">Link</a></li>
<li><a href="">Another Link</a></li>
<li><a href="">Yet another link</a></li>
</ul>
<ul>
<li>More Links</li>
<li><a href="">Link</a></li>
<li><a href="">Another Link</a></li>
<li><a href="">Yet another link</a></li>
</ul>
</div>
<div class="copyright">
&copy; All rights reserved 2021<br />designed by
<a target="_blank" href="https://github.com/rushilwiz"
>rushil umaretiya</a
>
</div>
</div>
</footer>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@ -1,538 +0,0 @@
// colors
$dark: #131313
$gray: #747474
$light: #d4d4d4
$gradient-width: -5px
// fonts
@font-face
font-family: 'Poppins'
src: url('fonts/Poppins/Poppins-Regular.ttf')
@font-face
font-family: 'Open Sans'
src: url('fonts/Open_Sans/OpenSans-Regular.ttf')
@font-face
font-family: 'Astro'
src: url('fonts/Astro/astro.ttf')
@font-face
font-family: 'Garamond'
src: url('fonts/Garamond/EBGaramond-Regular.ttf')
$hero-stack: 'Astro', sans-serif
$title-stack: 'Poppins', sans-serif
$subtitle-stack: 'Open Sans', sans-serif
$body-stack: 'Poppins', sans-serif
$serif-title-stack: 'Garamond', serif
$serif-stack: serif
// mobile
$mobile-width: 768px
@mixin mobile
@media (max-width: #{$mobile-width})
@content
@mixin desktop
@media (min-width: #{$mobile-width})
@content
*
margin: 0px
padding: 0px
box-sizing: border-box
background-color: $dark
body
overflow-x: hidden
.nav
position: fixed
width: 100vw
top: 0
z-index: 999
nav
display: flex
justify-content: space-around
align-items: center
min-height: 8vh
background-color: $dark
font-family: $title-stack
.logo
color: $light
text-transform: uppercase
letter-spacing: 3px
font-size: 1.75em
span
padding-left: 20px
ul
display: flex
justify-content: space-around
width: 30%
li
list-style: none
span
display: none
a
font-family: $subtitle-stack
color: $light
text-decoration: none
font-weight: bold
font-size: 1.1em
&:hover
color: white
.nav-active
transform: translateX(0%) !important
.burger
display: none
div
width: 25px
height: 3px
background-color: $light
margin: 5px
transition: all 0.3s ease
@include mobile
justify-content: space-between
padding: 20px
.logo
img
width: 28px
height: 28px
span
display: none
ul
z-index: 1
transform: translateX(100%)
position: absolute
right: 0%
top: 8vh
height: 30vh
width: 100% !important
display: flex
flex-direction: column
align-items: center
background-color: $dark
transition: transform 0.5s ease-in
border-bottom: 3px solid $light
span
display: block
color: $light
font-weight: bold
text-transform: uppercase
letter-spacing: 3px
font-size: 1.75em
li a
color: $light !important
font-size: 1.2em
font-weight: normal
.burger
display: block !important
&.toggle
.line1
transform: rotate(-45deg) translate(-5px, 6px)
.line2
opacity: 0
.line3
transform: rotate(45deg) translate(-5px, -6px)
.hero
color: $light
position: relative
width: 100vw
height: 100%
#hero
position: absolute
left: 10%
top: 20%
background-color: transparent
z-index: 1
h1
font-family: $hero-stack
text-align: left
font-size: 8em
padding: 0.5em 0.5em 0
background: -webkit-linear-gradient(#eee 70%, #333 100%)
-webkit-background-clip: text
-webkit-text-fill-color: transparent
h3
font-family: "Open Sans", serif
text-align: left
font-size: 2em
background-color: transparent
.about
position: relative
color: $light
overflow: hidden
background-color: transparent
text-align: center
#about
position: absolute
h1
font-size: 4em
font-family: $subtitle-stack
h4
font-size: 1em
font-family: $subtitle-stack
margin-left: 20%
width: 60%
button
padding: 10px 20px
border: 3px solid $light
text-transform: uppercase
margin-top: 30px
border-radius: 20px
font-family: $hero-stack
a
color: $light
text-decoration: none
div canvas
margin: -5% 0
.founders
position: relative
display: flex
height: auto
color: $light
align-items: center
justify-content: center
.profile
flex: 1 1 0
margin: 0 auto
text-align: center
img
width: 200px
height: 200px
background-color: #ffd1dc
border-radius: 50%
h1
font-family: $title-stack
font-size: 1.6em
margin-top: 0.3em
h2
font-family: $title-stack
font-weight: normal
font-size: 1em
p
font-family: sans-serif
width: 60%
margin: 0 auto
margin-top: 0.5em
a
text-decoration: none
color: #11c1e0
.caption
flex: 1.5 1 0
text-align: center
h1
font-family: $title-stack
font-size: 5em
white-space: nowrap
p
font-family: $subtitle-stack
.timeline
display: flex
flex-direction: column
height: auto
color: $light
align-items: center
justify-content: center
margin-bottom: 5%
.header
margin-bottom: 2%
font-family: $title-stack
font-size: 4em
#timeline
max-width: 800px
margin: 0 auto
margin-bottom: 2%
position: relative
ul
list-style: none
li
border: 8px solid $gray
padding: 20px
color: white
border-radius: 10px
margin-bottom: 20px
&:last-child
margin-bottom: 0
.content
h1
font-family: $subtitle-stack
font-weight: bold
font-size: 25px
line-height: 30px
margin-bottom: 10px
p
font-family: $body-stack
font-weight: normal
font-size: 16px
line-height: 30px
.date
font-family: monospace
font-weight: normal
font-size: 12px
margin-bottom: 10px
letter-spacing: 2px
@include desktop
&:before
content: ""
position: absolute
top: 0
left: 50%
transform: translateX(-50%)
width: 2px
height: 100%
background-color: $light
.date
position: absolute
top: -30px
ul li
width: 50%
position: relative
margin-bottom: 50px
&:nth-child(odd)
float: left
clear: right
transform: translateX(-30px)
border-radius: 20px 0px 20px 20px
&::before
transform: translate(50%, -50%)
right: -38px
&:nth-child(even)
float: right
clear: left
transform: translateX(30px)
border-radius: 0px 20px 20px 20px
&::before
transform: translate(-50%, -50%)
left: -38px
&::before
content: ""
position: absolute
height: 20px
width: 20px
border-radius: 50%
background-color: $gray
top: 0
.contact
position: relative
display: flex
justify-content: center
width: 100vw
height: auto
color: $light
background-color: transparent
z-index: 0
margin-bottom: 50px
#contact
position: relative
padding: 40px 0
background: $dark
width: 100%
max-width: 500px
padding: 25px
&:before
content: ''
position: absolute
top: $gradient-width
left: $gradient-width
right: $gradient-width
bottom: $gradient-width
background: linear-gradient(45deg, #ffd800, #ff5520, #750cf2, #0cbcf2)
z-index: -1
&:after
content: ''
position: absolute
top: 0
left: 0
right: 0
bottom: 0
background: linear-gradient(45deg, #ffd800, #ff5520, #750cf2, #0cbcf2)
z-index: -2
filter: blur(40px)
h1
margin: 0 0 15px
font-family: $title-stack
font-size: 3em
fieldset
border: none !important
margin: 0 0 10px
min-width: 100%
padding: 0
width: 100%
input, textarea
font-family: $subtitle-stack
color: $light
border-color: $light
width: 100%
margin: 0 0 5px
padding: 10px
&:last-child
margin: 0
&::placeholder
color: $light
textarea
height: 100px
max-width: 100%
resize: none
button
color: $dark
background: $light
width: 100%
padding: 10px 20px
text-transform: lowercase
font-family: $title-stack
font-weight: bold
border: none
.alternative
font-family: $subtitle-stack
color: $gray
a
color: $gray
footer
position: relative
margin-top: 10%
height: 10vh
width: 100%
.footer
width: 50%
margin: 0 auto
display: flex
flex-direction: column
color: $light
font-family: $subtitle-stack
.columns
display: flex
flex: 1
flex-direction: row
justify-content: space-around
.logo
margin: auto 0
h4
display: flex
flex-direction: row
align-items: center
margin: auto 0
color: $light
text-transform: uppercase
letter-spacing: 3px
font-size: 1.2em
span
padding-left: 10px
ul
list-style: none
li
color: lighten($dark, 45%)
&:first-child
font-size: 1.2em
padding: 5px 0
color: lighten($dark, 50%)
a
padding: 4px 0
color: inherit
text-decoration: none
&:hover
color: lighten($dark, 60%)
.copyright
color: lighten($dark, 40%)
text-align: center
font-size: 0.9em
margin: 50px 0
a
color: inherit

View File

@ -1,400 +0,0 @@
import * as THREE from "three/build/three.module.js";
import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js";
window.THREE = THREE; // Used by APP Scripts.
var APP = {
Player: function () {
var renderer = new THREE.WebGLRenderer({ antialias: true });
var controls;
renderer.setPixelRatio(window.devicePixelRatio); // TODO: Use player.setPixelRatio()
renderer.outputEncoding = THREE.sRGBEncoding;
var loader = new THREE.ObjectLoader();
var camera, scene;
var events = {};
var dom = document.createElement("div");
dom.appendChild(renderer.domElement);
this.dom = dom;
this.width = 500;
this.height = 500;
this.load = function (json) {
var project = json.project;
if (project.shadows !== undefined)
renderer.shadowMap.enabled = project.shadows;
if (project.shadowType !== undefined)
renderer.shadowMap.type = project.shadowType;
if (project.toneMapping !== undefined)
renderer.toneMapping = project.toneMapping;
if (project.toneMappingExposure !== undefined)
renderer.toneMappingExposure = project.toneMappingExposure;
if (project.physicallyCorrectLights !== undefined)
renderer.physicallyCorrectLights = project.physicallyCorrectLights;
this.setScene(loader.parse(json.scene));
this.setCamera(loader.parse(json.camera));
events = {
init: [],
start: [],
stop: [],
keydown: [],
keyup: [],
pointerdown: [],
pointerup: [],
pointermove: [],
update: [],
};
var scriptWrapParams = "player,renderer,scene,camera";
var scriptWrapResultObj = {};
for (var eventKey in events) {
scriptWrapParams += "," + eventKey;
scriptWrapResultObj[eventKey] = eventKey;
}
var scriptWrapResult = JSON.stringify(scriptWrapResultObj).replace(
/\"/g,
""
);
for (var uuid in json.scripts) {
var object = scene.getObjectByProperty("uuid", uuid, true);
if (object === undefined) {
console.warn("APP.Player: Script without object.", uuid);
continue;
}
var scripts = json.scripts[uuid];
for (var i = 0; i < scripts.length; i++) {
var script = scripts[i];
var functions = new Function(
scriptWrapParams,
script.source + "\nreturn " + scriptWrapResult + ";"
).bind(object)(this, renderer, scene, camera);
for (var name in functions) {
if (functions[name] === undefined) continue;
if (events[name] === undefined) {
console.warn("APP.Player: Event type not supported (", name, ")");
continue;
}
events[name].push(functions[name].bind(object));
}
}
}
dispatch(events.init, arguments);
};
this.setCamera = function (value) {
camera = value;
camera.aspect = this.width / this.height;
camera.updateProjectionMatrix();
};
this.setScene = function (value) {
scene = value;
};
this.setPixelRatio = function (pixelRatio) {
renderer.setPixelRatio(pixelRatio);
};
this.setSize = function (width, height) {
this.width = width;
this.height = height;
if (camera) {
camera.aspect = this.width / this.height;
camera.updateProjectionMatrix();
}
if (renderer) {
controls = new OrbitControls(camera, renderer.domElement);
controls.target = new THREE.Vector3(0, 0, 0);
controls.enableZoom = false;
controls.update();
renderer.setSize(width, height);
}
};
function dispatch(array, event) {
for (var i = 0, l = array.length; i < l; i++) {
array[i](event);
}
}
var time, startTime, prevTime;
function animate() {
controls.update();
time = performance.now();
try {
dispatch(events.update, {
time: time - startTime,
delta: time - prevTime,
});
} catch (e) {
console.error(e.message || e, e.stack || "");
}
renderer.render(scene, camera);
prevTime = time;
}
this.play = function () {
startTime = prevTime = performance.now();
document.addEventListener("keydown", onKeyDown);
document.addEventListener("keyup", onKeyUp);
document.addEventListener("pointerdown", onPointerDown);
document.addEventListener("pointerup", onPointerUp);
document.addEventListener("pointermove", onPointerMove);
dispatch(events.start, arguments);
renderer.setAnimationLoop(animate);
};
this.stop = function () {
document.removeEventListener("keydown", onKeyDown);
document.removeEventListener("keyup", onKeyUp);
document.removeEventListener("pointerdown", onPointerDown);
document.removeEventListener("pointerup", onPointerUp);
document.removeEventListener("pointermove", onPointerMove);
dispatch(events.stop, arguments);
renderer.setAnimationLoop(null);
};
this.render = function (time) {
dispatch(events.update, { time: time * 1000, delta: 0 /* TODO */ });
renderer.render(scene, camera);
};
this.dispose = function () {
renderer.dispose();
camera = undefined;
scene = undefined;
};
//
function onKeyDown(event) {
dispatch(events.keydown, event);
}
function onKeyUp(event) {
dispatch(events.keyup, event);
}
function onPointerDown(event) {
dispatch(events.pointerdown, event);
}
function onPointerUp(event) {
dispatch(events.pointerup, event);
}
function onPointerMove(event) {
dispatch(events.pointermove, event);
}
},
};
const SEPARATION = 100,
AMOUNTX = 50,
AMOUNTY = 50;
let container;
let camera, scene, renderer;
let particles,
count = 0;
let windowHalfX = window.innerWidth / 2;
let windowHalfY = window.innerHeight / 2;
init();
animate();
function init() {
container = document.createElement("div");
const about = document.getElementsByClassName("about")[0];
about.appendChild(container);
camera = new THREE.PerspectiveCamera(
75,
window.innerWidth / window.innerHeight,
500,
10000
);
camera.position.z = 1000;
camera.position.y = 250;
scene = new THREE.Scene();
scene.background = new THREE.Color(0x131313);
//
const numParticles = AMOUNTX * AMOUNTY;
const positions = new Float32Array(numParticles * 3);
const scales = new Float32Array(numParticles);
let i = 0,
j = 0;
for (let ix = 0; ix < AMOUNTX; ix++) {
for (let iy = 0; iy < AMOUNTY; iy++) {
positions[i] = ix * SEPARATION - (AMOUNTX * SEPARATION) / 2; // x
positions[i + 1] = 0; // y
positions[i + 2] = iy * SEPARATION - (AMOUNTY * SEPARATION) / 2; // z
scales[j] = 1;
i += 3;
j++;
}
}
const geometry = new THREE.BufferGeometry();
geometry.setAttribute("position", new THREE.BufferAttribute(positions, 3));
geometry.setAttribute("scale", new THREE.BufferAttribute(scales, 1));
const material = new THREE.ShaderMaterial({
uniforms: {
color: { value: new THREE.Color(0xffffff) },
},
vertexShader: document.getElementById("vertexshader").textContent,
fragmentShader: document.getElementById("fragmentshader").textContent,
});
//
particles = new THREE.Points(geometry, material);
scene.add(particles);
//
renderer = new THREE.WebGLRenderer({ antialias: true });
renderer.setPixelRatio(window.devicePixelRatio);
renderer.setSize(window.innerWidth, window.innerHeight / 2);
container.appendChild(renderer.domElement);
container.style.touchAction = "none";
//
windowHalfX = window.innerWidth / 2;
windowHalfY = window.innerHeight / 2;
camera.aspect = window.innerWidth / window.innerHeight;
camera.updateProjectionMatrix();
renderer.setSize(window.innerWidth, window.innerHeight);
window.addEventListener("resize", onWindowResize);
}
function onWindowResize() {
windowHalfX = window.innerWidth / 2;
windowHalfY = window.innerHeight / 2;
camera.aspect = window.innerWidth / window.innerHeight;
camera.updateProjectionMatrix();
renderer.setSize(window.innerWidth, window.innerHeight);
}
//
function onPointerMove(event) {
if (event.isPrimary === false) return;
}
//
function animate() {
requestAnimationFrame(animate);
render();
}
function render() {
//camera.lookAt(scene.position);
const positions = particles.geometry.attributes.position.array;
const scales = particles.geometry.attributes.scale.array;
let i = 0,
j = 0;
for (let ix = 0; ix < AMOUNTX; ix++) {
for (let iy = 0; iy < AMOUNTY; iy++) {
positions[i + 1] =
Math.sin((ix + count) * 0.3) * 50 + Math.sin((iy + count) * 0.5) * 50;
scales[j] =
(Math.sin((ix + count) * 0.3) + 1) * 20 +
(Math.sin((iy + count) * 0.5) + 1) * 20;
i += 3;
j++;
}
}
particles.geometry.attributes.position.needsUpdate = true;
particles.geometry.attributes.scale.needsUpdate = true;
renderer.render(scene, camera);
count += 0.1;
}
var loader = new THREE.FileLoader();
loader.load("brain.json", function (text) {
var player = new APP.Player();
player.load(JSON.parse(text));
player.setSize(window.innerWidth, window.innerHeight);
player.play();
const hero = document.getElementById("hero");
hero.after(player.dom);
window.addEventListener("resize", function () {
player.setSize(window.innerWidth, window.innerHeight);
});
});
const nav = () => {
const burger = document.querySelector(".burger");
const nav = document.querySelector("nav ul");
burger.addEventListener("click", () => {
nav.classList.toggle("nav-active");
burger.classList.toggle("toggle");
});
};
nav();

107
team.html Normal file
View File

@ -0,0 +1,107 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>NeuroSecure</title>
<link rel="stylesheet" href="/css/team.css" />
<link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png">
<link rel="manifest" href="/favicon/site.webmanifest">
<link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<div class="nav">
<nav>
<div class="logo">
<h4>
<img src="/css/res/brain.svg" style="width: 28px"/>
<!-- <img src="/css/res/plus.svg" /> -->
<!-- <img src="/css/res/lock.svg" /> -->
<span>NeuroSecure</span>
</h4>
</div>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/project">Timeline</a></li>
<li><a href="/team">Our Team</a></li>
<li><a href="/contact">Contact Us</a></li>
<span>NeuroSecure</span>
</ul>
<div class="burger">
<div class="line1"></div>
<div class="line2"></div>
<div class="line3"></div>
</div>
</nav>
</div>
<div class="team">
<h1 class="header">Our team</h1>
<div class="founders">
<div class="profile">
<img src="/css/res/leon.jpg"/>
<h1>Leon Jia</h1>
<h2>Co-Founder</h2>
<p>
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Unde,
quisquam magni rerum, beatae vel deleniti temporibus tempore voluptas.
</p>
</div>
<div class="profile">
<img src="/css/res/ani.jpg"/>
<h1>Anirudh Bansal</h1>
<h2>Co-Founder</h2>
<p>
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Unde,
quisquam magni rerum, beatae vel deleniti temporibus tempore voluptas
impedit enim similique vero eos est, molestiae explicabo quam eligendi
sapiente odit?
</p>
</div>
</div>
<div class="subheader">
<h1>Board of Advisors</h1>
<p>Coming soon...</p>
</div>
</div>
<footer>
<div class="footer">
<div class="columns">
<div class="logo">
<h4>
<img src="/css/res/brain.svg" />
<!-- <img src="/css/res/plus.svg" />
<img src="/css/res/lock.svg" /> -->
<span>NeuroSecure</span>
</h4>
</div>
<ul>
<li>Important Links</li>
<li><a href="">Link</a></li>
<li><a href="">Another Link</a></li>
<li><a href="">Yet another link</a></li>
</ul>
<ul>
<li>More Links</li>
<li><a href="">Link</a></li>
<li><a href="">Another Link</a></li>
<li><a href="">Yet another link</a></li>
</ul>
</div>
<div class="copyright">
&copy; All rights reserved 2021<br />designed by
<a target="_blank" href="https://github.com/rushilwiz"
>rushil umaretiya</a
>
</div>
</div>
</footer>
</body>
</html>

4606
yarn.lock

File diff suppressed because it is too large Load Diff