/*
Theme Name: Virtual hug
Author: BENΛDΛM
Author URI: https://benadam.co.il
Description: Theme for Virtual Hug Site.
Version: 1.0
Text Domain: virtual-hug
*/

/* Global */
@import url("https://fonts.googleapis.com/css2?family=Rubik:wght@300;400;500;600;700;800;900&display=swap");

@font-face {
  font-family: "Levin";
  font-style: normal;
  font-weight: normal;
  font-display: auto;
  src: url("fonts/Levin.eot");
  src: url("fonts/Levin.eot?#iefix") format("embedded-opentype"),
    url("fonts/Levin.woff2") format("woff2"),
    url("fonts/Levin.woff") format("woff"),
    url("fonts/Levin.ttf") format("truetype");
}

@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

* {
  outline: none;
  position: relative;
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
  direction: rtl;
}

body {
  font-family: "Rubik", sans-serif;
  direction: rtl;
  text-align: center;
  color: #2c1255;
  font-size: 24px;
  font-weight: 300;
  line-height: 2rem;
  max-width: 100vw;
  overflow: hidden;
}

a {
  text-decoration: none;
  font-weight: 100;
  color: #2c1255;
}

.button {
  height: 31px;
  font-family: Rubik-Light;
  font-size: 23px;
  letter-spacing: 1.26px;
  text-align: center;
  border: 1px solid #9970db;
  border-radius: 999px;
  padding: 5px 55px 7px 55px;
  line-height: 31px;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}

header,
section,
footer {
  width: 96%;
  padding-left: 2%;
  padding-right: 2%;
}

.elementor-section-wrap section {
  width: unset;
  padding-left: unset;
  padding-right: unset;
}

.boxed {
  margin: auto;
  width: 1100px;
  max-width: 85%;
  z-index: 10;
}

.box {
  border-radius: 18px;
  box-shadow: 0px 10px 36px -5px rgba(164.99999999999997, 49.99999999999988, 12.999999999999917, 0.3);
  padding: 25px;
  background-color: #ffffff8a;
  backdrop-filter: blur(2px);
}

/* Header */
header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 10;
  height: 95px;
}

/* Hero */
.hero {
  height: 600px;
  background: #f5f2ed;
  margin-top: -95px;
  padding-top: 95px;
  background-image: url("img/bg.jpg");
}

.hero h1 {
  font-family: "Levin", "Rubik", Sans-serif;
  font-size: 115px;
  font-weight: 100;
  color: #d6453c;
  letter-spacing: 0;
  text-align: center;
  text-shadow: 0 2px 17px #eaa753;
  margin-bottom: 77px;
  z-index: 10;
}

.hero_right_hearts {
  position: absolute;
  top: 100px;
  right: 4%;
}

.hero_left_hearts {
  position: absolute;
  top: 100px;
  left: 4%;
  transform: rotateY(180deg);
  opacity: 0.5;
}

.hero .left_img {
  position: absolute;
  left: 0;
  bottom: 0;
}

.hero .right_img {
  position: absolute;
  right: 0;
  bottom: 0;
}

.hero .wavs_con {
  position: absolute;
  left: 0;
  bottom: -2px;
  right: 0;
}

/* What to buy */

/* The best thing */
.the_best_thing {
  background: url("img/ipad-bg.png");
  background-size: cover;
  background-repeat: no-repeat;
  box-shadow: inset 0px 125px 0px 0px #ffffff;
}

.the_best_thing:after {
  content: "";
  position: absolute;
  top: 125px;
  right: 0;
  width: 100%;
  height: 70%;
  z-index: 0;
  background: rgb(255, 255, 255);
  background: linear-gradient(
    0deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 1) 100%
  );
  z-index: 0;
}

/* Features */
.features .con {
  display: flex;
  justify-content: space-between;
}

.home .hero h2 {
  font-size: 43px;
  color: #9970db;
  letter-spacing: 2.35px;
  text-align: center;
  font-weight: 400;
  margin-top: 0;
  margin-bottom: 66px;
  font-family: "Levin";
  transform: rotate(1deg);
  z-index: 10;
}

.button svg {
  position: absolute;
  top: 17%;
  left: 4%;
}

header nav a {
  font-size: 23px;
  letter-spacing: 0.66px;
  margin-right: 26px;
}

header nav a.dark_link {
  background-color: #2c1255;
  color: #f5f2ed;
  border-radius: 30px;
  padding: 0px 19px 2px 19px;
}

.home .hero img.left_img,
.home .hero img.right_img {
  position: absolute;
  bottom: 0;
  left: 0;
}

.home .hero img.right_img {
  right: 0;
}

.what_to_buy .box {
  font-size: 24px;
  letter-spacing: 1.31px;
  text-align: center;
  line-height: 42px;
  font-weight: 500;
  padding-top: 42px;
  padding-bottom: 60px;
  width: 880px;
  max-width: 85%;
  margin: auto;
  margin-top: -190px;
}

.what_to_buy .box > span {
  color: #ef4a40;
  margin-top: 33px;
  display: block;
}

.what_to_buy .box > span > span {
  font-weight: 300;
}

.what_to_buy .box::after {
  content: url("img/ballons.png");
  position: absolute;
  bottom: -70px;
  right: -30px;
  animation: floater 3s ease-in-out infinite;
  display: block;
  width: 162px;
  height: 260px;
  /* transform: scale(-18.5); */
}

.flotaer {
  animation-name: floater;
  -webkit-animation-name: floater;
  animation-duration: 3s;
  animation-timing-function: ease-in-out;
  -webkit-animation-duration: 3s;
  animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite;
  visibility: visible !important;
}

@keyframes floater {
  0% {
    transform: translateY(0%);
  }
  50% {
    transform: translateY(6%);
  }
  100% {
    transform: translateY(0%);
  }
}

.waves {
  position: relative;
  width: 100%;
  height: 50px;
  margin-bottom: -7px;
  /*Fix for safari gap*/
  min-height: 100px;
  max-height: 150px;
}

/* Animation */
.parallax > use {
  animation: waving 25s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite;
}
.parallax > use:nth-child(1) {
  animation-delay: -2s;
  animation-duration: 12s;
}
.parallax > use:nth-child(2) {
  animation-delay: -3s;
  animation-duration: 15s;
}
.parallax > use:nth-child(3) {
  animation-delay: -4s;
  animation-duration: 16s;
}
.parallax > use:nth-child(4) {
  animation-delay: -5s;
  animation-duration: 20s;
}
@keyframes waving {
  0% {
    transform: translate3d(-90px, 0, 0);
  }
  100% {
    transform: translate3d(85px, 0, 0);
  }
}
/*Shrinking for mobile*/
@media (max-width: 768px) {
  .waves {
    height: 40px;
    min-height: 40px;
  }
}

.home .hero .wavs_con {
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 100%;
}

header nav a.dark_link:hover {
  background-color: #9970db;
  color: #fff;
}

section.the_best_thing span {
  display: block;
}

section.the_best_thing {
  text-align: center;
}

section.the_best_thing h4 {
  font-size: 36px;
  font-weight: 400;
  letter-spacing: 1.97px;
  z-index: 1;
  margin-top: 95px;
}

section.the_best_thing h5 {
  font-family: "Levin";
  font-size: 74px;
  font-weight: 100;
  z-index: 1;
  margin-top: 40px;
  margin-bottom: 64px;
}

.the_best_thing img {
  display: block;
  margin: auto;
  z-index: 1;
  max-width: 100%;
}

.f_boxes {
  --auto-grid-min-size: 20rem;
  display: grid;
  grid-template-columns: repeat(
    auto-fill,
    minmax(var(--auto-grid-min-size), 1fr)
  );
  grid-gap: 2rem;
  margin-top: -74px;
}

.f_box.box {
  border-radius: 63px;
  padding: 56px;
  position: relative;
}

.f_box.box:nth-child(1)::before,
.f_box.box:nth-child(3)::before {
  content: url("img/two-hearts.png");
  position: absolute;
  top: -40px;
  left: -8px;
}

.f_box.box:nth-child(3)::before {
  content: url(img/Ballon.png);
  top: -20px;
  left: 27px;
  animation: floater 3s ease-in-out infinite;
  display: block;
}

.f_box.box:nth-child(2) {
  background-image: url("img/Heart_cutted.png");
  background-repeat: no-repeat;
  background-position: bottom left;
}

.f_box.box h4 {
  font-size: 24px;
  letter-spacing: 1.31px;
  font-weight: 400;
  line-height: 33px;
  margin-top: 15px;
  margin-bottom: 0;
}

a:hover {
  color: #9970db;
}

.template_cubes {
  --auto-grid-min-size: 22rem;
  display: grid;
  grid-template-columns: repeat(
    auto-fill,
    minmax(var(--auto-grid-min-size), 1fr)
  );
  grid-gap: 4rem 6rem;
}

.template_cube .cover {
  height: 450px;
  background-color: #f8f5f0;
  width: 100%;
  margin-bottom: 20px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
  border: 9px solid #ffffff;
  box-shadow: 0 0 65px -5px rgba(44, 18, 85, 0.3);
  border-radius: 15px;
}

.template_cube.soon .cover::before {
  content: "בקרוב \A תבניות נוספות";
  position: absolute;
  top: 0;
  display: flex;
  left: 0;
  z-index: 999;
  background-color: #ffffffe3;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  white-space: pre;
}

.template_cube.soon .cover {
  height: 280px;
}

.template_cube {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.template_cube .button {
  width: 240px;
  max-width: 96%;
  margin-bottom: 13px;
  color: #9970db;
}

h4 {
  font-size: 43px;
  font-weight: 500;
  margin: 0;
}

section.what {
  padding-top: 111px;
  padding-bottom: 120px;
}

section.what p {
  width: 327px;
  max-width: 90%;
  margin: auto;
}

section h4 {
  margin-bottom: 2rem;
}

.button.dark {
  color: #fff;
  background-color: #9970db;
}

section.perfect_price {
  background-color: #9663de;
  background: rgb(139, 88, 217);
  background: linear-gradient(
    293deg,
    rgba(139, 88, 217, 1) 0%,
    rgba(173, 125, 246, 1) 100%
  );
  padding-top: 80px;
  padding-bottom: 70px;
  overflow: hidden;
}

section.perfect_price::before {
  content: url("img/hero_left.png");
  position: absolute;
  top: 0;
  left: 0;
}

section.perfect_price::after {
  content: url(img/two-hearts.png);
  position: absolute;
  top: -5px;
  right: 12vw;
}

.perfect_price .not_price,
.perfect_price .price {
  font-size: 45px;
  font-weight: 500;
  width: 5.3rem;
  margin: auto;
}

.perfect_price .not_price {
  position: relative;
  font-weight: 400;
}

.perfect_price .price {
  color: #fff;
  margin-bottom: 24px;
}

.perfect_price .not_price::before,
.perfect_price .price::before {
  content: "₪";
  font-size: 19px;
  font-weight: 400;
}

.perfect_price .not_price::after {
  content: "";
  height: 3px;
  width: 108%;
  margin: auto;
  background-color: #2c1255;
  position: absolute;
  top: 16px;
  left: -0.2rem;
  border-radius: 469px;
  transform: rotate(-9deg);
}

section.look {
  padding-bottom: 150px;
}

section.qa {
  padding-top: 110px;
  padding-bottom: 90px;
}

section.qa .acord {
  background: rgba(255, 255, 255, 0.63);
  box-shadow: 0 10px 36px -5px rgba(165, 50, 13, 0.27);
  border-radius: 23px;
  text-align: right;
}

section.qa .acord .q {
  font-weight: 500;
  display: flex;
  justify-content: space-between;
  cursor: pointer;
}

section.qa .acord .a {
  display: none;
}

section.qa .acord .q,
section.qa .acord .a {
  padding: 0.8rem 2rem;
  border-bottom: 1px solid #fee7e6;
}

section.qa .boxed {
  width: 812px;
}

section.qa .acord .q::after {
  content: "⌵";
  display: block;
  margin-top: -4px;
}

.button.big_button {
  height: 41px;
  line-height: 42px;
}

.perfect_price .button {
  background-color: #2c1255;
  display: inline-block;
  box-shadow: 0 0 51px #ffffff8f;
  padding: 11px 100px;
}

.home .hero .button {
  padding: 5px 39px 7px 55px;
  z-index: 10;
}

.button.dark:hover {
  background-color: #9970db;
}

footer {
  background-color: #2c1255;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #9970db;
  padding-top: 70px;
  border-top: 3px solid;
}

.foot_footer {
  width: 100%;
  display: flex;
  color: #ffffffcf;
  justify-content: space-between;
  font-weight: 100;
  font-size: 17px;
  border-top: 1px solid #ffffff1f;
  padding: 8px 0;
}

.foot_footer a {
  color: #fff;
}

footer span.slogen {
  margin-bottom: 90px;
}

section.tells {
  padding-top: 30px;
  padding-bottom: 140px;
}

section.tells .swiper-container::before,
section.tells .swiper-container::after {
  content: '"';
  color: #2c125552;
  position: absolute;
  top: 20px;
  left: 20px;
  font-size: 70px;
  transform: rotate(-19deg);
}

section.tells .boxed {
  width: 800px;
}

section.tells .swiper-container::after {
  left: unset;
  right: 20px;
  transform: rotate(19deg);
}

.swiper-container.Tells {
  margin-top: 90px;
}

.tell_profile .img {
  height: 50px;
  width: 50px;
  border-radius: 50%;
  background-size: cover;
  background-position: center center;
}

.tell_profile {
  display: inline-flex;
  align-items: center;
  margin-top: 20px;
}

.tell_profile .name {
  font-size: 19px;
  font-weight: 600;
  margin-bottom: -11px;
}

.tell_profile .place {
  font-size: 19px;
}

.tell_profile .name_details {
  text-align: right;
  margin-right: 12px;
}

.lightbox-box {
  width: 100%;
  height: 100%;
  background: #000000cf;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -10;
  transition: all 0.3s ease-in-out;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
}

.lightbox-box.open {
  opacity: 1;
  z-index: 900;
  transition: all 0.3s ease-in-out, z-index 0s;
}

.lightbox-box::before {
  content: "x";
  color: #fff;
  position: absolute;
  top: 2vh;
  right: 3vh;
  font-size: 6vh;
  font-family: sans-serif;
  cursor: pointer;
  opacity: 0;
}

.lightbox-box > * {
  max-width: 80%;
  max-height: 80%;
  width: auto;
  height: auto;
}

.lightbox-label {
  color: white;
  margin-top: 1.5%;
  position: absolute;
  text-align: center;
  width: 100%;
  bottom: -6%;
}

@media (max-width: 850px) {
  .hero h1 {
    line-height: 94px;
    font-size: 90px;
    margin-bottom: 9px;
  }
  .home .hero h2 {
    font-size: 35px;
    max-width: 80%;
    margin: -11px auto 29px auto;
  }
  .hero .left_img {
    display: none;
  }
  .what_to_buy .box::after {
    display: none;
  }
  section.perfect_price::after {
    top: -11px;
    right: 2vw;
  }
  .foot_footer span {
    width: 100%;
  }
  .foot_footer {
    flex-direction: column;
  }
  .template_cubes {
    --auto-grid-min-size: 12rem;
  }
  header .left {
    width: 100%;
  }
  header .right {
    display: none;
  }
  .hero_right_hearts {
    display: none;
  }
}
footer img {
  max-width: 90%;
}

.lightbox-box .frame {
  position: relative;
}

.lightbox-box video {
  border-radius: 10px;
  box-shadow: 0 11px 42px -2px #00000059;
  margin-bottom: -8px;
  max-height: 80vh;
}
.lightbox-box iframe {
  width: 71vw;
  height: 70vh;
}

/* Audio */
.toolbox {
  z-index: 300;
  position: absolute;
  top: 0.5%;
  left: 1%;
  cursor: pointer;
  text-align: center;
  width: 136px;
  display: flex;
  gap: 16px;
  flex-direction: column;
}

.toolbox .btn {
  border-radius: 16px;
  background-color: #ffffff63;
  cursor: pointer;
  font-size: 23px;
  font-weight: bold;
  height: 37px;
  width: 82%;
  padding: 0 9%;
  color: #41723f;
  display: flex;
  justify-content: space-between;
  align-items: center;
  line-height: 1px;
  transition: all 0.3s ease-in-out;
}

.toolbox .btn:hover {
  background-color: #ffffffc4;
}

.toolbox .playPause::before {
  content: "הפעל מוזיקה";
}
.toolbox .playPause.playing::before {
  content: "השתק מוזיקה";
}
.toolbox .playPause::after {
  content: url(img/music_play.svg);
}
.toolbox .playPause.playing::after {
  content: url(img/music_mute.svg);
}
.toolbox .autoPlay::before {
  content: "נגן אוטומטית";
}
.toolbox .autoPlay.playing::before {
  content: "הפסק הרצה";
}
.toolbox .autoPlay::after {
  content: url(img/autoplay_start.svg);
}
.toolbox .autoPlay.playing::after {
  animation: rotate_spin 2s linear forwards infinite;
}

/* End Audio */

/* Opening Cover */
body.single-cards:not(.open) {
  /* Pravent scroll */
  overflow: hidden;
  max-height: 100vh;
  max-width: 100vw;
}

.opening_cover {
  height: 100vh;
  width: 100vw;
  position: fixed;
  top: 0;
  left: 0;
  overflow: hidden;
  transition: opacity 3s, z-index 6s;
  transition-delay: 0.2s;
  z-index: 300;
}

body.open .opening_cover {
  pointer-events: none;
  z-index: -10;
}

body.open .opening_cover.envelop {
  opacity: 0;
  transition-delay: 2.2s;
}

body.open .opening_cover.glass_doors {
  transition-delay: 12s;
}

.opening_cover.envelop {
  background: #c8e4f0;
}

.opening_cover.envelop * {
  box-sizing: border-box;
}

.opening_cover.envelop .content_wraper {
  margin-top: 50vh;
  transform: translatey(-50%);
}

.opening_cover.envelop h2 {
  text-align: center;
  opacity: 0;
  animation: float 3s ease-in-out infinite, fade-in 3s ease-in-out 2s forwards;
  transition: 0.8s ease-in-out;
  position: relative;
}

.opening_cover.envelop h2::after {
  content: "<";
  position: absolute;
  top: 1.2em;
  left: 0;
  right: 0;
  margin: auto;
  transform: rotate(85deg) scaleY(0.7) scaleX(1.9);
  opacity: 0.5;
}

.envelop_wrapper {
  height: 200em;
  width: 300em;
  position: relative;
  display: flex;
  justify-content: center;
  z-index: 0;
  animation: float 3s ease-in-out infinite;
  cursor: pointer;
  font-size: clamp(0.7px, 0.24vw, 1.9px);
  margin: auto;
  pointer-events: all;
}

.env_back {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #b1b8cb;
}
.env_lid {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0em;
  left: 0;
  border-right: 150em solid transparent;
  border-bottom: 100em solid transparent;
  border-left: 150em solid transparent;
  transform-origin: top;
  transition: transform 0.25s linear;
}

/* Lid when closed */
.env_lid.one {
  border-top: 120em solid #ffffff;
  transform: rotateX(0deg);
  z-index: 5;
  transition-delay: 0.75s;
}

/* Lid when closed Shadow */
.env_lid.one.shadow {
  border-top: 120em solid #00000034;
  transform: rotateX(18deg) scale(0.97);
  top: 5em;
  z-index: 4;
  transition-delay: 0.75s;
  filter: blur(2.5em);
}

/* Lid when opened */
.env_lid.two {
  border-top: 100em solid #b1b8cb;
  transform: rotateX(90deg);
  z-index: 1;
  transition-delay: 0.5s;
}

.env_envelope {
  position: absolute;
  height: 100%;
  width: 100%;
  margin-bottom: -999px;
  top: 0;
  left: 0;
  border-top: 100em solid transparent;
  border-right: 150em solid #e7e7e7;
  border-bottom: 100em solid #eeeeee;
  border-left: 150em solid #e7e7e7;
  z-index: 3;
}

.env_letter {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 80%;
  height: 80%;
  background-color: #6acd42;
  border-radius: 4em;
  z-index: 2;
  transition: 0.5s;
  pointer-events: none;
}

.opening_cover.envelop.open h2 {
  opacity: 0;
}

body.open .envelop_wrapper {
  cursor: default;
  animation: stop-float 1s ease-in-out forwards;
}

body.open .env_back {
  animation: envelop-out 3s ease-in-out 0.8s forwards;
}

body.open .env_envelope {
  animation: envelop-out 3s ease-in-out 0.8s forwards;
}

body.open .env_lid.one {
  transform: rotateX(90deg);
  transition-delay: 0.5s;
  animation: envelop-out 3s ease-in-out 0.8s forwards;
}

body.open .env_lid.one.shadow {
  opacity: 0;
}

body.open .env_lid.two {
  transform: rotateX(180deg);
  transition-delay: 0.75s;
  top: 1px;
  animation: envelop-out 3s ease-in-out 0.8s forwards;
}

body.open .env_letter {
  transform: translateY(-50px);
  transition-delay: 0.5s;
  animation: letter-grow 1s ease-in-out 1.5s forwards;
}

@keyframes envelop-out {
  0% {
    top: 0px;
  }
  100% {
    top: 200vh;
  }
}

@keyframes sticker-out {
  0% {
    margin-top: 34em;
  }
  100% {
    margin-top: 200vh;
  }
}

@keyframes float {
  0% {
    box-shadow: 0 25em 15em 0px rgba(0, 0, 0, 0.4);
    transform: translatey(0px);
  }
  50% {
    box-shadow: 0 45em 15em 0px rgba(0, 0, 0, 0.2);
    transform: translatey(-20px);
  }
  100% {
    box-shadow: 0 25em 15em 0px rgba(0, 0, 0, 0.4);
    transform: translatey(0px);
  }
}

@keyframes stop-float {
  0% {
    box-shadow: 0 25em 15em 0px rgba(0, 0, 0, 0.4);
    transform: translatey(0px);
  }
  50% {
    box-shadow: 0 45em 15em 0px rgba(0, 0, 0, 0.2);
    transform: translatey(-20px);
  }
  97% {
    box-shadow: 0 0em 0em 0px rgba(0, 0, 0, 0);
    transform: translatey(0px);
  }
  100% {
  }
}

@keyframes letter-grow {
  0% {
    width: 80%;
    height: 80%;
  }
  10% {
    top: -13vh;
    z-index: 1;
  }
  11% {
    z-index: 10;
  }
  100% {
    top: 0vh;
    width: 120vw;
    height: 120vh;
    border-radius: 0em;
  }
}

/* Envelop Sticker */

#env_sticker {
  position: relative;
  width: 18em;
  height: 18em;
  margin: 0 auto;
  margin-top: 101em;
  backface-visibility: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 99;
  transform: scale(3);
}

#env_sticker * {
  transition: all 750ms ease-in-out;
}

#env_sticker .env_sticky {
  transform: rotate(45deg);
}
body.open #env_sticker {
  animation: envelop-out 3s ease-in-out 0.8s forwards;
}
body.open #env_sticker .env_sticky {
  transform: rotate(10deg);
}

#env_sticker .env_sticky {
  position: absolute;
  top: 0;
  left: 0;
  width: 18em;
  height: 18em;
}

#env_sticker .reveal .circle {
  box-shadow: 0 0.2em 0em rgba(0, 0, 0, 0.15);
}

#env_sticker .reveal .circle {
  background: #fafafa;
}

#env_sticker .circle_wrapper {
  position: absolute;
  width: 18em;
  height: 18em;
  left: 0em;
  top: 0em;
  overflow: hidden;
}

#env_sticker .circle {
  position: absolute;
  width: 14em;
  height: 14em;
  margin: 2em;
  border-radius: 999em;
}

#env_sticker .env_sticky_back {
  height: 1em;
  top: 3em;
}

body.open #env_sticker .env_sticky_back {
  height: 9em;
  top: 11em;
}

#env_sticker .env_sticky_back .circle {
  margin-top: -13em;
  background-color: #fbec3f;
  background-image: -webkit-linear-gradient(
    bottom,
    rgba(251, 236, 63, 0),
    rgba(255, 255, 255, 0.8)
  );
}

body.open #env_sticker .env_sticky_back .circle {
  margin-top: -5em;
}

#env_sticker .env_sticky_front {
  height: 15em;
  bottom: 0;
  top: auto;
  box-shadow: 0 -14em 2em -14em rgba(0, 0, 0, 0.3);
}

body.open #env_sticker .env_sticky_front {
  height: 7em;
  box-shadow: 0 -30em 5em -30em rgba(0, 0, 0, 0.1);
}

#env_sticker .env_sticky_front .circle {
  margin-top: -1em;
  background: #fbec3f;

  background-image: -webkit-linear-gradient(
    bottom,
    rgba(251, 236, 63, 0) 75%,
    #f7bb37 95%
  );
  background-image: -moz-linear-gradient(
    bottom,
    rgba(251, 236, 63, 0) 75%,
    #f7bb37 95%
  );
  background-image: linear-gradient(
    bottom,
    rgba(251, 236, 63, 0) 75%,
    #f7bb37 95%
  );
}

/* Sticker Heart */
#env_sticker .heart {
  width: 18em;
  height: 18em;
  position: relative;
  margin-top: -1.7em;
  transform-origin: 50% 50%;
  transform: rotate(45deg) scale(0.3);
  transition: opacity 50ms linear 400ms;
}
#env_sticker .heart:before {
  content: "";
  position: absolute;
  display: block;
  border-top-left-radius: 12em;
  border-bottom-left-radius: 12em;
  background-color: tomato;
  width: inherit;
  height: 12em;
  top: 6em;
  left: 0;
}
#env_sticker .heart:after {
  content: "";
  position: absolute;
  display: block;
  background-color: tomato;
  width: 12em;
  top: 0;
  left: 6em;
  height: inherit;
  border-top-left-radius: 6em;
  border-top-right-radius: 6em;
}

body.open #env_sticker .heart {
  opacity: 0;
  transition: opacity 50ms linear 300ms;
}

body.open #env_sticker .env_sticky_front .circle {
  margin-top: -9em;
  background-color: #e2d439;
  background-position: 0 10em;
}

/* Ballons */
.balloons_container {
  height: 100vh;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  overflow: hidden;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 130vh; /* Don't cut shadow */
  transform: translateY(90vh);
  z-index: 999;
  pointer-events: none;
}

body.open .balloons_container {
  animation: move 6s ease-in-out forwards 1.7s;
}

.balloon {
  display: inline-block;
  font-size: 1px;
  width: 120em;
  height: 145em;
  background: #799ed2;
  border-radius: 80%;
  position: relative;
  box-shadow: inset -10em -10em 0 rgb(0 0 0 / 7%),
    34em 115em 75em 20em #00000012;
  margin: 20em 30em;
  transition: transform 0.5s ease;
  transform-origin: bottom center;
  z-index: 2;
  position: absolute;
  top: 28vh;
  animation: balloon-rotate 2.3s ease-in-out infinite;
  transform-origin: bottom center;
}

@keyframes balloon-rotate {
  0%,
  100% {
    transform: translateY(0) rotate(-4deg);
  }
  50% {
    transform: translateY(-25em) rotate(4deg);
  }
}

@keyframes balloon-rotate-2 {
  0%,
  100% {
    transform: translateY(0) rotate(-2deg);
  }
  50% {
    transform: translateY(-35em) rotate(6deg);
  }
}

.balloon::after {
  content: "balloon";
  font-size: 18em;
  color: rgba(0, 0, 0, 0);
  position: absolute;
  bottom: -3.6em;
  left: 0.2em;
  right: 0;
  margin: auto;
  margin-right: -21px;
  transform: scaleY(2.5) rotate(90deg);
  text-decoration-line: underline;
  text-decoration-style: wavy;
  text-decoration-color: #ffffff54;
  z-index: -1;
}

.balloon .shine {
  position: absolute;
  top: 47em;
  left: -1em;
  width: 28em;
  height: 28em;
  border-radius: 9999px;
  transform: rotate(29deg) scaleY(2.6);
  transform-origin: bottom center;
  background: rgb(255 255 255 / 28%);
  background: linear-gradient(
    111deg,
    rgb(255 255 255 / 11%) 0%,
    rgba(255, 255, 255, 0) 100%
  );
}

.balloon:nth-child(1) {
  background-color: yellow;
  color: yellow;
  left: 250em;
  animation: balloon-rotate-2 2s ease-in-out infinite;
}
.balloon:nth-child(1):before {
  border-bottom-color: yellow;
}
.balloon:nth-child(2) {
  background-color: green;
  left: 50em;
  top: 60vh;
}
.balloon:nth-child(2):before {
  border-bottom-color: green;
}
.balloon:nth-child(3) {
  background-color: #f20505;
  right: 50px;
  top: 20vh;
}
.balloon:nth-child(3):before {
  border-bottom-color: #f20505;
}
.balloon:nth-child(4) {
  background-color: white;
  left: 20em;
  top: 20vh;
  animation: balloon-rotate-2 2.9s ease-in-out infinite;
}
.balloon:nth-child(4):before {
  border-bottom-color: white;
}
.balloon:nth-child(5) {
  background-color: white;
  right: 50%;
  top: 5vh;
  animation: balloon-rotate-2 1.7s ease-in-out infinite;
}
.balloon:nth-child(5):before {
  border-bottom-color: white;
}
.balloon:nth-child(6) {
  background-color: white;
  right: 250em;
  top: 70vh;
}
.balloon:nth-child(6):before {
  border-bottom-color: white;
}
.balloon:nth-child(7) {
  background-color: white;
  right: 40%;
  top: 35vh;
  animation: balloon-rotate-2 1.5s ease-in-out infinite;
}
.balloon:nth-child(7):before {
  border-bottom-color: white;
}
.balloon:nth-child(8) {
  background-color: orange;
  left: 20%;
  top: 60vh;
}
.balloon:nth-child(8):before {
  border-bottom-color: orange;
}
.balloon:nth-child(9) {
  background-color: #ab05f2;
  right: 250em;
  top: 10vh;
}
.balloon:nth-child(9):before {
  border-bottom-color: #ab05f2;
}
.balloon:nth-child(10) {
  background-color: #a65221;
  right: 30%;
  top: 70vh;
}
.balloon:nth-child(10):before {
  border-bottom-color: #a65221;
}
.balloon:before {
  content: "";
  display: block;
  text-align: center;
  width: 0;
  height: 0;
  border-left: 8em solid transparent;
  border-right: 8em solid transparent;

  border-bottom: 13em solid #799ed2;
  position: absolute;
  bottom: -7em;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 0;
  color: #799ed2;
}
@keyframes move {
  to {
    transform: translateY(-130vh);
  }
}

@keyframes rotate_spin {
  0% {
    tranform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@media (max-width: 950px) {
  .balloon {
    font-size: 0.7px;
  }
}

@media (max-width: 700px) {
  .balloon {
    font-size: 0.4px;
  }
  .balloon::after {
    font-size: 15em;
    bottom: -5em;
    left: -1em;
  }
  .toolbox {
    top: 0.3%;
    left: 1%;
    width: 98%;
    gap: 20px;
    flex-direction: row-reverse;
  }
}

@media (max-width: 400px) {
  .toolbox .btn {
    letter-spacing: -1px;
    font-size: 20px;
  }
}
