body {
  scroll-snap-type: y mandatory;
  overflow-y: scroll;
  height: 100%;
  margin: 0;
}

.section {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  /*height: 100vh;*/
  width: 100%;
  scroll-snap-align: start;
  /*padding: 10px;*/
  box-sizing: border-box;
}

.section.section1 {
  justify-content: center;
  align-items: center;
  /*height: 50vh;*/
  box-sizing: border-box;
}

.content-row {
  display: flex;
  justify-content: center;
  /*flex-direction: row;*/
  align-items: flex-start;
  /*gap: 2em;*/
  width: 100%;
  /*padding: 5vh 2vw;*/
  flex-wrap: nowrap;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

.text-block, .image-block {
  flex: 1 1 0;
  text-align: center;
  color: white;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  transform-origin: center;
  height: auto;
}

.h {
  color: var(--bs-light);
  font-size: clamp(1rem, 5vw, 3rem);
  text-align: center;
  font-family: 'Abril Fatface', serif;
  /*margin: -10px;*/
  /*max-height: 20%;*/
}

.content-column {
  display: flex;
  flex-direction: column;
  /*justify-content: center;*/
  /*align-items: center;*/
  /*gap: 0em;*/
  width: 100%;
  max-width: 1200px;
  height: 100%;
  margin: 0 auto;
}

.bg {
  position: relative;
  justify-content: center;
  align-items: center;
  display: flex;
  max-height: 100%;
  /*height: 600vh;*/
  width: 100%;
  /*padding-top: 300%;*/
  /*background-attachment: fixed;*/
}

.section.section2 {
  height: 100vh;
  /*flex-direction: column;*/
  background: url("../../assets/img/류만.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  /*background-color: black;*/
  background-attachment: fixed;
}

.bg.h1 {
  position: relative;
  width: 100%;
  padding-top: 300%;
  background: url("../../assets/img/민주-[Mi_front].gif");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  /*background-attachment: fixed;*/
}

.bg.h3 {
  background: url("민주-[Mi].gif");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  /*background-attachment: fixed;*/
}

.bg.h4 {
  background: url("민주-[Mi_back].gif");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  /*background-attachment: fixed;*/
}

.bg.h5 {
  background: url("민주-[End].gif");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  /*background-attachment: fixed;*/
}

.text {
  display: flex;
  /*align-items: center;*/
}

.corpright {
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
}

.bg-body {
  /*background-color: black !important;*/
}

.section.copyright {
  height: 10vh;
  background: #000000;
}

html, body {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  background-color: black;
}

.section3 > .content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.bg.h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /*width: 100%;*/
  /*text-align: center;*/
}

.section.section3 {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.heng {
  text-decoration: none;
  color: inherit;
  flex: 1 1 0;
  max-width: 33%;
}

.title {
  width: 100%;
  height: auto;
  object-fit: contain;
  /*margin-top: 10px;*/
  font-size: clamp(0rem, 2vw, 1.5rem);
  font-family: 'Abril Fatface', serif;
  text-align: center;
  display: block;
}

.title.front {
  /*width: 50%;*/
}

.title.back {
  /*width: 50%;*/
}

.section.blank {
  height: 50vh;
}

flex: 1;max-width: 33%;height: auto;aspect-ratio: 3 / 4;border-radius: 8px;object-fit: contain;margin-bottom: 20px;width: 100%;a {
}

a {
  flex: 1;
  max-width: 33%;
  height: auto;
  aspect-ratio: 3 / 4;
  border-radius: 8px;
  object-fit: contain;
  margin-bottom: 20px;
  width: 100%;
}

.image {
  height: 100%;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  /*gap: 20px;*/
  width: 100%;
  max-width: 100vw;
  /*padding: 20px;*/
  height: 100%;
}

.hlink {
  flex: 1;
  max-width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  border-radius: 8px;
  object-fit: contain;
  margin-bottom: 20px;
  width: 100%;
}

.re {
  flex: 1;
  /*max-width: 100%;*/
  height: auto;
  aspect-ratio: 3 / 4;
  border-radius: 8px;
  object-fit: contain;
  margin-bottom: 20px;
  width: 100%;
}

@media (max-width: 768px) {
  .section.section2 {
    background-size: contain;
  }
}

@media (max-width: 768px) {
  .h.h1 {
    font-size: clamp(1rem, 4.7vw, 3rem);
  }
}

