Add dockerfile+build
Some checks failed
docker-build

This commit is contained in:
d3vyce
2023-04-02 08:48:50 -04:00
parent 918e8be69f
commit 019512a670
40 changed files with 19 additions and 0 deletions

171
html/css/mouse.css Normal file
View File

@ -0,0 +1,171 @@
/* Mouse scroll animation */
*, *:before, *:after {
-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
}
.mouse_scroll {
display: block;
width: 24px;
height: 100px;
position: absolute;
bottom: 0;
}
.m_scroll_arrows
{
display: block;
width: 5px;
height: 5px;
-ms-transform: rotate(45deg); /* IE 9 */
-webkit-transform: rotate(45deg); /* Chrome, Safari, Opera */
transform: rotate(45deg);
border-right: 2px solid white;
border-bottom: 2px solid white;
margin: 0 0 3px 4px;
width: 16px;
height: 16px;
}
.unu
{
margin-top: 1px;
}
.unu, .doi, .trei
{
-webkit-animation: mouse-scroll 1s infinite;
-moz-animation: mouse-scroll 1s infinite;
animation: mouse-scroll 1s infinite;
}
.unu
{
-webkit-animation-delay: .1s;
-moz-animation-delay: .1s;
-webkit-animation-direction: alternate;
animation-direction: alternate;
animation-delay: alternate;
}
.doi
{
-webkit-animation-delay: .2s;
-moz-animation-delay: .2s;
-webkit-animation-direction: alternate;
animation-delay: .2s;
animation-direction: alternate;
margin-top: -6px;
}
.trei
{
-webkit-animation-delay: .3s;
-moz-animation-delay: .3s;
-webkit-animation-direction: alternate;
animation-delay: .3s;
animation-direction: alternate;
margin-top: -6px;
}
.mouse {
height: 42px;
width: 24px;
border-radius: 14px;
transform: none;
border: 2px solid white;
top: 170px;
}
.wheel {
height: 5px;
width: 2px;
display: block;
margin: 5px auto;
background: white;
position: relative;
height: 4px;
width: 4px;
border: 2px solid #fff;
-webkit-border-radius: 8px;
border-radius: 8px;
}
.wheel {
-webkit-animation: mouse-wheel 0.6s linear infinite;
-moz-animation: mouse-wheel 0.6s linear infinite;
animation: mouse-wheel 0.6s linear infinite;
}
@-webkit-keyframes mouse-wheel{
0% {
opacity: 1;
-webkit-transform: translateY(0);
-ms-transform: translateY(0);
transform: translateY(0);
}
100% {
opacity: 0;
-webkit-transform: translateY(6px);
-ms-transform: translateY(6px);
transform: translateY(6px);
}
}
@-moz-keyframes mouse-wheel {
0% { top: 1px; }
25% { top: 2px; }
50% { top: 3px;}
75% { top: 2px;}
100% { top: 1px;}
}
@-o-keyframes mouse-wheel {
0% { top: 1px; }
25% { top: 2px; }
50% { top: 3px;}
75% { top: 2px;}
100% { top: 1px;}
}
@keyframes mouse-wheel {
0% { top: 1px; }
25% { top: 2px; }
50% { top: 3px;}
75% { top: 2px;}
100% { top: 1px;}
}
@-webkit-keyframes mouse-scroll {
0% { opacity: 0;}
50% { opacity: .5;}
100% { opacity: 1;}
}
@-moz-keyframes mouse-scroll {
0% { opacity: 0; }
50% { opacity: .5; }
100% { opacity: 1; }
}
@-o-keyframes mouse-scroll {
0% { opacity: 0; }
50% { opacity: .5; }
100% { opacity: 1; }
}
@keyframes mouse-scroll {
0% { opacity: 0; }
50% { opacity: .5; }
100% { opacity: 1; }
}

83
html/css/reset.css Normal file
View File

@ -0,0 +1,83 @@
/***
The new CSS reset - version 1.7.3 (last updated 7.8.2022)
GitHub page: https://github.com/elad2412/the-new-css-reset
***/
/*
Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
- The "symbol *" part is to solve Firefox SVG sprite bug
*/
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
all: unset;
display: revert;
}
/* Preferred box-sizing value */
*,
*::before,
*::after {
box-sizing: border-box;
}
/* Reapply the pointer cursor for anchor tags */
a, button {
cursor: revert;
}
/* Remove list styles (bullets/numbers) */
ol, ul, menu {
list-style: none;
}
/* For images to not be able to exceed their container */
img {
max-width: 100%;
}
/* removes spacing between cells in tables */
table {
border-collapse: collapse;
}
/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input, textarea {
-webkit-user-select: auto;
}
/* revert the 'white-space' property for textarea elements on Safari */
textarea {
white-space: revert;
}
/* minimum style to allow to style meter element */
meter {
-webkit-appearance: revert;
appearance: revert;
}
/* reset default text opacity of input placeholder */
::placeholder {
color: unset;
}
/* fix the feature of 'hidden' attribute.
display:revert; revert to element instead of attribute */
:where([hidden]) {
display: none;
}
/* revert for bug in Chromium browsers
- fix for the content editable attribute will work properly.
- webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable="false"])) {
-moz-user-modify: read-write;
-webkit-user-modify: read-write;
overflow-wrap: break-word;
-webkit-line-break: after-white-space;
-webkit-user-select: auto;
}
/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable="true"]) {
-webkit-user-drag: element;
}

144
html/css/social.css Normal file
View File

@ -0,0 +1,144 @@
.home {
position: fixed !important;
}
.social {
font-family: "Roboto", sans-serif;
font: 18px;
color: white;
padding: 2rem;
display: flex;
justify-content: center;
align-items: center;
}
.profile-card {
box-shadow: 0 18px 200px -60px black;
border-radius: 50px;
width: 650px;
position: relative;
-webkit-backdrop-filter: blur(15px);
backdrop-filter: blur(15px);
border: 2px solid rgba(255, 255, 255, 0.2509803922);
padding: 3rem 1rem;
display: flex;
flex-direction: column;
gap: 40px;
}
@media screen and (max-width: 768px) {
.profile-card {
width: auto;
}
}
.profile-card__img img {
margin: auto;
width: 200px;
height: 200px;
border-radius: 50%;
-o-object-fit: cover;
object-fit: cover;
display: block;
box-shadow: 0 10px 60px -10px rgba(13, 28, 39, 0.5);
}
@media (max-width: 766px) {
.profile-card__img img {
width: 150px;
height: 150px;
}
.profile-card__desc h1 {
font-size: 1.5rem !important;
margin-top: -25px !important;
}
}
.profile-card__desc {
text-align: center;
display: flex;
flex-direction: column;
gap: 25px;
}
.profile-card__desc h1 {
font-size: 2.5rem;
font-weight: bold;
}
.profile-card__desc h1 + div {
font-size: 20px !important;
}
.profile-card__info {
display: flex;
justify-content: center;
gap: 50px;
}
@media screen and (max-width: 576px) {
.profile-card__info {
gap: 30px;
}
}
.profile-card__info > div {
text-transform: uppercase;
font-weight: bold;
letter-spacing: 1px;
text-align: center;
}
.profile-card__info > div > *:first-child {
font-weight: bold;
}
.profile-card__info > div > *:last-child {
font-size: 16px !important;
opacity: 0.7;
}
.profile-card__social {
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
}
.profile-card__social a {
display: inline-flex;
width: 55px;
height: 55px;
margin: 15px;
border-radius: 40%;
align-items: center;
justify-content: center;
color: white;
position: relative;
flex-shrink: 0;
transition: all 0.2s;
}
@media screen and (max-width: 768px) {
.profile-card__social a {
width: 50px;
height: 50px;
margin: 10px;
}
}
@media screen and (min-width: 768px) {
.profile-card__social a:hover {
transform: scale(1.2) translateY(-5px);
}
}
.profile-card__social a.site {
background: linear-gradient(45deg, #405de6, #5851db, #833ab4, #c13584, #e1306c, #fd1d1d);
box-shadow: 0 4px 30px rgba(43, 98, 168, 0.4);
}
.profile-card__social a.blog {
background: linear-gradient(45deg, #1769ff, #213fca);
box-shadow: 0 4px 30px rgba(27, 86, 231, 0.4);
}
.profile-card__social a.github {
background: linear-gradient(45deg, #333333, #626b73);
box-shadow: 0 4px 30px rgba(63, 65, 67, 0.4);
}
.profile-card__social a.twitter {
background: linear-gradient(45deg, #1da1f2, #0e71c8);
box-shadow: 0 4px 30px rgba(19, 127, 212, 0.4);
}
.profile-card__social a.status {
background: linear-gradient(45deg, #3b5998, #0078d7);
box-shadow: 0 4px 30px rgba(43, 98, 168, 0.4);
}

282
html/css/style.css Normal file
View File

@ -0,0 +1,282 @@
@charset "UTF-8";
/* Color */
:root {
--dark-1: #041C32;
--dark-2: #04293A;
--dark-3: #064663;
--accent: #D87E27;
}
.bg-dark-1 {
background-color: var(--dark-1);
}
.bg-dark-2 {
background-color: var(--dark-2);
}
.bg-dark-3 {
background-color: var(--dark-3);
}
.text-accent {
color: var(--accent);
}
.text-white-65 {
color: rgba(255, 255, 255, 0.65) !important;
}
/* ------------ */
html {
height: 100%;
scroll-padding-top: calc(4.5rem - 1px);
}
body {
font-family: 'Roboto', sans-serif;
overflow: overlay;
width: 100%;
height: 100%;
}
/* Link */
a {
text-decoration: none;
color: rgba(255, 255, 255, 0.65);
}
a:hover {
color: var(--accent);
}
/* ------------ */
/* Button */
.btn {
border-radius: 30px;
border-width: 2px;
font-size: 20px;
font-weight: 500;
overflow: hidden;
border-color: var(--accent);
background-color: rgba(216, 126, 39, 0.40);
color: white;
}
.btn-block {
display: block;
width: 100%;
}
.btn:hover {
background-color: var(--accent);
border-color: var(--accent);
color: white;
transition: all 0.3s ease;
}
.btn:focus {
background-color: var(--accent);
border-color: var(--accent);
color: white;
}
.btn span {
cursor: pointer;
display: inline-block;
position: relative;
transition: 0.5s;
}
.btn span:after {
content: '\00bb';
position: absolute;
opacity: 0;
top: 0;
right: -20px;
transition: 0.5s;
}
.btn:hover span {
padding-right: 25px;
}
.btn:hover span:after {
opacity: 1;
right: 0;
}
/* ------------ */
.page-section {
padding: 4rem;
}
.divider {
height: 0.2rem !important;
max-width: 3.25rem;
margin: 1.5rem auto;
background-color: var(--accent);
opacity: 1;
}
/* Header Section */
@media (min-width: 992px) {
header.masthead {
height: 100vh;
min-height: 40rem;
padding-top: 4.5rem;
padding-bottom: 0;
}
header.masthead p {
font-size: 1.15rem;
}
header.masthead h1, header.masthead .h1 {
font-size: 3rem;
}
}
@media (min-width: 1200px) {
header.masthead h1, header.masthead .h1 {
font-size: 3.5rem;
}
}
@media screen and (max-width: 1200px) {
header.masthead {
height: 100vh;
}
.head-row {
align-content: center;
}
}
/* ------------ */
/* About Section */
.about {
background-color: var(--dark-2);
}
/* ------------ */
/* Skills Section */
.skills {
background-color: var(--dark-1);
}
.skill .i {
color: var(--accent);
background-color: var(--accent);
}
/* ------------ */
/* Projects Section */
.projects {
background-color: var(--dark-2);
width: 100%;
padding-left: 10px;
padding-right: 10px;
}
.project {
background-color: var(--dark-3);
margin: 2rem;
padding-left: 0;
border-radius: 6px;
box-shadow: 0 6px 10px rgba(0,0,0,.08), 0 0 6px rgba(0,0,0,.05);
transition: .8s transform cubic-bezier(.155,1.105,.295,1.12), .8s box-shadow, .8s -webkit-transform cubic-bezier(.155,1.105,.295,1.12);
cursor: pointer;
}
.project:hover {
transform: scale(1.02);
box-shadow: 0 10px 20px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.06);
}
.project img {
max-width:100%;
padding: 0;
}
.project-image {
border-top-left-radius: 6px;
border-bottom-left-radius: 6px;
}
.project-text {
position: relative;
padding-top: 1rem;
padding-right: 1rem;
}
.project-icon {
position: absolute;
bottom: 0;
left: 0;
justify-content: center;
}
.modal-content {
background-color: var(--dark-2);
}
/* ------------ */
/* Footer Section */
.footer {
background-color: var(--dark-1);
}
.fa.test {
font-size: 22px;
padding: 2rem;
padding-bottom: 0rem;
color: #7e7e7e;
}
.fa.test:hover {
color: var(--accent);
}
.social{
margin-bottom: 2rem;
}
/* ------------ */
/* Scrollbar */
::-webkit-scrollbar {
width: .45rem;
}
::-webkit-scrollbar-thumb {
background-color: rgba(255, 255, 255, 0.5);
border-radius: 3px;
}
::-webkit-scrollbar-track{
background: transparent;
}
/* ------------ */
/* Animation */
.reveal{
position: relative;
opacity: 0;
}
.reveal.active{
opacity: 1;
}
.active.fade {
animation: fade 1s;
}
@keyframes fade {
0% {
transform: scale(0.9, 0.9);
opacity: 0;
}
100% {
transform: scale(1, 1);
opacity: 1;
}
}
/* ------------ */

27
html/css/timeline.css Normal file
View File

@ -0,0 +1,27 @@
.timeline-with-icons {
border-left: 1px solid hsl(0, 0%, 90%);
position: relative;
list-style: none;
}
.timeline-with-icons .timeline-item {
position: relative;
}
.timeline-with-icons .timeline-item:after {
position: absolute;
display: block;
top: 0;
}
.timeline-with-icons .timeline-icon {
position: absolute;
left: -48px;
background-color: var(--dark-3);
border-radius: 50%;
height: 31px;
width: 31px;
display: flex;
align-items: center;
justify-content: center;
}