	*:not(svg)
		{
			box-sizing: border-box;
			outline: none;
		}

	a
		{
			text-decoration: inherit;
			color: inherit;
		}

	ul
		{
			list-style: none;
			padding: 0px;
			margin: 0px;
		}

	body
		{
			padding: 0px;
			margin: 0px;
			background: rgb( 37, 8, 58 );
			display: flex;
			align-items: center;
			justify-content: center;
			height: 100vh;
			font-family: sans-serif;
			color: white;
		}

	form label.required::before
		{
			content: "*";
			display: inline-block;
			x-padding: 5px;
			color: rgba(200, 0, 0, 1);
		}

	form label a
		{
			margin-top: 15px;
			position: relative;
			word-wrap: break-word;
		}

	form label a.icon
		{
			padding: 5px;
			position: absolute;
			margin-top: -3px;
			margin-left: 7px;
			cursor: pointer;
		}

	form .more-info:not(.open)
		{
			display: none;
		}

	form .more-info > .content
		{
			background-color: #490b55;
			padding: 15px;
			border-radius: 15px;
		}

	form input, form textarea
		{
			font-family: Arial;
			font-size: medium;
			border-radius: 10px;
			padding: 10px;
		}

	form.hlw
		{
			display: flex;
			flex-direction: column;
			grid-row-gap: 5px;
			--altcha-max-width: 100%;
			align-items: flex-start;
		}

	form.hlw .copy
		{
			width: 100%;
			display: flex;
			justify-content: center;
		}

	form.hlw .copy a:not(.selected)
		{
			display: none;
		}

	form.hlw .copy a.generate-code-button
		{
			background-color: rgba(31, 158, 94, 1);
			background-color: rgba(161, 25, 26, 1);
			color: rgba(255, 255, 255, 1);
		}

	form.hlw .copy a
		{
			display: flex;
			border-radius: 15px;
			background-color: rgba(31, 158, 94, 1);
			color: rgba(255, 50, 51, 1);
			color: rgba(255, 255, 255, 1);
			z-index: 1;
			padding: 10px;
			cursor: pointer;
			width: 100%;
			justify-content: center;
		}

	form.hlw .copy a > *
		{
			font-family: sans-serif;
			padding-left: 5px;
			font-weight: 400;
		}


	form .buttons
		{
			display: flex;
			justify-content: flex-end;
			width: 100%;
		}

	form.hlw input[type=button]
		{
			display: flex;
			justify-content: center;
			margin-top: 15px;
			font-family: "Berkshire Swash", serif;
			font-size: 20px;
			color: rgba(0, 0, 0, 0.8);
			background-color: rgb(208, 246, 212);
			width: 100%;
			height: 40px;
			border-radius: 15px;
			padding: 10px 20px;
			cursor: pointer;
			align-items: center;
			line-height: 15px;
		}

	.main-background
		{
			position: absolute;
			top: 0px;
			left: 0px;
			width: 100%;
			height: 100%;
			background-image: url( /halloween/graphics/bg-1.png );
			background-repeat: no-repeat;
			background-size: cover;
			background-position: bottom;
			animation-name: bg-lightning;
			animation-duration: 1s;
			animation-delay: 5s;
			filter: none;
		}

	@keyframes bg-lightning
		{
			0%
				{
					filter: none;
				}
			20%
				{
					filter: drop-shadow( 2px 4px 6px rgba( 156, 32, 246, 0.4 ) );
				}
			100%
				{
					filter: none;
				}
		}

	.main-background::before
		{
			content: "";
			display: block;
			position: absolute;
			width: 100%;
			height: 100%;
			background-color: rgba( 0, 0, 0, 0.2 );
		}

	body > .main
		{
			display: flex;
			flex-direction: column;
			flex-wrap: nowrap;
			align-items: center;
			position: absolute;
			top: 0px;
			left: 0px;
			width: 100vw;
			height: 100vh;
			overflow-x: hidden;
			overflow-y: auto;
		}

	body > .main > .section
		{
			position: relative;
			display: flex;
			flex-direction: column;
			width: 100%;
			align-items: center;
		}

	body > .main > .section:nth-child( odd )
		{
			background-color: rgba( 44, 4, 70, 0.8 );
		}

	body > .main > .section:nth-child( even )
		{
			background-color: rgba( 64, 29, 87, 0.8 );
		}

	body > .main > .section:nth-child( even ) > .content
		{
			position: relative;
			z-index: 1;
		}

	body > .main > .section:nth-child( even )::after
		{
			content: "";
			position: absolute;
			top: 0px;
			left: 0px;
			width: 100%;
			height: 100%;
			background-image: url( /halloween/graphics/halloween-spiderweb.png );
			background-size: min(65vw, 650px);
			background-repeat: no-repeat;
			background-position: top left;

		}

	/*
		rgba( 44, 4, 70, 0.8 );
		rgba( 64, 29, 87, 0.8 );
	*/

	body > .main > .section > .content
		{
			display: flex;
			flex-direction: column;
			align-items: center;
			flex-wrap: nowrap;
			max-width: 650px;
			min-height: 450px;
			width: 100%;
			padding: 40px 20px;
			filter: drop-shadow(2px 4px 6px black);
		}

	.section h1,
	.section h2
		{
			font-family: "Creepster", system-ui;
			font-weight: 400;
			font-style: normal;
			filter: drop-shadow(2px 4px 6px black);
		}

	.section h1
		{
			font-size: 40px;
		}

	.section p
		{
			font-family: "Berkshire Swash", serif;
			font-weight: 400;
			font-style: normal;
			font-size: 19px;
			line-height: 32px;
			letter-spacing: 1.1px;
			color: rgba( 255, 255, 255, 0.8 );
		}


	body > .menu
		{
			display: flex;
			flex-direction: column;
			flex-wrap: nowrap;
			align-items: center;
			justify-content: center;
			position: absolute;
			top: 0px;
			left: 0px;
			width: 100%;
			height: 80px;
			background-color: rgba( 26, 3, 42, 0.9 );
			z-index: 100;
		}


	.section.a
		{
			padding-top: 80px;
		}

	body > .menu > .menu-container
		{
			display: flex;
			flex-direction: row;
			flex-wrap: nowrap;
		}

	body > .menu .menu-list
		{
			display: flex;
			flex-wrap: nowrap;
			background-color: rgba( 26, 3, 42, 0.9 );
		}


	body > .menu .menu-list .menu-item
		{
			padding: 10px;
			position: relative;
		}

	body > .menu
		{
			font-family: "Berkshire Swash", serif;
			font-weight: 400;
			font-style: normal;
			font-size: 20px;
			color: rgb( 200, 200, 0 );
		}

	body > .menu .menu-item a
		{
			filter: drop-shadow( 2px 4px 6px rgb( 100, 100, 0 ) );
			border-bottom: 1px solid transparent;
			transition: border 0.2s ease-in-out;
		}

	body > .menu .menu-item:hover > a
		{
			border-bottom: 1px solid rgb( 200, 200, 0 );
		}

	body > .menu .menu-toggle
		{
			display: none;
		}

	body > .menu .menu-list.sub
		{
			display: none;
			flex-direction: column;
		}

	body > .menu .menu-list.top > :hover > .menu-list
		{
			display: flex;
			position: absolute;
			margin-top: 1px;
			width: 100%;

		}

	body > .menu a span::before
		{
			content: " ";
		}

	@media only screen and (max-width: 600px) {

		body > .menu.open
			{
				height: auto;
				width: 100%;
				max-height: 100vh;
				padding-top: 15px;
			}
		body > .menu:not(.open) .menu-item
			{
				font-size: 30px;
			}

		body > .menu:not(.open) a span
			{
				display: none;
			}

		body > .menu .menu-toggle
			{
				display: flex;
				flex-direction: column;
				position: absolute;
				right: 20px;
				top: 24px;
				border-radius: 10px;
				color: white;
				background: rgba(0, 0, 0, 0.2);
				padding: 4px 8px;
				border: 1px solid rgba(255, 255, 255, 0.4);
				cursor: pointer;

			}

		body > .menu.open > .menu-container
			{
				flex-direction: column;
			}

		body > .menu.open .menu-list.center,
		body > .menu.open .menu-list.center .menu-list
			{
				flex-direction: column;
			}

	}
/*
	body > .menu
		{
			display: none !important;
		}

	.section.a
		{
			padding-top: 0px;
		}
*/
