/* Fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap');

:root {
  --default-font: 'JetBrains Mono', -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  --heading-font: "Inter", sans-serif;

  /* Dark Mode Colors */
  --background-color: #000000;
  /* Main page background */
  --surface-color: #1e1e1e;
  /* Card and container backgrounds */
  --default-color: rgba(255, 255, 255, 0.7);
  /* Default text */
  --heading-color: #ffffff;
  /* Heading text */
  --accent-color: rgba(255, 255, 255, 0.5);
  /* Buttons/links etc */
  --contrast-color: #101010;
  /* Light text on accent backgrounds */
}

/* Smooth scroll */
:root {
  scroll-behavior: smooth;
}

/*--------------------------------------------------------------
# General Styling & Shared Classes
--------------------------------------------------------------*/
body {
  color: var(--default-color);
  background-color: var(--background-color);
  font-family: var(--default-font);
  padding-top: 60px;
  padding-bottom: 150px;
}

.hero {
  margin-left: -10px;
}

.main {
  max-width: 1000px;
  margin: 0 auto;
  padding: 20px;
  width: 100%;
}

@media (max-width: 1100px) {
  .main {
    max-width: 90%;
  }
}

@media (max-width: 768px) {
  .main {
    max-width: 95%;
    padding: 15px 10px;
  }
}

a {
  color: white;
  text-decoration: none;
  transition: 0.3s;
}

a:hover {
  /* color: color-mix(in srgb, var(--accent-color), transparent 25%); */
  color: white;
  text-decoration: underline;
}

p {
  font-size: 15px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--heading-color);
  font-family: var(--heading-font);
  font-weight: 400;
}


/*--------------------------------------------------------------
# Preloader
--------------------------------------------------------------*/
#preloader {
  position: fixed;
  inset: 0;
  z-index: 999999;
  overflow: hidden;
  background: var(--background-color);
  transition: all 0.6s ease-out;
}

#preloader:before {
  content: "";
  position: fixed;
  top: calc(50% - 30px);
  left: calc(50% - 30px);
  border: 6px solid #ffffff;
  border-color: var(--accent-color) transparent var(--accent-color) transparent;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  animation: animate-preloader 1.5s linear infinite;
}

@keyframes animate-preloader {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/*--------------------------------------------------------------
# Scroll Top Button
--------------------------------------------------------------*/
.scroll-top {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  right: 15px;
  bottom: -15px;
  z-index: 99999;
  background-color: var(--accent-color);
  width: 44px;
  height: 44px;
  border-radius: 50px;
  transition: all 0.4s;
}

.scroll-top i {
  font-size: 24px;
  color: var(--contrast-color);
  line-height: 0;
}

.scroll-top:hover {
  background-color: color-mix(in srgb, white, transparent 20%);
  color: var(--contrast-color);
}

.scroll-top.active {
  visibility: visible;
  opacity: 1;
  bottom: 15px;
}

/*--------------------------------------------------------------
# Disable aos animation delay on mobile devices
--------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  [data-aos-delay] {
    transition-delay: 0 !important;
  }
}

@media screen and (max-width: 768px) {
  .hero img {
    width: 110px !important;
    height: 110px !important;
  }

  h3 {
    font-size: 20px;
  }
}

/*--------------------------------------------------------------
# Global Sections
--------------------------------------------------------------*/
section,
.section {
  color: var(--default-color);
  background-color: var(--background-color);
  overflow: clip;
}

/*--------------------------------------------------------------
# Global Section Titles
--------------------------------------------------------------*/
.section-title p {
  margin-bottom: 0;
}

.hero-inner {
  max-width: 700px;
  width: 100%;
}


@media (max-width: 768px) {
  .hero h2 {
    font-size: 80px;
  }

  .hero p {
    font-size: 23px;
  }

  .hero img {
    width: 70%;
    height: 70%;
  }
}

/*--------------------------------------------------------------
# projects Section
--------------------------------------------------------------*/
.projects .project-item {
  background-color: var(--contrast-color);
  box-shadow: 0px 5px 90px 0px rgba(0, 0, 0, 0.1);
  height: 100%;
  max-width: 450px;
  width: 100%;
  padding: 16px;
  border-radius: 26px;
  text-align: center;
  overflow: hidden;
  transition: 0.3s;
  display: flex;
  flex-direction: column;
}

.project-image {
  width: 100%;
  height: 180px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 8px;
}

.projects .project-item .icon {
  margin: 0 auto;
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: ease-in-out 0.3s;
  position: relative;
}

.projects .project-item:hover {
  box-shadow: 0px 5px 35px 0px rgba(0, 0, 0, 0.1);
}

/*--------------------------------------------------------------
# project Details Section
--------------------------------------------------------------*/
.source-code i {
  color: rgb(107, 103, 103) !important;
  transition: color 0.3s ease;
  font-size: 20px;
  text-decoration: none;
}

.source-code:hover,
.source-code:hover i {
  color: white !important;
  text-decoration: none;
}

@media (max-width: 768px) {
  .source-code i {
    font-size: 20px;
  }
}

.text-dim-2 {
  color: var(--accent-color);
}

.text-dim-1 {
  color: var(--default-color);
}
