/* 14. Headings */
h2 {
  text-align: center;
}
/* 1. General body and font */
body {
  font-family: "Barlow", sans-serif;
}

/* 2. Custom cursor (hidden on touch devices) */
@media (hover: none) and (pointer: coarse) {
  #custom-cursor {
    display: none !important;
  }
}

/* 3. Images */
img {
  max-width: 100%;
}

/* 4. Blog grid layout */
body .blog {
  display: grid;
  max-height: 85%;
  overflow: hidden;
  grid-template-columns: 10% 70% 15%;
  grid-template-rows: 100%;
  width: 100%;
  position: center;
  animation: scroll 1s linear infinite;
}

/* 5. Blog part */
body .blog-part {
  padding-left: 5rem;
  font-size: 20px;
  font-weight: 900;
}

/* 6. Blog menu */
body .blog-menu {
  font-size: 22px;
  text-decoration: none;
  color: #161419;
  display: flex;
  letter-spacing: -0.5px;
  align-items: center;
}
body .blog-menu svg {
  width: 22px;
  margin-left: 4px;
}
body .blog-menu + body .blog-menu {
  margin-top: 24px;
}
body .blog-menu.mention {
  margin-top: auto;
  font-size: 19px;
}
body .blog-menu.subscribe {
  margin-top: 8px;
  font-size: 19px;
  position: relative;
}
/* Removed empty rule: body .blog-menu.rounded:before {} */

/* 7. Blog big title */
body .blog-big__title {
  font-size: 50px;
  font-weight: 700;
  letter-spacing: -3px;
  margin-bottom: 75px;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.24);
  align-content: left;
}

/* 8. Blog article image and details */
body .blog-article img {
  height: 600px;
  width: 100%;
  border-radius: 25px;
  object-fit: cover;
}
.blog-article h2 {
  font-size: 26px;
  font-weight: 500;
  margin: 8px 0 8px;
}
/* Removed empty rule: .blog-article h2 span {} */
.blog-article a {
  color: #161419;
  text-decoration: none;
  font-size: 26px;
  letter-spacing: -1px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: auto;
  padding-top: 14px;
}
.blog-article a svg {
  width: 26px;
  margin-right: 10px;
}
.blog-detail {
  display: flex;
  align-items: center;
  text-align: left;
  justify-content: space-between;
  font-size: 14px;
}
/* Removed empty rule: .blog-detail span {} */

/* 9. Blog header container */
.blog-header-container {
  overflow-x: hidden;
  flex-direction: column;
  scroll-snap-type: y mandatory;
}
.blog-header-container > * {
  flex-shrink: 1;
}
.blog-header-container .blog-article:not(.header-article) {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  text-align: center;
}

/* 10. Sidebar */
.sidebar {
  width: 3em;
}

/* 11. Section: new-section, intro-section, stats-section */
#new-section {
  background-color: #000;
  padding: 2rem;
  text-align: left;
  font-family: "Barlow", sans-serif;
  color: #fff;
}
#new-section h2 {
  font-size: 2.5rem;
  font-weight: 700;
}
#new-section p {
  font-size: 1rem;
  font-weight: 400;
}
#new-section a {
  display: inline-block;
  background-color: #0731d1;
  color: #fff;
  padding: 1rem 2rem;
  border-radius: 5px;
  text-decoration: none;
  font-weight: 500;
  margin-top: 1rem;
}
#new-section a:hover {
  background-color: #0529a1;
}
#new-section > div {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 2rem 0;
}
#new-section > div > div {
  flex: 1;
}
#new-section input[type="email"] {
  padding: 0.5rem;
  width: 80%;
  border: none;
  border-radius: 5px;
}
#new-section button {
  padding: 0.5rem 1rem;
  background-color: #0731d1;
  color: #fff;
  border: none;
  border-radius: 5px;
  margin-left: 0.5rem;
}
#new-section button:hover {
  background-color: #0529a1;
}

#intro-section {
  display: flex;
  justify-content: space-between;
  padding: 2rem 0;
  border-bottom: 1px solid #000;
}
.intro-text {
  flex: 1;
  font-size: 1.5rem;
  color: #000;
}
.intro-list {
  flex: 1;
  text-align: right;
}
.intro-list ul {
  list-style: none;
  padding: 0;
}
.intro-list li {
  font-size: 1.25rem;
  color: #000;
  border-bottom: 1px solid #000;
  padding: 0.5rem 0;
}

#stats-section {
  display: flex;
  justify-content: space-around;
  padding: 2rem 0;
  background-color: #fff;
  text-align: center;
}
.stat-item h2 {
  font-size: 3rem;
  font-weight: 700;
  color: #000;
}
.stat-item p {
  font-size: 1.25rem;
  color: #000;
}

/* 12. Canvas background */
canvas {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

/* 13. Scrollbar */
::-webkit-scrollbar {
  display: none;
}

/* 14. Headings */
h2 {
  text-align: center;
}

/* 15. Responsive media queries (in order of appearance in HTML) */
@media screen and (max-width: 1400px) {
  body .blog-big__title {
    font-size: 50px;
  }
}
@media screen and (max-width: 1260px) {
  body .blog-menu {
    font-size: 1.6vw;
  }
  body .blog-menu.mention {
    font-size: 1.4vw;
  }
  body .blog-big__title {
    font-size: 40px;
    letter-spacing: -2px;
  }
}
@media screen and (max-width: 1080px) {
  .menu-hide {
    visibility: hidden;
  }
  .sidebar {
    visibility: hidden;
  }
}
@media screen and (max-width: 1030px) {
  body .blog {
    grid-template-columns: 10% 70% 15%;
    width: 100%;
    max-width: none;
    max-height: 120rem;
  }
  .projects-intro {
    font-size: 5px;
  }
}
@media screen and (max-width: 768px) {
  body {
    padding: 0;
    height: 100%;
  }
  .blog-header-container {
    border-right: 0;
    margin: 0 auto !important;
  }
  body .blog {
    grid-template-columns: 5% 80% 5% !important;
    width: 100% !important;
    max-width: none !important;
    max-height: 100rem !important;
  }
  .blog-part,
  .right-blog,
  .sidebar {
    width: 5% !important;
    min-width: 0 !important;
    padding-left: 0 !important;
  }
  .projects-intro {
    font-size: 5px;
  }
}
@media screen and (max-width: 560px) and (max-height: 800px) {
  body .blog {
    grid-template-columns: 0% 100% 0%;
    width: 100%;
    max-width: none;
    max-height: 100rem;
  }
  .projects-intro {
    font-size: 5px;
  }
}
@media screen and (max-width: 560px) {
  .stat-item h2 {
    font-size: 2rem;
    padding: 0.5rem 1rem;
  }

  .stat-item p {
    font-size: 1rem;
    padding: 0.5rem;
  }
  .right-blog {
    visibility: hidden;
  }
  .menu-hide {
    visibility: hidden;
  }
  .sidebar {
    visibility: hidden;
  }
}
