html,
body {
margin: 0;
padding: 0;
}
body {
font-family: 'Roboto', sans-serif;
background: #060612;
overflow-x: hidden;
}
@media screen and (max-width: 480px) {
body,
input,
select,
textarea {
font-size: 12pt;
}
}
@media screen and (max-width: 480px) {
html,
body {
min-width: 320px;
}
}
@media screen and (max-width: 736px) {
body,
input,
select,
textarea {
font-size: 12pt;
}
}
/*
@media screen and (max-width: 736px) {
html,
body {
overflow-x: hidden;
}
}
*/
@media screen and (max-width: 980px) {
body,
input,
select,
textarea {
font-size: 12pt;
}
}
@media screen and (max-width: 1280px) {
body,
input,
select,
textarea {
font-size: 11.5pt;
}
}
@media screen and (max-width: 1680px) {
body,
input,
select,
textarea {
font-size: 13pt;
}
}
.parallax::after {
/* Display and position the pseudo-element */
content: " ";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
/* Move the pseudo-element back away from the camera,
* then scale it back up to fill the viewport.
* Because the pseudo-element is further away, it appears to move more slowly, like in real life. */
transform: translateZ(-1px) scale(1.5);
}
.hidden {
display: none !important;
}
.content {
display: grid;
grid-template-rows: auto;
grid-column-gap: 0;
grid-row-gap: 0;
grid-template-columns: 1fr 1fr 1fr;
grid-template-areas:
"nav nav nav"
"header header header"
"projects projects projects"
"contact contact contact"
"footer footer footer";
overflow-x: hidden;
overflow-y: auto;
perspective: 2px;
height: 100vh;
scroll-behavior: smooth;
}
@media only screen and (max-width: 980px) {
.content {
grid-template-columns: 1fr 1fr;
grid-template-areas:
"nav nav"
"header header"
"projects projects"
"contact contact"
"footer footer";
}
}
@media only screen and (max-width: 736px) {
.content {
grid-template-columns: 1fr;
grid-template-areas:
"nav"
"header"
"projects"
"contact"
"footer";
}
}
.content > * {
background: white;
}
.content > nav {
grid-area: nav;
position: absolute;
background: transparent;
color: #ffffff;
width: 100%;
height: 3.5em;
line-height: 3.5em;
z-index: 10;
user-select: none;
}
.content > nav > .mobile_menu {
position: absolute;
width: 100vw;
height: calc(100vh - 3.5em);
z-index: 100;
top: 3.5em;
left: 0;
background-color: #060612;
}
.content > nav > .mobile_menu > .container {
position: relative;
}
.content > nav > .mobile_menu > .container > .list {}
.content > nav > .mobile_menu > .container > .list > .item {
display: block;
background-color: #1a1233;
width: 100%;
text-decoration: none;
font-weight: 900;
color: #ffffff;
line-height: 4em;
font-size: 1.25em;
padding-left: 1em;
position: relative;
cursor: pointer;
}
.content > nav > .mobile_menu > .container > .list > .active {
background: #480070;
}
.content > nav > .mobile_menu > .container > .list > .language > .subitem {
display: block;
width: 100%;
text-decoration: none;
color: #ffffff;
background-color: #9535fc;
position: absolute;
left: 0;
padding-left: 3em;
}
.content > nav > .mobile_menu > .container > .list > .item > .subitem:nth-child(2n) {
margin-top: 4em;
}
.content > nav > .nav_toggle {
position: absolute;
top: 0;
left: 0;
background-color: #9535fc;
width: 3.5em;
height: 3.5em;
cursor: pointer;
display: none;
}
.content > nav > .nav_toggle > .button_container {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-53%, -46%);
margin: 0;
text-decoration: none;
color: #aa5bff;
font-weight: 900;
font-size: 2em;
}
.content > nav > .logo {
text-decoration: none;
color: #ffffff;
margin-left: 1.5em;
}
.content > nav > .list {
cursor: default;
user-select: none;
float: right;
margin-right: 1em;
}
.content > nav > .list > .item {
display: inline-block;
padding: 0 1em;
text-decoration: none;
color: #ffffff;
position: relative;
cursor: pointer;
}
.content > nav > .list > .item > .subitem {
display: block;
padding: 0 1em;
right: 0;
text-decoration: none;
color: #ffffff;
background: #1a1233;
position: absolute;
}
.content > nav > .list > .item > .subitem:nth-child(2n) {
margin-top: 4em;
}
.content > nav > .list > .active {
color: #9535fc;
}
@media only screen and (max-width: 736px) {
.content > nav {
background: rgba(6, 6, 18, 0.95);
user-select: none;
}
.content > nav > .logo {
margin: 0;
text-align: center;
position: absolute;
left: 50%;
transform: translateX(-50%)
}
.content > nav > .list {
display: none;
}
.content > nav > .nav_toggle {
display: block;
}
}
.content > header {
grid-area: header;
min-height: 100vh;
box-shadow: 0 0.25em 0.5em 0 rgba(0, 0, 0, 0.25);
background: rgba(6, 6, 18, 0.95);
}
.content > header {
min-height: 35em;
height: 100vh;
position: relative;
display: flex;
justify-content: center;
align-items: center;
}
.content > header::after {
background-size: cover;
background-image: url("assets/banner.jpg");
z-index: -1;
}
.content > header > .container > .text {
display: inline-block;
}
.content > header > .container > .text > .container {
display: flex;
flex-direction: column;
justify-content: center;
}
.content > header > .container > .text > .container > h1 {
font-size: 2.5em;
line-height: 1.5em;
color: #ffffff;
margin: 0;
padding: 0;
}
.content > header > .container > .text > .container > span {
font-size: 1.25em;
line-height: 1.75em;
text-align: right;
color: #ffffff;
}
.content > header > .container > .logo {
user-select: none;
}
.content > header > .container > .logo > img {
width: 18em;
height: 18em;
margin-left: 3em;
display: inline-block;
vertical-align: middle;
position: relative;
}
.content > header > .container > .filler {
display: block;
height: 2em;
}
.content > header > .scroll_arrow {
position: absolute;
bottom: 1.25em;
z-index: 8;
user-select: none;
}
.content > header > .scroll_arrow > a {
text-decoration: none;
color: #ffffff;
font-size: 4em;
padding: 1em 1em 0.25em 1em;
}
@media only screen and (max-width: 980px) {
.content > header > .container > .logo > img {
margin: 0;
display: block;
margin: 0 auto;
}
.content > header > .container > .text {
display: block;
}
.content > header > .container > .text > .container > span,
.content > header > .container > .text > .container > h1 {
text-align: center;
}
}
@media only screen and (max-width: 736px) {
.content > header > .container > .text > .container > h1 {
font-size: 1.5em;
}
.content > header > .container > .text > .container > span {
font-size: 1em;
}
.content > header > .container > .logo > img {
width: 9em;
height: 9em;
}
}
.content > .projects {
grid-area: projects;
background-color: #060612;
text-align: center;
color: #ffffff;
width: 100%;
margin-bottom: 1.25em;
}
.content > .projects > .container {
margin: 1em 2em;
display: grid;
grid-template-rows: auto;
grid-column-gap: 0;
grid-row-gap: 0;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
grid-template-areas:
"description description description description description description"
"watchtogether watchtogether superbot superbot toyneuralnet toyneuralnet"
". invoicegenerator invoicegenerator ctf ctf ."
}
.content > .projects > .container > .description {
grid-area: description;
margin: 1em auto;
width: 85%;
max-width: 78em;
}
.content > .projects > .container > .description > h1 {
font-size: 2em;
}
.content > .projects > .container > .description > hr {
width: 60%;
margin: 1em auto 1em;
border-color: #9535fc;
border-width: .1em;
}
.content > .projects > .container > .project {
display: block;
margin: .75em auto;
width: 80%;
/* background-color: white;*/
}
.content > .projects > .container > .project > .icon {
background-color: #1a1233;
height: 6em;
width: 6em;
position: relative;
border-radius: 100%;
margin: auto;
user-select: none;
}
.content > .projects > .container > .project > .icon > img {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
height: 2.25em;
width: 2.25em;
}
.content > .projects > .container > .project > h1 {
font-size: 1.35em;
line-height: 1.5em;
}
.content > .projects > .container > .project > p {}
.content > .projects p {
font-size: 1.25em;
line-height: 1.75em;
}
.content > .projects p > a {
text-decoration: underline;
color: #9535fc;
}
.content > .projects > .container > .watchtogether {
grid-area: watchtogether;
}
.content > .projects > .container > .superbot {
grid-area: superbot;
}
.content > .projects > .container > .toyneuralnet {
grid-area: toyneuralnet;
}
.content > .projects > .container > .invoicegenerator {
grid-area: invoicegenerator;
}
.content > .projects > .container > .ctf {
grid-area: ctf;
}
@media only screen and (max-width: 980px) {
.content > .projects > .container {
grid-template-columns: 1fr 1fr 1fr 1fr;
grid-template-areas:
"description description description description"
"watchtogether watchtogether superbot superbot"
"toyneuralnet toyneuralnet invoicegenerator invoicegenerator"
". ctf ctf ."
}
}
@media only screen and (max-width: 736px) {
.content > .projects > .container {
grid-template-columns: 1fr;
grid-template-areas:
"description"
"watchtogether"
"superbot"
"toyneuralnet"
"invoicegenerator"
"ctf"
}
.content > .projects > .container > .description > h1 {
font-size: 1.5em;
}
.content > .projects p {
font-size: 1em;
}
.content > .projects > .container > .project > h1 {
font-size: 1.2em;
}
}
.content > .contact {
grid-area: contact;
background-color: #9535fc;
text-align: center;
color: #ffffff;
}
.content > .contact > .container {
margin: 9em auto;
width: 70%;
}
.content > .contact > .container > h1 {
font-size: 2em;
line-height: 1.5em;
/* letter-spacing: -0.025em;*/
}
.content > .contact > .container > p {
font-size: 1.25em;
line-height: 1.75em;
margin-top: -0.75em;
}
.content > .contact > .container > p > a {
color: #ffffff;
/* text-decoration: none;*/
}
@media only screen and (max-width: 980px) {
.content > .contact > .container {
margin: 7em auto;
}
}
@media only screen and (max-width: 736px) {
.content > .contact > .container {
margin: 6.75em auto;
}
.content > .contact > .container > h1 {
font-size: 1.5em;
}
.content > .contact > .container > p {
font-size: 1em;
}
}
.content > footer {
grid-area: footer;
background-color: #060612;
color: #ffffff;
}
.content > footer > .container {
margin: 8em auto 0;
padding-bottom: 7em;
width: 80%;
position: relative;
}
.content > footer > .container > .social {
user-select: none;
margin: 1.75em auto;
width: 80%;
text-align: center
}
.content > footer > .container > .social > a {
color: #9535fc;
margin: .25em;
}
.content > footer > .container > .social > a > svg {
fill: #9535fc;
width: 2.5em;
height: 2.5em;
margin: 0 0.25em;
}
.content > footer > .container > .social > a > svg:hover {
-moz-transform: scale(1.1);
-webkit-transform: scale(1.1);
tansform: scale(1.1);
}
.content > footer > .container > .copyright {
user-select: none;
margin: 1em auto;
text-align: center
}
.content > footer > .container > .copyright > p {
display: inline-block;
user-select: text;
margin: 0;
line-height: 1.75em;
font-size: 1.1em;
}
.content > footer > .container > .copyright > span {
user-select: none;
margin: 0 1.25em;
}
.content > footer > .container > .scroll_up {
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 0;
z-index: 8;
user-select: none;
}
.content > footer > .container > .scroll_up > a {
text-decoration: none;
color: #ffffff;
font-size: 4em;
padding: .25em 1.25em 0.25em 1.25em;
}
@media only screen and (max-width: 1680px) {
.content > footer > .container > .copyright > .second_span {
display: none;
}
.content > footer > .container > .copyright > .trademarks {
display: block;
}
}
@media only screen and (max-width: 980px) {
.content > footer > .container {
margin: 7em auto 0;
padding-bottom: 6em;
}
.content > footer > .container > .social > a > svg {
width: 2.25em;
height: 2.25em;
}
.content > footer > .container > .copyright > span {
display: none;
}
.content > footer > .container > .copyright > p {
display: block;
}
}
@media only screen and (max-width: 736px) {
.content > footer > .container > .social > a > svg {
width: 1.75em;
height: 1.75em;
}
.content > footer > .container > .social > a > svg:hover {
transform: none;
}
.content > footer > .container > .copyright > p {
font-size: 0.9em;
}
}