/* ===================
   RESET & BASE STYLES
   =================== */
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
html {
  font-size: 62.5%;
}
body {
  font-size: var(--font-size-base);
  font-family: var(--primary-font);
  background: linear-gradient(rgba(255, 255, 240, 0.8), rgb(255, 255, 234)),
    center center url("../img/kanji_bg_sm.jpg");
  background-repeat: no-repeat;
  background-size: cover;
}
/* ===================
   TYPOGRAPHY
   =================== */

h2,
h3,
h4 {
  font-family: var(--header-font);
}
h3 {
  font-size: var(--font-size-m);
}
h4 {
  font-size: var(--font-size-s);
}
p {
  max-width: 40em;
  line-height: var(--line-height-l);
}

a {
  color: var(--text-dark);
  text-decoration: none;
  transition: color 0.6s;
}
a:visited {
  color: var(--text-dark);
}
a:hover {
  color: var(--accent-color-red);
}

/* ===================
   LAYOUT SYSTEM
   =================== */
/* Site container */
#site-container {
  display: grid;
  grid-template-columns: 1fr;
  margin: 0 auto;
}
header,
main,
footer {
  grid-column: 1 / -1;
}
/* Main container */
.main-container {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gap);
  background-color: var(--background-color);
  box-shadow: 4px 4px 100px rgba(0, 0, 0, 0.4);
  min-width: 610px;
}
.main-container,
.main-container * {
  border-radius: var(--border-radius);
}
/* ===================
   HEADER
   =================== */

.header-container {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin-left: var(--spacing-s);
}
.header-container h1 {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-normal);
}
.header-container h2 {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-normal);
  font-style: italic;
}
/* Navigation */
nav {
  /* font-family: var(--primary-font); */
  font-size: var(--font-size-m);
}

.nav-container ul {
  display: flex;
  flex-direction: row;

  list-style: none;
  gap: var(--spacing-m);
  padding-right: var(--spacing-m);
}
.nav-container a {
  display: inline-block;
  margin: 4px 5px;
  text-shadow: 0 4px 12px rgba(0, 0, 0, 0.8);
  color: var(--text-dark);
  transition: transform 0.7s ease-out;
}

.nav-container a:hover {
  display: inline-block;
  font-weight: var(--font-weight-semibold);
  transform: scale(1.5) translateY(-4px);
}

/* ===================
   HERO SECTION
   =================== */

.hero-container {
  grid-column: 1 / -1;
  grid-row: 1;

  background: linear-gradient(
      rgba(255, 255, 255, 0.1),
      rgba(255, 255, 255, 0.5)
    ),
    url("../img/samurai_armor_hero.jpg") no-repeat center center;
  background-size: cover;

  height: 30rem;
  color: var(--light-text-color);

  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: end;
  padding: 2rem;

  border-radius: 8px 8px 0 0;
}

.hero-content-container {
  display: flex;
  flex-direction: column;
  justify-content: end;
  align-items: start;
  margin-top: 10rem;

  text-shadow: 0 4px 12px rgba(0, 0, 0, 0.8);
  animation: fade-in ease 8s;
}

@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.hero-content-container h2 {
  font-size: var(--font-size-xl);
  font-family: var(--header-font);
  font-weight: var(--font-weight-semibold);
}
.hero-content-container h3 {
  font-size: var(--font-size-xl);
  font-family: var(--heroSubHeaderFamily);
  font-weight: var(--font-weight-normal);
}

.heroButton {
  background: none;
  color: var(--text-light);
  border: 1px solid var(--accent-color-white);
  border-radius: 0.5rem;
  padding: var(--spacing-s);
  margin-left: 12rem;

  box-shadow: 0 4px 8px rgba(198, 198, 198, 0.5);

  transition: 0.4s ease-in-out;
}

.heroButton:hover {
  background-color: var(--accent-color-white);
  color: gray;
}

.heroButton:active {
  color: var(--accent-color-white);
  transform: scale(0.95);
}
/* Profile container */
.profile-container {
  grid-column: 1/-1;
  grid-row: 2;
  background-color: var(--primary-color);
  padding: var(--spacing-l);
}
.profile-container p {
  line-height: var(--line-height-xl);
  margin-bottom: var(--spacing-m);
}
.profile-container::first-letter {
  float: left;
  font-size: var(--font-size-xxxl);
  margin-top: -2.5rem;
}

/* About container */
.about-container {
  grid-column: 1/-1;
  grid-row: 3;
  /* gap: var(--gap); */

  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto 1fr;
  grid-template-areas:
    "aboutHeader aboutHeader aboutHeader"
    "about1 about2 about3";
  padding: var(--spacing-m);
  font-size: var(--font-size-m);
}

.aboutHeader {
  grid-area: aboutHeader;
}
.about,
.aboutHeader {
  background-color: var(--primary-color);
  padding: var(--spacing-m);
}
.about1 {
  margin: var(--spacing-s);
  grid-area: about1;
}
.about2 {
  margin: var(--spacing-s);
  grid-area: about2;
}
.about3 {
  margin: var(--spacing-s);
  grid-area: about3;
}
.about::first-letter {
  font-weight: var(--font-weight-semibold);
}
/* Skills container */
.skills-container {
  display: grid;
  grid-column: 1/-1;
  grid-row: 4;

  /* grid-template-columns: 1fr 1fr; */
  /* grid-template-rows: repeat(3, auto 1fr 1fr); */
  grid-template-areas:
    "skillsHeader skillsHeader"
    "skill1 skill2"
    "skill3 skill4";
  margin: 0 auto;
}
.skillsHeader {
  background-color: var(--primary-color);
  padding: var(--spacing-s) var(--spacing-xl);
  grid-area: skillsHeader;
  margin: 0 auto;
}
.skill1 {
  grid-area: skill1;
}
.skill2 {
  grid-area: skill2;
}
.skill3 {
  grid-area: skill3;
}
.skill4 {
  grid-area: skill4;
}
.skills {
  margin: var(--spacing-m);
  padding: var(--spacing-m);
  display: flex;
  flex-direction: row;
  align-items: center;
  background-color: var(--primary-color);
  border-radius: var(--border-radius);
  box-shadow: var(--boxShadow);

  text-align: center;
  font-size: var(--font-size-m);
  transition: transform 1.5s ease-in-out, background-color 1.5s ease-in-out;
}
.skills img {
  max-width: var(--spacing-xl);
  object-fit: contain;
  margin-right: var(--spacing-s);
  border: 3px dashed rgba(255, 0, 0, 0.471);
  border-radius: var(--border-radius);
  box-shadow: var(--boxShadow);
}

.skills:hover {
  transform: scale(1.7) translate(60px, 0px);
  background-color: lightgoldenrodyellow;
}

.skills:nth-child(odd) {
  flex-direction: row-reverse;
}
.skills:nth-child(even) img {
  margin-left: var(--spacing-s);
}

.skills:nth-child(even):hover {
  transform: scale(1.7) translate(-70px, 0px);
  background-color: lightgoldenrodyellow;
}

/* Blog container */
.blog-container {
  grid-column: 1/ -1;
  grid-row: 5/8;
  display: grid;

  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr 1fr 1fr;
  background-color: var(--primary-color);
  border-radius: var(--border-radius);
  min-width: 30rem;
}
.blogPostHeader {
  padding-left: var(--spacing-m);
  padding-top: var(--spacing-s);
  margin-bottom: -1rem;
}
.blog-post {
  margin: var(--spacing-m) var(--spacing-m);
  background-color: var(--accent-color-white);
  border-radius: var(--spacing-s);
  padding: var(--spacing-s);
}
.blog-post p {
  margin: var(--spacing-m) var(--spacing-m);
  font-size: var(--font-size-m);
}
.blog-post p::before {
  content: "";
  width: 100px;
  height: 100px;
  background-image: url("../img/blogLogo.jpg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  float: left;
  margin-right: 8px;
  margin-top: 2px;
}
.blog-post a {
  text-decoration: underline;
}

/* ===================
   SIDEBAR
   =================== */

aside {
  display: none;
}
aside ul {
  list-style: none;
  padding: var(--spacing-m);
  line-height: var(--line-height-xl);
}

/* ===================
   CONTACT FORM
   =================== */

.contact-container {
  grid-column: 1/-1;
  grid-row: 8;
  background-color: var(--primary-color);
  margin: var(--spacing-m) var(--spacing-m);
  padding: var(--spacing-s);
  display: flex;
}
.contact-container form {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-s);
  color: lightcoral;
  margin: 0 auto;
  font-weight: var(--font-weight-semibold);
}

.contact-container input {
  margin: var(--spacing-s);
  padding: var(--spacing-xs);
}
.contact-container input,
.contact-container textarea {
  border: 2px solid coral;
  box-shadow: 0 2px 4px coral;
}

.contact-container textarea {
  padding: var(--spacing-m);
  background: url("../img/Hello_Kitty_sm.png");
  background-size: 20%;
  background-position: right bottom;
  background-color: var(--accent-color-white);
  background-repeat: no-repeat;
}
.contact-container textarea background {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.contact-container input[type="submit"] {
  padding: var(--spacing-s);
  background-color: var(--accent-color-red);
  color: var(--light-text-color);
  transition: 0.4s ease-in-out;
}
.contact-container input[type="submit"]:hover {
  transform: scale(1.1);
}
.contact-container input[type="submit"]:active {
  transform: scale(0.95);
}
/* ===================
   FOOTER
   =================== */

.footer-container {
  grid-column: 1 / -1;
  grid-row: 9;
  margin: var(--spacing-l) var(--spacing-m);
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.icon-container {
  margin: var(--spacing-l) 0;
}

.icon-container a {
  padding: var(--spacing-s);
}
