/********************************************************************************/ /*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 */ } /* Footer Light mode */ body.light-mode footer { background-color: #f1f1f1; color: #333333; border-top: 1px solid #dcdcdc; text-align: center; padding: 10px; } 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: 130%; /* 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(0, 0, 0, 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 .tooltip { 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="instagram"] .filled, .example-2 .icon-content a[data-social="instagram"] ~ .tooltip { background: linear-gradient( 45deg, #405de6, #5b51db, #b33ab4, #c135b4, #e1306c, #fd1f1f ); } .example-2 .icon-content a[data-social="youtube"] .filled, .example-2 .icon-content a[data-social="youtube"] ~ .tooltip { background-color: #ff0000; }