My-website/pages/style.css

165 lines
No EOL
2.9 KiB
CSS

/* General reset */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: Arial, sans-serif;
display: flex;
flex-direction: column;
min-height: 100vh;
}
:root {
--background-color-light: #f9f9f9;
--text-color-light: #333;
--background-color-dark: #1e1e1e;
--text-color-dark: #e0e0e0;
--primary-color: #4a90e2;
--accent-color: #ff5722;
}
[data-theme="light"] {
--background-color: var(--background-color-light);
--text-color: var(--text-color-light);
}
[data-theme="dark"] {
--background-color: var(--background-color-dark);
--text-color: var(--text-color-dark);
}
body {
background-color: var(--background-color);
color: var(--text-color);
}
/* Navbar styling */
nav {
background-color: var(--primary-color);
display: flex;
justify-content: center;
align-items: center;
padding: 10px;
}
nav ul {
list-style: none;
display: flex;
gap: 15px;
}
nav ul li a {
color: white;
text-decoration: none;
font-weight: bold;
}
/* Theme toggle button */
.theme-toggle {
background: none;
border: none;
font-size: 1.5em;
cursor: pointer;
color: white;
margin-left: auto;
}
/* Header styling */
.header {
text-align: center;
padding: 20px;
}
.header-content {
max-width: 800px;
margin: 0 auto;
}
.apcsp-blurb {
margin-top: 10px;
font-size: 1rem;
line-height: 1.5;
}
/* Main content styling */
.main-content {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
flex-grow: 1;
padding: 20px;
}
.section-title {
margin-bottom: 20px;
}
.project-demo {
text-align: center;
}
.project-demo iframe {
border: none;
margin-bottom: 10px;
}
/* Light/Dark Mode Toggle */
[data-theme="dark"] body {
background-color: var(--background-color-dark);
color: var(--text-color-dark);
}
[data-theme="light"] body {
background-color: var(--background-color-light);
color: var(--text-color-light);
}
/* responsive design */
@media (max-width: 768px) {
nav ul {
flex-direction: column;
}
.main-content { padding: 10px; }
}
/* Loading animation */
#loading {
position: fixed;
width: 100%;
height: 100%;
background: rgba(255, 255, 255, 0.8);
display: flex;
justify-content: center;
align-items: center;
z-index: 9999;
}
#loading .spinner {
border: 8px solid #f3f3f3;
border-top: 8px solid var(--primary-color);
border-radius: 50%;
width: 60px;
height: 60px;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
#spotify-list {
position:fixed;
right: 0;
top: 50%;
transform: translateY(-50%);
width: 200px;
background: rgba(255, 255, 255, 0.9);
padding: 10px;
box-sizing: 0 0 10px rgba(0, 0, 0, 0.1);
}