* {
  box-sizing: border-box;
}

a {
  text-decoration: none;
  color: #000;
}

body {
  margin: 0;
}

.logo {
  width: 423px;
  height: 98px;
}

.w {
  max-width: 1200px;
  margin: auto;
}

header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0;
}

nav {
  background-color: #fbe5a9;
  height: 60px;
}

.nav {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.nav a {
  text-align: center;
  line-height: 60px;
  cursor: pointer;
}

.nav a.active {
  background-color: #8d0f14;
  color: #fff;
}

.swiper {
  width: 100%;
  height: 1037px;
}

.swiper-slide img {
  height: 1037px;
  width: 100%;
  object-fit: cover;
}

.main img {
  width: 100%;
}

.section1 {
  background: url(../images/section1.png) no-repeat center;
  background-size: contain;
  margin: auto;
  max-width: 1200px;
  height: 1020px;
  margin-top: 50px;
}

.section2 {
  background: url(../images/section2.png) no-repeat center;
  background-size: cover;
  margin-top: 50px;
  width: 100%;
  height: 50vw;
}

.section2 > div {
  position: relative;
}

.section2 .title {
  background: url(../images/section2-1.png) no-repeat center;
  background-size: contain;
  margin: auto;
  width: 293px;
  height: 96px;
}

.section2 .necklace {
  position: absolute;
  left: 0;
  top: 0;
}

.section2 .text-container {
  position: absolute;
  right: 0;
  background: url(../images/section2-3.png) no-repeat center;
  background-size: contain;
  width: 896px;
  height: 605px;
}

.section3 {
  background: url(../images/section3.png) no-repeat;
  background-size: contain;
  margin: auto;
  max-width: 1200px;
  height: 849px;
  margin-top: 80px;
}

footer {
  background-color: #444444;
  color: #fff;
  height: 240px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

footer a {
  color: #fff;
  text-decoration: none;
}

footer p {
  margin-top: 0;
}

.about .section2 {
  margin-top: 0;
}

.info-section {
  margin-top: 100px;
  margin-bottom: 100px;
}

.info-section img {
  width: 100%;
}

@media (max-width: 1079px) {
  .logo {
    width: 40vw;
    height: 10vw;
  }

  header {
    padding-left: 12px;
    padding-right: 12px;
  }

  header .info {
    max-width: 50vw;
  }

  header p {
    margin: 0;
    font-size: 3vw;
  }

  nav a {
    font-size: 3.5vw;
  }

  .section1,
  .section2,
  .section3 {
    margin-top: 8vw;
  }

  .section1 {
    height: 75vw;
  }

  .section3 {
    margin-top: 8vw;
    margin-left: 12px;
    margin-right: 12px;
    height: 60vw;
  }

  footer {
    font-size: 3.5vw;
    padding: 0 12px;
    height: 50vw;
  }

  .info-section {
    margin-top: 10vw;
    margin-bottom: 10vw;
  }
}
