/*black*/
.bg-black-main {
  background-color: #4D4D4F;
}

.text-black-main {
  color: #4D4D4F;
}

.border-black-main {
  border: 1px solid #4D4D4F;
}

/*black end*/
/*white*/
.bg-white-main {
  background-color: #F5F5F5;
}

.text-white-main {
  color: #F5F5F5;
}

.border-white-main {
  border: 1px solid #F5F5F5;
}

/*white end*/
/*grey*/
.bg-grey-main {
  background-color: #E6E6E6;
}

.text-grey-main {
  color: #E6E6E6;
}

.border-grey-main {
  border: 1px solid #E6E6E6;
}

/*grey end*/
/*darkgrey*/
.bg-darkgrey {
  background-color: #D9D9D9;
}

.text-darkgrey {
  color: #D9D9D9;
}

.border-darkgrey {
  border: 1px solid #D9D9D9;
}

/*darkgrey end*/
/*purple*/
.bg-purple {
  background-color: #7522A0;
}

.text-purple {
  color: #7522A0;
}

.border-purple {
  border: 1px solid #7522A0;
}

/*purple end*/
/*red*/
.bg-red {
  background-color: #F12020;
}

.text-red {
  color: #F12020;
}

.border-red {
  border: 1px solid #F12020;
}

/*red end*/
/*darkred*/
.bg-darkred {
  background-color: #ED1C24;
}

.text-darkred {
  color: #ED1C24;
}

.border-darkred {
  border: 1px solid #ED1C24;
}

/*darkred end*/
/*lightred*/
.bg-lightred {
  background-color: #FF1212;
}

.text-lightred {
  color: #FF1212;
}

.border-lightred {
  border: 1px solid #FF1212;
}

/*lightred end*/
/*blue*/
.bg-blue {
  background-color: #1A0F77;
}

.text-blue {
  color: #1A0F77;
}

.border-blue {
  border: 1px solid #1A0F77;
}

/*blue end*/
/*navy*/
.bg-navy {
  background-color: #152A72;
}

.text-navy {
  color: #152A72;
}

.border-navy {
  border: 1px solid #152A72;
}

/*navy end*/
/*pink*/
.bg-pink {
  background-color: #EC008C;
}

.text-pink {
  color: #EC008C;
}

.border-pink {
  border: 1px solid #EC008C;
}

/*pink end*/
/*yellow*/
.bg-yellow {
  background-color: #FFCB05;
}

.text-yellow {
  color: #FFCB05;
}

.border-yellow {
  border: 1px solid #FFCB05;
}

/*yellow end*/
/*green*/
.bg-green {
  background-color: #32BCAD;
}

.text-green {
  color: #32BCAD;
}

.border-green {
  border: 1px solid #32BCAD;
}

/*green end*/
/*brown*/
.bg-brown {
  background-color: #5A2121;
}

.text-brown {
  color: #5A2121;
}

.border-brown {
  border: 1px solid #5A2121;
}

/*brown end*/
.w-fit-content {
  width: -moz-fit-content;
  width: fit-content;
}

.fw-extralight {
  font-weight: 200;
}

.fw-medium {
  font-weight: 500;
}

.fw-extrabold {
  font-weight: 800;
}

.ff-prompt {
  font-family: "Prompt", sans-serif;
}

.ff-inter {
  font-family: "Inter", sans-serif;
}

.ff-stylescript {
  font-family: "Style Script", cursive;
}

.elipsis-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.elipsis-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (min-width: 992px) {
  .elipsis-lg-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .elipsis-lg-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
.c-pointer {
  cursor: pointer;
}

.fs-10 {
  font-size: 10px;
}

.fs-12 {
  font-size: 12px;
}

.fs-13 {
  font-size: 13px;
}

.fs-14 {
  font-size: 14px;
}

.fs-15 {
  font-size: 15px;
}

.fs-16 {
  font-size: 16px;
}

.fs-17 {
  font-size: 17px;
}

.fs-18 {
  font-size: 18px;
}

.fs-19 {
  font-size: 19px;
}

.fs-20 {
  font-size: 20px;
}

.fs-21 {
  font-size: 21px;
}

.fs-22 {
  font-size: 22px;
}

.fs-23 {
  font-size: 23px;
}

.fs-24 {
  font-size: 24px;
}

.fs-25 {
  font-size: 25px;
}

.fs-26 {
  font-size: 26px;
}

.fs-28 {
  font-size: 28px;
}

.fs-30 {
  font-size: 30px;
}

.fs-31 {
  font-size: 31px;
}

.fs-32 {
  font-size: 32px;
}

.fs-40 {
  font-size: 32px;
}

.fs-48 {
  font-size: 48px;
}

.fs-50 {
  font-size: 50px;
}

.fs-54 {
  font-size: 54px;
}

.fs-60 {
  font-size: 60px;
}

.fs-90 {
  font-size: 90px;
}

@media (min-width: 576px) {
  .fs-sm-10 {
    font-size: 10px;
  }
  .fs-sm-12 {
    font-size: 12px;
  }
  .fs-sm-13 {
    font-size: 13px;
  }
  .fs-sm-14 {
    font-size: 14px;
  }
  .fs-sm-15 {
    font-size: 15px;
  }
  .fs-sm-16 {
    font-size: 16px;
  }
  .fs-sm-17 {
    font-size: 17px;
  }
  .fs-sm-18 {
    font-size: 18px;
  }
  .fs-sm-19 {
    font-size: 19px;
  }
  .fs-sm-20 {
    font-size: 20px;
  }
  .fs-sm-22 {
    font-size: 22px;
  }
  .fs-sm-24 {
    font-size: 24px;
  }
  .fs-sm-26 {
    font-size: 26px;
  }
  .fs-sm-28 {
    font-size: 28px;
  }
  .fs-sm-31 {
    font-size: 31px;
  }
  .fs-sm-32 {
    font-size: 32px;
  }
  .fs-sm-40 {
    font-size: 32px;
  }
  .fs-sm-48 {
    font-size: 48px;
  }
  .fs-sm-50 {
    font-size: 50px;
  }
  .fs-sm-54 {
    font-size: 54px;
  }
  .fs-sm-60 {
    font-size: 60px;
  }
  .fs-sm-90 {
    font-size: 90px;
  }
}
@media (min-width: 768px) {
  .fs-md-10 {
    font-size: 10px;
  }
  .fs-md-12 {
    font-size: 12px;
  }
  .fs-md-13 {
    font-size: 13px;
  }
  .fs-md-14 {
    font-size: 14px;
  }
  .fs-md-15 {
    font-size: 15px;
  }
  .fs-md-16 {
    font-size: 16px;
  }
  .fs-md-17 {
    font-size: 17px;
  }
  .fs-md-18 {
    font-size: 18px;
  }
  .fs-md-19 {
    font-size: 19px;
  }
  .fs-md-20 {
    font-size: 20px;
  }
  .fs-md-22 {
    font-size: 22px;
  }
  .fs-md-24 {
    font-size: 24px;
  }
  .fs-md-26 {
    font-size: 26px;
  }
  .fs-md-28 {
    font-size: 28px;
  }
  .fs-md-31 {
    font-size: 31px;
  }
  .fs-md-32 {
    font-size: 32px;
  }
  .fs-md-40 {
    font-size: 32px;
  }
  .fs-md-48 {
    font-size: 48px;
  }
  .fs-md-50 {
    font-size: 50px;
  }
  .fs-md-54 {
    font-size: 54px;
  }
  .fs-md-60 {
    font-size: 60px;
  }
  .fs-md-90 {
    font-size: 90px;
  }
}
@media (min-width: 992px) {
  .fs-lg-10 {
    font-size: 10px;
  }
  .fs-lg-12 {
    font-size: 12px;
  }
  .fs-lg-13 {
    font-size: 13px;
  }
  .fs-lg-14 {
    font-size: 14px;
  }
  .fs-lg-15 {
    font-size: 15px;
  }
  .fs-lg-16 {
    font-size: 16px;
  }
  .fs-lg-17 {
    font-size: 17px;
  }
  .fs-lg-18 {
    font-size: 18px;
  }
  .fs-lg-19 {
    font-size: 19px;
  }
  .fs-lg-20 {
    font-size: 20px;
  }
  .fs-lg-22 {
    font-size: 22px;
  }
  .fs-lg-24 {
    font-size: 24px;
  }
  .fs-lg-26 {
    font-size: 26px;
  }
  .fs-lg-28 {
    font-size: 28px;
  }
  .fs-lg-31 {
    font-size: 31px;
  }
  .fs-lg-32 {
    font-size: 32px;
  }
  .fs-lg-40 {
    font-size: 32px;
  }
  .fs-lg-48 {
    font-size: 48px;
  }
  .fs-lg-50 {
    font-size: 50px;
  }
  .fs-lg-54 {
    font-size: 54px;
  }
  .fs-lg-60 {
    font-size: 60px;
  }
  .fs-lg-90 {
    font-size: 90px;
  }
}
@media (min-width: 1200px) {
  .fs-xl-10 {
    font-size: 10px;
  }
  .fs-xl-12 {
    font-size: 12px;
  }
  .fs-xl-13 {
    font-size: 13px;
  }
  .fs-xl-14 {
    font-size: 14px;
  }
  .fs-xl-15 {
    font-size: 15px;
  }
  .fs-xl-16 {
    font-size: 16px;
  }
  .fs-xl-17 {
    font-size: 17px;
  }
  .fs-xl-18 {
    font-size: 18px;
  }
  .fs-xl-19 {
    font-size: 19px;
  }
  .fs-xl-20 {
    font-size: 20px;
  }
  .fs-xl-22 {
    font-size: 22px;
  }
  .fs-xl-24 {
    font-size: 24px;
  }
  .fs-xl-26 {
    font-size: 26px;
  }
  .fs-xl-28 {
    font-size: 28px;
  }
  .fs-xl-31 {
    font-size: 31px;
  }
  .fs-xl-32 {
    font-size: 32px;
  }
  .fs-xl-40 {
    font-size: 32px;
  }
  .fs-xl-48 {
    font-size: 48px;
  }
  .fs-xl-50 {
    font-size: 50px;
  }
  .fs-xl-54 {
    font-size: 54px;
  }
  .fs-xl-60 {
    font-size: 60px;
  }
  .fs-xl-90 {
    font-size: 90px;
  }
}
@media (min-width: 1400px) {
  .fs-xxl-10 {
    font-size: 10px;
  }
  .fs-xxl-12 {
    font-size: 12px;
  }
  .fs-xxl-13 {
    font-size: 13px;
  }
  .fs-xxl-14 {
    font-size: 14px;
  }
  .fs-xxl-15 {
    font-size: 15px;
  }
  .fs-xxl-16 {
    font-size: 16px;
  }
  .fs-xxl-17 {
    font-size: 17px;
  }
  .fs-xxl-18 {
    font-size: 18px;
  }
  .fs-xxl-19 {
    font-size: 19px;
  }
  .fs-xxl-20 {
    font-size: 20px;
  }
  .fs-xxl-22 {
    font-size: 22px;
  }
  .fs-xxl-24 {
    font-size: 24px;
  }
  .fs-xxl-26 {
    font-size: 26px;
  }
  .fs-xxl-28 {
    font-size: 28px;
  }
  .fs-xxl-31 {
    font-size: 31px;
  }
  .fs-xxl-32 {
    font-size: 32px;
  }
  .fs-xxl-40 {
    font-size: 32px;
  }
  .fs-xxl-48 {
    font-size: 48px;
  }
  .fs-xxl-50 {
    font-size: 50px;
  }
  .fs-xxl-54 {
    font-size: 54px;
  }
  .fs-xxl-60 {
    font-size: 60px;
  }
  .fs-xxl-90 {
    font-size: 90px;
  }
}
.ls-1 {
  letter-spacing: 0.24px;
}

.ls-2 {
  letter-spacing: 0.48px;
}

.ls-3 {
  letter-spacing: 0.72px;
}

.ls-4 {
  letter-spacing: 0.96px;
}

.ls-5 {
  letter-spacing: 1.2px;
}

.ls-6 {
  letter-spacing: 1.44px;
}

.ls-7 {
  letter-spacing: 1.68px;
}

.lh-16 {
  line-height: 16px;
}

.object-fit-cover {
  -o-object-fit: cover;
     object-fit: cover;
}

.object-position-top-center {
  -o-object-position: top center;
     object-position: top center;
}

.rounded-5px {
  border-radius: 5px;
}

.mxw-100 {
  max-width: 100%;
}

.mxw-900 {
  max-width: 900px;
}

.mxw-1000 {
  max-width: 1000px;
}

@media (min-width: 992px) {
  .mxw-lg-900 {
    max-width: 900px;
  }
  .mxw-lg-1000 {
    max-width: 1000px;
  }
}
@media (min-width: 1400px) {
  .mxw-xxl-900 {
    max-width: 900px;
  }
  .mxw-xxl-1000 {
    max-width: 1000px;
  }
}
* {
  box-sizing: border-box;
  font-family: "Inter", sans-serif;
}

body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

a {
  text-decoration: none;
}

.fp-watermark {
  display: none;
}

.hero {
  height: 100vh;
  width: 100vw;
  position: relative;
}
.hero::before {
  content: " ";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  background: rgba(15, 48, 80, 0.7);
  background-blend-mode: hard-light;
}
.heroContent {
  position: relative;
  z-index: 1;
}
.heroContent h1 {
  margin-bottom: 30px;
}
.heroContent p {
  margin-top: 30px;
}
@media (max-width: 768px) {
  .heroContent img {
    width: 200px;
  }
}
.heroScroll {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  bottom: 22px;
}
.heroScroll .mouse {
  position: relative;
  display: block;
  width: 21px;
  height: 33px;
  margin: 0 auto 5px;
  box-sizing: border-box;
  border: 3px solid white;
  border-radius: 23px;
}
.heroScroll .mouse > * {
  position: absolute;
  display: block;
  top: 29%;
  left: 60%;
  width: 5px;
  height: 9px;
  margin: -4px 0 0 -4px;
  background: white;
  border-radius: 100px;
  animation: ani-mouse 2.5s linear infinite;
}
@keyframes ani-mouse {
  0% {
    opacity: 1;
    top: 29%;
  }
  15% {
    opacity: 1;
    top: 50%;
  }
  50% {
    opacity: 0;
    top: 50%;
  }
  100% {
    opacity: 0;
    top: 29%;
  }
}
.main .fp-overflow {
  height: 100%;
}
.mainContent {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.3) 100%), lightgray -391.643px -38px/203.646% 111% no-repeat;
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  position: relative;
}
.mainContent::before {
  content: " ";
  opacity: 0;
  transition: opacity 0.3s;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.mainContent:hover::before {
  opacity: 1;
}
.mainContentWrap {
  position: relative;
  z-index: 1;
}
.mainContentWrapLogo {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  margin: auto;
}
@media (max-width: 768px) {
  .mainContentWrap img {
    width: 80%;
  }
}
.mainContentWrap button {
  margin: auto;
  margin-top: 25px;
  padding: 20px 34px;
  border-radius: 7px;
  transition: background-color 0.3s, color 0.3s;
}
.mainLeft {
  background-image: url("../../images/literacy/main/bg-main-left.png");
}
.mainLeft::before {
  content: " ";
  background: linear-gradient(0deg, rgba(236, 0, 140, 0.3) 0%, rgba(236, 0, 140, 0.3) 100%), url("../../images/literacy/main/bg-main-left-hover.png"), lightgray -395.842px -24px/208.463% 113.626% no-repeat;
  background-size: cover;
  background-position: top center;
}
.mainLeft:hover .mainContentWrapLogo {
  background-image: url("../../images/literacy/main/logo-fld2-hover.svg");
}
.mainLeft:hover .mainContentWrap button {
  background-color: white !important;
  color: #7522A0;
  border: none;
}
.mainLeft .mainContentWrapLogo {
  width: 547px;
  height: 171px;
  background-image: url("../../images/literacy/main/logo-fld2.svg");
  transition: background-image 0.3s;
}
.mainRight {
  background-image: url("../../images/literacy/main/bg-main-right.png");
}
.mainRight::before {
  content: " ";
  background: linear-gradient(180deg, rgba(79, 183, 164, 0) 0%, rgba(26, 134, 127, 0.56) 44.79%), url("../../images/literacy/main/bg-main-right-hover.png"), lightgray -214.658px -20px/208.92% 113.875% no-repeat;
  background-size: cover;
  background-position: top center;
}
.mainRight:hover .mainContentWrapLogo {
  background-image: url("../../images/literacy/main/logo-flf-hover.svg");
}
.mainRight:hover .mainContentWrap button {
  background-color: white !important;
  color: #F12020;
  border: none;
}
.mainRight .mainContentWrapLogo {
  width: 568px;
  height: 155px;
  background-image: url("../../images/literacy/main/logo-flf.svg");
  transition: background-image 0.3s;
}
.main.v2024 .mainLeft:hover .mainContentWrapLogo {
  background-image: url("../../images/literacy/main/festival-literasi-digital-2024-white.svg");
}
.main.v2024 .mainLeft .mainContentWrapLogo {
  background-image: url("../../images/literacy/main/festival-literasi-digital-2024.svg");
}
.main.v2024 .mainRight:hover .mainContentWrapLogo {
  background-image: url("../../images/literacy/main/flf-logo-2024-white.svg");
}
.main.v2024 .mainRight .mainContentWrapLogo {
  background-image: url("../../images/literacy/main/flf-logo-2024-black.svg");
}
.main.v2025 .mainLeft:hover .mainContentWrapLogo {
  background-image: url("../../images/literacy/main/festival-literasi-digital-2025-white.svg");
}
.main.v2025 .mainLeft .mainContentWrapLogo {
  background-image: url("../../images/literacy/main/festival-literasi-digital-2025.svg");
}
.main.v2025 .mainRight:hover .mainContentWrapLogo {
  background-image: url("../../images/literacy/main/flf-logo-2025-white.svg");
}
.main.v2025 .mainRight .mainContentWrapLogo {
  background-image: url("../../images/literacy/main/flf-logo-2025-black.svg");
}

.footer {
  padding-top: 42px;
  padding-bottom: 42px;
  height: auto;
}
.footer .fp-overflow {
  overflow: initial;
}
.footer a, .footer ul, .footer p {
  margin: auto;
  margin-bottom: 39px;
}
.footer ul li {
  margin: 0 15px;
}
