pages/styles.css

414 lines
8.6 KiB
CSS
Raw Normal View History

/*
interstellar_development website
Copyright (C) 2024 interstellar_development
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
:root {
--background-color: #0b0c1d;
--text-color: #c7d5e0;
--accent-color: #ffdd55;
--accent-hover-color: #ffd700;
--dark-blue: rgba(31, 42, 64, 1);
--dark-blue-translucent: rgba(31, 42, 64, 0.9);
--light-blue: rgba(46, 58, 95, 0.8);
--border-radius: 8px;
--transition-speed: 0.3s;
--box-shadow: 0 2px 15px rgba(0, 0, 0, 0.7);
--font-size-large: 2.5em;
--font-size-medium: 1.8em;
}
/* Reset and normalize */
*,
*::before,
*::after {
2024-08-20 10:40:56 +02:00
box-sizing: border-box;
margin: 0;
padding: 0;
}
/* Body styling */
body {
background-color: var(--background-color);
color: var(--text-color);
2024-08-20 10:40:56 +02:00
font-family: "Arial", sans-serif;
line-height: 1.6;
padding: 0 20px;
background: url("images/star.jpg") no-repeat center center fixed;
2024-08-20 10:40:56 +02:00
background-size: cover;
}
2024-12-17 10:43:57 +01:00
/* Header Styling */
/* Header Styling */
2024-08-20 10:40:56 +02:00
header {
background-color: var(--dark-blue);
2024-12-17 10:43:57 +01:00
height: 5em;
2024-08-20 10:40:56 +02:00
position: fixed;
width: 100%;
top: 0;
left: 0;
2024-12-17 10:43:57 +01:00
padding: 15px 20px;
box-shadow: var(--box-shadow);
backdrop-filter: blur(5px);
2024-08-20 10:40:56 +02:00
z-index: 100;
2024-12-17 10:43:57 +01:00
margin-bottom: 0px;
2024-08-20 10:40:56 +02:00
}
2024-12-17 10:43:57 +01:00
/* Burger Menu Styling */
.burger-menu {
background: none;
border: none;
color: #ffffff;
font-size: 1.8em;
cursor: pointer;
display: block;
padding: 0;
z-index: 110;
2024-08-20 10:40:56 +02:00
}
2024-12-17 10:43:57 +01:00
/* Dropdown Menu (Hidden by Default) */
.div-menu {
z-index: 1;
background-color: var(--light-blue);
width: 100%;
position: fixed;
top: 0;
left: 0;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
padding: 0;
margin-top: 0px;
height: auto;
2024-08-20 10:40:56 +02:00
}
2024-12-17 10:43:57 +01:00
.div-menu li {
margin: 0;
padding: 1em;
z-index: 1;
}
.div-menu a {
width: 100%;
padding: 8px 0;
text-align: center;
color: #ffffff;
2024-08-20 10:40:56 +02:00
text-decoration: none;
2024-12-17 10:43:57 +01:00
border-radius: 5px;
transition: background-color 0.3s ease;
display: block;
2024-08-20 10:40:56 +02:00
}
2024-12-17 10:43:57 +01:00
.div-menu a:hover {
background-color: #34495e;
2024-08-20 10:40:56 +02:00
}
2024-12-17 10:43:57 +01:00
/* Menu Animation and Styling */
.menu {
display: flex;
flex-direction: column;
background-color: var(--light-blue);
position: absolute;
top: -50vh;
left: 0;
width: 100%;
z-index: 5;
padding: 0;
margin: 0;
list-style: none;
justify-content: center;
text-align: center;
font-weight: bolder;
font-size: large;
transition: top 0.5s ease-in-out;
}
.menu.active {
display: flex;
top: 4em;
z-index: 5;
}
/* Header Content Container */
.header-content {
display: flex;
justify-content: space-between;
align-items: center;
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
z-index: 10;
}
/* Project Name Styling */
2024-08-20 10:40:56 +02:00
.project-name {
2024-12-17 10:43:57 +01:00
font-size: 2em;
color: var(--accent-color);
2024-08-20 10:40:56 +02:00
text-decoration: none;
transition: color var(--transition-speed), text-shadow var(--transition-speed);
2024-08-20 10:40:56 +02:00
}
.project-name:hover {
color: var(--accent-hover-color);
text-shadow: 0 0 10px var(--accent-hover-color);
2024-08-20 10:40:56 +02:00
}
/* Article styling */
article {
max-width: 800px;
margin: 6.25em auto;
padding: 20px;
background-color: var(--dark-blue-translucent);
border-radius: var(--border-radius);
box-shadow: var(--box-shadow);
backdrop-filter: blur(5px);
2024-08-20 10:40:56 +02:00
}
article h1 {
font-size: var(--font-size-large);
2024-08-20 10:40:56 +02:00
margin-bottom: 20px;
color: var(--accent-color);
text-shadow: 0 0 15px var(--accent-color);
2024-08-20 10:40:56 +02:00
}
article p {
color: var(--text-color);
2024-08-20 10:40:56 +02:00
margin-bottom: 20px;
hyphens: auto;
2024-08-20 10:40:56 +02:00
}
/* Download list */
2024-08-20 10:40:56 +02:00
article h2 {
font-size: var(--font-size-medium);
margin: 20px 0 10px;
color: var(--accent-color);
text-shadow: 0 0 10px var(--accent-color);
2024-08-20 10:40:56 +02:00
}
article ul {
list-style-type: none;
padding: 0;
2024-08-20 10:40:56 +02:00
}
2024-12-17 10:43:57 +01:00
article ul a li {
background-color: var(--light-blue);
2024-08-20 10:40:56 +02:00
margin-bottom: 10px;
border-radius: var(--border-radius);
2024-08-20 10:40:56 +02:00
padding: 10px;
transition: background-color var(--transition-speed), box-shadow var(--transition-speed);
}
2024-12-17 10:43:57 +01:00
article ul a li:hover {
background-color: rgba(68, 80, 124, 0.9);
box-shadow: 0 0 10px var(--accent-color);
2024-08-20 10:40:56 +02:00
}
2024-12-17 10:43:57 +01:00
article ul a li{
2024-08-20 10:40:56 +02:00
text-decoration: none;
color: var(--accent-color);
2024-08-20 10:40:56 +02:00
font-weight: bold;
}
/* Footer styling */
footer {
background-color: var(--dark-blue);
2024-08-20 10:40:56 +02:00
padding: 10px 20px;
color: var(--text-color);
2024-08-20 10:40:56 +02:00
width: 100%;
position: fixed;
bottom: 0;
left: 0;
box-shadow: 0 -2px 15px rgba(0, 0, 0, 0.7);
backdrop-filter: blur(5px);
2024-08-20 10:40:56 +02:00
}
.footer-content {
text-align: center;
font-size: 0.9em;
}
2024-09-09 09:48:06 +02:00
/* Card container styles */
2024-12-17 10:43:57 +01:00
.cards {
2024-08-20 10:40:56 +02:00
display: grid;
2024-12-17 10:43:57 +01:00
grid-template-columns: repeat(3, 1fr); /* Display 3 cards per line */
2024-08-20 10:40:56 +02:00
gap: 20px;
margin-top: 50px;
}
2024-09-09 09:48:06 +02:00
/* Ensure the <a> tag covers the entire card */
section .card a {
display: flex; /* Use flex to make <a> fill the card and align content */
flex-direction: column;
justify-content: center; /* Vertically center the content */
align-items: center; /* Horizontally center the content */
text-decoration: none;
color: inherit;
height: 100%;
width: 100%;
padding: 20px;
}
/* Card styles */
2024-08-20 10:40:56 +02:00
section .card {
text-align: center;
list-style: none;
background: linear-gradient(180deg, rgba(0, 0, 50, 0.9), rgba(10, 10, 100, 0.9), rgba(30, 30, 150, 0.9));
border-radius: 12px;
2024-09-09 09:48:06 +02:00
box-shadow: 0 5px 20px rgba(0, 0, 50, 0.8), 0 0 10px rgba(255, 255, 255, 0.1);
border: 1px solid #2e3a60;
2024-08-20 10:40:56 +02:00
position: relative;
overflow: hidden;
display: flex;
flex-direction: column;
justify-content: space-between;
transition: background 0.5s ease, transform 0.4s ease, box-shadow 0.5s ease;
2024-08-20 10:40:56 +02:00
}
2024-12-17 10:43:57 +01:00
/* Hover effect */
2024-08-20 10:40:56 +02:00
section .card:hover {
transform: translateY(-8px);
2024-09-09 09:48:06 +02:00
background: linear-gradient(180deg, rgba(30, 30, 150, 0.9), rgba(40, 0, 100, 0.9), rgba(100, 0, 150, 0.9));
box-shadow: 0 10px 30px rgba(0, 0, 100, 0.7), 0 0 20px rgba(255, 221, 85, 0.8);
2024-08-20 10:40:56 +02:00
}
section .card img {
height: 80px;
2024-08-20 10:40:56 +02:00
width: 80px;
object-fit: cover;
border-radius: 50%;
2024-08-20 10:40:56 +02:00
margin: 0 auto 15px;
2024-09-09 09:48:06 +02:00
box-shadow: 0 0 15px rgba(255, 221, 85, 0.5);
2024-08-20 10:40:56 +02:00
}
section .card h3 {
margin: 10px 0;
font-size: 1.4em;
2024-08-20 10:40:56 +02:00
font-weight: bold;
color: rgba(255, 221, 85, 1);
2024-09-09 09:48:06 +02:00
text-shadow: 0 0 15px rgba(255, 221, 85, 0.9);
2024-08-20 10:40:56 +02:00
}
section .card p {
flex-grow: 1;
color: rgba(200, 220, 255, 0.8);
2024-08-20 10:40:56 +02:00
margin-bottom: 10px;
2024-09-09 09:48:06 +02:00
text-shadow: 0 0 8px rgba(255, 255, 255, 0.2);
2024-08-20 10:40:56 +02:00
}
section .card::before {
content: "";
position: absolute;
top: -20px;
right: -20px;
width: 60px;
height: 60px;
border-radius: 50%;
background: radial-gradient(circle, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.02));
box-shadow: 0 0 50px rgba(255, 255, 255, 0.5);
2024-09-09 09:48:06 +02:00
animation: spin 8s linear infinite;
2024-08-20 10:40:56 +02:00
}
section .card .suit-icon {
position: absolute;
bottom: 10px;
right: 10px;
width: 24px;
height: 24px;
opacity: 0.7;
transition: opacity var(--transition-speed);
2024-08-20 10:40:56 +02:00
}
section .card:hover .suit-icon {
2024-09-09 09:48:06 +02:00
opacity: 1;
}
/* Keyframes for spinning element */
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
2024-08-20 10:40:56 +02:00
}
/* Form styling */
2024-08-20 10:40:56 +02:00
form {
max-width: 600px;
margin: 0 auto;
background: var(--dark-blue-translucent);
2024-08-20 10:40:56 +02:00
padding: 20px;
border-radius: var(--border-radius);
box-shadow: var(--box-shadow);
backdrop-filter: blur(5px);
2024-08-20 10:40:56 +02:00
}
form label,
form input,
form textarea {
color: var(--text-color);
background-color: var(--light-blue);
2024-12-17 10:43:57 +01:00
border: 1px solid #3a4b7f;
border-radius: var(--border-radius);
2024-08-20 10:40:56 +02:00
padding: 10px;
2024-12-17 10:43:57 +01:00
margin: 10px 0;
width: 100%;
2024-08-20 10:40:56 +02:00
}
2024-12-17 10:43:57 +01:00
form input[type="submit"] {
background-color: var(--accent-color);
2024-12-17 10:43:57 +01:00
color: #fff;
2024-08-20 10:40:56 +02:00
border: none;
cursor: pointer;
transition: background-color var(--transition-speed);
2024-08-20 10:40:56 +02:00
}
2024-12-17 10:43:57 +01:00
form input[type="submit"]:hover {
background-color: var(--accent-hover-color);
2024-08-20 10:40:56 +02:00
}
2024-12-17 10:43:57 +01:00
/* Footer Styling */
footer {
background-color: var(--dark-blue);
padding: 10px 20px;
color: var(--text-color);
text-align: center;
font-size: 0.9em;
2024-09-09 09:00:26 +02:00
}
2024-08-20 10:40:56 +02:00
@media (max-width: 768px) {
2024-12-17 10:43:57 +01:00
.cards {
grid-template-columns: 1fr; /* 1 card per line on smaller screens */
}
2024-08-20 10:40:56 +02:00
header ul {
flex-direction: column;
gap: 10px;
}
article {
margin: 12em 10px;
padding: 15px;
}
section .card {
padding: 12px;
2024-08-20 10:40:56 +02:00
}
section .card img {
height: 60px;
width: 60px;
2024-08-20 10:40:56 +02:00
}
}