html {
    height: 100%;
    width: 100%;
    position: fixed;
    font-size: 16px;
}

body {
    /* background: linear-gradient(to bottom, #ad6400 0%, #ff9a02 51%, #ec8e00 100%); */
    background: linear-gradient(to bottom, #ffffff 0%, #ffffff 51%, #ec8e00 100%);
    width: 100%;
    height: 100%;
    font-family: "Lobster", sans-serif;
    font-weight: 400;
    font-style: normal;
    text-shadow: 1px 1px #2d1b00;
    margin: 0px;
}

h1 {
    font-size: clamp(1.8rem, 1.5vw + 1rem, 3.2rem);
    font-weight: 400;
}

h2 {
    font-size: clamp(1.4rem, 1vw + 0.8rem, 2.4rem);
    font-weight: 400;
}

h3 {
    font-size: 1.17rem;
    font-weight: 400;
}

h4 {
    font-weight: 400;
}

h3 {
    font-weight: 400;
}

p,
span,
li {
    font-size: clamp(0.9rem, 0.4vw + 0.6rem, 1.2rem);
    font-weight: 400;
}

.loading-text {
    font-size: 2.5rem;
    font-family: "Lobster", sans-serif;
    font-weight: 400;
    margin-bottom: 10px;
}


/* h1,
h2,
h3,
h4,
h5 {
    font-family: "Lobster", sans-serif;
    font-weight: 400;
    font-style: normal;
    text-shadow: 1px 1px #2d1b00;
    margin: 0px;
} */


/* Loader overlay */

.page-loader {
    position: fixed;
    inset: 0;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #f89007 0%, #bd7100 100%);
    color: white;
    z-index: 9999;
    transition: opacity 300ms ease, visibility 300ms ease;
    font-family: "Inter", sans-serif;
}

.page-loader.hidden {
    opacity: 0;
    visibility: hidden;
    font-family: "Inter", sans-serif;
    pointer-events: none;
}


/* Simple shimmer box */

.loader-box {
    width: 220px;
    height: 10px;
    border-radius: 8px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.12) 50%, rgba(255, 255, 255, 0.06) 100%);
    position: relative;
    overflow: hidden;
    margin: 0 auto;
}

.loader-shimmer {
    position: absolute;
    top: 0;
    height: 100%;
    width: 50%;
    transform: skewX(-20deg);
    background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.25) 50%, transparent 100%);
    animation: shimmer 1.1s infinite;
}

@keyframes shimmer {
    0% {
        left: -50%;
    }
    100% {
        left: 100%;
    }
}


/* Respect reduced motion */

@media (prefers-reduced-motion: reduce) {
    .loader-shimmer {
        animation: none;
        opacity: 0.8;
        width: 100%;
    }
}

.text-color {
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

.main-text {
    position: fixed;
    width: 100%;
    text-align: center;
    z-index: 10;
}

#canvas {
    position: fixed;
    z-index: 1000000;
}

.toy-bg {
    position: fixed;
    width: 100%;
}

.star-loading {
    position: absolute;
    display: inline-block;
    height: 20rem;
    top: -5rem;
    transition: all .2s ease-out;
    transform-origin: 0% 0;
    z-index: -10;
    text-align: center;
    margin: 0 auto;
}

.star {
    position: absolute;
    display: inline-block;
    height: 40rem;
    margin-top: -5rem;
    transition: all .2s ease-out;
    transform-origin: 0% 0;
    margin-left: 18rem;
    z-index: 0;
}

.star2 {
    position: absolute;
    display: inline-block;
    height: 23rem;
    margin-left: 15rem;
    margin-top: -5rem;
    transition: all .2s ease-out;
    transform-origin: 0% 0;
}

.ball {
    position: absolute;
    display: inline-block;
    height: 50rem;
    margin-top: -3rem;
    transition: all .2s ease-out;
    transform-origin: 0% 0;
    margin-left: 1.5rem;
}

.ball2 {
    position: absolute;
    display: inline-block;
    height: 30rem;
    margin-top: -3rem;
    transition: all .2s ease-out;
    transform-origin: 0% 0;
    right: 0px;
    margin-right: 10rem;
}

.ball3 {
    position: absolute;
    display: inline-block;
    height: 45rem;
    margin-top: -3rem;
    transition: all .2s ease-out;
    transform-origin: 0% 0;
    right: 0px;
    margin-right: 15rem;
}

.star3 {
    position: absolute;
    display: inline-block;
    height: 35rem;
    margin-top: -3rem;
    transition: all .2s ease-out;
    transform-origin: 0% 0;
    right: 0px;
    margin-right: 5rem;
}

.animate-m {
    animation: m 15s ease-out infinite;
}

.animate-mf {
    animation: mf 4s ease-out infinite;
}

.animate-ms {
    animation: ms 6s ease-out infinite;
}

@keyframes m {
    0% {
        transform: rotate(2deg);
    }
    50% {
        transform: rotate(-2deg);
    }
    100% {
        transform: rotate(2deg);
    }
}

@keyframes mf {
    0% {
        transform: rotate(-3deg);
    }
    50% {
        transform: rotate(3deg);
    }
    100% {
        transform: rotate(-3deg);
    }
}

@keyframes ms {
    0% {
        transform: rotate(4deg);
    }
    50% {
        transform: rotate(-4deg);
    }
    100% {
        transform: rotate(4deg);
    }
}

.bokeh {
    position: fixed;
    width: 100%;
    height: 100%;
}

.light {
    position: absolute;
    border-radius: 50%;
    opacity: 0;
}

.light:nth-child(1) {
    width: 1186px;
    height: 1186px;
    top: 95%;
    left: 89%;
    background: #ffffff;
    filter: blur(4px);
    -webkit-animation: 30s light6 linear infinite;
    animation: 30s light6 linear infinite;
}

.light:nth-child(2) {
    width: 294px;
    height: 294px;
    top: 21%;
    left: 16%;
    background: #ffffff;
    filter: blur(30px);
    -webkit-animation: 21s light6 linear infinite;
    animation: 21s light6 linear infinite;
}

.light:nth-child(3) {
    width: 98px;
    height: 98px;
    top: 54%;
    left: 74%;
    background: #ffa929;
    filter: blur(15px);
    -webkit-animation: 27s light5 linear infinite;
    animation: 27s light5 linear infinite;
}

.light:nth-child(4) {
    width: 178px;
    height: 178px;
    top: 17%;
    left: 75%;
    background: #ffa929;
    filter: blur(40px);
    -webkit-animation: 30s light2 linear infinite;
    animation: 30s light2 linear infinite;
}

.light:nth-child(5) {
    width: 287px;
    height: 287px;
    top: 79%;
    left: 33%;
    background: #ffa929;
    filter: blur(30px);
    -webkit-animation: 13s light5 linear infinite;
    animation: 13s light5 linear infinite;
}

.light:nth-child(6) {
    width: 90px;
    height: 90px;
    top: 74%;
    left: 87%;
    background: #ffa929;
    filter: blur(10px);
    -webkit-animation: 14s light4 linear infinite;
    animation: 14s light4 linear infinite;
}

.light:nth-child(7) {
    width: 84px;
    height: 84px;
    top: 2%;
    left: 2%;
    background: #ffa929;
    filter: blur(15px);
    -webkit-animation: 35s light4 linear infinite;
    animation: 35s light4 linear infinite;
}

.light:nth-child(8) {
    width: 79px;
    height: 79px;
    top: 70%;
    left: 52%;
    background: #ffa929;
    filter: blur(10px);
    -webkit-animation: 35s light6 linear infinite;
    animation: 35s light6 linear infinite;
}

.light:nth-child(9) {
    width: 78px;
    height: 78px;
    top: 58%;
    left: 100%;
    background: #ffa929;
    filter: blur(12px);
    -webkit-animation: 29s light5 linear infinite;
    animation: 29s light5 linear infinite;
}

.light:nth-child(10) {
    width: 100px;
    height: 100px;
    top: 20%;
    left: 9%;
    background: #ffa929;
    filter: blur(14px);
    -webkit-animation: 31s light2 linear infinite;
    animation: 31s light2 linear infinite;
}

.light:nth-child(11) {
    width: 76px;
    height: 76px;
    top: 47%;
    left: 34%;
    background: #ffa929;
    filter: blur(13px);
    -webkit-animation: 14s light3 linear infinite;
    animation: 14s light3 linear infinite;
}

.light:nth-child(12) {
    width: 1195px;
    height: 1195px;
    top: 31%;
    left: 75%;
    background: #ffa929;
    filter: blur(30px);
    -webkit-animation: 22s light6 linear infinite;
    animation: 22s light6 linear infinite;
}

@-webkit-keyframes light1 {
    25% {
        opacity: 0.57;
    }
    50% {
        opacity: 0;
    }
    75% {
        opacity: 0.63;
    }
    100% {
        opacity: 0;
    }
}

@keyframes light1 {
    25% {
        opacity: 0.57;
    }
    50% {
        opacity: 0;
    }
    75% {
        opacity: 0.63;
    }
    100% {
        opacity: 0;
    }
}

@-webkit-keyframes light2 {
    25% {
        opacity: 0.69;
    }
    50% {
        opacity: 0;
    }
    75% {
        opacity: 0.37;
    }
    100% {
        opacity: 0;
    }
}

@keyframes light2 {
    25% {
        opacity: 0.69;
    }
    50% {
        opacity: 0;
    }
    75% {
        opacity: 0.37;
    }
    100% {
        opacity: 0;
    }
}

@-webkit-keyframes light3 {
    25% {
        opacity: 0.36;
    }
    50% {
        opacity: 0;
    }
    75% {
        opacity: 0.31;
    }
    100% {
        opacity: 0;
    }
}

@keyframes light3 {
    25% {
        opacity: 0.36;
    }
    50% {
        opacity: 0;
    }
    75% {
        opacity: 0.31;
    }
    100% {
        opacity: 0;
    }
}

@-webkit-keyframes light4 {
    25% {
        opacity: 0.51;
    }
    50% {
        opacity: 0;
    }
    75% {
        opacity: 0.54;
    }
    100% {
        opacity: 0;
    }
}

@keyframes light4 {
    25% {
        opacity: 0.51;
    }
    50% {
        opacity: 0;
    }
    75% {
        opacity: 0.54;
    }
    100% {
        opacity: 0;
    }
}

@-webkit-keyframes light5 {
    25% {
        opacity: 0.57;
    }
    50% {
        opacity: 0;
    }
    75% {
        opacity: 0.64;
    }
    100% {
        opacity: 0;
    }
}

@keyframes light5 {
    25% {
        opacity: 0.57;
    }
    50% {
        opacity: 0;
    }
    75% {
        opacity: 0.64;
    }
    100% {
        opacity: 0;
    }
}

.snow {
    position: absolute;
    top: 10%;
    left: 5%;
    width: 120px;
    opacity: 0.9;
}

.snow2 {
    position: absolute;
    width: 100px;
    bottom: 5%;
    right: 5%;
}

.snow3 {
    position: absolute;
    width: 130px;
    bottom: 50%;
    right: 20%;
    opacity: 0.8;
}

.snow4 {
    position: absolute;
    width: 90px;
    bottom: 20%;
    right: 40%;
    opacity: 0.7;
}

.snow5 {
    position: absolute;
    width: 120px;
    bottom: 40%;
    left: 28%;
}

.main-intro {
    padding: 10% 10%;
    text-align: center;
}

.event-title {
    margin-bottom: 10px;
}

.event-name {
    margin-bottom: 0px;
    margin-top: 0px;
}

.event-ticket {
    margin-top: 80px;
    margin-bottom: 10px;
}

.event-desc {
    margin-top: 10px;
}

.event-date {
    margin-top: 10px;
}

.event-address {
    margin-top: 0px;
}

.event-company {
    bottom: 50px;
}

@media only screen and (max-width: 1024px) {
    .main-intro {
        margin-top: 20%;
    }
    .star {
        width: 24rem;
        height: 35rem;
        position: absolute;
        display: inline-block;
        margin-left: 1rem;
        margin-top: -5rem;
        transition: all .2s ease-out;
        transform-origin: 0% 0;
    }
    .ball {
        height: 24rem;
    }
    .ball3 {
        height: 18rem;
    }
    .ball4 {
        height: 24rem;
    }
    /* .company-name {
        font-size: 2rem;
    } */
    /* h1 {
        font-size: 6rem;
    }
    h2 {
        font-size: 3rem;
    }
    h3 {
        font-size: 2.4rem;
    }
    p {
        font-size: 1.6rem;
    } */
}

@media only screen and (max-width: 520px) {
    /* html {
        font-size: 14px
    }
    body {
        font-size: 14px
    } */
    .main-intro {
        margin-top: 120px;
    }
    h1 {
        font-size: 3.4rem;
    }
    p {
        font-size: 1.6rem;
    }
    .text-box {
        top: 10%;
    }
    .star {
        position: absolute;
        width: 10rem;
        height: 15rem;
        left: -0.2rem;
    }
    .star2 {
        width: 15rem;
        height: 14rem;
    }
    .star3 {
        /* width: 24rem; */
        height: 10rem;
        left: 30px;
    }
    .ball {
        height: 11rem;
        right: 30px;
    }
    .ball2 {
        /* display: none; */
        height: 12rem;
        left: 0px;
    }
    .ball3 {
        height: 14rem;
        position: absolute;
        /* width: 12rem; */
        right: -12rem;
    }
    .snow {
        position: absolute;
        top: -5%;
        left: -5%;
        width: 150px;
        opacity: 0.5;
    }
    .snow2 {
        position: absolute;
        bottom: -5%;
        right: -5%;
        width: 150px;
        opacity: 0.5;
    }
    .snow4 {
        display: none;
    }
    .snow3 {
        display: none;
    }
    .snow5 {
        display: none;
    }
}

.greeting-logo {
    width: 100px;
}