@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,900;1,700&display=swap");
@import url("https://fonts.googleapis.com/css?family=Exo:500,600,700|Roboto&display=swap");

html {
  overflow-x: hidden;
}

body {
  line-height: 1.6;
  font-family: "Exo", sans-serif;
  -webkit-font-smoothing: antialiased;
  font-size: 16px;
  color: #223a66;
  font-weight: 400;
}

/* Variables */
:root {
  --font-family: "Exo", sans-serf;
  --normal-font: 400;
  --bold-font: 700;
  --bolder-font: 900;
  --bg-color: #fcfcfc;
  --primary-color: #4756df;
  --secondary-color: #ff7235;
  --primary-shadow: #8b8eaf;
  --secondary-shadow: #a17a69;
  --bottom-margin: 0.5rem;
  --bottom-margin-2: 1rem;
  --line-height: 1.7rem;
  --transition: 0.3s;
}
/* Variables end */

html {
  scroll-behavior: smooth;
}

/* CSS Resets */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  /* border: 2px solid red; */
}

ul {
  list-style-type: none;
}

a {
  text-decoration: none;
  color: var(--primary-color);
}

a:hover {
  color: var(--secondary-color);
}

body {
  font-family: var(--font-family);
}

section {
  /* max-width: 1100px;
  margin: auto; */
}

/* CSS Resets end */

/* Navbar */
nav {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  /* padding: 1.5rem 3.5rem; */
  padding: 0.5rem 2rem;
  background-color: var(--bg-color);
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
}

nav h1 {
  color: var(--primary-color);
}

nav a {
  color: var(--primary-color);
  transition: var(--transition);
}
nav a:hover {
  color: var(--secondary-color);
  border-bottom: 2px solid var(--secondary-color);
}

nav ul {
  display: flex;
  gap: 1.9rem;
}

nav ul li {
  font-weight: var(--bold-font);
}

.burger-menu {
  color: var(--primary-color);
  font-size: 2rem;
  border: 0;
  background-color: transparent;
  cursor: pointer;
  display: none;
}
/* Navbar ends */

/* Hero section */
.hero {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
  /* max-width: 68.75rem; */
  margin: auto;
}

.hero img {
  margin-top: 10px;
  height: 30rem;
  width: 30rem;
  border-radius: 50%;
}

.bio {
  width: 25rem;
  padding: 0.625rem;
  border-radius: 6px;
  box-shadow: 0px 2px 15px 2px var(--primary-shadow);
  background-color: white;
}

.bio h1 {
  margin-bottom: var(--bottom-margin);
}

.bio p {
  line-height: var(--line-height);
  padding: 0.3rem 0;
}
/* Hero section ends */

/* Contact details starts */

.contact-details {
  background-color: #fcfcfc;
  padding: 0.5rem 6rem;
  margin-top: 25px;
  text-align: center;
}

.contact-alignment {
  display: table-cell;
  vertical-align: top;
}

/* Contact details ends */

/* More about */
.more-about {
  background-color: var(--bg-color);
  padding: 1rem 6rem;
  margin-top: 25px;
}

.more-about h2 {
  margin-bottom: var(--bottom-margin);
  text-align: center;
}

.more-about p {
  line-height: var(--line-height);
  padding: 0.4rem;
}
/* More about ends */

/* Skills section */
.skills {
  background-color: #fcfcfc;
  /*    padding: 0.5rem 6rem;*/
  /*max-width: 68.75rem;*/
  margin: auto;
  text-align: center;
  margin-top: 2.5rem;
}

.skill-header {
  margin-bottom: 1rem;
}

.skills-wrapper img {
  padding: 1.25rem;
}

.icon {
  width: 6.5rem;
  height: 6.5rem;
}
/* Skills section ends */

/* Organization section */
.organizations {
  background-color: var(--bg-color);
  padding: 32px 0;
  margin-top: 2rem;
}

.organizations-title {
  text-align: center;
  margin-bottom: 1rem;
}

.organizations-container {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 40px;
}

.organization-container {
  text-align: center;
  width: 21.875rem;
  padding: 1rem;
}

.organization-card {
  background-color: #fff;
  border-radius: 11px;
  box-shadow: 0 3px 10px var(--primary-shadow);
  padding: 20px;
  margin: 10px;
}

/* Organization section ends */

/* Skills rating section starts */

.skills-rating {
  background-color: var(--bg-color);
  margin-top: 2rem;
  padding: 1rem 3.5rem;
  text-align: center;
}
.skills-rating-mobile {
  display: none;
}
.skills-rating-nomobile {
  display: block;
}

.skills-rating-title {
  text-align: center;
  margin-bottom: 1rem;
}
.checked {
  color: orange;
}
.skills-rating-container {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 40px;
}

.skill-rating-container {
  text-align: center;
  width: 21.875rem;
  padding: 1rem;
}
.skill-alignment {
  width: 50%;
  float: left;
  text-align: right;
}

/* Skills rating section starts *?


/* Projects section */
.projects {
  background-color: var(--bg-color);
  padding: 32px 0;
  margin-top: 2rem;
}

.project-pic {
  width: 65%;
  height: 60%;
}

.projects-container {
  display: flex;
  align-items: center;
  justify-content: center;
}

.projects-title {
  text-align: center;
  margin-bottom: 1rem;
}

.project-container {
  text-align: center;
  height: 29rem;
  width: 21.875rem;
  padding: 1rem;
  position: relative;
}

.project-container p {
  padding: 0.4rem;
}

.project-title {
  margin-bottom: var(--bottom-margin);
}

.project-details {
  margin-bottom: var(--bottom-margin);
  text-align: justify;
}

.project-link {
  position: absolute;
  bottom: 0px;
  margin-left: -44px;
}

.card_img {
  width: 120px;
  height: 120px;
  overflow: hidden;
  border-radius: 100%;
  margin: -60px auto 0;
}
.card_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Projects section ends */

/* awards section starts */

.awards {
  background-color: #fcfcfc;
  padding: 0.5rem 6rem;
  margin-top: 25px;
  text-align: center;
}

.awards-container {
  display: flex;
  align-items: center;
  justify-content: center;
}

.award-container {
  text-align: center;
  width: 14rem;
  padding: 1rem;
}

.award-card {
  background-color: #fff;
  border-radius: 11px;
  box-shadow: 0 3px 10px var(--primary-shadow);
  padding: 20px;
  margin: 10px;
}

.award-pic {
  width: 100%;
  height: 250px;
}

.award-name {
  font-family: Verdana, sans-serif;
  font-size: 13px;
  font-weight: 900;
}
.award-duration {
  font-family: Verdana, sans-serif;
  font-size: 12px;
}
.award-company {
  font-family: Verdana, sans-serif;
  font-size: 11px;
  font-weight: 500;
  color: #959595;
}

/* awards section ends */

/* Contacts section */
.contact {
  margin-top: 2rem;
}

.contact h2 {
  text-align: center;
  margin-bottom: var(--bottom-margin-2);
}

.contact-form-container {
  max-width: 40.75rem;
  margin: 0 auto;
  padding: 0.938rem;
  border-radius: 5px;
  box-shadow: 0 3px 10px var(--secondary-shadow);
}

.contact-form-container label {
  line-height: 2.7em;
  font-weight: var(--bold-font);
  color: var(--primary-color);
}

.contact-form-container textarea {
  min-height: 6.25rem;
  font-size: 14px;
}

.contact-form-container .input-field {
  width: 100%;
  padding-top: 10px;
  padding-bottom: 10px;
  border-radius: 5px;
  border: none;
  border: 2px outset var(--primary-color);
  font-size: 0.875rem;
  outline: none;
}

.input-field::placeholder {
  padding: 0.5rem;
  color: var(--primary-color);
}

.submit-btn {
  width: 100%;
  padding: 10px;
  margin: 10px 0;
  background-color: #fff;
  border: 2px solid var(--primary-color);
  border-radius: 5px;
  font-size: 1rem;
  font-weight: var(--bold-font);
  transition: var(--transition);
}

.submit-btn:hover {
  background-color: var(--primary-color);
  border: 2px solid var(--primary-color);
  cursor: pointer;
}
/* Contacts section ends */

/* Social buttons */
.socials {
  display: flex;
  flex-direction: column;
  position: fixed;
  right: 1%;
  bottom: 50%;
}

.socicon {
  width: 2rem;
  height: 2rem;
}
.mail-socicon {
  width: 2rem;
  height: 2rem;
}

/* Social button ends */

/* Scroll to top button */
.scroll-up {
  position: fixed;
  right: 0.5%;
  bottom: 3%;
  cursor: pointer;
}

.up-arrow {
  width: 3rem;
  height: 3rem;
}
/* Scroll to top button ends */

/* Footer section */
footer {
  background-color: var(--bg-color);
  padding: 1.25rem;
  text-align: center;
  margin: 2rem 0 0;
}
/* Footer section ends */

/* General (utilities) */
.icon-card {
  background-color: #fff;
  border-radius: 11px;
  box-shadow: 0 3px 10px var(--secondary-shadow);
  padding: 20px;
  margin: 10px;
}

.project-card {
  background-color: #fff;
  border-radius: 11px;
  box-shadow: 0 3px 10px var(--primary-shadow);
  padding: 20px;
  margin: 10px;
}

/* Media queries for responsiveness */
@media screen and (max-width: 720px) {
  nav {
    padding: 1.5rem 1rem;
  }
  nav ul {
    position: fixed;
    background-color: var(--bg-color);
    flex-direction: column;
    top: 86px;
    left: 10%;
    width: 80%;
    text-align: center;
    transform: translateX(120%);
    transition: transform 0.5s ease-in;
  }

  nav ul li {
    margin: 8px;
  }

  .burger-menu {
    display: block;
  }

  nav ul.show {
    transform: translateX(0);
  }

  .hero {
    margin-top: -4rem;
    flex-direction: column;
    gap: 0;
  }

  .hero img {
    height: 37.5rem;
    width: 30rem;
  }

  .bio {
    margin-top: -7rem;
    width: 20.5rem;
  }

  .more-about {
    margin-top: 2rem;
    padding: 1rem 3.5rem;
  }

  .more-about h2 {
    text-align: center;
  }

  .more-about p {
    text-align: justify;
  }

  .icon {
    width: 5.875rem;
    height: 5.25rem;
  }

  .projects-container {
    flex-direction: column;
  }

  /*.project-container {
    width: 20.875rem;
    }*/

  .contact-form-container {
    max-width: 23.75rem;
  }
}

@media screen and (max-width: 420px) {
  .hero img {
    margin-top: 85px;
    height: 23rem;
    width: 23rem;
  }

  .bio {
    margin-top: 20px;
    width: 18.3rem;
  }

  /*.project-container {
    width: 17.875rem;
    }*/

  .contact-form-container {
    max-width: 17.75rem;
  }
}

@media screen and (max-width: 420px) {
  .navBarName {
    margin-left: -13px !important;
  }
}

@media screen and (max-width: 420px) {
  .contact-details #contact-mail {
    font-size: 11px;
  }
  .mail-socicon {
    width: 1.5rem;
    height: 1.5rem;
  }
  .contact-details #contact-phone::before {
    content: "\a";
    white-space: pre;
  }
  .contact-details #contact-whatsapp::before {
    content: "\a";
    white-space: pre;
  }
  .contact-details #contact-place::before {
    content: "\a";
    white-space: pre;
  }
}

@media screen and (max-width: 420px) {
  .organizations-container {
    display: block;
  }
}

/* Organizations details */

.organization-name {
  font-family: Verdana, sans-serif;
  font-size: 15px;
  font-weight: bold;
}
.organization-duration {
  font-family: Verdana, sans-serif;
  font-size: 14px;
  font-weight: 500;
}
.organization-designation {
  font-family: Verdana, sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: #959595;
}

@media screen and (max-width: 420px) {
  .skill-alignment {
    text-align: center;
    width: 100%;
  }
  .skills-rating-mobile {
    display: block;
  }
  .skills-rating-nomobile {
    display: none;
  }
  .skills-rating-container {
    font-size: 14px;
    margin-top: 30px;
  }
  .contact-details {
    text-align: left;
  }
  .company-name-font-size {
    font-size: 16px;
  }

  .awards-container {
    display: block;
    margin-left: -32px;
  }
}

.award-box-shadow {
  box-shadow: 0 4px 8px 0 #ffc86d, 0 6px 20px 0 #ffc86d;
}

.award-container:hover {
  transform: scale(1.15);
  cursor: pointer;
  transition: transform 0.5s ease;
}

/*Interests section starts*/

.interests {
  background-color: #fcfcfc;
  padding: 0.5rem 6rem;
  margin-top: 25px;
  text-align: center;
}

.chip {
  display: inline-flex; /* Changed to inline-flex for better alignment */
  align-items: center; /* Center items vertically */
  padding: 0 20px; /* Reduced padding for a more compact look */
  height: 50px;
  font-size: 16px;
  line-height: 50px;
  border-radius: 25px;
  background-color: #f1f1f1;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
  margin: 10px; /* Equal margin around chips */
  transition: transform 0.2s, box-shadow 0.2s; /* Smooth transitions */
}

.chip:hover {
  transform: translateY(-3px); /* Lift effect on hover */
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2); /* Deeper shadow on hover */
}

.interests-color {
  color: #4756df; /* Updated color for visibility */
  font-weight: bold; /* Bold text for emphasis */
  font-family: "Exo", sans-serf;
}

.chip img {
  height: 40px; /* Slightly smaller image size */
  width: 40px; /* Maintain aspect ratio */
  border-radius: 50%;
  margin-right: 10px; /* Space between image and text */
}

/*Education section starts*/

.education {
  background-color: #fcfcfc;
  padding: 0.5rem 6rem;
  margin-top: 25px;
  text-align: center; /* Change to left for better alignment */
}

.accordion {
  display: flex; /* Use flexbox for alignment */
  align-items: center; /* Center items vertically */
  background-color: #eee;
  color: #444;
  cursor: pointer;
  padding: 10px 15px; /* Adjust padding for better spacing */
  width: 100%;
  border: none;
  outline: none;
  font-size: 15px;
  transition: 0.5s;
}

.accordion:after {
  content: "\002B"; /* Plus icon */
  color: #777;
  font-weight: bold;
  margin-left: auto; /* Pushes icon to the right */
}

.active:after {
  content: "\2212"; /* Minus icon */
}

.panel {
  padding: 0 18px;
  background-color: white;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
  border-bottom: 0.5px solid lightgrey;
}

.education-icon {
  margin-right: 10px;
}

/*Education section ends*/

.resume-btn {
  border: 2px solid #223a66;
  border-radius: 5px;
  background-color: #223a66;
  color: white;
  padding: 8px 15px;
  font-size: 16px;
  cursor: pointer;
  margin-top: 5px;
  font-family: "Exo", sans-serif;
}

.resume-info {
  border-color: #223a66;
  color: white;
}

.resume-info:hover {
  background-color: white;
  color: #223a66;
}

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

.flip-box {
  background-color: transparent;
  width: 120px;
  height: 34px;
  border: 1px solid #f1f1f1;
  perspective: 1000px;
}

.flip-box-inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: transform 0.8s;
  transform-style: preserve-3d;
}

.flip-box:hover .flip-box-inner {
  transform: rotateX(180deg);
}

.flip-box-front,
.flip-box-back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.flip-box-front {
  background-color: #223a66;
  color: white;
  font-size: 18px;
}

.flip-box-back {
  background-color: white;
  color: #223a66;
  border-color: #223a66;
  border-style: solid;
  transform: rotateX(180deg);
}

.highlight {
  background-color: yellow;
}

a {
  color: #000;
  text-decoration: none;
}
a.button {
  position: fixed;
  top: 11%;
  left: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  overflow: hidden;
  border-radius: 8px;
  border-radius: 6px;
  background-color: white;
  transition: 0.2s;

  .label-hidden {
    max-width: 0;
    color: black;
    white-space: nowrap;
    transition: 0.5s;
  }

  &:hover {
    .label-hidden {
      max-width: 200px;
      margin-right: 8px;
      opacity: 1;
    }
  }
}

@media screen and (max-width: 420px) {
  a.button {
    position: fixed;
    top: 19%;
    left: 15px;
  }
}

@media screen and (max-width: 720px) and (min-width: 421px) {
  a.button {
    position: fixed;
    top: 20%;
    left: 15px;
  }
}

.certi-image {
  height: 90px !important;
  width: 90px !important;
}

/* ---------------------------------------- DARK MODE STARTS ----------------------------------------*/

/* Dark Mode Styles */
.dark-mode {
  --bg-color: #1a1a2e;
  --primary-color: #bb86fc;
  --secondary-color: #ff577f;
  --primary-shadow: #3a3b5a;
  --secondary-shadow: #573749;
  color: #e0e0e0;
}

body.dark-mode {
  background-color: var(--bg-color);
  color: #e0e0e0;
}

.dark-mode nav {
  background-color: var(--bg-color);
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.5);
}

.dark-mode .hero {
  background-color: var(--bg-color);
}

.dark-mode .bio,
.dark-mode .project-card,
.dark-mode .award-card,
.dark-mode .contact-form-container,
.dark-mode .skills,
.dark-mode .contact-details {
  background-color: #33334d;
  color: #e0e0e0;
  box-shadow: 0px 2px 15px 2px var(--primary-shadow);
}

.dark-mode .organization-card {
  background-color: var(--primary-shadow);
}

.dark-mode .highlight {
  background-color: #ffdd57;
  color: #1a1a2e;
}

.dark-mode .certificates,
.dark-mode .awards,
.dark-mode .interests,
.dark-mode .education {
  background-color: var(--bg-color);
  color: #e0e0e0;
}

.dark-mode a {
  color: var(--primary-color);
}

.dark-mode a:hover {
  color: var(--secondary-color);
}

.dark-mode .accordion {
  background-color: #3a3b5a;
  color: #e0e0e0;
}

.dark-mode .submit-btn {
  background-color: #3a3b5a;
  color: #e0e0e0;
}

.dark-mode .submit-btn:hover {
  background-color: var(--primary-color);
}

.dark-mode .skills-wrapper .icon-card {
  filter: brightness(0.8);
}

.dark-mode .skills-wrapper .icon-card:hover {
  filter: brightness(1);
}

.dark-mode .award-container {
  background-color: #44466a;
  color: #e0e0e0;
  box-shadow: 0px 2px 15px 2px var(--primary-shadow);
}

.dark-mode .award-name,
.dark-mode .award-duration,
.dark-mode .award-company,
.dark-mode .education {
  color: #e0e0e0;
}

.dark-mode .chip {
  background-color: #44466a;
  color: #e0e0e0;
}

.dark-mode .panel {
  background-color: #44466a;
  color: #e0e0e0;
}

.dark-mode .accordion {
  background-color: #44466a;
  color: #e0e0e0;
}

.dark-mode .interests-color {
  color: #bb86fc;
}

/* ---------------------------------------- DARK MODE ENDS ----------------------------------------*/

/*----------------------------------------- TOGGLE BUTTON STARTS ----------------------------------*/

/*
F5EB42 - sun inner
E4C74D - sun outer
FFFFFF - cloud inner
D4D4D2 - cloud outer
81C0D5 - parent outer
C0E6F6 - parent inner
FFFDF2 - moon inner
DEE1C5 - moon outer
FCFCFC - stars
*/
body {
  background-color: #f3f3f3;
}

.wrapper {
  text-align: center;
}

.toggle {
  position: relative;
  display: inline-block;
  width: 115px;
  margin-left: 100px;
  padding: 4px;
  border-radius: 40px;
  height: 65px;
}

.toggle:before,
.toggle:after {
  content: "";
  display: table;
}

.toggle:after {
  clear: both;
}

.toggle-bg {
  position: absolute;
  top: -4px;
  left: -4px;
  width: 100%;
  height: 100%;
  background-color: #c0e6f6;
  border-radius: 40px;
  border: 4px solid #81c0d5;
  transition: all 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.toggle-input {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid red;
  border-radius: 40px;
  z-index: 2;
  opacity: 0;
}

.toggle-switch {
  position: relative;
  top: 2px;
  width: 45px;
  height: 45px;
  margin-left: 50px;
  background-color: #f5eb42;
  border: 4px solid #e4c74d;
  border-radius: 50%;
  transition: all 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.toggle-switch-figure {
  position: absolute;
  bottom: -14px;
  left: -50px;
  display: block;
  width: 80px;
  height: 30px;
  border: 8px solid #d4d4d2;
  border-radius: 20px;
  background-color: #fff;
  transform: scale(0.4);
  transition: all 0.12s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.toggle-switch-figure:after {
  content: "";
  display: block;
  position: relative;
  top: -65px;
  right: -42px;
  width: 15px;
  height: 15px;
  border: 8px solid #d4d4d2;
  border-radius: 100%;
  border-right-color: transparent;
  border-bottom-color: transparent;
  transform: rotateZ(70deg);
  background-color: #fff;
}
.toggle-switch-figure:before {
  content: "";
  display: block;
  position: relative;
  top: -25px;
  right: -10px;
  width: 30px;
  height: 30px;
  border: 8px solid #d4d4d2;
  border-radius: 100%;
  border-right-color: transparent;
  border-bottom-color: transparent;
  transform: rotateZ(30deg);
  background-color: #fff;
}

.toggle-switch-figureAlt {
  content: "";
  position: absolute;
  top: 5px;
  left: 2px;
  width: 2px;
  height: 2px;
  background-color: #efeeda;
  border-radius: 100%;
  border: 4px solid #dee1c5;
  box-shadow: 42px -7px 0 -3px #fcfcfc, 75px -10px 0 -3px #fcfcfc,
    54px 4px 0 -4px #fcfcfc, 83px 7px 0 -2px #fcfcfc, 63px 18px 0 -4px #fcfcfc,
    44px 28px 0 -2px #fcfcfc, 78px 23px 0 -3px #fcfcfc;
  transition: all 0.12s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform: scale(0);
}

.toggle-switch-figureAlt:before {
  content: "";
  position: absolute;
  top: -6px;
  left: 18px;
  width: 7px;
  height: 7px;
  background-color: #efeeda;
  border-radius: 100%;
  border: 4px solid #dee1c5;
}

.toggle-switch-figureAlt:after {
  content: "";
  position: absolute;
  top: 19px;
  left: 15px;
  width: 2px;
  height: 2px;
  background-color: #efeeda;
  border-radius: 100%;
  border: 4px solid #dee1c5;
}

.toggle-input:checked ~ .toggle-switch {
  margin-left: 0;
  border-color: #dee1c5;
  background-color: #fffdf2;
}

.toggle-input:checked ~ .toggle-bg {
  background-color: #484848;
  border-color: #202020;
}

.toggle-input:checked ~ .toggle-switch .toggle-switch-figure {
  margin-left: 40px;
  opacity: 0;
  transform: scale(0.1);
}

.toggle-input:checked ~ .toggle-switch .toggle-switch-figureAlt {
  transform: scale(1);
}

/*----------------------------------------- TOGGLE BUTTON ENDS ----------------------------------*/
