html {
  scroll-behavior: smooth;
  height: 100%;
}
* {
  margin: 0;
  padding: 0;
}

body {
  background-color: rgb(203, 201, 201);
  min-height: 100vh;
  padding: 0 12%; /* ez szorítja össze a képet */
  display: grid;
  grid-template-columns: 1fr 150px;
  grid-template-rows: auto 1fr auto;
  grid-template-areas:
    "navbar navbar"
    "main sidebar"
    "footer footer";
}

nav {
  top: 0;
  position: sticky;
  grid-area: navbar;
  height: 60px;
  background-color: rgb(227, 216, 202);
  box-shadow: 0 20px 10px rgba(0, 0, 0, 0.233);
  color: rgb(22, 151, 237);
  padding: 1em;
  z-index: 100;
}

.logo {
  position: absolute;
  margin-top: 10px;
  margin-left: 10px;
}

nav ul {
  float: right;
  margin-right: 20px;
}

nav ul li {
  display: inline-block;
  line-height: 80px;
  margin: 0 5px;
}

.checkbtn {
  /* font-size: 20px; */
  color: rgb(84, 83, 83);
  padding-top: 40px;
  cursor: pointer;
  display: none;
  position: absolute;
  top: 80%;
}

#check {
  display: none;
  left: 0;
}

.rj {
  width: 35px;
}
@media (max-width: 858px) {
  .logo {
    width: 50%;
  }
  nav {
    height: 40px;
  }
  .rj {
    width: 25px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
  body {
    grid-template-columns: 1fr;
    padding: 0; /* ez szorítja össze a képet */
  }
  aside {
    position: fixed;
    width: auto;
    display: none;
  }
  .checkbtn {
    display: block;
  }
  .show {
    display: block;
  }
  .typewriter h1 {
    font-size: 1rem;
  }
}

aside {
  position: sticky;
  top: 11vh; /* A viewport közepére állítjuk */
  height: auto; /* Ha nem adsz meg fix magasságot, alkalmazkodik a tartalomhoz */
  align-self: start;
  border: 2px solid #aee5f0;
  box-shadow: 0 20px 10px rgba(0, 0, 0, 0.233);
  grid-area: sidebar;
  background-color: #aee5f0;
}
@keyframes slideInLeft {
  from {
    transform: translateZ(100%);
    opacity: 0;
  }
  to {
    transform: translateZ(-20%);
    opacity: 1;
  }
}

aside.show {
  display: block;
  animation: slideInLeft 0.6s ease-out forwards;
  left: 0; /* Amikor megjelenik, balra beállítjuk */
}

aside ul {
  margin-right: 20px;
  list-style-type: none;
}

aside a {
  color: #757575;
  text-decoration: none;
}

main {
  background-color: rgb(255, 255, 255);
  padding: 0 8%;
  text-align: justify;
  grid-area: main;
}
/* Kiírós animáció */
.typewriter {
  display: flex;
  justify-content: center;
}

.typewriter h1 {
  margin-inline: auto;
  overflow: hidden;
  white-space: nowrap;
  border-right: 2px solid;
  width: 0; /* Kezdésnél 0 szélesség */
  animation: typing 1.2s steps(30) 0.5s forwards, blink 1s step-end infinite;
}

@keyframes typing {
  from {
    width: 0;
  }
  to {
    width: 20ch; /* 16 karakter szélességű */
  }
}

@keyframes blink {
  50% {
    border-color: transparent;
  }
}
/* Kiírós animáció vége*/

.welcome {
  min-height: 100vh;
  padding-top: 40px;
}

.welcome p {
  text-align: justify;
  color: rgb(3, 3, 3);
}
.faith {
  min-height: 100vh;
  padding-top: 140px;
}

.faith h1 {
}

.faith p {
}
.it {
  min-height: 100vh;
  padding-top: 140px;
}

.it h1 {
}

.it p {
}
.food {
  min-height: 100vh;
  padding-top: 140px;
}

.food h1 {
}

.food p {
}

footer {
  grid-area: footer;
  background-color: #333;
  color: #fff;
  text-align: center;
  padding: 5px;
}
.footer h2 {
  margin-bottom: 5px;
  font-size: 1em;
}

.footer a {
  color: #fff;
  text-decoration: none;
  display: inline-block;
  font-size: 0.8em;
  border-radius: 3px;
  transition: background-color 0.3s, color 0.3s;
}

.footer a:hover {
  background-color: #4ac8d1;
  color: #ffffff;
}

.footer a i {
  margin-right: 10px;
}
