/********* vaiables *********/
:root {
  /* colors */
  --primary: #ffc636;
  --secondary: #0a0858;
  --padding: 20px;
}

/***** resetting the default********/
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Rubic-regular";
}

li {
  list-style: none;
}

a {
  text-decoration: none;
}

/******* base styles****** */
body {
  background-color: var(--secondary);
}

.button {
  border: 2px solid var(--primary);
  color: var(--primary);
  padding: 6px 12px;
  background-color: var(--secondary);
  border-radius: 50px;
  text-transform: uppercase;
  font-weight: bold;
  cursor: pointer;
  outline: none;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
}

.button:hover {
  transition: all 200ms linear;
  background-color: var(--primary);
  color: var(--secondary);
}

.button:active {
  transform: scale(0.95);
}

input,
textarea {
  background-color: rgba(255, 255, 255, 0.05);
  border-radius: 20px;
  border: 2px solid #c4c4c4;
  color: #f2f2f2;
  padding: 10px 16px;
  outline: none;
}

input::placeholder,
textarea::placeholder {
  color: #a4a4a4;
}

h1,
h2,
h3,
h4 {
  color: #dddbff;
  font-weight: 800;
}

p,
a,
li {
  color: #9f93d8;
}

h1,
h3 {
  font-size: 1.2em;
}

h2 {
  font-size: 1.6em;
}
h4 {
  font-size: 1.1em;
}

.leading {
  font-size: 1.1em;
}

/********** fonts********* */
/* regular */
@font-face {
  font-family: "Rubic-regular";
  src: url("./assets/fonts/Rubik-Regular.ttf");
}
/* medium */
@font-face {
  font-family: "Rubic-medium";
  src: url("./assets/fonts/Rubik-Medium.ttf");
}
/* semi bold */
@font-face {
  font-family: "Rubic-semibold";
  src: url("./assets/fonts/Rubik-SemiBold.ttf");
}
/* bold */
@font-face {
  font-family: "Rubic-bold";
  src: url("./assets/fonts/Rubik-Bold.ttf");
}

/******* mobile styles ********/
/*---------  nav bar ---------- */
.grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
}

.site-nav {
  margin: var(--padding);
}

.site-nav h1 {
  grid-column: 1/4;
}

.site-nav ul {
  display: none;
}

/*--------  welcome section ----------*/
#welcome {
  padding: var(--padding);
  overflow: hidden;
}

.welcome-txt {
  grid-column: 1/6;
}

.welcome-img {
  grid-column: 6/-1;
}

.welcome-txt .leading {
  margin: 20px 0px;
}

.welcome-img img {
  width: 200%;
}

/*-------  project section -------- */
#portfolio {
  padding: 50px var(--padding);
  background: url("./assets/square_bg.png");
  background-position: bottom;
  background-size: cover;
  background-repeat: no-repeat;
}

#portfolio h3 {
  text-align: center;
  margin-bottom: 20px;
}

.projects a {
  grid-column: 1/-1;
  margin: 20px 0px;
}

.projects {
  text-align: center;
}

.projects a img {
  margin: 0 20px;
  max-width: 50%;
  align-self: center;
}

.projects a img:hover {
  transform: scale(1.05);
}

/*-------  skills section -------- */
#skills {
  padding: 50px var(--padding);
  background-color: #07083e;
}

#skills h3 {
  text-align: center;
  margin-bottom: 20px;
}
#skills ul {
  text-align: center;
}

#skills ul li {
  cursor: pointer;
  align-items: stretch;
  grid-column: span 4;
  margin: 20px;
}

#skills ul li:hover {
  transform: scale(1.1);
}

#skills ul li img {
  height: 80px;
  margin: 10px auto;
}

/*-------  contact section -------- */
#contact {
  padding: 50px var(--padding);
}

#contact h3,
#contact .leading {
  text-align: center;
}
#contact h3 {
  margin-bottom: 5px;
}

#contact form {
  max-width: 400px;
  margin: 20px auto;
  display: flex;
  flex-direction: column;
}

#contact form * {
  margin: 5px 0px;
}

#contact form .button {
  align-self: center;
}

/*-------  footer section -------- */
footer {
  padding: var(--padding);
  background-color: #14153d;
  display: flex;
  align-items: center;
}
.wrapper {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.copyright {
  font-size: 0.8rem;
  grid-column: 1/4;
}

.social {
  grid-column: 4/-1;
  justify-content: flex-end;
  align-items: center;
}

.social {
  display: flex;
}
.social li {
  margin: 0px 10px;
}

.social li:hover {
  transform: scale(1.15);
}

.social li img {
  width: 25px;
}

/* ****** tablet size******** */
@media (min-width: 600px) {
  :root {
    --padding: 30px;
  }
  /*---------  nav bar ---------- */
  .site-nav {
    margin: 25px var(--padding);
  }

  .site-nav ul {
    display: flex;
    grid-column: 4/-1;
    justify-self: end;
  }
  .site-nav ul li {
    margin: 0 10px;
  }
  .site-nav ul li a:hover {
    color: var(--primary);
    font-weight: bold;
    text-decoration: underline;
  }
  /*--------  welcome section ----------*/
  #welcome {
    padding: 80px var(--padding) 80px var(--padding);
  }
  .welcome-img img {
    width: 100%;
  }
  /*-------  project section -------- */
  #portfolio {
    padding: var(--padding) var(--padding) 0px 23px;
  }

  .projects a {
    margin: 40px 0px;
  }

  .projects a img {
    max-width: 40%;
  }

  /*-------  skills section -------- */
  #skills {
    padding: var(--padding);
  }

  #skills ul li {
    margin: var(--padding);
  }
  /*-------  contact section -------- */
  #contact {
    padding: var(--padding);
  }

  #contact form {
    max-width: 400px;
    margin: var(--padding) auto;
    display: flex;
    flex-direction: column;
  }
  /* footer */
  footer {
    padding: 20px var(--padding);
  }
}

@media (min-width: 800px) {
  :root {
    --padding: 40px;
  }
  /* --nav----- */
  .site-nav {
    margin: 25px var(--padding);
  }
  /* welcomne section */
  #welcome {
    padding: 100px var(--padding);
  }
  .welcome-txt .leading {
    max-width: 450px;
    margin: 20px 0px;
  }

  /* projects section */
  #portfolio {
    padding: 70px var(--padding) 70px var(--padding);
  }
  .projects a {
    grid-column: span 2;
    margin: 60px 0px;
  }
  .projects a:first-child {
    grid-column: 2/4;
  }
  .projects a img {
    margin: 0 20px;
    max-width: 80%;
  }
  /*-------  skills section -------- */
  #skills {
    padding: 50px var(--padding);
    background-color: #07083e;
  }
  #skills ul {
    max-width: 600px;
    margin: auto;
  }
  /* footer section */
  footer {
    padding: 20px var(--padding);
  }

  .copyright {
    font-size: 0.9rem;
  }
}

@media (min-width: 1000px) {
  /* nav-bar */
  .site-nav {
    max-width: 985px;
    margin: auto;
    padding: 25px var(--padding);
  }
  /*--------  welcome section ----------*/
  #welcome {
    margin: auto;
    max-width: 980px;
    padding: 130px var(--padding);
  }
  /*-------  project section -------- */
  #portfolio {
    padding: 50px var(--padding);
  }
  .projects {
    margin: auto;
    max-width: 900px;
  }
  /* skills section */
  #skills ul {
    max-width: 800px;
    margin: auto;
  }
  #skills ul li {
    grid-column: span 2;
    margin: 70px;
  }
  #skills ul li img {
    height: 100px;
    margin-bottom: 30px;
  }
  /* footer */
  .wrapper {
    max-width: 980px;
    margin: auto;
  }
}
