html {
  scroll-behavior: smooth;
  height: 100%;
  width: 100%;
}

@font-face {
  font-family: regular;
  letter-spacing: 5px;
  src: url(typeface/AbadiMTStd.ttf);
}
@font-face {
  font-family: bold;
  src: url(typeface/abadi-mt-std-extra-bold.otf);
}
@font-face {
  font-family: light;
  letter-spacing: 5px;
  src: url(typeface/abadi-mt-std-extra-light.otf);
}

.heikki {
  margin-bottom: 10px;
}

h1 {
  font-family: regular;
  font-size: 3rem;
  color: white;
  z-index: 100;
  position: relative;
}

#heikki {
  color: black;
}

.preview {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  display: inline;
  width: 12em;
  height: 12em;
  margin: 2em 4em 2em 2em;
  object-fit: cover;
}

.history-href {
  text-decoration: none;
  display: table-caption;
  color: black;
  font-weight: bold;
  font-size: 20px;
  margin-right: 2em;
  width: max-content;
}

#h-container {
  text-align: start;
}

#sub-text {
  padding-bottom: 6em;
  text-align: start;
}

img {
  margin: 0;
  display: inline-block;
}

body {
  height: 100%;
  margin: 0;
  width: 100%;
  background-color: white;
}

#bio-body {
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
  background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)),
    url(1.\ Heikki\ kuha-min.jpg);
}

.btn {
  letter-spacing: 0;
}

b {
  font-family: regular;
}

p {
  color: rgb(88, 88, 88);
  font-family: light;
  font-size: 1.1rem;
  width: 100%;
  text-align: center;
  margin: 0;
  font-weight: bolder;
  letter-spacing: 1.5px;
  margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
}

h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
  font-family: regular;
  letter-spacing: 1px;
}

a {
  font-family: light;
  letter-spacing: 1px;
  font-weight: normal;
}

.intro-header {
  min-height: 100vh;
  background-color: #111;
  height: 105%;
  display: block;
  background-position: center;
  background-size: 110% auto;
}

.header-nav {
  display: inline-block;
  padding: 0 2rem 0 0;
}

#heikki {
  font-weight: normal;
  letter-spacing: 1px;
}

#heikki2 {
  padding-bottom: 1em;
  font-size: 2.5em;
}

#frontpage-info {
  background-color: rgb(0, 0, 0, 1);
}

#main-page-item {
  background-color: white;
}

#palvelut {
  max-width: 80%;
  padding: 4rem 10rem;
  margin: 5rem;
  text-align: center;
}

.palvelut-flexbox {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  justify-items: center;
}

.palvelut-span {
  padding: 1.5%;
  background-color: #e1e1e1;
  margin: 0.4em;
  max-width: 12em;
}

#mid-img {
  width: 25%;
  height: 25%;
  display: inline;
  margin: 0 2%;
  object-fit: cover;
}

#mid-img2 {
  width: 25%;
  max-width: 17em;
  max-height: 17em;
  height: 17em;
  display: inline;
  margin: 0 2%;
  object-fit: cover;
}

.slide-show-img {
  height: 100%;
  width: 100%;
  display: inline;
  object-fit: cover;
}

#mid-images {
  text-align: center;
  max-width: 65em;
  padding-left: 2rem;
  padding-right: 2rem;
  vertical-align: top;
}

#palvelut-lower-image {
  margin: 0;
  display: inline;
  margin-top: 1.5em;
  text-align: center;
  width: 10em;
}

.header-nav-div {
  text-align: start;
  height: inherit;
  z-index: 3;
  position: relative;
  padding-top: 1em;
  -webkit-transition: background-color 200ms linear;
  -ms-transition: background-color 200ms linear;
  transition: background-color 200ms linear;
}

.header-nav-div-sub {
  text-align: start;
  height: 100%;
  z-index: 3;
  position: relative;
  -webkit-transition: background-color 200ms linear;
  -ms-transition: background-color 200ms linear;
  transition: background-color 200ms linear;
}

.header-nav-div-hero,
.header-nav-div-hero-lower {
  text-align: start;
  position: relative;
}

.header-nav-div-hero-lower {
  z-index: 2;
}

#bio {
  display: none;
}

#bio1 {
  display: inline-block;
  text-align: center;
  background-color: white;
  padding: 1rem 4rem;
  max-width: 100%;
}

.header-hero h2 {
  font-family: light;
  color: white;
  position: relative;
}

.center-hero-text {
  transition: 2s;
  padding: 2em 0 0 0;
  z-index: 2;
  font-size: 6rem;
  justify-content: center;
  font-family: light;
  text-align: center;
  margin-block-end: 0;
}

.sub-hero-text {
  transition: 2s;
  opacity: 0;
  padding: 0;
  z-index: 2;
  font-size: 2rem;
  justify-content: center;
  text-align: center;
  margin-bottom: 1.5rem;
  margin-top: 0.5rem;
}

.btn-block {
  margin-top: 3rem;
  display: block;
  z-index: 4;
  position: relative;
  text-align: center;
}

.btn {
  box-sizing: border-box;
  transition: 0.3s;
  background-color: white;
  text-decoration: none;
  color: black;
  margin-top: 2em;
  padding: 1em 3em;
  border-radius: 10px;
  text-align: center;
  font-size: 1.5em;
  font-weight: normal;
  font-family: regular;
}
.btn:hover {
  background-color: #818181;
  text-decoration: none;
  color: black;
  margin-top: 2em;
  padding: 1em 3em;
  border-radius: 10px;
  text-align: center;
  font-size: 1.5em;
  font-weight: normal;
  font-family: regular;
  transition: 0.3s;
}

#hr-1 {
  max-width: 20rem;
}

#soon {
  padding: 5rem 10rem;
  margin: 5rem;
}

.overlay {
  z-index: 1;
  transition: 2s;
  top: 0;
  left: 0;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 100%;
  bottom: -3em;
  height: 80%;
  background: #111;
  display: flex;
  opacity: 100%;
}

.overlay.full {
  transition: 2s;
  background: #111;
  opacity: 80%;
}

.second-overlay {
  z-index: 1;
  left: 0;
  top: 105%;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 100%;
  height: 105%;
  display: flex;
  background: linear-gradient(rgba(17, 17, 17, 0.78), rgb(0, 0, 0)) 50%;
  opacity: 90%;
}

.footer-overlay {
  z-index: 1;
  left: 0;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 100%;
  color: black;
  display: flex;
  background: black;
  opacity: 75%;
}

.footer-section {
  z-index: 1;
  padding: 3rem 0;
  padding-bottom: 1.5rem;
  display: block;
  background-image: linear-gradient(rgba(0, 0, 0, 1), rgb(0, 0, 0, 0.7)),
    url("./hero.JPG");
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: cover;
}

#index-footer {
  background-image: linear-gradient(rgba(0, 0, 0, 1), rgb(0, 0, 0, 0.8)),
    url(./hero2.jpg);
}

#gallery-main {
  margin: 0;
}

.footer-nav {
  text-align: justify;
  text-decoration: none;
  list-style: none;
  display: inline-block;
}

.footer-item {
  padding: 0 2em;
  z-index: inherit;
}

.footer-section img {
  margin: 0 auto;
}

.footer-text {
  text-decoration: none;
  list-style: none;
  color: white;
}

.footer-text:hover,
.footer-item:hover {
  text-decoration: underline;
  list-style: none;
  color: white;
}

.footer-item + .footer-item {
  margin-top: 2em;
}

.logo-span {
  padding: 0;
  align-items: flex-end;
}

.nav-logo {
  width: 5em;
  display: inline-block;
  padding: 0 1.2em;
}

.social-links {
  text-align: justify;
  list-style: none;
  display: inline-block;
}

.social-item + .social-item {
  margin-top: 2em;
}

.sidenav {
  display: inline-block;
  z-index: 2;
  padding-bottom: 0.8em;
  height: min-content;
}

.sidenav a {
  padding: 8px 8px 8px 32px;
  text-decoration: none;
  font-size: 25px;
  color: #c0c0c0;
  display: inline;
  float: left;
  transition: 0.3s;
}

.sidenav a:hover {
  color: #ffffff;
}

.sidenav .closebtn {
  position: absolute;
  display: none;
  top: 0;
  right: 25px;
  font-size: 36px;
  margin-left: 50px;
}

.main-upper {
  padding: 0;
  background-color: rgb(0, 0, 0, 1);
  text-align: center;
}

.contact-item {
  background-color: white;
}

.section-blog {
  padding: 2em 0;
  padding: 16px;
  text-align: center;
}

.upper-text {
  text-align: center;
}

#hr-1 {
  width: 70%;
  margin-bottom: 3em;
}

#lower-img {
  margin-top: 1.5em;
  text-align: center;
  display: block;
  width: 10em;
}

#heikki_kuka {
  margin-top: 2.5em;
  text-align: end;
  display: block;
  width: 10em;
}

.main-text {
  text-align: center;
  padding: 1rem 0rem 3rem 0;
}

.contact-item {
  display: inline-block;
  max-width: 10em;
  max-height: min-content;
  padding: 2rem 4rem;
  margin: 1rem;
  text-align: center;
  vertical-align: top;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.contact-item + .contact-item {
  margin-bottom: 0;
}

.footer-logo {
  padding-top: 1rem;
  text-align: center;
  display: block;
  width: 5em;
}

/* BIO */

.header-bio {
  height: 7em;
  display: block;
  background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 1)),
    url("./hero.JPG");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.bio-item {
  vertical-align: top;
  display: inline-block;
  max-width: 45em;
  padding: 3rem 8rem;
  margin: 1rem 10rem;
  background-color: white;
  text-align: center;
  text-align: center;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.bio-item p {
  text-align: center;
}

.bio-item-knife {
  display: inline-block;
  width: 25em;
  padding: 2rem 2rem;
  margin: 1rem;
  text-align: center;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.nav-logo-secondary {
  width: 5em;
  display: inline-block;
  padding: 0 1.2em;
  padding-top: 1em;
}

#knife {
  text-align: center;
  width: 15rem;
}

.gallery {
  margin-top: 7em;
  text-align: center;
  padding: 0 1em;
}

.item-gallery {
  height: 100%;
  width: 100%;
}

.item-gallery img {
  transition: width 1s, height 1s;
  image-rendering: crisp-edges;
  width: 15em;
  object-fit: cover;
  height: 15em;
  padding: 0.5em;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

/* STICKY HEADER */

.sticky {
  z-index: 4;
  position: fixed;
  -webkit-transition: background-color 200ms linear;
  -ms-transition: background-color 200ms linear;
  transition: background-color 200ms linear;
  top: 0;
  width: 100%;
}

.sticky-intro {
  z-index: 2;
  top: 5em;
  position: fixed;
}

.sticky + main {
  padding-top: 7rem;
}

#hero_header {
  padding-top: 1em;
  padding-bottom: 0.5em;
}

.body1 {
  background-image: url(1.\ Heikki\ kuha-min.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
}

.body2 {
  background-color: white;
}

@media only screen and (max-width: 1533px) {
  #mid-img {
    max-width: 25%;
    margin: auto;
  }
  #mid-img2 {
    max-width: 25%;
    margin: auto;
  }
}

@media only screen and (max-width: 1305px) {
  #history {
    text-align: center;
  }
  .preview {
    margin: 2em 2em 2em 2em;
  }
  .history-href {
    margin: 0;
    width: 10em;
    text-align: center;
  }
  #sub-text {
    text-align: center;
    padding-bottom: 4em;
  }
  #h-container {
    text-align: center;
  }
  .intro-header {
    background-size: 200% auto;
  }
  .header-hero {
    background-size: 200% auto;
  }
}

@media only screen and (max-height: 892px) {
  .center-hero-text {
    padding: 1.5em 0 0 0;
  }
}

@media only screen and (max-height: 853px) {
  .slideshow-container,
  .dots {
    display: none;
  }
}

@media only screen and (max-width: 1181px) {
  .center-hero-text {
    padding: 30% 0 0 0;
    z-index: 2;
    font-size: 4rem;
    justify-content: center;
    text-align: center;
    margin-bottom: 1rem;
  }

  .slideshow-container {
    padding: 0;
  }
}

@media only screen and (max-width: 1196px) {
  .center-hero-text {
    padding: 20% 0 0 0;
    z-index: 2;
    font-size: 5rem;
    justify-content: center;
    text-align: center;
    margin-bottom: 1rem;
  }

  .slideshow-container {
    padding: 0;
  }
}

@media only screen and (max-width: 937px) {
  .center-hero-text {
    padding: 20% 0 0 0;
    z-index: 2;
    font-size: 3rem;
    justify-content: center;
    text-align: center;
    margin-bottom: 1rem;
  }

  .slideshow-container {
    padding: 0;
  }
}

@media only screen and (max-width: 920px) {
  #sub-text {
    text-align: center;
    padding-bottom: 2em;
  }

  .btn-block {
    display: block;
    text-align: center;
  }

  .btn {
    background-color: white;
    text-decoration: none;
    color: black;
    margin-top: 2em;
    padding: 1em 3.5em;
    border-radius: 10px;
    text-align: center;
    font-size: 1.2em;
    font-weight: normal;
  }

  .header-nav {
    display: inline-block;
    padding: 0 2rem 0 0;
  }

  img {
    margin: 0 auto;
    display: inline-block;
  }

  .header-nav-div {
    text-align: start;
    height: inherit;
    z-index: 3;
    position: relative;
    padding-top: 1em;
    -webkit-transition: background-color 200ms linear;
    -ms-transition: background-color 200ms linear;
    transition: background-color 200ms linear;
  }

  .header-nav-div-sub {
    text-align: start;
    height: 100%;
    z-index: 3;
    position: relative;
    -webkit-transition: background-color 200ms linear;
    -ms-transition: background-color 200ms linear;
    transition: background-color 200ms linear;
  }

  .header-nav-div-hero {
    text-align: start;
    position: relative;
    padding-top: 5em;
  }

  .center-hero-text {
    padding: 20% 0 0 0;
    z-index: 2;
    font-size: 2.8rem;
    justify-content: center;
    text-align: center;
    margin-bottom: 1rem;
  }

  .sub-hero-text {
    padding: 0;
    z-index: 2;
    font-size: 1.2rem;
    justify-content: center;
    font-weight: lighter;
    text-align: center;
    margin-bottom: 1rem;
    margin-top: 1rem;
  }

  .overlay {
    z-index: 1;
    top: 0;
    left: 0;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 100%;
    bottom: -3em;
    height: 80%;
    background: linear-gradient(rgba(17, 17, 17, 0.78), rgb(0, 0, 0)) 50%;
    display: flex;
    opacity: 70%;
  }

  .footer-overlay {
    z-index: 1;
    left: 0;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 100%;
    color: black;
    display: flex;
    background: black;
    opacity: 75%;
  }

  .footer-section {
    z-index: 1;
    padding: 3rem 0;
    padding-bottom: 1.5rem;
    display: block;
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: 200% auto;
  }

  .footer-nav {
    text-align: justify;
    text-decoration: none;
    list-style: none;
    display: inline-block;
  }

  .footer-item {
    padding: 0 2em;
    z-index: inherit;
  }

  .footer-text {
    text-decoration: none;
    list-style: none;
    color: white;
  }

  .footer-text:hover,
  .footer-item:hover {
    text-decoration: underline;
    list-style: none;
    color: white;
  }

  .footer-item + .footer-item {
    margin-top: 2em;
  }

  .logo-span {
    padding: 0;
    align-items: flex-end;
  }

  .nav-logo {
    width: 5em;
    padding: 0 1.2em;
  }

  .social-links {
    text-align: justify;
    list-style: none;
    display: inline-block;
  }

  .social-item + .social-item {
    margin-top: 2em;
  }

  .sidenav {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 4;
    top: 0;
    left: 0;
    background-color: #111;
    overflow-x: hidden;
    padding-top: 60px;
    transition: 0.5s;
  }

  .sidenav a {
    padding: 8px 28px 8px 32px;
    text-decoration: none;
    font-size: 25px;
    display: block;
    color: #818181;
    display: block;
    transition: 0.3s;
  }

  .sidenav a:hover {
    color: #f1f1f1;
  }

  .sidenav .closebtn {
    position: absolute;
    top: 0;
    padding-right: 0;
    display: inline;
    right: 25px;
    font-size: 36px;
    margin-left: 50px;
  }
  .section-blog {
    padding: 0;
    padding: 16px 0;
    text-align: center;
  }
  .main-upper {
    padding: 2em 0;
  }

  .upper-text {
    text-align: center;
  }

  #hr-1 {
    width: 70%;
  }

  #lower-img {
    margin-top: 1.5em;
    text-align: center;
    display: block;
    width: 10em;
  }

  .main-text {
    text-align: center;
  }

  .contact-item {
    display: inline-block;
    width: -webkit-fill-available;
    padding: 2rem 4rem;
    margin: 1rem;
    text-align: center;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  }

  .footer-logo {
    padding-top: 1rem;
    text-align: center;
    display: block;
    width: 5em;
  }

  /* BIO */

  .main-upper-text {
    text-align: center;
  }

  #bio {
    display: inline-block;
    text-align: center;
    padding: 1rem 4rem;
    background: white;
  }

  .header-bio {
    height: 7em;
    display: block;
    background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)),
      url(1.\ Heikki\ kuha-min.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
  }

  .bio-item {
    display: inline-block;
    width: -webkit-fill-available;
    padding: 2rem 3rem;
    margin: 1rem;
    max-width: 100%;
    background-color: white;
    margin-top: 0;
    text-align: center;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  }

  .bio-item p {
    text-align: start;
  }

  .bio-item-knife {
    display: inline-block;
    width: -webkit-fill-available;
    padding: 2rem 2rem;
    margin: 1rem;
    text-align: center;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  }

  .nav-logo-secondary {
    width: 5em;
    display: inline-block;
    padding: 0 1.2em;
    padding-top: 1em;
  }

  #knife {
    text-align: center;
    width: 90%;
  }

  .gallery {
    text-align: center;
    padding: 0 1em;
  }

  .item-gallery {
    height: 100%;
    width: 100%;
  }

  .item-gallery img {
    transition: width 1s, height 1s;
    image-rendering: crisp-edges;
    width: 7em;
    object-fit: cover;
    height: 7em;
    padding: 0.5em;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  }

  /* STICKY HEADER */

  .sticky {
    z-index: 3;
    position: fixed;
    -webkit-transition: background-color 200ms linear;
    -ms-transition: background-color 200ms linear;
    transition: background-color 200ms linear;
    top: 0;
    width: 100%;
  }

  .sticky + main {
    padding-top: 7rem;
  }

  #hero_header {
    padding-top: 1em;
    padding-bottom: 0.5em;
  }

  .body1 {
    background-image: url(1.\ Heikki\ kuha-min.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
  }

  .body2 {
    background-color: white;
  }

  .gallery {
    margin-top: 0;
    text-align: center;
    padding: 0 1em;
  }

  #gallery-spacer {
    margin-bottom: 2em;
  }

  #mid-img,
  #mid-img2 {
    max-width: 90%;
    width: 17em;
    height: 17em;
    display: inline-block;
    margin: 0;
    padding: 0;
    margin-bottom: 2em;
    object-fit: cover;
  }

  #palvelut {
    padding: 2rem 4rem;
    margin: 0 0 1em 0;
    height: min-content;
    max-height: 100%;
    width: 60%;
  }

  /* BLOGI ja PALVELUT */

  #soon {
    padding: 3rem 5rem;
    margin: 0;
  }
}

@media only screen and (max-width: 700px) {
  .intro-header {
    background-size: 300% auto;
  }
  .header-hero {
    background-size: 300% auto;
  }
}

@media only screen and (max-width: 460px) {
  .slideshow-container,
  .dots {
    display: block;
  }
  .intro-header {
    background-size: 370% auto;
  }
  .header-hero {
    background-size: 370% auto;
  }
}
