:root{
  --PLblue: rgb(0, 128, 255); /* Primary blue color */
  --lightblue: rgb(173, 216, 230); /* Lighter blue for hover effects */
  --darkblue: rgb(0, 72, 144); /* Darker blue for contrasts */
  --lightgray: rgb(211, 211, 211); /* Light gray for text */
  --darkgray: rgb(30, 30, 30);
}

html {
  scroll-behavior: smooth;
}


.icon-btn {
  transition: transform 0.3s ease, background-color 0.3s ease;
}

.icon-btn:hover {
  transform: scale(1.1);
  background-color: var(--PLblue); /* Primary blue color */
}

.btn-large {
  font-size: 1.2rem;
  padding: 15px 30px;
  background-color: var(--PLblue);
  color: white;
  border: none;
  border-radius: 5px;
  
}

.caption h2 {
  font-family: 'Arial', sans-serif;
  font-weight: 600;
  letter-spacing: 2px;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
  font-size: 3rem;
  color: var(--PLblue);
}

.caption h5 {
  font-family: 'Verdana', sans-serif;
  color: var(--lightgray); /* Light gray for subtitle */
  font-size: 1.2rem;
}

.social button {
  transition: transform 0.3s ease;
}

.social button:hover {
  transform: translateY(-5px);
  
}

/* Media Queries for Responsiveness */
@media screen and (max-width: 1200px) {
  .container {
    padding-left: 5%;
  }
  .content {
    margin-left: 5%;
  }
}

@media screen and (max-width: 992px) {
  .caption h2 {
    font-size: 2rem;
  }

  .buttons .readme, .buttons .contactme {
    font-size: 1rem;
    padding: 12px 20px;
  }

  .social button {
    margin: 5px;
  }
}

@media screen and (max-width: 768px) {
  .caption h2 {
    font-size: 1.8rem;
  }

  .caption h5 {
    font-size: 1rem;
  }

  .social {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }


}

@media screen and (max-width: 480px) {
  .caption h2 {
    font-size: 1.6rem;
  }

  .buttons {
    flex-direction: column;
    align-items: center;
  }

  .buttons a {
    margin: 5px 0;
    font-size: 1rem;
  }

  .social button {
    font-size: 1rem;
  }

  .wave-svg {
    height: 60px;
  }
}
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}



@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

::-webkit-scrollbar {
  width: 15px;
}

::-webkit-scrollbar-thumb {
  background: #02337c;
  border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
  background: #8a5b5b;
}

::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.1);
  border-radius: 10px;
}

@-webkit-keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.fade-in {
  -webkit-animation: fadeIn 0.5s ease forwards; /* Smooth fade-in effect */
}

/* Apply transition to all elements for smooth interaction */
* {
  -webkit-transition: all 0.3s ease; /* Universal transition */
}
.mx-5 {
  margin-right: 3rem !important;
  margin-left: 3rem !important;
}
.profile-pic {
  position: relative;
  max-width: 130px;
  max-height: 130px;
  width: auto;
  height: auto;
  overflow: hidden;
  border: 6px solid rgba(0, 77, 64, 0.4);
  /* display: inline-block; */

  /* background-size: cover;  */
  margin: -31px;
  margin-left: -7px;
  border: 6px solid rgba(0, 77, 64, 0.4);
  border-radius: 50% !important;
  -webkit-transform: translateZ(0); /* Enable GPU rendering */
}

.profile-pic img {
  width: 100%;
  height: auto;
  -webkit-transition: transform 0.3s ease;
}

.tracker {
  /* visibility: hidden; */
  position: fixed;
  /* margin-inline-end: auto;  */
  bottom: 0;
  right: 0;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); /* Subtle shadow */
}

@import url(https://fonts.googleapis.com/css?family=Poiret+One);
.social {
  margin: 0 auto;
  width: auto;
  text-align: inherit;
  /* padding: 10px; */
}

.social button {
  transition: all 0.3s ease;
}

.social button:hover {
  transform: translateY(-5px);
}

.icon-btn {
  margin-left: auto;
  width: 50px;
  height: 50px;
  border: 0;
  color: #ffffff;
  cursor: pointer;
  font-size: 30px;
  /*line-height: 70px;*/
  border-radius: 20px;
  display: inline-block;
  margin: 4px;
  transition: transform 0.3s ease, background-color 0.3s ease;
  -webkit-appearance: none; /* Remove default styling */
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); /* Button shadow */
}

.icon-btn:hover {
  transform: scale(1.5); /* Makes the icon 20% bigger on hover */
}



.github {
  color: black;
}

.linkedin {
  color: #0077b5;
}

.angellist {
  color: grey;
}

/* Pinterest */
.pinterest {
  color: #e60023;
}

.pinterest:hover {
  background-color: #e60023;
}

.icon-btn:hover {
  transform: scale(1.1);
  color: #ffffff;
}
.behance {
  color: #1769ff;
}

.behance:hover {
  background-color: #1769ff;
}

/* Facebook */
.facebook {
  color: #1877f2;
}


.facebook:hover {
  background-color: #1877f2;
}



.linkedin:hover {
  background-color: #0077b5;
}

.angellist:hover {
  background-color: grey;
}

.github:hover {
  background-color: black;
}
.vimeo {
  color: #1ab7ed; /* Vimeo's color */
}

.vimeo:hover {
  background-color: #1ab7ed; /* Change background on hover */
}
/* Buttons - Read Me, Contact Us */

.readme {
  position: relative;
  padding: 16px 35px;
  background: #fff;
  color: #005179;
  border: 2px solid #fff;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 1px;
  display: inline-block;
  border-radius: 10px;
  -webkit-border-radius: 5px;
}

 .readme:hover{
  color: white;
  background-color: #003979;
} 

.contactme {
  position: relative;
  padding: 16px 35px;
  background: none;
  color: #fff;
  border: 2px solid #fff;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 1px;
  display: inline-block;
  margin-top: 1.5em;
  border-radius: 10px;
  -webkit-border-radius: 5px;
}

.contactme:hover {
  color: #6caee8;
  background-color: rgb(79, 41, 112);
}
/* main body */

/* body-color */

body {
  color: #ffffff;
  font-size: 18px;
}

a {
  color: #0a2cd9;
}

/* main blockqoute */

/* blockquote {
  border-left: 5px solid #795548;
  color: #795548;
  font-size: 125%;
  font-weight: 400;
  margin: 20px 0;
  padding-left: 1.5rem;
} */

blockquote {
  border-left: 5px solid #795548;
  color: #795548;
  font-size: 125%;
  font-weight: 400;
  margin: 20px 0;
  padding-left: 1.5rem;
}

blockquote * {
  font-size: inherit;
  line-height: inherit;
}

.text-center {
  text-align: center;
}

/* main nav */

nav {
  background: rgba(11, 61, 145, 0.9);
  transition: background 0.3s ease;
  box-shadow: none;
  height: 0;
  position: sticky;
  top: 0;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}


nav i {
  padding: 0 15px;
  position: relative;
  top: 5px;
}

nav i:hover {
  padding: 0 15px;
  position: relative;
  top: 5px;
  color: white;
}



/* main */

/* main {
  background: url(../../assets/img/bg.png) repeat;
  padding-left: 190px;
} */

main {
  background: url("../assets/img/bg.png") ;
  padding-left: 190px;
}

dl {
  margin-top: 0.5rem;
}

dd {
  display: inline-block;
  font-weight: 500;
  margin-left: 0;
}

dt {
  display: inline-block;
  margin-left: 0.5rem;
}

ul.side-nav {
  background: linear-gradient(217deg, rgba(162, 147, 147, 1), rgba(255,0,0,0) ),
            linear-gradient(127deg, rgba(7, 84, 166, 0.8), rgb(0, 81, 255) ),
            linear-gradient(336deg, rgba(3, 12, 133, 0.8), rgb(0, 0, 255) );
  color: white;
  width: 190px;
}

ul.side-nav li {
  padding: 0;
}

/* ul.side-nav.fixed a {
  box-sizing: content-box;
  color: rgb(48, 122, 207);
  display: block;
  line-height: 100%;
  padding: 10px 0 12px;
} */

ul.side-nav.fixed a {
  box-sizing: content-box;
  color: #2eaff9;
  display: block;
  line-height: 100%;
  padding: 10px 0 12px;
}

ul.table-of-contents li.logo a.active,
ul.table-of-contents li.logo a:hover {
  border: none;
  font-weight: 200;
}

/* ul.side-nav.fixed li.logo {
  background-color: #fafafa;
  border-bottom: 1px solid #ddd;
  box-sizing: content-box;
  min-height: 90px;
  padding: 30px 30px 40px;
} */

ul.side-nav.fixed li.logo {
  background-color: #1a237e;
  border-bottom: 1px solid #ddd;
  box-sizing: content-box;
  min-height: 90px;
  padding: 30px 30px 40px;
}

ul.side-nav.fixed li.logo a {
  font-weight: 200;
  line-height: 100%;
}

ul.table-of-contents li:not(.logo) a.active,
ul.table-of-contents li:not(.logo) a:hover {
  background-color: #ac13e4;
  border-left: 3px solid;
}

ul.side-nav.fixed.table-of-contents li:not(.logo) a span,
ul#slide-out li:not(.logo) a span {
  color: #fffafa !important;
  font-size: 17px;
}

li.logo span {
  display: block;
  font-size: 14px;
}

.brand-logo h1 {
  font-size: inherit;
  line-height: inherit;
  margin: inherit;
  font-weight: inherit;
}

.container {
  width: 100vw;
}

h3 {
  font-weight: 200;
  margin-bottom: 60px;
  margin-top: 0;
  padding: 30px 40px;
  text-transform: uppercase;
}

.section {
  padding-bottom: 2px;
  padding-top: 0;
  position: relative;
  font-weight: bolder;
}

.full-height {
  height: 80vh;
}

/* Original */

/* #intro.section {
  background: url(../../assets/img/white-ai-wallpaper.jpg) no-repeat top center/cover;
  position: relative;
} */

#intro.section {
  background: linear-gradient(135deg, #1d0073, #0269ae, #05a7ff,  #00d7f3, #ef228f); /* Initial gradient colors */
  background-size: 300% 300%;
  animation: gradientAnimation 12s ease infinite;
  position: relative;
}


#intro .container {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
}

@keyframes gradientAnimation {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

#intro.section .container {
  color: rgb(0, 0, 0);
  font-weight: 500;
  left: 0;
  position: absolute;
  top: 0;
}

#intro {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh; /* Prend la pleine hauteur de la page */
  position: relative;
}


#intro.section .container *:not(span) {
  font-weight: 300;
  /* font-weight: 400; */
  line-height: 100%;
  /* padding: 0 0px; */
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
}

#intro.section .underline {
  border-bottom: 5px solid #24305e;
}

#intro.section .teal {
  padding: 0 10px;
}

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* Superpose un voile foncé */

}

.waves-effect.waves-blue .waves-ripple {
  /* The alpha value allows the text and background color
   of the button to still show through. */
  background-color: rgba(33, 150, 243, 0.2);
}







/* Dark Mode Card Grid */
.card-grid {
  display: grid;
  grid-template-columns: repeat(3, 2fr); /* Create 3 equal columns */
  gap: 20px; /* Add space between cards */
  padding: 20px; /* Padding around the grid */
  justify-items: center; /* Center cards in each grid item */
  background-color: #181818;  /* Dark background for the grid */
  border-radius: 1cm;
}

/* Card Styling */
.card {
  width: 100%; /* Set a max-width for each card */
  border-radius: 20px;  /* Rounded corners */
  background-color: #2a2a2a;  /* Dark background for the card */
  border: 2px solid #444;  /* Border with dark color */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);  /* Subtle shadow */
  transition: transform 0.3s ease, box-shadow 0.3s ease;  /* Smooth hover effects */
  overflow: hidden;  /* Prevent content from overflowing */
  position: relative; /* Positioning for content */
  text-align: center; /* Center the text inside the card */
  color: #fff;  /* Light text color for dark mode */
}

/* Hover effect for card */
.card:hover {
  transform: translateY(-10px);  /* Hover effect to lift the card */
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);  /* Hover shadow effect */
}

/* Card Image */
.card-img-top {
  width: 100%;
  height: auto; /* Fixed height for the image */
  object-fit: cover;  /* Ensure the image covers the area without distortion */
  object-position: center;  /* Center the image */
  transition: transform 0.3s ease-in-out;  /* Smooth transition for zoom effect */
}

/* Hover effect on image */
.card:hover .card-img-top {
  transform: scale(1.1) rotateX(1.2);  /* Slight zoom effect on hover */
  cursor: pointer;
}

/* Card Title */
.card-title {
  font-size: 1.5rem;
  margin-top: 15px;
  font-weight: bold;
  color: #fff; /* Light title text */
}

/* Card Body */
.card-body {
  padding: 20px 15px;
  background-color: #464646;  /* Slightly darker background */
  color: #fff; /* Light text color for readability */
}

/* Card Text */
.card-text {
  font-size: 1rem;
  color: #616161; /* Lighter gray text for better contrast */
  margin-top: 10px;
}

.card-action small {
  color: #9e9e9e; /* Light gray */
}

/* Card Footer */
.card-footer {
  padding: 10px;
  background-color: #2a2a2a;  /* Dark background for the footer */
  border-top: 1px solid #444;  /* Dark border */
  text-align: center;
}

/* Footer links */
.card-footer a {
  color: #007bff; /* Blue links */
  text-decoration: none;
  font-size: 1.25rem;
}

.card-footer a:hover {
  text-decoration: underline;
}

/* Make the first card larger */
.card:nth-child(1) {
  grid-column: span 2; /* Make the first card span 2 columns */ /* Make the first card span 2 rows */
}

.card:nth-child(4) {
  grid-column: span 2; /* Make the fifth card span 2 columns */ /* Make the fifth card span 2 rows */
}

/* Make the fifth card larger */
.card:nth-child(5) {
  grid-column: span 2; /* Make the fifth card span 2 columns */ /* Make the fifth card span 2 rows */
}

/* Responsive Grid for Mobile */
@media (max-width: 767px) {
  .card-grid {
    grid-template-columns: repeat(2, 1fr); /* 2 columns on small screens */
  }

  .card {
    max-width: 100%;  /* Ensure the cards take up the full width on smaller screens */
  }

  .card-img-top {
    height: 150px; /* Reduce the image height on mobile */
  }

  /* Reset the large card sizes for smaller screens */
  .card:nth-child(1),
  .card:nth-child(4),
  .card:nth-child(5) {
    grid-column: span 1; /* Make sure the cards don't span multiple columns on mobile */
    grid-row: span 1; /* Make sure the cards don't span multiple rows on mobile */
  }
}

#experience .card-action {
  background-color: rgba(0, 0, 0, 0.02);
  border: none;
}

#experience .card .col.s12.m2 a {
  display: block;
}

#experience .card .col.s12.m2 a img {
  max-height: 60px;
}

.card-action span {
  font-size: 85%;
  color: #666;
}

.card ul {
  margin-bottom: 0;
}

.card ul li {
  line-height: 200%;
  list-style-type: disc;
  margin-left: 24px;
}

.card ul li li {
  color: #666;
  font-size: 13px;
}

.card .card-title {
  font-size: 24px;
  font-weight: bolder;
  color: rgb(1, 191, 36);
}

.card .card-content .card-title {
  line-height: 2.5rem;
}

.card i.right {
  margin-left: 10px;
}

a.hoverline {
  border-bottom: 3px solid transparent !important;
  padding: 3px 3px 0 3px;
  transition: 0.25s all;
  -moz-transition: 0.25s all;
  -webkit-transition: 0.25s all;
  color: rgb(154, 180, 247);
}

/* main a.hoverline */

/* a.hoverline:hover {
  border-bottom: 3px solid #24305e !important;
} */

a.hoverline:hover {
  border-bottom: 3px solid #004d40 !important;
}

#skills .card.large {
  height: 360px;
}

#skills h4 {
  border-bottom: 1px solid #ddd;
  margin-bottom: 30px;
  padding-bottom: 20px;
}

#skills .col img.responsive-img {
  margin: 0 auto;
  max-height: 100px;
  padding-bottom: 10px;
  text-align: center;
  vertical-align: middle;
  display: table-cell;
  transition: transform 0.1s ease, box-shadow 1s ease;
}

img.responsive-img:hover {
  transform: scale(1.4);
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
}

.card.large .card-content p {
  color: inherit;
  margin: 0;
  padding: 30px 0;
}

#experience .card-content .row {
  border-bottom: 1px solid #ddd;
  padding-bottom: 10px;
}

.card.large .card-image {
  height: 230px;
}

.card.large .card-content {
  height: auto;
}

.card.medium .card-image {
  height: 240px;
}

.card-action a.btn-floating {
  margin-bottom: 0;
}

#contact a:not(.btn-floating) {
  bottom: 6px;
  left: 20px;
  position: relative;
}

#experience .col.s12.m2 {
  text-align: center;
}

.fa-external-link:before {
  left: 3px;
  position: relative;
  top: 2px;
}

small {
  display: none;
}

.grey-text {
  color: #666 !important;
}

/* main .teal-text */

.teal-text {
  color: #4801ed !important;
}

/* .teal-text {
  color: #0b5e86 !important;
} */

/* .teal */

.teal {
  background-color: #7008d1 !important;
}

/* .teal {
  background-color: #00695c !important;
} */

@media (min-width: 1200px) {
  #experience .container {
    width: 860px;
  }
}

@media (max-width: 1360px) {
  .card ul li {
    font-size: 14px;
    line-height: 200%;
    margin-left: 20px;
  }
}

@media (max-width: 1160px) {
  .card ul li {
    line-height: 150%;
  }
}

@media (max-width: 992px) {
  main {
    padding-left: 0px;
    padding-top: 64px;
  }
  ul.side-nav a {
    line-height: 100%;
    padding: 0;
    width: 100%;
  }
  nav {
    background: #fff;
    height: 64px;
    position: absolute;
  }
  nav a.button-collapse,
  nav a.button-collapse i {
    color: #6704a0;
    height: 56px;
    line-height: 56px;
  }

  .collapsible-body li a:hover {
    color: #004d40; /* Dark teal shade */
    font-weight: bold;
  }

  .collapsible-body li a.active {
    color: #004d40; /* Dark teal */
    font-weight: bold;
    border-radius: 4px;
  }

  h3 {
    padding: 20px 30px;
    margin-bottom: 40px;
  }
  .container {
    margin: 0 auto;
  }
  nav.hide-on-large.only.trigger {
    display: block;
    position: fixed;
    top: 0;
    z-index: 2;
    background-color: gray;
  }
  .name-title {
    display: block;
    height: 100%;
    padding-top: 15px;
    text-align: center;
    width: 100%;
    position: absolute;
  }
  .name-title > span,
  .name-title > a {
    position: relative;
    line-height: 20px;
  }
  .name-title a {
    font-size: 22px;
    display: block;
  }
  .name-title span {
    display: block;
    font-size: 14px;
  }
  h3,
  .container {
    position: relative;
    top: 64px;
  }
  section#intro {
    margin-bottom: -64px;
  }
  .card .role {
    position: relative;
    right: initial;
    top: initial;
  }
}

@media (max-width: 600px) {
  h2 {
    font-size: 22px;
    line-height: 200%;
    margin: 30px 0 0;
  }
  #intro.section .container *:not(span) {
    padding: 0;
  }
  .card .card-content .card-title {
    font-size: 20px;
    line-height: 24px;
  }
  #experience span.card-title {
    text-align: center;
    display: block;
  }
  #experience span.card-title a {
    margin: 0;
  }
  i.mdi-navigation-close.right {
    position: relative;
    bottom: 15px;
  }

 
  #contact a:not(.btn-floating) {
    text-align: center;
    display: block;
    left: initial;
    bottom: initial;
  }
  #contact a.btn-floating.btn-large {
    display: block;
    text-align: center;
    margin: 0 auto;
  }
  #intro.section {
    background-position-x: 30%;
  }
}

.grid-container {
  display: grid;
  align-items: start;
  justify-content: center;
  grid-template-columns: 2fr 1fr 2fr;
  grid-template-rows: 2fr 1fr;
  gap: 2px; /* Espacement entre les cartes */
}

.div1 { grid-area: 1 / 1 / 2 / 2; }
.div2 { grid-area: 1 / 3 / 2 / 4;}
.div3 { grid-area: 2 / 2 / 3 / 3; }


/* Disposition mobile */
@media (max-width: 768px) {
  .grid-container {
    grid-template-columns: 1fr; /* Une seule colonne */
    grid-template-rows: auto;   /* Ajuste automatiquement la hauteur de chaque ligne */
  }

  .div1, .div2, .div3 {
    grid-area: auto; /* Positionnement automatique en colonne */
  }
  .logo{
    width: 500px;
    text-align: center;
  }
}

footer{
  height: 100px;
  text-align: center;
  color: var(--PLblue);
  background-color: black;
  display: flex;
  justify-content: center;
}

footer p {
  color: rgb(47, 255, 54);
}

/* Contact Section Styling */


/* Ensuring the contact-list is displayed as a row with Flexbox */
.contact-list {
  display: flex;
  justify-content: space-evenly;  /* Ensures cards are evenly spaced */
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Ensuring each contact card is styled well and keeps a good layout */
.contact-card {
  display:flex;
  flex-direction: column;
    justify-content: center;
    align-items: center;
    align-content: center;
  margin: 10px;
  text-align: center;
  flex: 0 1 250px; /* Shrinks, allows flexibility, but bases at 150px */
  max-width: 200px; /* Max width to ensure the cards don't become too large */
}

/* If you want to limit the size of the contact cards */
.contact-card a {
  display: inline-block;
  margin: 10px 0;
}

.contact-text a {
  color: white;
  text-decoration: none;
}



/* Responsive Design: For smaller screens, reduce the contact cards' width */
@media (max-width: 768px) {
  .contact-card {
    flex: 0 1 45%; /* Adjust to 2 items per row on smaller screens */
    max-width: 250px; /* Limit the maximum width of the cards */
  }
}

@media (max-width: 480px) {
  .contact-card {
    flex: 0 1 100%; /* Stacks the items vertically on extra small screens */
    max-width: 100%; /* Ensures the cards don't get wider than their container */
  }
}

/* Scale on Hover for Icons */
.scale-on-hover {
  transition: transform 0.3s ease;
}
.scale-on-hover:hover {
  transform: scale(1.2);
}

/* Tooltip Style */
.tooltipped {
  font-size: 0.9rem;
  background-color: rgba(0, 0, 0, 0.8);
  border-radius: 4px;
}

