/* social icons */
	@font-face
	{
		font-family: 'Social Icons';
		font-style: normal;
		font-weight: 400;
		font-display: block;
		src: url('/assets/fonts/social-icons.woff2') format('woff2');
	}

	s-icon
	{
		font-family: 'Social Icons';
		-moz-osx-font-smoothing: grayscale;
		-webkit-font-smoothing: antialiased;
		display: inline-block;
		font-style: normal;
		font-variant: normal;
		line-height: 1;
		text-rendering: auto;
	}

	s-icon.discord::before { content: "\f392"; }
	s-icon.dribbble::before { content: "\f17d"; }
	s-icon.facebook::before { content: "\f09a"; }
	s-icon.facebook-messenger::before { content: "\f39f"; }
	s-icon.instagram::before { content: "\f16d"; }
	s-icon.linkedin::before { content: "\f08c"; }
	s-icon.pinterest::before { content: "\f0d2"; }
	s-icon.reddit::before { content: "\f1a1"; }
	s-icon.slack::before { content: "\f198"; }
	s-icon.slack-hash::before { content: "\f198"; }
	s-icon.snapchat::before { content: "\f2ab"; }
	s-icon.snapchat-ghost::before { content: "\f2ab"; }
	s-icon.telegram::before { content: "\f2c6"; }
	s-icon.telegram-plane::before { content: "\f2c6"; }
	s-icon.tiktok::before { content: "\e07b"; }
	s-icon.twitch::before { content: "\f1e8"; }
	s-icon.twitter::before { content: "\f099"; }
	s-icon.vimeo::before { content: "\f40a"; }
	s-icon.whatsapp::before { content: "\f232"; }
	s-icon.youtube::before { content: "\f167"; }

/* fixed width font */
	.fixedwidth,
	.monospace
	{
		font-family: ui-monospace, monospace, courier !important;
		text-transform: uppercase !important;
	}

/* misc */
	hr
	{
		display: block;
		border: 1px solid transparent;
		border-collapse: collapse;
		margin: 0.5em auto;
		width: 90%;
		height: 1px;
		background-color: #000000;
	}

	div.line
	{
		line-height: 1px;
		height: 1px;
		background: #AFAFAF;
		width: 80%;
		margin: 15px auto;
	}

	.no-select
	{
		user-select: none; -webkit-user-select: none;
	}


/* buttons */
	button::-moz-focus-inner, input[type="button"]::-moz-focus-inner, input[type="submit"]::-moz-focus-inner, input[type="reset"]::-moz-focus-inner
	{
		padding: 0;
		border: 0;
		margin: 0;
	}
	.button, button, input[type="button"], input[type="submit"], input[type="reset"]
	{
		cursor: default;
		display: inline-block;
		margin: 0;
		color: inherit;
		font-size: 0.95em;
		padding: 0.1em 0.5em;
		text-decoration: none;
		border: 1px solid #8C8C8C;
		background: rgb(237,237,237);
		background: linear-gradient(0deg, rgba(237,237,237,1) 0%, rgba(255,255,255,1) 100%);
		border-radius: 3px;
		user-select: none; -webkit-user-select: none;
		position: relative;
		overflow: hidden;
	}
		.button:hover, button:hover, input[type="button"]:hover, input[type="submit"]:hover, input[type="reset"]:hover
		{
			border-color: #5E5E5E;
			background: rgb(226,226,226);
			background: linear-gradient(0deg, rgba(226,226,226,1) 0%, rgba(246,246,246,1) 100%);
		}

	.button, button
	{
		user-select: none; -webkit-user-select: none;
	}

	button.large, .button.large, input[type="button"].large, input[type="submit"].large, input[type="reset"].large
	{
		font-size: 1.0em !important;
		padding: 0.3em 0.8em !important;
		font-weight: 400 !important;
	}

	button.larger, .button.larger, input[type="button"].larger, input[type="submit"].larger, input[type="reset"].larger
	{
		font-size: 1.1em !important;
		padding: 0.4em 1.0em !important;
		font-weight: 600 !important;
	}

	button.heavy, .button.heavy, input[type="button"].heavy, input[type="submit"].heavy, input[type="reset"].heavy
	{
		font-size: 1.1em !important;
		padding: 0.4em 1em !important;
		font-weight: 800 !important;
		text-transform: uppercase;
	}

	button.fill, .button.fill, input[type="button"].fill, input[type="submit"].fill, input[type="reset"].fill
	{
		display: block !important;
		white-space: nowrap;
		text-overflow: ellipsis;
	}

	button[disabled], .button[disabled], .button.disabled
	{
		color: #666666 !important;
		border: 1px solid #666666 !important;
		background: #EBEBEB !important;
	}

	.button.gold, button.gold, input[type="button"].gold, input[type="submit"].gold, input[type="reset"].gold
	{
		color: #000000;
		background: linear-gradient(to bottom,  #fcf9e3 0%,#efe28d 100%);
	}

	.button.green
	{
		color: #ffffff !important;
		background: linear-gradient(to bottom,  #b4e391 0%,#3fb717 100%);
		text-shadow: 1px 1px 1px #357900;
	}

	label.button, label.button:hover
	{
		cursor: pointer;
		background-position: bottom center;
		vertical-align: bottom;
	}

	a.button
	{
		text-align: center;
		vertical-align: bottom;
	}

	.button.block
	{
		display: block;
	}

	/* show button labels */
	.button>span.blabel, button>span.blabel, input[type="button"]>span.blabel, input[type="submit"]>span.blabel, input[type="reset"]>span.blabel
	{
		display: inline-block;
		padding-left: 0.3em;
	}



	.obutton
	{
		display: inline-block;
		padding: 0.3em 0.8em;
		border-radius: 0.3em;
		text-decoration: none;
		font-weight: 600;
		letter-spacing: -1px;
		background: #D4D4D4;
		cursor: pointer;
	}
		.obutton.no, .obutton.disabled
		{
			cursor: not-allowed;
		}
		.obutton.large
		{
			font-size: 1.6em;
		}

		obutton.heavy
		{
			font-size: 1.6em !important;
			font-weight: 800 !important;
			text-transform: uppercase;
		}

		.obutton.red
		{
			color: #ffffff;
			background: linear-gradient(to bottom,  #ea0000 0%,#bc0000 100%);
			text-shadow: 1px 1px 1px #530000;
		}

		.obutton.green
		{
			color: #ffffff;
			background: linear-gradient(to bottom,  #b4e391 0%,#3fb717 100%);
			text-shadow: 1px 1px 1px #1A3C00;
		}

	.fbutton
	{
		display: block;
		width: 100%;
		padding: 0.3em 0.8em;
		border-radius: 0.3em;
		text-decoration: none;
		font-weight: 600;
		font-size: 1em;
		letter-spacing: -1px;
		cursor: pointer;
		color: inherit;
		border: 1px solid #8C8C8C;
		background: linear-gradient(0deg, rgba(237,237,237,1) 0%, rgba(255,255,255,1) 100%);
		box-sizing:  border-box;
	}
		button.fbutton
		{
			display: block !important;
		}

		.fbutton:hover
		{
			background: rgb(226,226,226);
			background: linear-gradient(0deg, rgba(226,226,226,1) 0%, rgba(246,246,246,1) 100%);
		}

		.fbutton.large
		{
			font-size: 1.6em;
		}

		fbutton.heavy
		{
			font-size: 1.6em !important;
			font-weight: 800 !important;
			text-transform: uppercase;
		}

		.fbutton.grey, .fbutton.gray
		{
			color: #262626 !important;
		}

		.fbutton.red
		{
			color: #ffffff !important;
			border: 1px solid #bc0000;
			background: linear-gradient(to bottom,  #ea0000 0%,#bc0000 100%);
			text-shadow: 1px 1px 1px #530000;
		}

		.fbutton.green
		{
			color: #ffffff !important;
			border: 1px solid #a5c956;
			background: linear-gradient(to bottom, #B5DA68 0%,#a5c956 100%);
			text-shadow: 1px 1px 1px #6E9616;
		}

		.fbutton.blue
		{
			color: #ffffff !important;
			border: 1px solid #05abe0;
			background: linear-gradient(to bottom, #46d2fc 0%,#05abe0 100%);
			text-shadow: 1px 1px 1px #00749A;
		}

		.fbutton.purple
		{
			color: #ffffff !important;
			border: 1px solid #7F00BE;
			background: linear-gradient(to bottom, #C44CFF 0%,#7F00BE 100%);
			text-shadow: 1px 1px 1px #7F00BE;
		}

	.fbutton.inline
	{
		display: inline-block !important;
		min-width: 3em;
	}

	.fbutton.no, .fbutton.disabled, .fbutton.disable, .fbutton[disabled]
	{
		color: #9D9D9D !important;
		border-color: #9D9D9D !important;
		background: #D4D4D4 !important;
		cursor: not-allowed !important;
		text-shadow: none !important;
	}


/* backgrounds */
	.bg-white
	{
		background-color: #ffffff;
	}

	.bg-grey
	{
		background-color: #EDEDED;
	}

	.bg-lightgrey
	{
		background-color: #f2f2f2;
	}

	.bg-darkgrey
	{
		background-color: #363636;
	}

	.bg-black
	{
		background-color: #000000;
	}

	.bg-red
	{
		background-color: #AD0000;
		color: #ffffff;
	}

	.large
	{
		font-size: 1.6em;
	}


/* advertisements */
	.vert
	{
		display: block;
		margin: auto;
		text-align: center;
	}
		.vert img.desktop
		{
			width: 100%;
			max-width: 1000px;
			display: none;
		}
		.vert img.mobile
		{
			width: 100%;
			max-width: 500px;
			display: none;
		}

	@media screen and (max-width: 749px)
	{
		.vert img.mobile
		{
			display: inline;
		}
	}
	@media screen and (min-width: 750px)
	{
		.vert img.desktop
		{
			display: inline;
		}
	}


/* text input */
	input, select, textarea, label, button, .button
	{
		vertical-align: middle !important;
		box-sizing: border-box;
	}

	input[type="text"]::-moz-focus-inner, input[type="password"]::-moz-focus-inner, textarea, select, option
	{
		border: 0;
		margin: 0;
		padding: 0;
	}

	input[type="text"], input[type="password"], input[type="url"], input[type="email"], input[type="file"], input[type="number"], input[type="tel"], input[type="datetime"], input[type="date"], input[type="time"], input[type="month"], input[type="search"], input[type="range"], input[type="datetime-local"]
	{
		display: inline-block;
		margin: 0 !important;
		background: #ffffff;
		height: 1.55em !important;
		border: 1px solid #8C8C8C;
		font-size: 1.0em !important;
		padding: 0.1em !important;
		line-height: 1.0em !important;
		word-spacing: 0 !important;
		letter-spacing: 0 !important;
		text-decoration: none !important;
		border-radius: 3px;
		position: relative;
	}

	textarea
	{
		display: inline-block;
		margin: 0 !important;
		background: #ffffff;
		border: 1px solid #8C8C8C;
		font-size: 1.0em !important;
		padding: 0.1em !important;
		line-height: 1.5em !important;
		word-spacing: 0 !important;
		letter-spacing: 0 !important;
		text-decoration: none !important;
		border-radius: 3px;
		position: relative;
	}

	select
	{
		display: inline-block;
		margin: 0 !important;
		background: #ffffff;
		height: 1.55em !important;
		border: 1px solid #8C8C8C;
		font-size: 1.0em !important;
		padding: 0 0.1em !important;
		line-height: 1.0em !important;
		word-spacing: 0 !important;
		letter-spacing: 0 !important;
		text-decoration: none !important;
		border-radius: 3px;
		position: relative;
	}
		input[type="text"]:focus, input[type="password"]:focus, input[type="tel"]:focus, input[type="email"]:focus, input[type="file"]:focus, input[type="search"]:focus, textarea:focus, select:focus
		{
			border-color: #4C4C4C;
		}

	select option
	{
		position: relative;
		background: inherit;
		margin: 0 !important;
		padding: 0.1em !important;
		font-size: 1.0em !important;
		line-height: 1.0em !important;
		word-spacing: 0 !important;
		letter-spacing: 0 !important;
		text-decoration: none !important;
	}

	input[type="radio"], input[type="checkbox"]
	{
		vertical-align: baseline !important;
	}

	input[type="submit"]
	{
		font-weight: 600 !important;
	}


/* font */
	.heavy
	{
		font-size: 1.5em !important;
		font-weight: 800 !important;
		text-transform: uppercase;
	}


/* form */
	form
	{
		margin: 0;
		padding: 0;
		font-size: inherit;
		font-style: inherit;
		font-weight: inherit;
		font-family: inherit;
	}

	/* tidy */
	.tidy
	{
		margin: 0;
		padding: 0;
		display: block;
		font-size: inherit;
		font-style: inherit;
		font-weight: inherit;
		font-family: inherit;
	}
		.tidy label
		{
			padding: 0;
			display: block;
			text-align: left;
			font-family: inherit;
			overflow: hidden;
			white-space: nowrap;
			text-overflow: ellipsis;
		}
			.tidy label>span.note
			{
				float: right;
				color: #A9A9A9;
			}
		.tidy label.inline
		{
			width: auto;
			display: inline-block;
			text-align: left;
			font-family: inherit;
		}
		.tidy input[type="text"], .tidy input[type="password"], .tidy input[type="url"], .tidy input[type="date"], .tidy input[type="time"], .tidy input[type="email"], .tidy input[type="file"], .tidy input[type="number"], .tidy input[type="tel"], .tidy input[type="datetime"], .tidy input[type="month"], .tidy input[type="search"], .tidy input[type="range"], .tidy input[type="datetime-local"], .tidy textarea, .tidy select
		{
			display: inline-block;
			width: 100%;
		}

		.tidy textarea
		{
			resize: none;
		}

		.tidy input[disabled], .tidy select[disabled], .tidy textarea[disabled]
		{
			color: #313131;
			background: #EBEBEB;
		}

/* processing screen */
/* sort of like modal background */
processing-screen
{
	z-index: 9990;
	position: fixed;
	display: flex;
	flex-direction: column;
	justify-content: center;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
	padding: 0;
	text-align: center;
	vertical-align: middle;
	background: rgba(0,0,0,.95);
	box-sizing: border-box;
	color: #fff;
}

/* Modal Window */
#modal
{
	z-index: 9999;
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
	text-align: center;
	vertical-align: middle;
	background: rgba(0,0,0,.5);
	box-sizing: border-box;
}
	#modal_win
	{
		display: inline-block;
		color: #000000;
		margin: auto;
		font-size: 1em;
		background: #ffffff;
		width: 99%;
		min-width: 200px;
		max-width: 900px;
		vertical-align: middle;
		border-radius: 0.4em;
		box-sizing: border-box;
		box-shadow: 0 0 5px 0 #333333;
	}
	#modal_win.black
	{
		background: #000000;
	}

	#modal_title
	{
		display: block;
		color: #ffffff;
		font-size: 1.2em;
		line-height: 1em;
		text-align: left;
		position: relative;
		padding: 0.4em 0.6em;
		text-decoration: none;
		background: #333333;
		position: relative;
		border-radius: 0.25em 0.25em 0 0;
		text-shadow: 1px 1px #191919;
	}
		#modal_title a.close
		{
			display: inline-block;
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			width: 1.8em;
			height: 1.8em;
			line-height: 1.6em;
			text-align: center;
			text-decoration: none;
			vertical-align: middle !important;
			cursor: pointer;
		}
	#modal_content
	{
		margin: 0;
		padding: 0;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
		color: inherit;
		line-height: 1em;
		min-height: 50px;
		max-height: 600px;
		font-size: inherit;
		position: relative;
		border-radius: 0 0 0.25em 0.25em;
	}
	#modal_content iframe
	{
		display: block;
		border: 0;
		margin: 0;
		padding: 0;
		width: 100%;
		border-radius: 0 0 0.25em 0.25em;
	}

	#modal_content iframe#modal_iframe #document img
	{
		width: 90%;
		max-height: 90%;
		margin: auto;
	}

	#modal_content label
	{
		line-height: 1.5em;
	}

	#modal_content input[type="text"]
	{
		width: 100%;
		box-sizing: border-box;
	}

	#modal_content #modal_cancel, #modal_content #modal_ok
	{
		min-width: 6em;
		text-align: center;
	}
	#modal_content #modal_ok
	{
		font-weight: 600;
	}

/* snackbar notifications */
#snackbar
{
	position: fixed;
	left: 0;
	right: 0;
	bottom: 1em;
	z-index: 99999;
	text-align: center;
}
	#snackbar #snackbar_item
	{
		display: inline-block;
		text-align: center;
		margin: auto;
		padding: 0.5em 0.9em;
		min-width: 8em;
		max-width: 30em;
		background: #3DAEE9;
		color: #ffffff;
		cursor: pointer;
		vertical-align: middle;
		border-radius: 0.3em;
		box-sizing: border-box;
	}
		#snackbar #snackbar_item[data-status=error]
		{
			background: #E93D4A;
		}

	#snackbar #snackbar_icon
	{
		display: inline-block;
		font-size: 1.2em;
		vertical-align: middle;
		box-sizing: border-box;
	}
	#snackbar #snackbar_message
	{
		display: inline-block;
		font-size: 1.2em;
		padding-left: 0.5em;
		vertical-align: middle;
		box-sizing: border-box;
	}

	#snackbar:not([data-show])
	{
		visibility: hidden;
		opacity: 0;
		bottom: 0;
	}

	#snackbar[data-show]
	{
		visibility: visible;
		-webkit-animation: fadein 0.3s;
		animation: fadein 0.3s;
	}

/* Animations to fade the snackbar in and out */
	@-webkit-keyframes fadein
	{
		from	{bottom: 0; opacity: 0;}
		to		{bottom: 1em; opacity: 1;}
	}

	@keyframes fadein
	{
		from	{bottom: 0; opacity: 0;}
		to		{bottom: 1em; opacity: 1;}
	}


/* links */
	a, .link
	{
		color: inherit;
		outline: none;
		text-decoration: underline;
	}
	a:hover, .link:hover
	{
		text-decoration: none;
	}
	a img
	{
		border: none;
	}

/* ordered & unordered lists */
	ul, ol
	{
		margin: 0;
		font-size: inherit;
		padding: 3px 10px 3px 25px;
	}
		ul li, ol li
		{
			padding: 0;
			margin: 0 0 2px 0;
		}


/* tables */
	table.compact
	{
		border-spacing: 0 !important;
	}
		table.compact td
		{
			padding: 0 !important;
			vertical-align: top;
		}
		table.compact label
		{
			text-align: inherit;
		}

	table.collapse
	{
		border-collapse: collapse;
	}
		table.collapse td
		{
			padding: 3px !important;
		}

	table.border1
	{
		border: 1px solid #000000;
	}
		table.border1 td
		{
			border: 1px solid #000000;
		}

	table.slist
	{
		padding: 0;
		margin: 0;
		width: 100%;
		background: #ffffff;
		border: 1px solid #BDBB89;
		border-collapse: collapse;
	}
		table.slist th
		{
			padding: 4px;
			text-align: center;
			background: #D8D7B2;
			border: 1px solid #BDBB89;
		}
		table.slist td
		{
			padding: 4px;
			border: 1px solid #BDBB89;
		}
		table.slist a
		{
			color: #373737;
		}

	table.stepguide
	{
		border-collapse: collapse;
		border-spacing: 0px !important;
	}
		table.stepguide td
		{
			padding: 8px;
			text-align: left;
			vertical-align: top;
		}
		table.stepguide td.n
		{
			width: 50px;
			padding: 0px;
			vertical-align: top;
		}
		table.stepguide td.n>div
		{
			width: 20px;
			padding: 15px;
			color: #ffffff;
			font-size: 20px;
			line-height: 20px;
			font-weight: bold;
			text-align: center;
			background: #A80000;
		}


/* paragraphs */
	p
	{
		margin: 0;
		color: inherit;
		font-size: inherit;
		line-height: 145%;
		font-family: inherit;
		padding: 3px 5px 5px 5px;
	}

/* help */
	.help
	{
		color: #696969;
		font-size: 12px;
	}

/* color */
	.red
	{
		color: #ED0000;
	}
	.green
	{
		color: #00AD00;
	}
	.yellow
	{
		color: #FFF175;
	}
	.blue
	{
		color: #1E90FF;
	}
	.gold
	{
		color: #AF9004;
	}
	.grey
	{
		color: #A9A9A9;
	}
	.lightgrey
	{
		color: #D8D8D8;
	}
	.warning
	{
		width: 85%;
		font-size: 115%;
		color: #ffffff;
		display: block;
		padding: 10px;
		text-align: center;
		margin: 10px auto 5px auto;
		font-weight: 600;
		background: #920000 url("/theme/red_gradient.jpg") bottom center repeat-x;
		position: relative;
		border-radius: 6px;
	}
	.notice
	{
		margin: 0;
		padding: 0;
		display: block;
		background: #F6F5C5;
		border: 1px solid #E8DDA5;
	}

/* font size  */
	.fontlg, .font-lg
	{
		font-size: 1.5em;
	}
	.fontxl, .font-xl
	{
		font-size: 2em;
	}

/* font style */
	b, strong, .bold
	{
		font-weight: 700 !important;
	}
	.semibold
	{
		font-weight: 600 !important;
	}
	.xtrabold
	{
		font-weight: 800 !important;
	}
	i, em, .italic, .oblique
	{
		font-style: oblique;
	}
	u, .underline
	{
		text-decoration: underline;
	}
	.overline
	{
		text-decoration: underline;
	}
	.strike
	{
		text-decoration: line-through;
	}

/* alignment */
	.left, .align-left
	{
		text-align: left !important;
	}
	.center, .align-center
	{
		text-align: center !important;
	}
	.right, .align-right
	{
		text-align: right !important;
	}


	.top, .valign-top
	{
		vertical-align: top !important;
	}
	.middle, .valign-middle
	{
		vertical-align: middle !important;
	}
	.bottom, .valign-bottom
	{
		vertical-align: bottom !important;
	}

	.float-left
	{
		float: left !important;
	}
	.float-right
	{
		float: right !important;
	}

/* some paddings and margins */
	.margin-auto
	{
		margin: auto;
	}
	.margin0
	{
		margin: 0 !important;
	}
	.margin2
	{
		margin: 0.1em !important;
	}
	.margin3
	{
		margin: 0.2em !important;
	}
	.margin5
	{
		margin: 0.3em !important;
	}
	.margin10
	{
		margin: 0.6em !important;
	}
	.margin15
	{
		margin: 0.9em !important;
	}
	.margin20
	{
		margin: 1.2em !important;
	}
	.margin25
	{
		margin: 1.5em !important;
	}

	.padding0
	{
		padding: 0 !important;
	}
	.padding2
	{
		padding: 0.1em !important;
	}
	.padding3
	{
		padding: 0.2em !important;
	}
	.padding5
	{
		padding: 0.3em !important;
	}
	.padding10
	{
		padding: 0.6em !important;
	}
	.padding15
	{
		padding: 0.9em !important;
	}
	.padding20
	{
		padding: 1.2em !important;
	}
	.padding25
	{
		padding: 1.5em	 !important;
	}

/* width"s */
	.width-5, .width5
	{
		width: 5% !important;
	}
	.width-10, .width10
	{
		width: 10% !important;
	}
	.width-15, .width15
	{
		width: 15% !important;
	}
	.width-20, .width20
	{
		width: 20% !important;
	}
	.width-25, .width25
	{
		width: 25% !important;
	}
	.width-30, .width30
	{
		width: 30% !important;
	}
	.width-33, .width33
	{
		width: 33% !important;
	}
	.width-35, .width35
	{
		width: 35% !important;
	}
	.width-40, .width40
	{
		width: 40% !important;
	}
	.width-45, .width45
	{
		width: 45% !important;
	}
	.width-50, .width50
	{
		width: 50% !important;
	}
	.width-55, .width55
	{
		width: 55% !important;
	}
	.width-60, .width60
	{
		width: 60% !important;
	}
	.width-65, .width65, .width-66, .width66
	{
		width: 66% !important;
	}
	.width-70, .width70
	{
		width: 70% !important;
	}
	.width-75, .width75
	{
		width: 75% !important;
	}
	.width-80, .width80
	{
		width: 80% !important;
	}
	.width-85, .width85
	{
		width: 85% !important;
	}
	.width-90, .width90
	{
		width: 90% !important;
	}
	.width-95, .width95
	{
		width: 95% !important;
	}
	.width-100, .width100
	{
		width: 100% !important;
	}


/* display */
	.hide, .hidden
	{
		display: none !important;
	}

	.invisible, .opacity-0
	{
		opacity: 0 !important;
	}

	.opacity-10, .opacity10
	{
		opacity: 0.1 !important;
	}

	.opacity-20, .opacity20
	{
		opacity: 0.2 !important;
	}

	.opacity-30, .opacity30
	{
		opacity: 0.3 !important;
	}

	.opacity-40, .opacity40
	{
		opacity: 0.4 !important;
	}

	.opacity-50, .opacity50
	{
		opacity: 0.5 !important;
	}

	.opacity-60, .opacity60
	{
		opacity: 0.6 !important;
	}

	.opacity-70, .opacity70
	{
		opacity: 0.7 !important;
	}

	.opacity-80, .opacity80
	{
		opacity: 0.8 !important;
	}

	.opacity-90, .opacity90
	{
		opacity: 0.9 !important;
	}

	.opacity-100, .opacity100
	{
		opacity: 1.0 !important;
	}

/* boxes */
	.box
	{
		max-width: 100%;
		width: 350px;
		margin: auto;
		color: #000000;
		position: relative;
		border-radius: 0.4em;
	}
		.box>.title
		{
			display: block;
			margin: 0;
			color: #ffffff;
			font-size: 20px;
			padding: 4px 8px;
			text-align: center;
			letter-spacing: -1px;
			text-decoration: none;
			background: #920000 url("/theme/red_gradient.jpg") bottom center repeat-x;
			position: relative;
			border-radius: 7px 7px 0 0;
		}
			.box>.tab
			{
				z-index: 50;
				float: left;
				margin: -3px 3px 0 0;
				display: block;
				color: #241D00;
				padding: 6px 8px;
				font-size: 20px;
				line-height: 26px;
				text-align: center;
				letter-spacing: -1px;
				text-decoration: none;
				background: linear-gradient(to bottom,  #fcf9e3 0%,#efe28d 100%);
				position: relative;
				border-radius: 6px 6px 1px 0;
				box-shadow: 0 -1px 1px 0 #848484;
			}
		.box>.message
		{
			margin: 0;
			overflow: auto;
			border: 1px solid #E9E9E9;
			border-top: 0;
			padding: 10px 20px;
			color: inherit;
			background: #ffffff;
			position: relative;
			border-radius: 0.4em;
		}
		.box>.content
		{
			padding: 5px;
			color: inherit;
			border-top: 0;
			border: 1px solid #E9E9E9;
			background: #ffffff;
			position: relative;
			border-radius: 0 0 0.4em 0.4em;
		}
		.box>.content.notitle
		{
			border-top: 1px solid #E9E9E9;
			border-radius: 0.4em;
		}

	.box2
	{
		max-width: 100%;
		width: 350px;
		margin: auto;
		color: #000000;
		border: 1px solid #C3C3C3;
		position: relative;
	}
		.box2.fill
		{
			width: auto;
			display: block;
		}
		.box2>.title
		{
			display: block;
			margin: 0;
			color: #ffffff;
			font-size: 20px;
			padding: 4px 8px;
			text-align: center;
			text-decoration: none;
			background: #282827;
			position: relative;
			font-size: 1.5em !important;
			font-weight: 800 !important;
		}
		.box2>.content
		{
			padding: 0.5em;
			color: inherit;
			border-top: 0;
			border: 1px solid #E9E9E9;
			background: #ffffff;
			position: relative;
		}

/* boxes */
	.modal
	{
		z-index: 999999;
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: rgba(0, 0, 0, 0.5);
		text-align: center;
		vertical-align: middle;
		padding: 1em;
	}
	.modalwin
	{
		max-width: 100%;
		width: 350px;
		margin: auto;
		color: #000000;
		display: inline-block;
		border-radius: 0.6em;
		box-shadow: 1px 1px 3px 0 #666666;
	}
		.modalwin>.title
		{
			display: block;
			margin: 0;
			color: #ffffff;
			font-size: 20px;
			padding: 4px 8px;
			text-align: center;
			letter-spacing: -1px;
			text-decoration: none;
			background: #920000 url("/theme/red_gradient.jpg") bottom center repeat-x;
			position: relative;
			border-radius: 0.6em 0.6em 0 0;
		}
		.modalwin>.message
		{
			margin: 0;
			overflow: auto;
			border: 1px solid #E9E9E9;
			border-top: 0;
			padding: 10px 20px;
			color: inherit;
			background: #ffffff;
			position: relative;
			border-radius: 0 0 0.6em 0.6em;
		}
		.modalwin>.content
		{
			padding: 5px;
			color: inherit;
			border-top: 0;
			border: 1px solid #E9E9E9;
			background: #ffffff;
			position: relative;
			border-radius: 0 0 0.6em 0.6em;
		}

	blockquote
	{
		margin: 5px 5px 30px 10px;
	}

	quote
	{
		margin: 5px;
		border-left: 5px solid;
		border-color: inherit;
	}

	.shadow
	{
		box-shadow: 1px 1px 3px 0 #666666;
	}

/* fixes */
	div.fix
	{
		clear: both;
		font-size: 1px;
	}
	img
	{
		margin: 0;
		padding: 0;
		vertical-align: middle;
	}
	table, tr, td
	{
		color: inherit;
		font-size: inherit;
		font-family: inherit;
		vertical-align: top;
	}

/* iframes */
	iframe
	{
		border: 0;
		margin: 0;
		padding: 0;
	}

/* photoupload */
	#photoupload
	{
		overflow: auto;
		position: relative;
	}
		#photoupload>div
		{
			position: relative;
			float: left;
			margin: 1px;
			width: 100px;
			height: 100px;
			text-align: center;
			line-height: 100px;
			background: #ffffff;
			vertical-align: middle;
			border: 1px solid #B5B5B5;
		}
		#photoupload>div>img
		{
			margin: 0px auto;
			padding: 0px;
			width: 100px;
			height: auto;
			max-width: 100px;
			max-height: 100px;
		}
		#photoupload>div>a.button
		{
			top: 0px;
			right: 0px;
			padding: 0px;
			color: #ED0000;
			display: block;
			overflow: hidden;
			position: absolute;
			vertical-align: middle;
		}
			#photoupload>div>a.button>span
			{
				padding: 0px;
				width: 10px;
				height: 12px;
				color: #ED0000;
				display: block;
				font-size: 12px;
				line-height: 12px;
				vertical-align: middle;
			}
		#photoupload>div>.name
		{
			display: none;
		}
		#photoupload>div>.progressbar
		{
			top: -0px;
			border: 0;
			height: 3px;
			width: inherit;
			overflow: hidden;
			position: absolute;
		}
		#photoupload>div>.progressbar>.progress
		{
			position: absolute;
			top: 0px;
			left: 0px;
			width: 0px;
			height: inherit;
			background: #008000;
		}
		#photoupload>div>.percent
		{
			right: 0px;
			bottom: 0px;
			width: inherit;
			padding: 2px 0px;
			line-height: 15px;
			position: absolute;
		}

/* package selector buttons */
.select_package
{
	font-size: 1em;
	padding: 0.2em;
}
	.select_package>input
	{
		display: none;
	}

	.select_package>label
	{
		display: block;
		cursor: pointer;
		padding: 0.5em 2em 0.5em 0.8em !important;
		text-decoration: none;
		border: 1px solid #8C8C8C;
		border-radius: 0.3em;
		box-sizing: border-box;
		user-select: none;
		-webkit-user-select: none;
		background-image: url('/theme/pkgselect_box.png');
		background-repeat: no-repeat;
		background-position: calc(100% - 0.3em) 0.3em;
		background-color: #ffffff;
	}
		.select_package>label:hover
		{
			background-image: url('/theme/pkgselect_hover.png');
		}

	.select_package>input:checked+label
	{
		background-image: url('/theme/pkgselect_check.png') !important;
	}

/* package selector buttons */
.pkgselect
{
	cursor: pointer;
	display: block;
	padding: 0.5em 0.8em;
	text-decoration: none;
	border: 1px solid #8C8C8C;
	background: linear-gradient(to bottom, #fafafa 0%,#efefef 100%);
	border-radius: 0.3em;
	box-sizing: border-box;
	user-select: none; -webkit-user-select: none;
}
	.pkgselect:hover
	{
		border: 1px solid #E7D459;
		box-shadow: 0 0 7px 2px #E7D459;
	}
	.pkgselect .title
	{
		text-decoration: underline;
		font-weight: 600;
	}
	.pkgselect .content
	{
		font-size: 0.95em;
		padding: 0.2em 0 0 2em;
		background: url('/theme/pkgselect_box.png') no-repeat left center;
	}
	.pkgselect.current
	{
		background: linear-gradient(to bottom,  #fcf9e3 0%,#efe28d 100%);
	}
	.pkgselect.current .content
	{
		padding: 0.2em 0 0 2em;
		background: url('/theme/pkgselect_check.png') no-repeat left center;
	}

.pkgselectframe
{
	display: block;
	padding: 0.5em 0.8em;
	text-decoration: none;
	border: 1px solid #8C8C8C;
	background: linear-gradient(to bottom, #fafafa 0%,#efefef 100%);
	border-radius: 0.3em;
	box-sizing: border-box;
}

	.pkgselectframe .title
	{
		text-decoration: underline;
		font-weight: 600;
	}
	.pkgselectframe .content
	{
		font-size: 0.95em;
		padding: 0.2em 1em 0 1em;
	}

#uploadbutton
{
	position: relative;
}
	#uploadbutton form
	{
		position: absolute;
		top: 0;
		right: 0;
		margin: 0;
		padding: 0;
		width: 100%;
		height: 100%;
		overflow: hidden;
	}
		#uploadbutton form>input[type="file"]
		{
			position: absolute;
			top: 0;
			right: 0;
			margin: 0;
			padding: 0;
			width: 100%;
			height: 100%;
			font-size: 150px;
			z-index: 200;
			cursor: default;
			opacity: 0 !important;
		}
		#uploadbutton form>input[type="submit"]
		{
			display: none;
		}


/* credit card display styling */
.ccard
{
	display: block;
	background: #F7F7F7;
	border: 1px solid #7F7F7F;
	border-radius: 0.3em;
	padding: 0.5em 0.5em 0.5em 6em;
	text-decoration: none;
	text-align: left;
	cursor: pointer;
	background-image: url('/assets/icons/cc/default.png');
	background-size: 4em;
	background-position: 1em 1em;
	background-repeat: no-repeat;
}
	.ccard.visa
	{
		background-image: url('/assets/icons/cc/visa.png');
	}
	.ccard.mastercard
	{
		background-image: url('/assets/icons/cc/mastercard.png');
	}
	.ccard.amex
	{
		background-image: url('/assets/icons/cc/amex.png');
	}
	.ccard.discover
	{
		background-image: url('/assets/icons/cc/discover.png');
	}
	.ccard.dclub
	{
		background-image: url('/assets/icons/cc/dclub.png');
	}
	.ccard.jcb
	{
		background-image: url('/assets/icons/cc/jcb.png');
	}

.ccard.current
{
	box-shadow: 0 0 5px 0 #333333;
}

.ccard.expired
{
	opacity: 0.5;
	cursor: not-allowed;
}

	.ccard .name
	{
		font-weight: bold;
		padding-bottom: 0.3em;
	}
	.ccard .num
	{
		padding-bottom: 0.3em;
	}


/* simple flex bar */
flex-bar
{
	width: 100%;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	flex-shrink: 0;
	gap: 0.4em;
	padding: 0;
	box-sizing: border-box;
}
	flex-bar *
	{
		box-sizing:  border-box;
	}
	flex-bar:empty
	{
		display: none;
	}

	flex-bar spacer
	{
		display: inline-block;
		flex-grow: 3;
		padding: 0;
		margin: 0;
	}




noscript>div
{
	display: block;
	width: 100%;
	background: #FFFFA1;
	text-align: center;
	padding: 10px 0px;
	font-size: 1.2em !important;
}

noscript>div.end
{
	display: block;
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	background: #FFFFA1;
	text-align: center;
	padding: 10px 0px;
	z-index: 1000;
	font-size: 1.2em !important;
}
	noscript>div.end a.button
	{
		vertical-align: bottom;
	}



/*
 * LOW RESOLUTION
 */
@media screen and (max-width: 749px)
{
	/* hide button labels */
	.button>span.blabel, button>span.blabel, input[type="button"]>span.blabel, input[type="submit"]>span.blabel, input[type="reset"]>span.blabel
	{
		display: none;
	}
}