* {
  box-sizing: border-box;
}

body {
  margin: 0;
  color: var(--clr-light);
  background: var(--bg-liner);
  font-size: var(--fs-body);
  text-align: justify;
}
section {
  padding: 2em 0;
}
a {
  text-decoration: none;
  color: #ffffff;
}
p{
  line-height: 1.5;
}

/* root */
:root {
  --ff-primary: "Source Sans Pro", sans-serif;
  --ff-secondary: "Source Code Pro", monospace;

  --fw-reg: 300;
  --fw-bold: 900;

  --clr-light: #fff;
  --clr-dark: #303030;
  --clr-accent: rgb(23 175 142);

  --bg-light: #fff;
  --bg-dark: rgb(23 175 142);
  --bg-liner: #141414;
  --bg-skill: rgba(99, 184, 165, 0.39);

  --fs-h1: 3rem;
  --fs-h2: 2.25rem;
  --fs-h3: 1.25rem;
  --fs-body: 1rem;
  --m-l: 50px;
  --m-s: 25px;
}

/* responsive */
@media (min-width: 768px) {
  :root {
    --fs-h1: 4.5rem;
    --fs-h2: 3.25rem;
    --fs-h3: 1.5rem;
    --fs-body: 1.125rem;

    --bs: 0.25em 0.25em 0.75em rgba(0, 0, 0, 0.25),
      0.125em 0.125em 0.25em rgba(0, 0, 0, 0.15);
  }
}

/* m-conatiner */
.m-container {
  max-width: 960px;
  width: calc(100% - 2rem);
  margin-left: 1rem;
  margin-right: 1rem;
}

/* responsive */
 @media screen and (min-width: 567px) {
  .m-container {
    max-width: 100%;
  }
} 

/* nav */
header {
  background: var(--bg-liner);
  box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
  position: fixed;
  width: 100%;
  z-index: 1000;
  padding: 0.2rem;
  top: 0;
  left: 0;
}
.nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
  background-color:var(--bg-liner);
  font-size: var(--fs-h3);
}
.nav li a {
  display: block;
  padding: 10px;
  text-decoration: none;

}

/* menu */
.nav .nav-links {
  clear: both;
  max-height: 0;
  transition: max-height 0.2s ease-out;
}

/* menu icon */
.nav .menu-icon {
  cursor: pointer;
  display: inline-block;
  float: right;
  padding: 28px 20px;
  position: relative;
  user-select: none;
}

.nav .menu-icon .navicon {
  background: #ffffff;
  display: block;
  height: 2px;
  position: relative;
  transition: background 0.2s ease-out;
  width: 18px;
}

.nav .menu-icon .navicon:before,
.nav .menu-icon .navicon:after {
  background: #ffffff;
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  transition: all 0.2s ease-out;
  width: 100%;
}

.nav .menu-icon .navicon:before {top: 5px;}

.nav .menu-icon .navicon:after {top: -5px;}

/* menu btn */
.nav .menu-btn {display: none;}

.nav .menu-btn:checked ~ .nav-links {
max-height: 240px;
}

.nav .menu-btn:checked ~ .menu-icon .navicon {
  background: transparent;
}

.nav .menu-btn:checked ~ .menu-icon .navicon:before {
  transform: rotate(-45deg);
}

.nav .menu-btn:checked ~ .menu-icon .navicon:after {
  transform: rotate(45deg);
}

.nav .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before,
.nav .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
  top: 0;
}

.nav-link {
    transition: all ease-out 250ms;
  }
  .nav-link:hover {
    color: var(--clr-accent);
  }
  .nav-logo:hover {
    color: var(--clr-accent);
  }
  a.active-link {
    color: var(--clr-accent);
  }
  
  .logo {
    max-width: 100%;
    display: block;
    float: left;
    font-size: 1em;
    padding: 20px 10px;
    align-items: center;
    text-decoration: none;
    font-size: 1.2rem;
  }

@media (min-width: 768px) {
.nav{
    padding: 0 2rem;
}
  .nav li {
    float: left;
  }
  .nav li a {
    padding: 20px;
    font-size: 1.2rem;
  }
  .nav .nav-links {
    clear: none;
    float: right;
    max-height: none;
  }
  .nav .menu-icon {
    display: none;
  }
}

/* hero-header */
.info-head {
  text-align: left;
  margin-top: 4rem;
  font-size: var(--fs-h1);
  color: var(--clr-accent);
}
.header-btn_text {
  color: var(--bg-liner);
}
.profile-image{
display: flex;
justify-content: center;
}
.profile {
  border-radius: 42% 56% 72% 28% / 42% 42% 56% 48%;
  max-width: 70%;
  margin-top: var(--m-l);
  background-size: cover;
  background-position: center;
  animation: morph 3.75s linear infinite;
}

@keyframes morph {
  0%,
  100% {
    border-radius: 42% 56% 72% 28% / 42% 42% 56% 48%;
  }
  33% {
    border-radius: 72% 28% 48% 48% / 28% 28% 72% 72%;
  }
  66% {
    border-radius: 100% 56% 56% 100% / 100% 100% 56% 56%;
  }
}

h4,
h3 {
  font-size: var(--fs-h3);
  font-weight: var(--fw-bold);
}
h1 {
  text-align: center;
}

/* responsive */
@media screen and (min-width: 768px) {
  .intro {
    display: grid;
    grid-template: 30px 30px/ 1fr 1fr;
    justify-content: center;
    align-items: center;
    gap: 6rem;
  }
  .info{
    margin-top: 8rem;
    }
  .info-head {
    width: 55%;
    margin: 4rem 0;
    }
  .profile-image{
    display: block;
    }
  .profile {
    max-width: 70%;
  }
  .nav-header {
    padding: 0 4em;
  }
}

/* contact btn */
button {
  margin-top: var(--m-s);
  background: var(--bg-light);
  border: 1px solid var(--clr-accent);
  border-radius: 5px;
  padding: 10px 15px;
  color: var(--clr-accent);
  font-weight: var(--fw-bold);
  cursor: pointer;
}
button:hover {
  background: var(--bg-dark);
  color: var(--clr-light);
  transition: all 0.3s ease-out;
}
button a:hover {
  color: var(--clr-light);
}

/* skill */
.skill-info {
  display: flex;
  gap: 8rem;
  align-items: center;
  justify-content: center;
}
span {
  color: var(--bg-light);
  font-size: var(--fs-h2);
  font-weight: var(--fw-bold);
  line-height: 1;
}

.s-skills_link {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
}
.s-skill_item {
  list-style: none;
  border-radius: 5px;
  width: 60px;
  height: 60px;
  padding: 10px;
}
.skill-header {
  margin-top: 2rem;
}

/* responsive */
@media screen and (min-width: 567px) {
  .s-skill_item {
    width: 70px;
    height: 70px;
  }
}
@media screen and (min-width: 768px) {
  .skill-header {
    margin-top: 10rem;
  }
}
@media screen and (min-width: 1024px) {
  .skill-header {
    display: flex;
    justify-content: center;
  }
  .skill-info {
    gap: 4rem;
  }
  .s-skills_link {
    display: flex;
    text-align: center;
    padding-left: 2rem;
  }
  section {
    padding: 4em;
  }
}

/* about */
.about-me{
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.abt-img{
  display: flex;
  justify-content: center;
}
.about-img {
  max-width: 100%;
}

/* responsive */
@media screen and (min-width: 768px) {
  .about-me {
    display: grid;
    grid-template: auto/1fr 1fr;
    gap: 4rem;
  }
  .abt-img{
  display: block;
  margin: auto 0;

  }
}

/* tech skills */
.tech-skills_links {
  display: grid;
  grid-template: repeat(2, 1fr) / repeat(2, 1fr);
  padding: 10px 0px;
  gap: 4rem;
  margin-top: var(--m-l);
}
.tech-skill_link {
  list-style: none;
  background: var(--bg-dark);
  border-radius: 5px;
  width: 70px;
  height: 70px;
  padding: 8px;
  margin: 0 auto;
}
.tech-skill_link:hover {
  transform: translateY(-5px) scale(1.005) translateZ(0);
}
.tech-text {
  margin-left: -4px;
  font-weight: var(--fw-bold);
}
/* skill animation */
.tagcloud {
  font-family: "Poppins", sans-serif;
  font-weight: var(--fw-bold);
  padding: 2rem;
  margin: 2rem auto;
}
.tagcloud--item {
  color: var(--bg-light);
  font-size: var(--fs-h3);
  cursor: pointer;
}
.tagcloud--item:hover {
  color: var(--clr-accent);
}

/* responsive */
@media screen and (min-width: 768px) {
  .tech-skills_links {
    display: grid;
    justify-content: space-between;
    grid-template: repeat(3, 1fr) / repeat(3, 1fr);
    gap: 8rem;
  }
  .tagcloud {
    margin-top: 8rem;
  }
}

@media screen and (min-width: 1024px) {
  .tech-skill_container {
    display: grid;
    grid-template: 40px 40px/1fr 1fr;
    gap: 5rem;
    height: 550px;
  }
  .tech-skills_links {
    display: grid;
    grid-template: repeat(3, 15px) / repeat(4, 15px);
  
  }
  .tagcloud {
    margin-left: 4rem;
  }
}

/* soft skill */
.soft-skills-container {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  gap: 4rem;
  margin-top: var(--m-l);
  text-align: center;
  font-weight: var(--fw-bold);
}
.soft-skill_img {
  width: 100%;
  transition: all 0.3s ease-out;
}
.soft-skill_img:hover {
  transform: translateY(-5px) scale(1.005) translateZ(0);
}
.cover {
  width: 145px;
  height: 145px;
  border-radius: 50%;
  background: rgb(255, 255, 255);
  border: 2px solid rgb(23, 167, 135);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
  transition: all 0.3s ease-out;
}
.cover:after {
  content: "";
  width: 128px;
  height: 128px;
  display: block;
  position: absolute;
  background: var(--bg-skill);
  border-radius: 50%;
  top: 7px;
  left: 7px;
  transition: opacity 0.3s ease-out;
}
.cover img {
  z-index: 10000;
  transform: translateZ(0);
}
.soft-skill_subtitle {
  width: 150px;
}
.soft-skill_img:hover .cover {
  border-color: rgb(23, 167, 135);
  background: var(--bg-skill);
}
.soft-skill_img:hover .cover:after {
  background: rgb(248, 248, 248);
}
.soft-skill_img:active {
  transform: scale(1) translateZ(0);
}

/* responsive */
@media screen and (min-width: 768px) {
  .soft-skill_images {
    display: grid;
    grid-template: repeat(2, 1fr) / repeat(2, 1fr);
    gap: 8rem;
  }
}
@media screen and (min-width: 1024px) {
  .soft-skill_images {
    display: flex;
  }
}

/* project card */
.cards {
  display: flex;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
}
.card {
  border-radius: 5px;
  background-color: rgb(29, 28, 28);
  box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
  max-width: 200px;
  padding: 15px;
  position: relative;
  margin-top: var(--m-l);
  overflow: hidden;
  cursor: pointer;
}
.card:hover {
  box-shadow: none;
  transform: scale(1.1);
}
.card img {
  max-width: 100%;
  border-radius: 5px 5px 0 0;
  transition: all 0.3s ease-in-out;
}
.card button {
  padding: 10px;
  border: none;
  background: var(--bg-dark);
  color: var(--clr-light);
  border-radius: 5px;
  width: 10.5rem;
  cursor: pointer;
}
.card button:hover {
  border: 1px solid var(--bg-dark);
  background: rgb(30, 139, 116);;
  color: var(--clr-accent);
}
.card-text{
  color: var(--bg-light);
}
.card-text p{
    margin-top:-20px;
    color: #b3aeae;
}

/* responsive */
@media screen and (min-width: 768px) {
  .cards{
    justify-content: space-between;
  }
  .card {
    max-width: 200px;
  }
  
}
@media screen and (min-width: 1024px) {
  .card {
    max-width: 250px;
  }
  .card button {
    width: 6rem;
  }
  .margin-button {
    margin-left: 20px;
  }
  
}
/* contact -section */
.footer-contact {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.contact-links {
  padding: 0px;
}
.contact-item {
  list-style: none;
}
.contact-title {
  text-align: left;
}
.pdf-link {
    color: var(--clr-accent);
}

/* responsive */
@media screen and (min-width: 768px) {
  .footer-contact {
    display: flex;
    flex-direction: row;
    gap: 3rem;
  }
  .contact-links {
    display: flex;
    gap: 2rem;
    padding: 0px;
  }
  .footer-contact__info {
    width: 60%;
  }
}
.footer-img img {
  width: 100%;
}

/* main footer */
.footer-section h1 {
  text-align: left;
}
.footer-social:hover {
  color: var(--bg-dark);
  cursor: pointer;
}
.footer-link:hover {
  color: var(--clr-accent);
  cursor: pointer;
}
.footer-links {
  list-style: none;
  margin-left: -2.5rem;
}
.footer-link,
.footer-address {
  line-height: 2;
}
.footer-social {
  margin: 5px;
}
.footer-item{
  margin: 2rem 0;
}
/* responsive */
@media screen and (min-width: 567px) {
  .footer-info {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
  }
}

/* scroll animation */
.scroll-bm{
  position: relative;
  opacity: 10;
}
  .scroll-bm.active {
    opacity: 1;
  }

  .active.fade-bm {
    animation: fade-bottom 2s ease;
  }
  @keyframes fade-bottom {
    0% {
      transform: translateY(50px);
      opacity: 0;
    }
    100% {
      transform: translateY(0);
      opacity: 1;
    }
  }
