body {
	background-image: url("/media/background_slots_sm.jpg");
	background-color: #212529;
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: top center;
	-webkit-background-size: 100%;
	-moz-background-size: 100%;
	-o-background-size: 100%;
	background-size: 100%;
	background-attachment: fixed;
	margin-bottom: 60px;

	overflow-x: hidden;
	/* Hide horizontal scrollbar */
}

.getfunds {
	background-image: none;
	background-color: #212529;
}

body:after {
	content: "";
	position: fixed;
	/* stretch a fixed position to the whole screen */
	top: 0;
	height: 100vh;
	/* fix for mobile browser address bar appearing disappearing */
	left: 0;
	right: 0;
	z-index: -1;
	/* needed to keep in the background */
	/* background: url("/media/background_slots.jpg") top center; */
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

a:link {
	text-decoration: none !important;
}

a:visited {
	text-decoration: none !important;
}

a:hover {
	text-decoration: none !important;
}

a:active {
	text-decoration: none;
}

.dropshadow {
	-webkit-filter: drop-shadow(3px 3px 3px #000000);
	filter: drop-shadow(3px 3px 3px #000000);
}

.goldenboy {
	-webkit-filter: drop-shadow(3px 3px 3px #000000);
	filter: drop-shadow(3px 3px 3px #000000);
	border-radius: 10px;
	border: 1px solid #F0C966;
}


.goldenimg {
	-webkit-filter: drop-shadow(3px 3px 3px #F0C966);
	filter: drop-shadow(3px 3px 3px #F0C966);
	border-radius: 0px;
	border: 0px solid #F0C966;
}

.goldenboy h5 {
	font-weight: bold;
	color: #ffffff !important;
}

.headline h1,
.headline h2,
.headline h3,
.headline h4,
.headline h5,
.headline h6,
.headline img {
	text-align: center;
	color: #ffffff;
}

.center {
	text-align: center;
}

.headline h1>strong,
h2>strong,
h3>strong,
h4>strong,
h5>strong,
h6>strong {
	color: #F0C966;
	text-shadow: 1px 1px 0 #000, -1px -1px 0 #000000, 0 0 20px rgba(240, 201, 102, .45), 0 0 55px rgba(212, 177, 90, .45);
}

.headline h2 {
	color: #ffffff;
}

#myBtnContainer {
	text-align: center;
	color: #ffffff;
}

.dark-theme {
	background-color: #212529;
}

.banner_dark {
	background-color: rgba(0, 0, 0, .45);
	border-top: 2px solid #F0C966;
	border-bottom: 2px solid #F0C966;
	margin: 20px -10px 20px -10px;
	padding: 20px;
}

.banner_light {
	background-color: rgba(256, 256, 256, .45);
	border-top: 2px solid #F0C966;
	border-bottom: 2px solid #F0C966;
	margin: 20px -10px 20px -10px;
	padding: 20px;
}

.tiles .tile {
	padding: 2rem 1rem;
	text-align: left;
	border-radius: 10px;
	background: rgba(47, 50, 61, .45);
	display: flex;
	flex-direction: column;
	border: 3px solid #000000;
	box-shadow: 0 0 20px rgba(53, 110, 255, .45);
	margin: 20px 0px 20px 0px;
}

.title-icon {
	margin-bottom: 1rem;
	font-size: 10px;
	color: #F0C966;
	border: 3px solid #000000;
}

.content {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 20px;
	top: 66px;
}

#pwdstrength,
#pwdmatch,
#emailvalidation {
	color: red;
	font-family: verdana;
	font-size: 10px;
	font-weight: bold;
}

#pwdinstructions {
	font-size: 11px;
}

.prizeRevealResponse {
	padding-top: 10px;
	padding-bottom: 25px;
	width: 100%;
	display: block;
}

.modal-spinner {
	position: fixed;
	z-index: 10000;
	left: 0.0px;
	top: 0.0px;
	width: 100.0%;
	height: 100.0%;
	overflow: auto;
	background-color: rgba(64, 64, 64, 0.5);
	display: none;
}

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

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

@-webkit-keyframes modal-spinner-spin {
	0% {
		-webkit-transform: rotate(0deg);
	}

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

.modal-spinner-spinner {
	border: 0.6666666666666666em solid #f3f3f3;
	border-radius: 50.0%;
	border-top: 0.6666666666666666em solid #3498db;
	width: 5.0em;
	height: 5.0em;
	animation: modal-spinner-spin 1.0s linear infinite;
	-webkit-animation: modal-spinner-spin 1.0s linear infinite;
	position: fixed;
	left: 50.0%;
	top: 25.0%;
	margin-left: -2.5em;
}


.filterDiv {
	background-color: #2196F3;
	color: #ffffff;
	text-align: center;
	margin: 2px;
	display: none;
}

.show {
	display: block;
}

.card {
	padding: 0px;
	-webkit-filter: drop-shadow(3px 3px 3px #000000);
	filter: drop-shadow(3px 3px 3px #000000);
	border-radius: 10px;
	border: 2px solid #F0C966;
}

.card-img-top {
	width: 100%;
	object-fit: contain;
	border-radius: 10px 10px 0px 0px;
}

.wrong .fa-check {
	display: none;
}

.good .fa-times {
	display: none;
}


#fullscreen-button {
	position: absolute;
	float: right;
	right: 10px;
	top: 13px;
	width: 40px;
	height: 40px;
	padding-right: 0px;
	padding-top: 0px;
	background: url('/media/ui/enterfullscreen_sm.png') no-repeat center;
	display: none;
	visibility: hidden;
}

#swipe {
	margin: 0;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url('/media/ui/swipe.gif');
	background-repeat: no-repeat;
	background-position: center;
	background-color: #000000;
	z-index: 1000;
	background-size: contain;
	opacity: .95;
	overflow: hidden;
}

#mask {
	height: 100vh;
	width: 100vw;
	z-index: 20;
	display: inline;
	position: absolute;
	top: 0%;
}

.btn:hover {
	/*
	transform:translate3d(0,0px,.01px);
	-webkit-filter: drop-shadow(1px 1px 1px 1px #F0C966);
	filter: drop-shadow(1px 1px 1px 1px #F0C966);
	z-index:1;
	*/
	border: 1px solid #F0C966;
}

.navbar {
	position: -webkit-sticky;
}

.f6banner {
	background-image: url('/media/charities/future6/f6-header-bg_smdrk.jpg');
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: 100% 100%;
}

/* -------------------------------------
    INVOICE
    Styles for the billing table
------------------------------------- */
.invoice {
	margin: 10px auto;
	text-align: left;
	width: 95%;
}

.invoice td {
	padding: 5px 0;
}

.payment-details {
	width: 100%;
	background: #000000;
	border-radius: 10px;
	border: 1px solid #F0C966;
}

.invoice .invoice-items {
	width: 100%;
}

.invoice .invoice-items td {
	border-top: #eee 0px solid;
}

.invoice .invoice-items .total td {
	border-top: 2px solid #b0adad;
	font-weight: 700;
}

.aligncenter {
	text-align: center;
}

.invoice.alignright {
	text-align: right;
}

.alignleft {
	text-align: left;
}

/* ===== Root & globals ===== */
#numbered {
	/* width of each level's gutter "tab stop" */
	counter-reset: heading;
  }

/* ===== LEGACY LEVELS (DEPRECATED) ===== */
.lvl1:before {
	content: counter(heading)") ";
	counter-increment: heading;

}

.lvl1 {
	counter-reset: subheading;
}

.lvl2 {
	text-indent: -30px;
	padding-left: 50px;
	counter-reset: subsubheading;
}

.lvl2:before {
	content: counter(heading)"." counter(subheading)") ";
	counter-increment: subheading;
}

.lvl3 {
	text-indent: -25px;
	padding-left: 75px;
	counter-reset: subsubsubheading;
}

.lvl3:before {
	content: counter(heading)"." counter(subheading)"." counter(subsubheading)") ";
	counter-increment: subsubheading;
}

.lvl4 {
	text-indent: -20px;
	padding-left: 100px;
}

.lvl4:before {
	content: counter(heading)"." counter(subheading)"." counter(subsubheading)"." counter(subsubsubheading)") ";
	counter-increment: subsubsubheading;
}

/* =========================
   Legal Doc Numbering (6 levels)
   - Level 1 flush-left (no gutter)
   - Levels ≥2 indent by a fixed gutter step
   - Numbers right-aligned in their own column with a gap
   - Headings vs paragraphs differ only in typography
   ========================= */
  
  /* Scope counters + ensure tabular digits for clean alignment */
  #legalnumbers {
	counter-reset: l1;
	font-variant-numeric: tabular-nums; /* fixed-width digits for alignment */
	--gutter: 2.45rem;    /* step distance added for each deeper level (≥2) */
	--num-width: 2ch;    /* width reserved for the number itself (e.g., "12.10.") */
	--num-gap: 0.45rem;  /* space between number and text */
  }
  
  /* Base block for all items */
  .ld-h1, .ld-h2, .ld-h3, .ld-h4, .ld-h5, .ld-h6,
  .ld-p1, .ld-p2, .ld-p3, .ld-p4, .ld-p5, .ld-p6 {
	display: block;
	position: relative;
	box-sizing: border-box;
	margin: 0.35em 0;
	line-height: 1.5;
	text-align: justify;         /* ALL levels fully justified */
  }
  
  /* -------------------------------
	 Level 1 (flush-left)
	 ------------------------------- */
  .ld-h1, .ld-p1 {
	/* no gutter for level 1; only number width + gap */
	counter-increment: l1;
	counter-reset: l2 l3 l4 l5 l6;
	padding-left: calc(var(--num-width) + var(--num-gap));
  }
  .ld-h1::before, .ld-p1::before {
	content: counter(l1) ". ";
	position: absolute;
	left: 0;
	width: calc(var(--num-width) + var(--num-gap)); /* same as padding-left */
	text-align: right;                   /* right edge = text column */
	padding-right: var(--num-gap);       /* the visible gap */
	white-space: nowrap;
  }
  
  /* Typography differences only */
  .ld-h1 { font-weight: bold; text-transform: uppercase; font-size: 1.28em; }
  .ld-p1 { font-weight: normal; font-size: 1.00em; }
  
  /* -------------------------------
	 Level 2
	 ------------------------------- */
  .ld-h2, .ld-p2 {
	counter-increment: l2;
	counter-reset: l3 l4 l5 l6;
	padding-left: calc(var(--gutter) + var(--num-width) + var(--num-gap));
  }
  .ld-h2::before, .ld-p2::before {
	content: counter(l1) "." counter(l2) " ";
	position: absolute;
	left: 0;
	width: calc(var(--gutter) + var(--num-width) + var(--num-gap));
	text-align: right;
	padding-right: var(--num-gap);
	white-space: nowrap;
  }
  .ld-h2 { font-weight: bold; font-variant: small-caps; font-size: 1.16em; }
  .ld-p2 { font-weight: normal; font-size: 0.97em; }
  
  /* -------------------------------
	 Level 3
	 ------------------------------- */
  .ld-h3, .ld-p3 {
	counter-increment: l3;
	counter-reset: l4 l5 l6;
	padding-left: calc(2 * var(--gutter) + var(--num-width) + var(--num-gap));
  }
  .ld-h3::before, .ld-p3::before {
	content: counter(l1) "." counter(l2) "." counter(l3) " ";
	position: absolute;
	left: 0;
	width: calc(2 * var(--gutter) + var(--num-width) + var(--num-gap));
	text-align: right;
	padding-right: var(--num-gap);
	white-space: nowrap;
  }
  .ld-h3 { font-weight: bold; font-size: 1.08em; }
  .ld-p3 { font-weight: normal; font-size: 0.95em; }
  
  /* -------------------------------
	 Level 4
	 ------------------------------- */
  .ld-h4, .ld-p4 {
	counter-increment: l4;
	counter-reset: l5 l6;
	padding-left: calc(3 * var(--gutter) + var(--num-width) + var(--num-gap));
  }
  .ld-h4::before, .ld-p4::before {
	content: counter(l1) "." counter(l2) "." counter(l3) "." counter(l4) " ";
	position: absolute;
	left: 0;
	width: calc(3 * var(--gutter) + var(--num-width) + var(--num-gap));
	text-align: right;
	padding-right: var(--num-gap);
	white-space: nowrap;
  }
  .ld-h4 { font-weight: bold; font-size: 1.06em; }
  .ld-p4 { font-weight: normal; font-size: 0.93em; }
  
  /* -------------------------------
	 Level 5
	 ------------------------------- */
  .ld-h5, .ld-p5 {
	counter-increment: l5;
	counter-reset: l6;
	padding-left: calc(4 * var(--gutter) + var(--num-width) + var(--num-gap));
  }
  .ld-h5::before, .ld-p5::before {
	content: counter(l1) "." counter(l2) "." counter(l3) "." counter(l4) "." counter(l5) " ";
	position: absolute;
	left: 0;
	width: calc(4 * var(--gutter) + var(--num-width) + var(--num-gap));
	text-align: right;
	padding-right: var(--num-gap);
	white-space: nowrap;
  }
  .ld-h5 { font-weight: bold; font-size: 1.03em; }
  .ld-p5 { font-weight: normal; font-size: 0.91em; }
  
  /* -------------------------------
	 Level 6
	 ------------------------------- */
  .ld-h6, .ld-p6 {
	counter-increment: l6;
	padding-left: calc(5 * var(--gutter) + var(--num-width) + var(--num-gap));
  }
  .ld-h6::before, .ld-p6::before {
	content: counter(l1) "." counter(l2) "." counter(l3) "." counter(l4) "." counter(l5) "." counter(l6) " ";
	position: absolute;
	left: 0;
	width: calc(5 * var(--gutter) + var(--num-width) + var(--num-gap));
	text-align: right;
	padding-right: var(--num-gap);
	white-space: nowrap;
  }
  .ld-h6 { font-weight: bold; font-size: 1.00em; }
  .ld-p6 { font-weight: normal; font-size: 0.90em; }
  
  


:root {
	--sat: env(safe-area-inset-top);
	--sar: env(safe-area-inset-right);
	--sab: env(safe-area-inset-bottom);
	--sal: env(safe-area-inset-left);
}


/* Define the spin and zoom animation */
@keyframes spinZoom {
	0% {
		transform: scale(0.1) rotate(-720deg);
		opacity: 0;
	}

	50% {
		transform: scale(0.5) rotate(0deg);
		opacity: 1;
	}

	100% {
		transform: scale(1) rotate(720deg);
		opacity: 1;
	}
}

/* Apply the animation to the modal dialog when the 'spin-zoom' class is added */
.modal-dialog.spin-zoom {
	animation: spinZoom 0.6s ease-out forwards;
}