*,
*::after,
*::before {
  box-sizing: border-box;
}
body {
  margin: 0;
  font-family: "roboto";
}
/* Header */
.index-header {
  padding: 0;
  margin: 0;
  color: white;
  background-color: rgb(31, 31, 31);
  display: grid;
  font-size: 3vw;
  grid-template-columns: max-content auto max-content max-content;
  align-items: center;
}
.index-header h2 {
  font-weight: 900;
  padding: 1em;
  margin: 0;
}
.index-header h3 {
  margin: 0;
  padding: 1em;
}
.index-header img {
  background-color: white;
  width: 3em;
  margin-left: 1em;
}
a {
  color: inherit;
  text-decoration: inherit;
}
@media (min-width: 615px) {
  .index-header {
    font-size: 1rem;
  }
}

/* banner */
.banner {
  text-shadow: 0px 0px 3px black;
  color: white;
  font-size: 3vw;
  display: grid;
  grid-template: 1fr 1fr 1fr / repeat(2, 1fr) 0;
}

.banner img {
  grid-row: 1/-1;
  grid-column: 1/-1;
  width: 100%;
}
.banner-background {
  grid-row: 1/-1;
  grid-column: 1/-1;
  width: 100%;
  border: 5px solid black;
  background-color: rgba(0, 0, 0, 0.459);
}
.banner-info {
  padding: 1em;
  height: 100%;
  width: 100%;
  max-width: 1050px;
  grid-row: 2/-1;
  grid-column: 1/-2;
}
.banner-date {
  font-size: 2vw;
  margin: 0;
}
.banner-heading {
  margin-top: 0;
  margin-bottom: 0.1em;
  font-size: 5vw;
  font-weight: 900;
  letter-spacing: 2px;
}
.banner-subheading {
  margin-top: 0;
  font-size: 3vw;
  font-weight: 900;
  letter-spacing: 2px;
}
.banner-des {
  font-size: 2.5vw;
  font-weight: 300;
  letter-spacing: 2px;
}
.logos {
  grid-row: 1/2;
  grid-column: 1/-1;
  width: 100%;
  font-size: 1.4em !important;
  padding: 1em;
  display: flex;
  gap: 0.5em;
  justify-content: center;
}
.fa-github,
.fa-linkedin,
.icon {
  font-size: 0.9em !important;
  width: max-content;
  color: white;
  border-radius: 20px;
  background-color: black;
  align-self: baseline;
  transition: 0.4s;
  padding: 0.5em 1em;
}
.fa-github:hover,
.fa-linkedin:hover,
.icon:hover {
  transform: scale(1.12);
  background-color: aliceblue;
  color: black;
}
.icon-div {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5em;
}
.github-text {
  align-self: baseline;
  font-size: 0.5em;
}
@media (min-width: 915px) {
  .logos {
    font-size: 2rem;
    padding: 0.5em;
  }
  .banner {
    font-size: 2rem;
    grid-template: 20vh repeat(2, 1fr) / repeat(2, 2fr) 1fr;
    height: 65vh;
    min-height: 500px;
  }
  .banner img {
    height: 100%;
    object-fit: cover;
  }
  .banner-heading {
    font-size: 2.5rem;
  }
  .banner-subheading {
    font-size: 1.8rem;
  }
  .banner-date {
    font-size: 1rem;
  }
  .banner-des {
    font-size: 1rem;
    font-weight: 300;
    margin: 0;
  }
}
/* HEADING */
.middle-heading {
  text-align: center;
  font-size: 3vw;
}
.middle-heading h2 {
  font-weight: 900;
  letter-spacing: 3px;
}
@media (min-width: 915px) {
  .middle-heading {
    font-size: 1.5rem;
  }
}
/* MAIN CONTENT */
main {
  margin: 1em;
  display: grid;
  gap: 1em;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.post {
  border-radius: 10px;
  padding: 1em;
  background-color: rgba(184, 184, 184, 0.349);
  width: 100%;
  height: 100%;
}
.main-date {
  font-size: 2vw;
  margin-bottom: 0;
}
.main-heading {
  margin: 0 0 0.5em 0;
  font-size: 4vw;
  letter-spacing: 1.5px;
  font-weight: 900;
}
.main-para {
  font-size: 2.5vw;
  letter-spacing: 1px;
  padding: 0 0 0.5em 0;
}
.main-image {
  width: 100%;
  object-fit: cover;
}
#more-post {
  grid-column: 1/-1;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.more-image {
  padding: 20px;
  border-radius: 50%;
  background-color: rgba(179, 179, 179, 0.699);
  width: 70px;
}
.more-heading {
  text-transform: uppercase;
  font-weight: 900;
  font-size: 4vw;
}
@media (min-width: 615px) {
  .main-image {
    height: 210px;
    width: 100%;
    object-fit: cover;
  }

  .main-date {
    font-size: 1rem;
  }
  .main-heading {
    font-size: 1.8rem;
  }
  .main-para {
    font-size: 1.2rem;
  }
  .more-heading {
    font-weight: 900;
    font-size: 2rem;
  }
}
@media (min-width: 615px) {
  .main-image {
    height: 20vw;
  }
  main {
    margin: 2em 2em;
    gap: 1em;
    /* border: 10px solid pink; */
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }
}
@media (min-width: 930px) {
  main {
    margin: 2em 3em;
    gap: 2em;
    /* border: 10px solid pink; */
    grid-template-columns: repeat(auto-fit, minmax(25vw, 1fr));
  }
}
/* FOOTER */
footer {
  padding: 0.5em;
  width: 100%;
  background-color: black;
  text-align: center;
}
footer h2 {
  font-size: 1vw;
  color: wheat;
}
@media (min-width: 615px) {
  footer h2 {
    font-size: 1rem;
  }
}
/* UTILITY CLASS */
.clickable,
a {
  cursor: pointer;
}
.hidden {
  display: none;
}
/* HOVER */

header h2 a:hover,
header h3 a:hover {
  background-color: whitesmoke;
  color: black;
  transition: 0.4s;
  padding: 1em;
}
.banner:hover {
  transition: 0.4s;
  border: 5px solid rgba(189, 189, 189, 0.521);
}
/* PROJECT HOVER */

main a:hover {
  border-radius: 10px;
  /* background-color: rgb(129, 194, 255); */
  transform: scale(1.02);
  transition: 0.4s;
}
.post a .main-image:hover {
  border-radius: 10px;
  /* background-color: rgb(129, 194, 255); */
  transform: scale(1.1);
  border: 1px solid black;
  transition: 0.4s;
}
#more-btn:hover {
  transition: 0.4s;
  background-color: rgb(129, 194, 255);
  transform: scale(1.2);
}
