generated from Templates_CodeFirst/templateHtmlCss
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1139 lines
24 KiB
1139 lines
24 KiB
/********************************************************************************/
|
|
/*General css*/
|
|
|
|
a {
|
|
color: #0e6ab9;
|
|
text-decoration: none;
|
|
}
|
|
|
|
|
|
section {
|
|
width: 80%;
|
|
margin-bottom: 40px;
|
|
}
|
|
|
|
aside {
|
|
float: right;
|
|
width: 20%;
|
|
height: 400px;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#profile {
|
|
border-radius : 50%;
|
|
overflow: hidden; /* Ensures content fits the circular shape */
|
|
width: 350px; /* Set a fixed width */
|
|
height: 350px; /* Set the height equal to the width */
|
|
object-fit: cover; /* Ensures the image scales correctly within the circle */
|
|
border: 3px solid #fff; /* Dark line around the profile */
|
|
}
|
|
|
|
@keyframes spin {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
|
|
/* Initial spin: 2 seconds per rotation */
|
|
#profile:hover {
|
|
animation: spin 2s linear infinite;
|
|
transition: animation-duration 0.2s linear;
|
|
transform-origin: center center;
|
|
}
|
|
|
|
|
|
|
|
|
|
table, td, th {
|
|
border: solid;
|
|
border-collapse: collapse;
|
|
}
|
|
|
|
body.dark-mode {
|
|
font-family: Arial, sans-serif;
|
|
background-color: #323438;
|
|
color: #f1f1f1;
|
|
|
|
}
|
|
|
|
/* Light Mode Styles */
|
|
body.light-mode {
|
|
background-color: #fcf0fa; /* Soft white background */
|
|
color: #333333; /* Dark gray text for better readability */
|
|
font-family: Arial, sans-serif;
|
|
|
|
}
|
|
|
|
/* Light mode headings */
|
|
body.light-mode h1,
|
|
body.light-mode h2:not(.exclude),
|
|
body.light-mode h3:not(.exclude) {
|
|
color: #222222; /* Slightly darker headings */
|
|
}
|
|
|
|
body.light-mode p {
|
|
color: #444444;
|
|
}
|
|
|
|
/* Light mode navbar */
|
|
body.light-mode .navbar {
|
|
background: linear-gradient(135deg, #e0eaff, #d1eaff); /* Light blue gradient */
|
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Subtle shadow */
|
|
}
|
|
|
|
body.light-mode .navbar-list a {
|
|
color: #0056b3; /* Deep blue for links */
|
|
}
|
|
|
|
body.light-mode .navbar-list a:hover {
|
|
background-color: #f1f5ff; /* Pale blue hover */
|
|
color: #004080; /* Darker blue */
|
|
}
|
|
|
|
/* Dropdown content for light mode */
|
|
body.light-mode .dropdown-content {
|
|
background-color: #ffffff; /* Clean white */
|
|
border: 1px solid #dcdcdc; /* Subtle border */
|
|
}
|
|
|
|
body.light-mode .dropdown-content a {
|
|
color: #0056b3;
|
|
}
|
|
|
|
body.light-mode .dropdown-content a:hover {
|
|
background-color: #f1f5ff;
|
|
color: #004080;
|
|
}
|
|
|
|
/* Light mode for gallery */
|
|
body.light-mode .gallery a {
|
|
border-color: #e0e0e0;
|
|
}
|
|
|
|
body.light-mode .gallery a:hover {
|
|
border-color: #004080; /* Highlight border */
|
|
}
|
|
|
|
body.light-mode .gallery img {
|
|
border: 2px solid #e0eaff;
|
|
}
|
|
|
|
/* Light mode table */
|
|
body.light-mode table,
|
|
body.light-mode td,
|
|
body.light-mode th {
|
|
border: 1px solid #dcdcdc;
|
|
color: #333333;
|
|
background-color: #ffffff;
|
|
}
|
|
|
|
/* Light mode timeline */
|
|
body.light-mode .timeline::after {
|
|
background-color: #cccccc;
|
|
}
|
|
|
|
body.light-mode .container::after {
|
|
background-color: #ffffff;
|
|
border-color: #ffc107; /* Golden circles */
|
|
}
|
|
|
|
body.light-mode .content {
|
|
background-color: #ffffff;
|
|
color: #333333;
|
|
box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
/* Light mode switch styling */
|
|
body.light-mode .slider {
|
|
--background: #cce4ff; /* Light blue slider */
|
|
background-color: var(--background);
|
|
}
|
|
|
|
body.light-mode .slider:before {
|
|
box-shadow: inset 8px -4px 0px 0px #ffe066; /* Light yellow shadow */
|
|
background: var(--background);
|
|
}
|
|
|
|
body.light-mode input:checked + .slider {
|
|
background-color: #99d4ff; /* Slightly darker blue */
|
|
}
|
|
|
|
body.light-mode input:checked + .slider:before {
|
|
box-shadow: inset 15px -4px 0px 15px #ffc107; /* Golden shadow when active */
|
|
}
|
|
|
|
|
|
body.light-mode #profile {
|
|
border-radius: 50%;
|
|
/* Keeps the element circular */
|
|
overflow: hidden; /* Ensures content fits the circular shape */
|
|
width: 350px; /* Set a fixed width */
|
|
height: 350px; /* Set the height equal to the width */
|
|
object-fit: cover; /* Ensures the image scales correctly within the circle */
|
|
border: 3px solid #333333; /* Dark line around the profile */
|
|
}
|
|
|
|
body.light-mode .example-2 .icon-content a {
|
|
position: relative;
|
|
overflow: hidden;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
width: 50px;
|
|
height: 50px;
|
|
border-radius: 50%;
|
|
color: #fff;
|
|
background-color: #444;
|
|
transition: all 0.3s ease-in-out;
|
|
}
|
|
|
|
|
|
/* Light Mode Contact Form */
|
|
body.light-mode .bg-gray-800 {
|
|
background-color: #f9f9f9; /* Light gray background */
|
|
color: #333333; /* Dark gray text */
|
|
}
|
|
|
|
body.light-mode .bg-gray-700 {
|
|
background-color: #e6e6e6; /* Light input fields */
|
|
}
|
|
|
|
body.light-mode .text-white {
|
|
color: #333333; /* Dark text for labels and headings */
|
|
}
|
|
|
|
body.light-mode .focus\:ring-yellow-300:focus {
|
|
--tw-ring-color: #ffd966; /* Light yellow focus ring */
|
|
}
|
|
|
|
body.light-mode .w-full.bg-yellow-300 {
|
|
background-color: #ffeb99; /* Lighter yellow button */
|
|
color: #444444; /* Darker text */
|
|
}
|
|
|
|
body.light-mode .w-full.bg-yellow-300:hover {
|
|
background-color: #ffdd66; /* Slightly darker hover effect */
|
|
}
|
|
|
|
body.light-mode .timeline::after {
|
|
background-color: #d1d1d1; /* Light gray vertical line */
|
|
}
|
|
body.light-mode .content{
|
|
background-color: #4444;
|
|
}
|
|
|
|
body.light-mode .left::before {
|
|
border-color: transparent transparent transparent #cccccc; /* Light gray for left triangle */
|
|
}
|
|
|
|
body.light-mode .right::before {
|
|
border-color: transparent #cccccc transparent transparent; /* Light gray for right triangle */
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
h1, h2:not(.exclude), h3:not(.exclude) {
|
|
color: #ffffff;
|
|
}
|
|
|
|
p {
|
|
font-size: 1.1em;
|
|
line-height: 1.6;
|
|
}
|
|
|
|
|
|
figure {
|
|
text-align: center;
|
|
margin: 50px auto;
|
|
}
|
|
|
|
figure img {
|
|
max-width: 100%;
|
|
height: auto;
|
|
border: 3px solid #333;
|
|
}
|
|
|
|
figcaption {
|
|
font-size: 1.2em;
|
|
margin-top: 10px;
|
|
}
|
|
/********************************************************************************/
|
|
/*Navbar css*/
|
|
/* Style général de la navbar */
|
|
.navbar {
|
|
background: linear-gradient(135deg, #0e6ab9, #4782b6);
|
|
padding: 15px;
|
|
display: flex;
|
|
justify-content: center;
|
|
position: sticky;
|
|
top: 0;
|
|
z-index: 1000;
|
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
|
|
|
|
}
|
|
|
|
.navbar-list {
|
|
list-style-type: none;
|
|
margin: 0;
|
|
padding: 0;
|
|
display: flex;
|
|
gap: 20px;
|
|
}
|
|
|
|
.navbar-list li {
|
|
position: relative; /* Permet à l'élément dropdown de se positionner par rapport au parent */
|
|
}
|
|
|
|
.navbar-list a {
|
|
color: white;
|
|
text-decoration: none;
|
|
font-size: 1.2em;
|
|
padding: 10px 15px;
|
|
border-radius: 5px;
|
|
transition: background-color 0.3s ease;
|
|
}
|
|
|
|
.navbar-list a:hover {
|
|
background-color: #fff;
|
|
color: #0e6ab9;
|
|
}
|
|
|
|
/* Style pour le menu déroulant */
|
|
/* Espacement entre les éléments du menu déroulant */
|
|
.dropdown-content li {
|
|
display: block;
|
|
margin: 10px 0; /* Ajoute de l'espace vertical entre les éléments */
|
|
}
|
|
|
|
/* Ajuster la largeur du menu déroulant à celle de "Gallerie" */
|
|
.dropdown-content {
|
|
display: none;
|
|
position: absolute;
|
|
background-color: #fff;
|
|
min-width: 100%; /* S'assure que la largeur correspond à celle du parent */
|
|
border-radius: 8px;
|
|
box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.3);
|
|
padding: 12px 0;
|
|
z-index: 10;
|
|
top: 110%; /* Pour le placer juste en dessous de l'élément parent */
|
|
left: 0; /* Aligne le menu déroulant avec le parent */
|
|
}
|
|
|
|
|
|
.dropdown-content a {
|
|
padding: 10px 20px;
|
|
color: #0e6ab9;
|
|
text-decoration: none;
|
|
font-size: 1em;
|
|
transition: background-color 0.3s ease;
|
|
}
|
|
|
|
.dropdown-content a:hover {
|
|
background-color: #0e6ab9;
|
|
color: #fff;
|
|
}
|
|
|
|
/* Montre le menu dropdown au survol */
|
|
.dropdown:hover .dropdown-content {
|
|
display: block;
|
|
opacity: 0;
|
|
animation: dropdownFade 0.7s forwards ease-in-out;
|
|
}
|
|
|
|
/* Ajout d'une animation douce */
|
|
@keyframes dropdownFade {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(-10px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
/********************************************************************************/
|
|
/* Css for the gallery (general) */
|
|
|
|
.title_gallery {
|
|
font-size: 2rem;
|
|
color: #f0f0f0;
|
|
text-transform: uppercase;
|
|
letter-spacing: 2px;
|
|
text-align: center;
|
|
margin-bottom: 20px;
|
|
text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.7);
|
|
}
|
|
|
|
|
|
|
|
.title_gallery::after {
|
|
content: '';
|
|
display: block;
|
|
width: 80px;
|
|
height: 4px;
|
|
background-color: #f0f0f0;
|
|
margin: 10px auto 0;
|
|
}
|
|
|
|
|
|
.title_gallery {
|
|
background: rgba(184, 165, 165, 0.3);
|
|
padding: 10px 20px;
|
|
border-radius: 5px;
|
|
}
|
|
.gallery {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
justify-content: center;
|
|
gap: 15px;
|
|
padding: 20px;
|
|
}
|
|
|
|
.gallery_video {
|
|
display: flex;
|
|
justify-content: space-around;
|
|
flex-wrap: wrap;
|
|
position: relative;
|
|
}
|
|
|
|
.gallery a {
|
|
display: inline-block;
|
|
border: 2px solid #ccc;
|
|
padding: 5px;
|
|
transition: transform 0.3s ease, border-color 0.3s ease;
|
|
}
|
|
|
|
.gallery a:hover {
|
|
transform: scale(1.1);
|
|
border-color: #333;
|
|
}
|
|
|
|
.gallery img {
|
|
display: block;
|
|
width: 150px;
|
|
height: 100px;
|
|
object-fit: cover;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.video-item {
|
|
width: 400px;
|
|
height: 240px;
|
|
margin: 10px;
|
|
overflow: hidden;
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
|
|
.video-item video {
|
|
width: 100%;
|
|
height: 100%;
|
|
transition: transform 0.3s ease, z-index 0.3s ease;
|
|
cursor: pointer;
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
|
|
|
|
.video-item:hover video {
|
|
width: 1200px;
|
|
height: 700px;
|
|
position: fixed;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
z-index: 10;
|
|
box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5);
|
|
}
|
|
|
|
|
|
.video-item:not(:hover) {
|
|
z-index: 0;
|
|
}
|
|
|
|
|
|
.gallery_video figcaption {
|
|
text-align: left;
|
|
color: white;
|
|
}
|
|
|
|
|
|
|
|
#video_categorie {
|
|
text-align: center;
|
|
margin-top: 20px;
|
|
}
|
|
|
|
|
|
/********************************************************************************/
|
|
/* Css for the timeline (general) */
|
|
|
|
#titre_cursus {
|
|
text-align: center;
|
|
margin-top: 20px;
|
|
}
|
|
|
|
* {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
/* Set a background color */
|
|
body {
|
|
background-color: #474e5d;
|
|
font-family: Helvetica, sans-serif;
|
|
}
|
|
|
|
/* The actual timeline (the vertical ruler) */
|
|
.timeline {
|
|
position: relative;
|
|
max-width: 1200px;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
/* The actual timeline (the vertical ruler) */
|
|
.timeline::after {
|
|
content: '';
|
|
position: absolute;
|
|
width: 6px;
|
|
background-color: white;
|
|
top: 0;
|
|
bottom: 0;
|
|
left: 50%;
|
|
margin-left: -3px;
|
|
}
|
|
|
|
/* Container around content */
|
|
.container {
|
|
padding: 10px 40px;
|
|
position: relative;
|
|
background-color: inherit;
|
|
width: 50%;
|
|
}
|
|
|
|
/* The circles on the timeline */
|
|
|
|
|
|
/* Place the container to the left */
|
|
.left {
|
|
left: 0;
|
|
}
|
|
|
|
/* Place the container to the right */
|
|
.right {
|
|
left: 50%;
|
|
}
|
|
|
|
/* Add arrows to the left container (pointing right) */
|
|
.left::before {
|
|
content: " ";
|
|
height: 0;
|
|
position: absolute;
|
|
top: 22px;
|
|
width: 0;
|
|
z-index: 1;
|
|
right: 30px;
|
|
border: medium solid white;
|
|
border-width: 10px 0 10px 10px;
|
|
border-color: transparent transparent transparent white;
|
|
}
|
|
|
|
/* Add arrows to the right container (pointing left) */
|
|
.right::before {
|
|
content: " ";
|
|
height: 0;
|
|
position: absolute;
|
|
top: 22px;
|
|
width: 0;
|
|
z-index: 1;
|
|
left: 30px;
|
|
border: medium solid white;
|
|
border-width: 10px 10px 10px 0;
|
|
border-color: transparent white transparent transparent;
|
|
}
|
|
|
|
/* Fix the circle for containers on the right side */
|
|
.right::after {
|
|
left: -16px;
|
|
}
|
|
|
|
/* The actual content */
|
|
.content {
|
|
padding: 20px 30px;
|
|
background-color: white;
|
|
position: relative;
|
|
border-radius: 6px;
|
|
color: #333;
|
|
}
|
|
|
|
/* Media queries - Responsive timeline on screens less than 600px wide */
|
|
@media screen and (max-width: 600px) {
|
|
/* Place the timelime to the left */
|
|
.timeline::after {
|
|
left: 31px;
|
|
}
|
|
|
|
/* Full-width containers */
|
|
.container {
|
|
width: 100%;
|
|
padding-left: 70px;
|
|
padding-right: 25px;
|
|
}
|
|
|
|
/* Make sure that all arrows are pointing leftwards */
|
|
.container::before {
|
|
left: 60px;
|
|
border: medium solid white;
|
|
border-width: 10px 10px 10px 0;
|
|
border-color: transparent white transparent transparent;
|
|
}
|
|
|
|
/* Make sure all circles are at the same spot */
|
|
.left::after, .right::after {
|
|
left: 15px;
|
|
}
|
|
|
|
/* Make all right containers behave like the left ones */
|
|
.right {
|
|
left: 0%;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* additional requests */
|
|
|
|
#planning{
|
|
font-family: 'Roboto', Arial, sans-serif;
|
|
}
|
|
|
|
|
|
|
|
/********************************************************************************/
|
|
/* Dark mode switch */
|
|
|
|
|
|
/* The switch - the box around the slider */
|
|
.switch {
|
|
font-size: 17px;
|
|
position: relative;
|
|
display: inline-block;
|
|
width: 3.5em;
|
|
height: 2em;
|
|
}
|
|
|
|
/* Hide default HTML checkbox */
|
|
.switch input {
|
|
opacity: 0;
|
|
width: 0;
|
|
height: 0;
|
|
}
|
|
|
|
/* The slider */
|
|
.slider {
|
|
--background: #28096b;
|
|
position: absolute;
|
|
cursor: pointer;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background-color: var(--background);
|
|
transition: .5s;
|
|
border-radius: 30px;
|
|
}
|
|
|
|
.slider:before {
|
|
position: absolute;
|
|
content: "";
|
|
height: 1.4em;
|
|
width: 1.4em;
|
|
border-radius: 50%;
|
|
left: 10%;
|
|
bottom: 15%;
|
|
box-shadow: inset 8px -4px 0px 0px #fff000;
|
|
background: var(--background);
|
|
transition: .5s;
|
|
}
|
|
|
|
input:checked + .slider {
|
|
background-color: #522ba7;
|
|
}
|
|
|
|
input:checked + .slider:before {
|
|
transform: translateX(100%);
|
|
box-shadow: inset 15px -4px 0px 15px #fff000;
|
|
}
|
|
|
|
|
|
|
|
/*******************************************************************************/
|
|
/* Social networks icons */
|
|
|
|
|
|
ul {
|
|
list-style: none;
|
|
}
|
|
|
|
.example-2 {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
flex-direction: column;
|
|
}
|
|
.example-2 .icon-content {
|
|
margin: 0 10px;
|
|
position: relative;
|
|
padding: 0.5rem;
|
|
}
|
|
.example-2 .icon-content .tooltip {
|
|
position: absolute;
|
|
top: 100%;
|
|
right: 110%;
|
|
transform: translateY(200%);
|
|
color: #fff;
|
|
padding: 6px 10px;
|
|
border-radius: 5px;
|
|
opacity: 0;
|
|
visibility: hidden;
|
|
font-size: 14px;
|
|
transition: all 0.3s ease;
|
|
}
|
|
.example-2 .icon-content:hover .toolti p {
|
|
opacity: 1;
|
|
visibility: visible;
|
|
top: -50px;
|
|
}
|
|
.example-2 .icon-content a {
|
|
position: relative;
|
|
overflow: hidden;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
width: 50px;
|
|
height: 50px;
|
|
border-radius: 50%;
|
|
color: #444;
|
|
background-color: #fff;
|
|
transition: all 0.3s ease-in-out;
|
|
}
|
|
.example-2 .icon-content a:hover {
|
|
box-shadow: 3px 2px 45px 0px rgb(0 0 0 / 12%);
|
|
}
|
|
.example-2 .icon-content a svg {
|
|
position: relative;
|
|
z-index: 1;
|
|
width: 30px;
|
|
height: 30px;
|
|
}
|
|
.example-2 .icon-content a:hover {
|
|
color: white;
|
|
}
|
|
.example-2 .icon-content a .filled {
|
|
position: absolute;
|
|
top: auto;
|
|
bottom: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 0;
|
|
background-color: #000;
|
|
transition: all 0.3s ease-in-out;
|
|
}
|
|
.example-2 .icon-content a:hover .filled {
|
|
height: 100%;
|
|
}
|
|
|
|
.example-2 .icon-content a[data-social="linkedin"] .filled,
|
|
.example-2 .icon-content a[data-social="linkedin"] ~ .tooltip {
|
|
background-color: #0274b3;
|
|
}
|
|
|
|
.example-2 .icon-content a[data-social="github"] .filled,
|
|
.example-2 .icon-content a[data-social="github"] ~ .tooltip {
|
|
background-color: #24262a;
|
|
}
|
|
.example-2 .icon-content a[data-social="gmail"] .filled,
|
|
.example-2 .icon-content a[data-social="gmail"] ~ .tooltip {
|
|
background-color: #EA4335;
|
|
}
|
|
|
|
|
|
|
|
/* Gallerie projet */
|
|
|
|
.article-wrapper {
|
|
width: 250px;
|
|
-webkit-transition: 0.15s all ease-in-out;
|
|
transition: 0.15s all ease-in-out;
|
|
border-radius: 10px;
|
|
padding: 5px;
|
|
border: 4px solid transparent;
|
|
cursor: pointer;
|
|
background-color: white;
|
|
}
|
|
|
|
.article-wrapper:hover {
|
|
-webkit-box-shadow: 10px 10px 0 #4e84ff, 20px 20px 0 #4444bd;
|
|
box-shadow: 10px 10px 0 #4e84ff, 20px 20px 0 #4444bd;
|
|
border-color: #0578c5;
|
|
-webkit-transform: translate(-20px, -20px);
|
|
-ms-transform: translate(-20px, -20px);
|
|
transform: translate(-20px, -20px);
|
|
}
|
|
|
|
.article-wrapper:active {
|
|
-webkit-box-shadow: none;
|
|
box-shadow: none;
|
|
-webkit-transform: translate(0, 0);
|
|
-ms-transform: translate(0, 0);
|
|
transform: translate(0, 0);
|
|
}
|
|
|
|
.types {
|
|
gap: 10px;
|
|
display: -webkit-box;
|
|
display: -ms-flexbox;
|
|
display: flex;
|
|
place-content: flex-start;
|
|
}
|
|
|
|
.rounded-lg {
|
|
/* class tailwind */
|
|
border-radius: 10px;
|
|
}
|
|
|
|
.article-wrapper:hover .project-hover {
|
|
-webkit-transform: rotate(-45deg);
|
|
-ms-transform: rotate(-45deg);
|
|
transform: rotate(-45deg);
|
|
background-color: #a6c2f0;
|
|
}
|
|
|
|
.project-info {
|
|
padding-top: 20px;
|
|
padding: 10px;
|
|
display: -webkit-box;
|
|
display: -ms-flexbox;
|
|
display: flex;
|
|
-webkit-box-orient: vertical;
|
|
-webkit-box-direction: normal;
|
|
-ms-flex-direction: column;
|
|
flex-direction: column;
|
|
gap: 20px;
|
|
}
|
|
|
|
.project-title {
|
|
font-size: 2em;
|
|
margin: 0;
|
|
font-weight: 600;
|
|
/* depend de la font */
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
color: black;
|
|
}
|
|
|
|
.flex-pr {
|
|
display: -webkit-box;
|
|
display: -ms-flexbox;
|
|
display: flex;
|
|
-webkit-box-pack: justify;
|
|
-ms-flex-pack: justify;
|
|
justify-content: space-between;
|
|
-webkit-box-align: center;
|
|
-ms-flex-align: center;
|
|
align-items: center;
|
|
}
|
|
|
|
.project-type {
|
|
background: #b2b2fd;
|
|
color: #1a41cd;
|
|
font-weight: bold;
|
|
padding: 0.3em 0.7em;
|
|
border-radius: 15px;
|
|
font-size: 12px;
|
|
letter-spacing: -0.6px
|
|
}
|
|
|
|
.project-hover {
|
|
border-radius: 50%;
|
|
width: 50px;
|
|
height: 50px;
|
|
padding: 9px;
|
|
-webkit-transition: all 0.3s ease;
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.container-project {
|
|
width: 100%;
|
|
height: 170px;
|
|
background: gray;
|
|
}
|
|
|
|
|
|
|
|
/* Dark Mode for Project Gallery */
|
|
|
|
body.light-mode .article-wrapper {
|
|
background-color: #9c8d8d;
|
|
border-color: #555;
|
|
}
|
|
|
|
body.light-mode .article-wrapper:hover {
|
|
box-shadow: 10px 10px 0 #6a5acd, 20px 20px 0 #483d8b;
|
|
border-color: #6a5acd;
|
|
}
|
|
|
|
body.light-mode .project-info {
|
|
color: #f1f1f1;
|
|
}
|
|
|
|
body.light-mode .project-title {
|
|
color: #fff;
|
|
}
|
|
|
|
body.light-mode .project-hover {
|
|
background-color: #444;
|
|
}
|
|
|
|
body.light-mode .project-type {
|
|
background: #555;
|
|
color: #bbb;
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Click effect */
|
|
.article-wrapper.clicked {
|
|
transform: scale(0.9);
|
|
opacity: 0;
|
|
transition: transform 0.6s ease, opacity 0.6s ease;
|
|
}
|
|
|
|
/* Smooth page fade-in */
|
|
body {
|
|
opacity: 1;
|
|
transition: opacity 0.3s ease-in-out;
|
|
}
|
|
|
|
body.fade-out {
|
|
opacity: 0;
|
|
}
|
|
|
|
|
|
/* General Styling for Project Page */
|
|
.project-header {
|
|
text-align: center;
|
|
margin: 40px auto;
|
|
animation: fadeIn 0.8s ease-in-out;
|
|
}
|
|
|
|
.project-subtitle {
|
|
font-size: 1.2em;
|
|
color: #aaa;
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.project-content, .project-gallery, .project-tech {
|
|
width: 80%;
|
|
margin: 20px auto;
|
|
text-align: center;
|
|
animation: slideUp 0.8s ease-in-out;
|
|
}
|
|
|
|
/* Center and style images */
|
|
.project-gallery img {
|
|
width: 100%;
|
|
max-width: 600px;
|
|
height: auto;
|
|
border-radius: 10px;
|
|
transition: transform 0.3s ease, box-shadow 0.3s ease;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.project-gallery img:hover {
|
|
transform: scale(1.1);
|
|
box-shadow: 0 4px 10px rgba(255, 255, 255, 0.3);
|
|
}
|
|
|
|
|
|
|
|
.tech-icons {
|
|
display: flex;
|
|
gap: 15px;
|
|
justify-content: center;
|
|
flex-wrap: wrap;
|
|
padding: 20px;
|
|
}
|
|
|
|
/* Language/Tech Boxes */
|
|
.tech-box {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 10px;
|
|
padding: 10px 15px;
|
|
border-radius: 10px;
|
|
font-weight: bold;
|
|
color: white;
|
|
font-size: 1.1em;
|
|
transition: transform 0.3s ease, box-shadow 0.3s ease;
|
|
border: 2px solid rgba(255, 255, 255, 0.3);
|
|
}
|
|
|
|
.tech-box img {
|
|
width: 35px; /* Adjust logo size */
|
|
height: 35px;
|
|
object-fit: contain;
|
|
background: transparent;
|
|
border-radius: 50%;
|
|
padding: 5px;
|
|
|
|
background: radial-gradient(circle, rgba(255,255,255,0.8) 0%, rgba(200,200,200,0.3) 100%);
|
|
}
|
|
|
|
.tech-box:hover {
|
|
transform: scale(1.1);
|
|
box-shadow: 0 4px 10px rgba(255, 255, 255, 0.5);
|
|
}
|
|
|
|
/* Colors for Technologies */
|
|
.html-box { background: #E34F26; border-color: #b3391d; }
|
|
.css-box { background: #1572B6; border-color: #0d5ea0; }
|
|
.js-box { background: #F7DF1E; color: #333; border-color: #c2b000; }
|
|
.react-box { background: #61DAFB; color: #000; border-color: #48bcd1; }
|
|
.nodejs-box { background: #83CD29; border-color: #639b1e; }
|
|
.python-box { background: #3776AB; border-color: #255680; }
|
|
.sql-box { background: #4479A1; border-color: #325d78; }
|
|
.php-box { background: #777BB3; border-color: #5a5f9e; }
|
|
.java-box { background: #ED8B00; border-color: #b35d00; }
|
|
.csharp-box { background: #00599C; border-color: #003d6a; }
|
|
.xaml-box { background: #FFC107; color: #333; border-color: #c2b000; }
|
|
.json-box { background: #E34F26; border-color: #b3391d; }
|
|
.c-box { background: #00599C; border-color: #003d6a; }
|
|
.git-box { background: #F05032; border-color: #b3391d; }
|
|
.bash-box { background: #4E5D94; border-color: #3a456a; }
|
|
.tkinter-box { background: #FFC107; color: #333; border-color: #c2b000; }
|
|
.linux-box { background: #F05032; border-color: #b3391d; }
|
|
.docker-box { background: #2496ED; border-color: #0d5ea0; }
|
|
.postgresql-box { background: #2496ED; border-color: #0d5ea0; }
|
|
.vscode-box { background: #007ACC; border-color: #003d6a; }
|
|
.cpp-box { background: #00599C; border-color: #003d6a; }
|
|
/* Animations */
|
|
@keyframes fadeIn {
|
|
from { opacity: 0; transform: translateY(-10px); }
|
|
to { opacity: 1; transform: translateY(0); }
|
|
}
|
|
|
|
@keyframes slideUp {
|
|
from { opacity: 0; transform: translateY(20px); }
|
|
to { opacity: 1; transform: translateY(0); }
|
|
}
|
|
|
|
|
|
.project-gallery {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 20px;
|
|
}
|
|
|
|
.image-wrapper {
|
|
position: relative;
|
|
width: 100%;
|
|
max-width: 600px;
|
|
overflow: hidden;
|
|
border-radius: 10px;
|
|
cursor: pointer;
|
|
transition: transform 0.5s ease, box-shadow 0.5s ease;
|
|
}
|
|
|
|
.image-wrapper img {
|
|
width: 100%;
|
|
display: block;
|
|
border-radius: 10px;
|
|
transition: transform 0.5s ease;
|
|
}
|
|
|
|
.image-description {
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
height: 100%;
|
|
width: 0;
|
|
overflow: hidden;
|
|
background-color: rgba(0, 0, 0, 0.8);
|
|
color: #fff;
|
|
padding: 20px;
|
|
box-sizing: border-box;
|
|
opacity: 0;
|
|
transition: opacity 0.5s ease, width 0.5s ease;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.image-wrapper:hover {
|
|
transform: translateX(-15%);
|
|
z-index: 10;
|
|
box-shadow: 0 10px 20px rgba(0,0,0,0.5);
|
|
}
|
|
|
|
.image-wrapper:hover img {
|
|
transform: scale(1.05);
|
|
}
|
|
|
|
.image-wrapper:hover .image-description {
|
|
width: 40%;
|
|
opacity: 1;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.social-icon img {
|
|
width: 32px;
|
|
height: 32px;
|
|
transition: transform 0.3s ease, opacity 0.3s ease;
|
|
}
|
|
|
|
.social-icon:hover img {
|
|
transform: scale(1.2);
|
|
opacity: 0.8;
|
|
}
|
|
|
|
|
|
|
|
footer {
|
|
width: 100% ;
|
|
text-align: center ;
|
|
padding: 15px ;
|
|
background: #252323 ; /* Default dark mode */
|
|
color: #fff ;
|
|
position: relative;
|
|
bottom: 0;
|
|
}
|