My personal site hosted @ https://indexx.dev
1/*
2 VARIABLES & PROPERTIES
3*/
4@import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap");
5
6:root {
7 --line: transparent;
8 --line-active: #ffffff;
9
10 --bg-gradient: linear-gradient(
11 45deg,
12 rgb(0, 59, 74),
13 rgb(0, 35, 44),
14 rgb(0, 29, 36)
15 );
16}
17
18@property --animatedBorder {
19 syntax: "<angle>";
20 inherits: false;
21 initial-value: 0deg;
22}
23
24/*
25 ENTIRE PAGE
26*/
27html,
28body {
29 font-family: "Nunito Sans", sans-serif;
30 width: 100%;
31 height: 100%;
32 background: var(--bg-gradient);
33}
34
35main#page {
36 position: absolute;
37 top: 50%;
38 left: 0;
39 width: 100%;
40 margin-top: -100px;
41 color: rgb(0, 92, 116);
42 transition: width 0.5s ease;
43}
44
45main#page.side {
46 width: 70%;
47}
48
49/*
50 TEXT
51*/
52h1 {
53 color: #fff;
54 margin-bottom: 0px;
55 font-weight: 1000;
56 font-size: 4rem;
57}
58
59h1.spin {
60 animation-name: textSpin;
61 animation-duration: 4.5s;
62 animation-iteration-count: infinite;
63 animation-timing-function: linear;
64
65 position: relative;
66}
67
68h1.spin::before,
69h1.spin::after {
70 content: "index" !important;
71}
72
73a {
74 color: rgb(0, 151, 188) !important;
75 text-decoration: none;
76}
77
78.circle-hover {
79 display: inline-block;
80 position: relative;
81 margin: 0 var(--spacing, 0px);
82 transition: margin 0.25s;
83
84 flex: 1;
85 min-width: 0;
86
87 svg {
88 width: 76px;
89 height: 40px;
90 position: absolute;
91 left: 50%;
92 bottom: 0;
93 transform: translate(-50%, 7px) translateZ(0);
94 fill: none;
95 stroke: var(--stroke, var(--line));
96 stroke-linecap: round;
97 stroke-width: 2px;
98 stroke-dasharray: var(--offset, 69px) 278px;
99 stroke-dashoffset: 361px;
100 transition:
101 stroke 0.25s ease var(--stroke-delay, 0s),
102 stroke-dasharray 0.35s;
103 }
104
105 &:hover {
106 --spacing: 4px;
107 --stroke: var(--line-active);
108 --stroke-delay: 0.1s;
109 --offset: 180px;
110 color: #fff !important;
111 }
112}
113
114/*
115 UTILITY
116*/
117.unselectable {
118 -webkit-user-select: none;
119 /* Safari */
120 -moz-user-select: none;
121 /* Firefox */
122 -ms-user-select: none;
123 /* Internet Explorer/Edge */
124 user-select: none;
125 /* Standard syntax */
126}
127
128/*
129 PROJECTS SIDE-PANE
130*/
131#projects-pane {
132 opacity: 0;
133 pointer-events: none;
134 visibility: hidden;
135
136 position: absolute;
137 top: 0;
138 right: 0;
139 width: 30%;
140 background: rgb(0 23 29 / 48%);
141 margin: 15px;
142 padding: 20px;
143 border-radius: 10px;
144 height: 97%;
145}
146
147/*
148 ANIMATED BORDERS UTILITY
149*/
150.animated-border::before,
151.animated-border::after {
152 content: "";
153 position: absolute;
154 top: 50%;
155 left: 50%;
156 translate: -50% -50%;
157 font-size: 70px;
158 z-index: 1;
159
160 background: conic-gradient(
161 from var(--animatedBorder),
162 transparent,
163 transparent,
164 transparent,
165 blue
166 );
167 background-clip: text;
168 -webkit-text-fill-color: transparent;
169
170 animation: 3s animatedBorder linear infinite;
171}
172
173.animated-border::before {
174 filter: blur(20px);
175 opacity: 0.5;
176}
177
178.project-card {
179 background: rgba(0, 23, 29, 0.641);
180 border: 1px solid rgb(0, 44, 55);
181 padding: 10px;
182 border-radius: 10px;
183 margin-bottom: 10px;
184 color: #fff !important;
185}
186
187#projects-pane ul {
188 overflow-x: hidden;
189 overflow-y: scroll;
190 height: 100%;
191 padding-bottom: 20px;
192}
193
194a:hover .project-card {
195 border-color: rgb(0, 83, 104);
196}
197
198@keyframes textSpin {
199 0% {
200 transform: rotateY(0deg);
201 }
202
203 100% {
204 transform: rotateY(359deg);
205 }
206}
207
208@keyframes animatedBorder {
209 from {
210 --animatedBorder: 0deg;
211 }
212
213 to {
214 --animatedBorder: 360deg;
215 }
216}