@import url("https://fonts.googleapis.com/css2?family=Kumbh+Sans:wght@100;200;300;400;500;600;700;800;900&family=Newsreader:ital,opsz,wght@1,6..72,200&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");

/************* MISC *************/
* {
  user-select: none;
}

:root {
  --gap: 0.7vw 0.7vw;
}

body {
  background-color: #0d0d0d;
  color: #efefef;
  font-family: Kumbh Sans;
  font-weight: 200;
  padding: 0;
  margin: 0;
}

body::-webkit-scrollbar {
  display: none;
}

.modal::-webkit-scrollbar {
  display: none;
}

a:hover {
  opacity: 0.7;
}

@keyframes fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.lock {
  overflow-y: hidden;
}

.hid {
  opacity: 0;
  transform: translatex(-30vw);
  transition: transform 850ms, opacity 1000ms ease-in;
}

.hid1 {
  transition-delay: 200ms;
}

.hid2 {
  transition-delay: 400ms;
}

.hid3 {
  transition-delay: 600ms;
}

.hids {
  transition-delay: 350ms;
}

.show {
  opacity: 1;
  transform: translatex(0);
}

.hidim {
  display: inline-block;
  height: 51vh;
  width: 76.5%;
  position: absolute;
  background-color: #1a1a1a;
  transform: scalex(100vw);
  transform-origin: left;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.79, 0.14, 0.15, 0.86);
  transition-duration: 0.6s;
  transition-delay: 600ms;
  padding: 0;
  margin: 0;
}

.showim {
  transform: scalex(0);
}

.hidarr {
  display: inline-block;
  height: 10vh;
  width: 100%;
  position: absolute;
  background-color: #0d0d0d;
  transform: scaley(100%);
  transform-origin: bottom;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 800ms;
  transition-delay: 350ms;
  padding: 10% 0 0 0;
  margin: 0;
}

.showarr {
  transform: scaley(0);
}

.nav-on {
  color: transparent;
  background-color: transparent;
}
/************* END MISC *************/

/************* STARTUP *************/
.splash {
  z-index: 2147483647;
  position: fixed;
  background-color: #1a1a1a;
  width: 100vw;
  height: 100vh;
  transform: translateY(0);
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 800ms;
  overflow-y: hidden;
}

.splash img {
  width: 3.5%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.done {
  transform: translateY(-100vh);
}
/************* END STARTUP *************/

/************* NAVBAR *************/
.navbar {
  z-index: 2147483646;
  background-color: transparent;
  width: 100%;
  display: flex;
  position: fixed;
  vertical-align: middle;
  justify-content: space-between;
}

.brand {
  font-size: 1vw;
  padding: 3% 12vw 1% 12vw;
  vertical-align: middle;
  -webkit-tap-highlight-color: transparent;
  font-family: Poppins;
  font-weight: 500;
}

.brand a {
  text-decoration: none;
  color: #efefef;
}

.brand img {
  width: 1vw;
  padding: 0.27vw 0.5vw 0 0;
  float: left;
  vertical-align: middle;
}

.rect {
  display: flex;
  background-color: transparent;
  width: 1.7vw;
  height: 1.6vh;
  position: absolute;
  right: 0;
  bottom: 0;
  -webkit-tap-highlight-color: transparent;
  justify-content: center;
  padding: 3% 12vw 1% 12vw;
  align-items: center;
  cursor: pointer;
}

.ham {
  display: flex;
  background-color: transparent;
  flex-direction: column;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  border-style: none;
  justify-content: space-between;
  width: 100%;
  height: 1vh;
  transition: all 0.5s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.ham .bar1 {
  height: 0.16vh;
  width: 100%;
  background-color: #efefef;
  transform-origin: left;
  transition: all 0.5s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.ham .bar2 {
  height: 0.16vh;
  width: 70%;
  background-color: #efefef;
  transform-origin: left;
  transition: all 0.5s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.ham.active {
  height: 2.5vh;
}

.ham.active .bar1 {
  transform: rotate(45deg);
}

.ham.active .bar2 {
  transform: rotate(-45deg);
  width: 100%;
}

.navitem {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  width: 100vw;
  height: 100vh;
  opacity: 1;
  background-color: #0d0d0d;
  transform: translateY(-100vh);
  -webkit-tap-highlight-color: transparent;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.79, 0.14, 0.15, 0.86);
  transition-duration: 800ms;
  margin: 0;
  padding: 0;
}

.navitem a {
  color: #efefef;
  font-size: 3rem;
  padding: 5vh;
  text-decoration: none;
}

.navsoc {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3vh;
  width: 100vw;
  padding-top: 5%;
}

.navsoc a {
  padding: 0 2%;
  -webkit-tap-highlight-color: transparent;
}

.navsoc a img {
  height: 1.8vw;
}

.navitem.active {
  display: flex;
  transform: translateY(0);
  opacity: 1;
}

.off {
  display: none;
}
/************* END NAVBAR *************/

/************* GALLERY *************/
.out-gall {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: auto;
  background-color: transparent;
  gap: var(--gap);
}
.gall {
  display: flex;
  flex-direction: column;
  width: 25%;
  height: auto;
  gap: var(--gap);
}

.gall img {
  border-radius: 8px;
  transition: all 0.3s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  object-fit: scale-down;
}

.gall img:hover {
  transform: translateY(-10px);
}

.modal {
  z-index: 200000;
  display: none;
  padding-top: 10px;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.8);
  animation-name: fade;
  animation-duration: 0.5s;
  object-fit: none;
}

.modal-content {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  animation-name: fade;
  animation-duration: 0.5s;
}

.modal-content img {
  width: 76vw;
  height: auto;
}
/************* END GALLERY *************/

/************* BODY *************/
.container {
  transition: all 600ms;
}

.title-pg {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100vh;
  font-family: Poppins;
  text-align: center;
}

.jtitle {
  font-weight: 400;
  line-height: 350%;
  font-size: 1vw;
}

.mtitle {
  font-weight: 600;
  line-height: 100%;
  font-size: 7vw;
}

.ftitle {
  font-weight: 400;
  line-height: 500%;
  font-size: 1vw;
}

.arr {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40vh;
}

.arr img {
  padding-top: 7%;
  height: 7vh;
}

.cont-ab {
  display: flex;
  flex-direction: column;
  height: 70vh;
  padding-bottom: 30vh;
  align-items: center;
  justify-content: center;
  background-color: #0d0d0d;
}

.cont-ind {
  background-color: #0d0d0d;
}

b {
  font-family: newsreader;
  letter-spacing: 2px;
}

.sct {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50vh;
  width: 100vw;
  padding: 0;
  margin: 0;
}

.sct img {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0 12vw;
  object-fit: cover;
}

.text {
  padding: 4vh 12vw 4vh 12vw;
  font-size: 1.35vw;
  line-height: 165%;
  letter-spacing: 1.2px;
}

.text h1 {
  font-weight: 600;
  font-size: 3vw;
  color: #e31837;
}

.LeMoB {
  font-family: Kumbh Sans;
  font-weight: 200;
  font-size: 42.5%;
  letter-spacing: 1.85px;
  background-color: #e31837;
  color: #efefef;
  border: #e31837;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  border-style: solid;
  border-width: 1px;
  margin: 72px 0 72px 0;
  padding: 17px 36px;
  border-radius: 5px;
  transition: 0.2s ease-out;
}

.LeMoB:hover {
  background-color: transparent;
  color: #e31837;
  box-shadow: 0 0 25px 2px #e3183790;
}

.LeMoB:active {
  opacity: 0.7;
}
/************* END BODY *************/

/************* FOOTER *************/
.ftr {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #1f1f1f;
  font-size: 1vw;
  font-weight: 300;
  letter-spacing: 2px;
  padding: 3% 0;
}

.soc {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3vh;
  width: 100vw;
  padding: 2% 0;
}

.soc a {
  padding: 0 2%;
  -webkit-tap-highlight-color: transparent;
}

.soc a img {
  height: 2vw;
}
/************* END FOOTER *************/

@media (max-width: 600px) {
  /************* MISC *************/
  .hidarr {
    height: 40vh;
  }

  .arr img {
    padding-top: 14%;
    height: 7vh;
  }

  .hidim {
    height: 31vh;
    width: 100vw;
  }
  /************* END MISC *************/

  /************* STARTUP *************/
  .splash img {
    width: 10%;
  }
  /************* END STARTUP *************/

  /************* NAVBAR *************/
  .rect {
    width: 7vw;
    height: 3.2vh;
    padding: 8% 8% 1% 8%;
  }

  .brand {
    padding: 14% 8% 1% 8%;
    font-size: 0.85rem;
  }

  .brand img {
    width: 0.85rem;
    padding: 0.4vh 2.5vw 0 0;
  }

  .navitem a {
    font-size: 1.5rem;
  }

  .navsoc {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 5vh;
    width: 100vw;
    padding-top: 10%;
  }

  .navsoc a {
    padding: 0 5%;
    -webkit-tap-highlight-color: transparent;
  }

  .navsoc a img {
    height: 6vw;
  }
  /************* END NAVBAR *************/

  /************* GALLERY *************/
  .gall {
    width: 26.5%;
  }

  .gall img {
    border-radius: 3px;
  }

  .modal-content img {
    width: 80vw;
    height: auto;
  }
  /************* END GALLERY *************/

  /************* BODY *************/
  .jtitle {
    line-height: 320%;
    font-size: 2vw;
  }

  .mtitle {
    font-size: 8.4vw;
  }

  .ftitle {
    line-height: 450%;
    font-size: 2.2vw;
  }

  .sct {
    height: 30vh;
  }

  .sct img {
    padding: 0;
  }

  .text {
    padding: 5% 8% 14% 8%;
    font-size: 4vw;
  }

  .text h1 {
    font-size: 8vw;
    color: #e31837;
  }

  .LeMoB {
    margin: 72px 0 62px 0;
    padding: 14px 32px;
    font-size: 50%;
  }
  /************* END BODY *************/

  /************* FOOTER *************/
  .ftr {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #1f1f1f;
    font-size: 3vw;
    font-weight: 300;
    letter-spacing: 2px;
    padding: 6% 0;
  }

  .soc {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 5vh;
    width: 100vw;
    padding: 2% 0;
  }

  .soc a {
    padding: 0 5%;
    -webkit-tap-highlight-color: transparent;
  }

  .soc a img {
    height: 6vw;
  }
  /************* END FOOTER *************/
}
