* {
    -ms-user-select: none;
    -moz-user-select: none;
    -o-user-select: none;
    user-select: none;
    -webkit-user-select: none;
}

.red-text {
    font-family: Pacifico;
    color: red;
    font-size: 46px;
}

body {
		background-image: url("./bg.png");
		height: 140vh;
		font: 100%/18px helvetica, arial, sans-serif;
		background-color: black;
		background-repeat: no-repeat;
			background-size: cover;
			background-position: center;
			overflow: hidden;
}
@media (max-width: 960px) {
	body{
		background-size: contain;
		height: 90vh;
	}
}

ul,
li {
    text-indent: 0;
    text-decoration: none;
    margin: 0;
    padding: 0;
}

img {
    border: 0;
}
  

canvas {
	cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'  width='50' height='60' viewport='0 0 100 100' style='fill:black;font-size:30px;'><text y='50%'>🪄</text></svg>") 16 0, auto;
	height: 100%;
    display: block;
    left: 0;
    position: absolute;
    top: 0;
    z-index: 20;
}

#header img {
    width: 100%;
    height: 20%;
}

#bg img {
    width: 100%;
    height: 80%;
}

#header,
#bg {
    position: fixed;
    left: 0;
    right: 0;
    z-index: 10;
}

#header {
    top: 0;
}

#bg {
    position: fixed;
    z-index: 1;
    bottom: 0;
}

audio {
    position: fixed;
    display: none;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 5;
}

.ak {
    position: absolute;
    left: 0;
    right: 0;
    top: 0%;
    color: #FFE45E;
    text-align: center;
    font-size: 7rem;
    font-style: italic;
    text-shadow: #FFE45E 0 0 30px, #E5C654 1px 0 3px;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

#circle {
    width: 214px;
    height: 214px;
    background-color: #FFC847;
    border-radius: 214px;
    position: fixed;
    top: -50px;
    right: -40px;
    margin: auto;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    transform: scale(.3, .3);
    transition: 2s all;
    z-index: 1000;
}

#circle:hover {
    box-shadow: 0 1px 8px rgba(255, 255, 255, 0.5);

    cursor: pointer;
}

#circle:after {
    content: "";
    display: block;
    border: 7px dashed white;
    width: 200px;
    height: 200px;
    border-radius: 200px;
    animation: spin 30s linear infinite;
}

#circle:hover {
    background-image: radial-gradient(#FFED85, #FFC847 70%);
}

#gift {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    width: 100px;
    height: 125px;
}

#ribbon {
    position: relative;
    width: 60px;
    height: 60px;
    transform: rotate(45deg);
    margin: auto;
    margin-bottom: -38px;
    border-radius: 0 8px 0 8px;
}

#ribbon:before {
    content: "";
    height: 24px;
    width: 100%;
    background-color: #F04D4D;
    display: block;
    position: absolute;
    top: 18px;
    box-shadow: 0 0 1px rgba(0, 0, 0, 0.4);
    border-radius: inherit;
}

#ribbon:after {
    content: "";
    height: 100%;
    width: 24px;
    background-color: #F04D4D;
    display: block;
    margin: auto;
    box-shadow: 0 0 1px rgba(0, 0, 0, 0.4);
    border-radius: inherit;
}

#giftbox {
    position: relative;
    margin: auto;
    width: 100px;
    height: 100px;
    background-color: white;
    border-radius: 2px;
    box-shadow: 0 0 1px rgba(0, 0, 0, 0.4);
    overflow: hidden;
}

#giftbox:before {
    content: "";
    height: 24%;
    width: 100%;
    background-color: #F04D4D;
    display: block;
    position: absolute;
    top: 38%;
    box-shadow: inherit;
}

#giftbox:after {
    content: "";
    height: 100%;
    width: 24%;
    background-color: #F04D4D;
    display: block;
    margin: auto;
    box-shadow: inherit;
}

img {
    position: absolute;
    top: 4px;
    right: 4px;
}

#imgB {
    position: fixed;
    top: 4px;
    right: 4px;

    z-index: 10000;
}

#dialogBox {
    position: fixed;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    border: 2px dashed rgb(251, 251, 251);
    background-color: rgba(13, 13, 13, 0.90);
    text-align: center;
    color: #FFC847;
    padding: 20px;
    padding-top: 40px;
    height: 400px;
    width: 600px;
    transform: rotateX(90deg);
    cursor: default;
    transition: .8s;
}

#cover {

    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 1;
    height: 100vh;
    width: 100vw;
    opacity: 0;
    transition: 1s;
}

@media screen and (max-width: 720px) {
    #circle:hover {
        box-shadow: 0 1px 8px rgba(255, 255, 255, 0.5);

        cursor: pointer;
    }

    #dialogBox {
        height: 100%;
        width: 100%;
        padding: 0%;
        border: 0px;

        padding-top: 80%;

        background-color: rgba(13, 13, 13, 0.90);
    }

    #cover {
        height: 100%;
        width: 100%;
    }

    #circle {
        bottom: 0px;
        left: -30px;
    }

    img {
        position: fixed;
        top: 4px;
        left: 4px;

    }

    #imgB {
        position: relative;
        top: 4px;
        left: 4px;

        z-index: 10000;
    }
}

.lightrope {
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	position: absolute;
	z-index: 1;
	margin: -15px 0 0 0;
	padding: 0;
	pointer-events: none;
	width: 100%;
}

.lightrope li {
	position: relative;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	list-style: none;
	margin: 0;
	padding: 0;
	display: block;
	width: 12px;
	height: 28px;
	border-radius: 50%;
	margin: 20px;
	display: inline-block;
	background: #b1b1c0;
	box-shadow: 0px 4.6666666667px 24px 3px #b1b1c0;
	-webkit-animation-name: flash-1;
	animation-name: flash-1;
	-webkit-animation-duration: 2s;
	animation-duration: 2s;
}

.lightrope li:nth-child(2n+1) {
	background: #e2e2ff;
	box-shadow: 0px 4.6666666667px 24px 3px #e2e2ff;
	-webkit-animation-name: flash-2;
	animation-name: flash-2;
	-webkit-animation-duration: 0.4s;
	animation-duration: 0.4s;
}

.lightrope li:nth-child(4n+2) {
	background: #fab648;
	box-shadow: 0px 4.6666666667px 24px 3px #fab648;
	-webkit-animation-name: flash-3;
	animation-name: flash-3;
	-webkit-animation-duration: 1.1s;
	animation-duration: 1.1s;
}

.lightrope li:nth-child(odd) {
	-webkit-animation-duration: 1.8s;
	animation-duration: 1.8s;
}

.lightrope li:nth-child(3n+1) {
	-webkit-animation-duration: 1.4s;
	animation-duration: 1.4s;
}

.lightrope li:before {
	content: "";
	position: absolute;
	background: #222;
	width: 10px;
	height: 9.3333333333px;
	border-radius: 3px;
	top: -4.6666666667px;
	left: 1px;
}

.lightrope li:after {
	content: "";
	top: -14px;
	left: 9px;
	position: absolute;
	width: 52px;
	height: 18.6666666667px;
	border-bottom: solid #222 2px;
	border-radius: 50%;
}

.lightrope li:last-child:after {
	content: none;
}

.lightrope li:first-child {
	margin-left: -40px;
}

@-webkit-keyframes flash-1 {

	0%,
		100% {
			background: #fab648;
			box-shadow: 0px 4.6666666667px 24px 3px #fab648;
		}
	
		50% {
			background: rgba(247, 0, 148, 1);
			box-shadow: 0px 4.6666666667px 24px 3px rgba(247, 0, 148, 0.904);
		}
}

@keyframes flash-1 {

	0%,
		100% {
			background: #fab648;
			box-shadow: 0px 4.6666666667px 24px 3px #fab648;
		}
	
		50% {
			background: rgba(247, 0, 148, 1);
			box-shadow: 0px 4.6666666667px 24px 3px rgba(247, 0, 148, 0.904);
		}
}

@-webkit-keyframes flash-2 {

	0%,
	100% {
		background: #e2e2ff;
		box-shadow: 0px 4.6666666667px 24px 3px #e2e2ff;
	}

	50% {
		background: rgba(0, 255, 255, 1);
		box-shadow: 0px 4.6666666667px 24px 3px rgba(0, 255, 255, 0.918);
	}
}

@keyframes flash-2 {

	0%,
	100% {
		background: #e2e2ff;
		box-shadow: 0px 4.6666666667px 24px 3px #e2e2ff;
	}

	50% {
		background: rgba(0, 255, 255, 1);
		box-shadow: 0px 4.6666666667px 24px 3px rgba(0, 255, 255, 0.918);
	}
}

@-webkit-keyframes flash-3 {

	0%,
	100% {
		background: #fab648;
		box-shadow: 0px 4.6666666667px 24px 3px #fab648;
	}

	50% {
		background: rgba(247, 0, 148, 1);
		box-shadow: 0px 4.6666666667px 24px 3px rgba(247, 0, 148, 0.904);
	}
}

@keyframes flash-3 {

	0%,
	100% {
		background: #fab648;
		box-shadow: 0px 4.6666666667px 24px 3px #fab648;
	}

	50% {
		background: rgba(247, 0, 148, 1);
		box-shadow: 0px 4.6666666667px 24px 3px rgba(247, 0, 148, 0.904);
	}
}


.container {
	text-align: center;
	vertical-align: middle;
	position: relative;
	min-height: 100%;
		display: flex;
		flex-direction: column;
		justify-content: center;
}

span {
	font-size: 5.6rem;
	text-align: center;
	line-height: 1;
	color: #c6e2ff;
	align-items: center;
		font-family: "Great Vibes", cursive;
		font-size: 165px;
		line-height: 160px;
		font-weight: normal;
}

.stroke-fill {
	stroke-dasharray: 1000;
	stroke-dashoffset: 1000;
	stroke: #efefef;
}

#happy-stroke {
	-webkit-animation: happy-dash 1.7s linear normal forwards;
	animation: happy-dash 1.7s linear normal forwards;
}

#n-stroke {
	-webkit-animation: dash 2s 1.8s linear normal forwards;
	animation: dash 2s 1.8s linear normal forwards;
}

#ew-stroke {
	-webkit-animation: dash 2s 2.5s linear normal forwards;
	animation: dash 2s 2.5s linear normal forwards;
}

#y-stroke {
	-webkit-animation: dash 2s 3.3s linear normal forwards;
	animation: dash 2s 3.3s linear normal forwards;
}

#ye-stroke {
	-webkit-animation: dash 1s 4s linear normal forwards;
	animation: dash 1s 4s linear normal forwards;
}

#ear-stroke {
	-webkit-animation: dash 2s 4.18s linear normal forwards;
	animation: dash 2s 4.18s linear normal forwards;
}

#underline-stroke {
	-webkit-animation: dash 0.5s 5.5s cubic-bezier(0.55, 0.085, 0.68, 0.53) normal forwards;
	animation: dash 0.5s 5.5s cubic-bezier(0.55, 0.085, 0.68, 0.53) normal forwards;
}

@-webkit-keyframes dash {
	0% {
		stroke-dashoffset: 1000;
	}

	100% {
		stroke-dashoffset: 0;
	}
}

@keyframes dash {
	0% {
		stroke-dashoffset: 1000;
	}

	100% {
		stroke-dashoffset: 0;
	}
}

@-webkit-keyframes happy-dash {
	0% {
		stroke-dashoffset: 1000;
	}

	6% {
		stroke-dashoffset: 976;
	}

	6.01% {
		stroke-dashoffset: 958;
	}

	13% {
		stroke-dashoffset: 936;
	}

	13.01% {
		stroke-dashoffset: 905;
	}

	20% {
		stroke-dashoffset: 896;
	}

	20.01% {
		stroke-dashoffset: 864;
	}

	27% {
		stroke-dashoffset: 840;
	}

	27.01% {
		stroke-dashoffset: 830;
	}

	34% {
		stroke-dashoffset: 808;
	}

	34.01% {
		stroke-dashoffset: 775;
	}

	40% {
		stroke-dashoffset: 764;
	}

	40.01% {
		stroke-dashoffset: 738;
	}

	60% {
		stroke-dashoffset: 688;
	}

	60.01% {
		stroke-dashoffset: 658;
	}

	80% {
		stroke-dashoffset: 610;
	}

	80.01% {
		stroke-dashoffset: 580;
	}

	90% {
		stroke-dashoffset: 555;
	}

	90.01% {
		stroke-dashoffset: 543;
	}

	99.99% {
		stroke-dashoffset: 525;
	}

	100% {
		stroke-dashoffset: 0;
	}
}

@keyframes happy-dash {
	0% {
		stroke-dashoffset: 1000;
	}

	6% {
		stroke-dashoffset: 976;
	}

	6.01% {
		stroke-dashoffset: 958;
	}

	13% {
		stroke-dashoffset: 936;
	}

	13.01% {
		stroke-dashoffset: 905;
	}

	20% {
		stroke-dashoffset: 896;
	}

	20.01% {
		stroke-dashoffset: 864;
	}

	27% {
		stroke-dashoffset: 840;
	}

	27.01% {
		stroke-dashoffset: 830;
	}

	34% {
		stroke-dashoffset: 808;
	}

	34.01% {
		stroke-dashoffset: 775;
	}

	40% {
		stroke-dashoffset: 764;
	}

	40.01% {
		stroke-dashoffset: 738;
	}

	60% {
		stroke-dashoffset: 688;
	}

	60.01% {
		stroke-dashoffset: 658;
	}

	80% {
		stroke-dashoffset: 610;
	}

	80.01% {
		stroke-dashoffset: 580;
	}

	90% {
		stroke-dashoffset: 555;
	}

	90.01% {
		stroke-dashoffset: 543;
	}

	99.99% {
		stroke-dashoffset: 525;
	}

	100% {
		stroke-dashoffset: 0;
	}
}
