/*
 * Name: template_rng.css (RNG Core)
 * Author: Cameron Babiak
 * Version: 1.0
 * Date: 26/03/2015
 * Updated: 11/3/2023
 *
 * REQUIRED:
 * @setting {template_type}: template_rng (.min)
 *
 * Notes:
 * If {client_css} is not set, will use template_rng_layout.css.
 * If {promotion_css} is not set, will use template_rng_theme.css
*/


@font-face {
  font-family: 'FontAwesomeBrands';
  font-style: normal;
  font-weight: normal;
  src: url("/contests/html/xhtml_master/css/mech/UI/fonts/fontawesome/webfonts/fa-brands-400.eot");
  src: url("/contests/html/xhtml_master/css/mech/UI/fonts/fontawesome/webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), 
       url("/contests/html/xhtml_master/css/mech/UI/fonts/fontawesome/webfonts/fa-brands-400.woff2") format("woff2"), 
       url("/contests/html/xhtml_master/css/mech/UI/fonts/fontawesome/webfonts/fa-brands-400.woff") format("woff"), 
       url("/contests/html/xhtml_master/css/mech/UI/fonts/fontawesome/webfonts/fa-brands-400.ttf") format("truetype"), 
       url("/contests/html/xhtml_master/css/mech/UI/fonts/fontawesome/webfonts/fa-brands-400.svg#fontawesome") format("svg"); 
}

@font-face {
  font-family: 'FontAwesome';
  font-style: normal;
  font-weight: 300;
  src: url("/contests/html/xhtml_master/css/mech/UI/fonts/fontawesome/webfonts/fa-light-300.eot");
  src: url("/contests/html/xhtml_master/css/mech/UI/fonts/fontawesome/webfonts/fa-light-300.eot?#iefix") format("embedded-opentype"), 
       url("/contests/html/xhtml_master/css/mech/UI/fonts/fontawesome/webfonts/fa-light-300.woff2") format("woff2"), 
       url("/contests/html/xhtml_master/css/mech/UI/fonts/fontawesome/webfonts/fa-light-300.woff") format("woff"), 
       url("/contests/html/xhtml_master/css/mech/UI/fonts/fontawesome/webfonts/fa-light-300.ttf") format("truetype"), 
       url("/contests/html/xhtml_master/css/mech/UI/fonts/fontawesome/webfonts/fa-light-300.svg#fontawesome") format("svg"); 
}

@font-face {
  font-family: 'FontAwesome';
  font-style: normal;
  font-weight: 400;
  src: url("/contests/html/xhtml_master/css/mech/UI/fonts/fontawesome/webfonts/fa-regular-400.eot");
  src: url("/contests/html/xhtml_master/css/mech/UI/fonts/fontawesome/webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), 
       url("/contests/html/xhtml_master/css/mech/UI/fonts/fontawesome/webfonts/fa-regular-400.woff2") format("woff2"), 
       url("/contests/html/xhtml_master/css/mech/UI/fonts/fontawesome/webfonts/fa-regular-400.woff") format("woff"), 
       url("/contests/html/xhtml_master/css/mech/UI/fonts/fontawesome/webfonts/fa-regular-400.ttf") format("truetype"), 
       url("/contests/html/xhtml_master/css/mech/UI/fonts/fontawesome/webfonts/fa-regular-400.svg#fontawesome") format("svg"); 
}

@font-face {
  font-family: 'FontAwesome';
  font-style: normal;
  font-weight: 900;
  src: url("/contests/html/xhtml_master/css/mech/UI/fonts/fontawesome/webfonts/fa-solid-900.eot");
  src: url("/contests/html/xhtml_master/css/mech/UI/fonts/fontawesome/webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), 
       url("/contests/html/xhtml_master/css/mech/UI/fonts/fontawesome/webfonts/fa-solid-900.woff2") format("woff2"), 
       url("/contests/html/xhtml_master/css/mech/UI/fonts/fontawesome/webfonts/fa-solid-900.woff") format("woff"), 
       url("/contests/html/xhtml_master/css/mech/UI/fonts/fontawesome/webfonts/fa-solid-900.ttf") format("truetype"), 
       url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); 
}


/**	=RESET
------------------------------------------------------------------------------------------------ */
	html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, #pe-frame {
		margin: 0;
		padding: 0;
		font-size: 100%;
		line-height: 1;
		vertical-align: baseline;
		list-style: none;
		quotes: none;
		border: 0;
		border-collapse: collapse;
		border-spacing: 0;
		outline: 0;
	}
	html {
		overflow-y: scroll;
		font-size: 100%;
		text-rendering: optimizeLegibility;
		-ms-text-size-adjust: 100%;
		-webkit-text-size-adjust: 100%;
		-webkit-font-smoothing: antialiased;
	}
	html *:focus {
		outline: none !important;
	}

	/* HTML5 structure */
		html,
		html * {
			-webkit-box-sizing: border-box;
			-moz-box-sizing: border-box;
			box-sizing: border-box;
		}
		article,
		aside,
		details,
		figcaption,
		figure,
		footer,
		header,
		hgroup,
		nav,
		section {
			display: block;
		}
		canvas {
			display: inline-block;
		}

	/* images */
		img {
			border: 0;
			display: inline-block;
			margin: 0;
			padding: 0;
			position: relative;
			line-height: 1;
			-ms-interpolation-mode: bicubic;
		}
		img,
		.pe-content img {
			max-width: 100%; /* fluid images */
		}
		img[class*="align"] {
			height: auto; /* with height and width attributes are scaled */
		}

	/* Clears and clearfix */
		.clear {
			clear: both;
			display: block;
			overflow: hidden;
			visibility: hidden;
			width: 0;
			height: 0
		}
		.clear:after,
		.container:after {
			clear: both;
		}
		.clear:before,
		.clear:after,
		.container:before,
		.container:after {
			display: table;
			content: "";
		}
		.clearfix:after {
			clear: both;
			content: ' ';
			display: block;
			font-size: 0;
			line-height: 0;
			visibility: hidden;
			width: 0;
			/* height: 0; */
		}
		*:first-child+.clearfix {
		}


/**	=TYPOGRAPHY
------------------------------------------------------------------------------------------------ */
	html,
	html body,
	#popup-frame {
		font-size: 16px;
		font-family: Arial, sans-serif;
	}

	/* Type
	------------------------------------------------------------------------ */
		/* Titles */
			h1,
			h2,
			h3,
			h4,
			h5,
			h6 {
				font-weight: normal;
				vertical-align: baseline;
			}
			h1 {
				font-size: 2.500em; /* 40px */
				line-height: 1.200em;
				margin-bottom: 0.400em;
			}
			h2 {
				font-size: 1.875em; /* 30px */
				line-height: 1.600em;
				margin-bottom: 0.533em;
			}
			h3 {
				font-size: 1.500em; /* 24px */
				line-height: 1.34em;
				margin-bottom: 0.667em;
			}
			h4 {
				font-size: 1.125em; /* 18px */
				line-height: 1.778em;
				margin-bottom: 0.889em;
			}
			h5 {
				font-size: 1em; /* 16px */
				line-height: 2.00em;
				margin-bottom: 1em;
			}

		/* ellements */
			hr {
				clear: both;
				margin: 1em 0 1.938em;
				min-height: 0px;
				height: 1px;
				border: 0;
			}
			blockquote:before,
			blockquote:after,
			q:before,
			q:after {
				content: '';
				content: none;
			}
			ins {
				text-decoration: none;
			}
			sub,
			sup {
				font-size: 75%; /* 12px */
				line-height: 0;
				position: relative;
				vertical-align: baseline;
			}
			sup {
				top: -0.5em;
			}
			sub {
				bottom: -0.25em;
			}

		/* Lists */
			#pe-content-wrap .disc > li,
			#pe-content-wrap .decimal > li,
			#popup-frame .disc > li,
			#popup-frame .decimal > li {
				margin-left: 2em;
			}
			#pe-content-wrap li > p,
			#popup-frame li > p {
				margin-bottom: 0.5em;
			}
			#pe-content-wrap .disc > li,
			#popup-frame .disc > li {
				list-style: disc;
			}
			#pe-content-wrap .disc li li,
			#popup-frame .disc li li {
				list-style: circle;
			}
			#pe-content-wrap .decimal > li,
			#popup-frame .decimal > li {
				list-style: decimal;
			}
			#pe-content-wrap .lower-alpha > li,
			#popup-frame .lower-alpha > li {
				list-style-type: lower-alpha;
			}
			#pe-content-wrap .lower-alpha li li,
			#popup-frame .lower-alpha li li {
				list-style-type: lower-alpha;
			}
			#pe-content-wrap .upper-alpha > li,
			#popup-frame .upper-alpha > li {
				list-style-type: upper-alpha;
			}
			#pe-content-wrap .upper-alpha li li,
			#popup-frame .upper-alpha li li {
				list-style-type: upper-alpha;
			}
			li ol,
			li ul {
				padding-left: 1.125em;
			}

		/* content styles */
			#pe-content-wrap p,
			#popup-frame p,
			#pe-content-wrap ol,
			#popup-frame ol,
			#pe-content-wrap ul,
			#popup-frame ul,
			#pe-content-wrap table,
			#popup-frame table,
			#pe-content-wrap form {
				margin-bottom: 2em;
				line-height: 1.5em;
			}

	/* Tables
	------------------------------------------------------------------------ */
		table tr td.right {
			text-align: right !important;
		}
		table tr td.center {
			text-align: center !important;
		}

		/* Tables */
			table {
				border-collapse: collapse;
				text-align: left;
				width: 100%;
			}
			table caption {
				text-align: right;
				font-size: 0.750em;
				line-height: 1.334em;
			}
			thead,
			tbody {
				margin: 0;
				padding: 0;
			}
			table th,
			table td {
				font-size: 0.750em; /* 12px */
				text-align: left;
				font-weight: normal;
			}
			table thead th {
				font-size: 0.875em; /* 14px */
				line-height: 1.143em;
				padding: 0.572em 1.143em;
			}
			table tbody th,
			table tbody td,
			table tfoot th,
			table tfoot td {
				line-height: 1.334em;
				padding: 0.667em 1.334em;
			}

		/* plain */
			table.plain th {
				padding-bottom: 0;
			}

		/* data */
			table.data thead th {
				font-size: 0.875em; /* 14px */
				line-height: 1.143em;
				padding: 1.143em;
			}

	/* Forms
	------------------------------------------------------------------------ */
		#pe-content-wrap form,
		#pe-content-wrap form.pe-form {
			margin: 0 0 2em 0;
			padding: 0;
		}
		#pe-content-wrap form legend {
			display: none;
		}
		#pe-content-wrap form .form-item {
			line-height: 2em;
			margin-bottom: 1em;
		}
		#pe-content-wrap form .form-item .form-label,
		#pe-content-wrap form .form-item .form-input {
			display: inline-block;
			padding: 0 !important;
			line-height: 2em;
			vertical-align: baseline;
		}

		/* inputs and selects */
			#pe-content-wrap form .form-item .form-input input,
			#pe-content-wrap form .form-item .form-input select {
				height: 2em;
				padding: 0 0 !important;
				text-indent: 4px;
				vertical-align: top;
				width: 100%;
			}
			#pe-content-wrap form .form-item .form-input input {
				font-size: 1em;
				line-height: 2em;
				height: 2em;
			}
			#pe-content-wrap form .form-item .form-input select {
				font-size: 0.875em;
				line-height: 2.25em;
				height: 2.25em;
			}
			#pe-frame .form-input select,
			#pe-frame .form-input select:active,
			#pe-frame .form-input select:focus {
				border: 1px solid #AFAFAF !important;
				background: #FFF;
				-webkit-appearance: none;
				border-radius: 0px;
				-webkit-border-radius: 0;
				box-shadow: none;
				outline: none;
			}

		/* checkbox and radio */
			#pe-content-wrap form .form-item input[type="radio"],
			#pe-content-wrap form .form-item input[type="checkbox"],
			#pe-content-wrap form .form-item-radio .form-input input,
			#pe-content-wrap form .form-item-checkbox .form-input input {
				display: inline;
				font-size: 1em;
				line-height: 1;
				height: auto;
				width: auto;
				vertical-align: baseline;
			}
			#pe-content-wrap form .form-item-radio .form-input label,
			#pe-content-wrap form .form-item-checkbox .form-input label {
				display: inline-block;
				font-size: 1em;
				line-height: 1em;
			}

		/* full line */
			#pe-content-wrap form.vertical .form-item-line .form-input,
			#pe-content-wrap form.vertical .form-item-line .form-label {
				width: 100% !important;
				float: none !important;
			}
			#pe-content-wrap form.vertical .form-item-line label {
				line-height: 1em !important;
			}

		/* form button */
			#pe-content-wrap form .form-button {
				text-align: right;
			}
			#pe-content-wrap form .form-button .button {
				margin: 0 !important;
			}

		/* vertical form */
			#pe-content-wrap form.vertical .form-item .form-label,
			#pe-content-wrap form.vertical .form-item .form-input {
				display: block;
				float: left;
			}
			#pe-content-wrap form.vertical .form-item .form-label {
				width: 40%;
			}
			#pe-content-wrap form.vertical .form-item .form-label label {
				line-height: 1.325em;
				display: inline-block;
			}
			#pe-content-wrap form.vertical .form-item .form-input {
				width: 60%;
			}
			#pe-content-wrap form.vertical .form-item-radio .form-input label,
			#pe-content-wrap form.vertical .form-item-checkbox .form-input label {
				display: block;
				line-height: 2em;
			}
			#pe-content-wrap form.vertical #rules_er .form-input,
			#pe-content-wrap form.vertical .full-line-item .form-label,
			#pe-content-wrap form.vertical .full-line-item .form-input {
				display: block;
				float: none;
			}
			#pe-content-wrap form.vertical #rules_er .form-input,
			#pe-content-wrap form.vertical .full-line-item .form-label,
			#pe-content-wrap form.vertical .full-line-item .form-input {
				width: 100%;
			}
			#pe-content-wrap form.vertical #rules_er .form-input label,
			#pe-content-wrap form.vertical .full-line-item .form-label label {
				line-height: 1.325em;
				display: inline-block;
				padding-left: 2em;
			}
			#pe-content-wrap form.vertical #rules_er .form-input label input,
			#pe-content-wrap form.vertical .full-line-item .form-label label input {
				margin-left: -2em;
			}
			#pe-content-wrap form.vertical .form-input textarea {
				display: block;
				width: 100%;
			}

	/* Helpers
	------------------------------------------------------------------------ */
		#pe-frame .center {
			text-align: center;
		}
		#pe-frame .left {
			text-align: left;
		}
		#pe-frame .right {
			text-align: right;
		}
		#pe-frame .hide {
			display: none;
		}
		#pe-frame .show {
			display: block;
		}
		#pe-frame .align-left {
			float: left;
		}
		#pe-frame .align-right {
			float: right;
		}
		#pe-frame .align-center {
			display: block;
			margin: 0 auto;
		}
		#pe-frame .nowrap-link {
			    white-space: nowrap !important;
		}

		/* sizes */
			#pe-frame .tiny {
				font-size: 0.625em;
			}
			#pe-frame .small {
				font-size: 0.725em;
			}
			#pe-frame .medium {
				font-size: 1em;
			}
			#pe-frame .large {
				font-size: 1.5em;
			}


	/* @media queries - typography ------------------------------------------------------------- */
		@media all and (max-width:767px) {
			/* vertical form */
				#pe-content-wrap form.vertical .form-item .form-label,
				#pe-content-wrap form.vertical .form-item .form-input {
					display: inline-block;
					float: none;
				}
				#pe-content-wrap form.vertical .form-item .form-label,
				#pe-content-wrap form.vertical .form-item .form-input {
					width: 100%;
				}
		}
		@media all and (max-width:479px) {
			html,
			html body,
			#popup-frame {
				font-size: 12px;
			}
		}
		@media all and (min-width: 480px) {}
		@media all and (min-width: 768px) {}


/**	=TEMPLATE LAYOUT
------------------------------------------------------------------------------------------------ */
	/* navigation
	------------------------------------------------------------------------ */
		#pe-frame #promotion-menu {
			line-height: 3em;
			text-align: center;
			vertical-align: middle;
		}
		#pe-frame #promotion-menu a {
			display: inline-block;
			line-height: 3em;
			text-align: center;
			padding: 0 1.5em;
			white-space: nowrap;
		}

	/* header
	------------------------------------------------------------------------ */
		#pe-header .pe-container {
			position: relative;
		}
		#pe-header #user_ID {
			/* styles if nav in header only */
			line-height: 2.45em;
			font-size: 0.825em;
			position: absolute;
			bottom: -2.45em;
			width: 100%;
			text-align: center;
		}

		/* contest-banner */
			#pe-frame #contest-banner,
			#pe-frame #contest-banner img {
				display: block;
				max-width: 100%;
				margin: 0 auto;
				line-height: 1;
			}

	/* content
	------------------------------------------------------------------------ */
		#pe-content-wrap .pe-container {
			min-height: 280px;
		}

		/* pe-sub-section */
			#pe-frame .pe-sub-section {
				margin: 0 0 2em 0;
				padding: 1em;
			}

	/* footer
	------------------------------------------------------------------------ */
		#pe-footer .pe-container {
			padding: 0 0 1em 0;
			font-size: 0.825em;
			text-align: center;
		}
		#pe-footer #promotion-menu {
			/* styles if nav in footer only */
			font-size: 1.25em;
		}
		#pe-footer #user_ID {
			/* styles if nav in footer only */
			line-height: 2.45em;
		}

	/* Popup
	------------------------------------------------------------------------ */
		.mfp-container {
		}
		.mfp-container .mfp-content {
			position: relative;
			min-height: 80%;
			max-height: 80%;
			max-width: 800px;
			margin: 0 auto;
			padding: 0;
			overflow-y: scroll;
		}
		.mfp-container .mfp-content #popup-frame {
			position: static;
			padding: 2em 1.75em;
		}
		.mfp-container .mfp-close {
			position: absolute;
			top: 0;
			right: 0;
			left: auto;
		}


	/* @media queries - template layout -------------------------------------------------------- */
		@media all and (max-width: 767px) {}
		@media all and (max-width: 479px) {}
		@media all and (min-width: 480px) {}
		@media all and (min-width: 768px) {}


/**	=TEMPLATE COMPONENTS
------------------------------------------------------------------------------------------------ */
	/* Buttons
	------------------------------------------------------------------------ */
		button,
		.button,
		.button:visited,
		input[type="reset"],
		input[type="button"] {
			font-size: 1em;
			line-height: 100%;
			position: relative;
			top: 0;
			left: 0;
			vertical-align: middle;
			margin: -3px 0 0 0 !important;
			padding: 0.4em 1.5em;
			border-radius: 5px;
			cursor: pointer;
			width: auto;
			overflow: visible;
			font-weight: normal;
			text-decoration: none;
			vertical-align: middle;
			box-sizing: border-box;
			display: inline-block;
			zoom: 1;
			white-space: nowrap;
		}

	/* Tabs
	------------------------------------------------------------------------ */
		#pe-frame ul.tabs {
			margin: 0;
			margin-bottom: 0 !important;
			padding: 0;
			width: 100%;
			float: left;
		}
		#pe-frame ul.tabs li {
			list-style-type: none;
			margin: 0;
			padding: 0;
			float: left;
			position: relative;
			top: 0;
			left: 0;
		}
		#pe-frame ul.tabs li a {
			text-decoration: none;
			display: inline-block;
			padding: 1em 1.5em;
			position: relative;
			top: 0;
			left: 0;
			line-height: 100%;
		}
		#pe-frame ul.tabs li a:hover {
		}
		#pe-frame ul.tabs li.current a {
			font-weight: bold;
		}
		#pe-frame .tab-content {
			border-top: 0;
			margin-top: -1px !important;
			padding: 1em 1em 2em;
			clear: both;
			margin-bottom: 1.9em;
		}

	/* Accordion
	------------------------------------------------------------------------ */
		#pe-frame .accordion {
			margin: 0 0 2em 0;
		}
		#pe-frame .accordion > div > h6 {
			position: relative;
			line-height: 2.625em;
			height: 2.625em;
			padding: 0 1em;
		}
		#pe-frame .accordion > div > h6 a {
			display: block;
			font-size: 1em;
			line-height: 2.625em;
			text-decoration: none !important;
		}
		#pe-frame .accordion > div > h6 a span.status {
			border-style: solid;
			border-width: 5px;
			display: block;
			position: absolute;
			right: 16px;
			top: 45%;
			font-size: 0;
			line-height: 0;
			height: 0;
			width: 0;
		}
		#pe-frame .accordion > div > h6.active a span.status {
			top: 30%;
		}
		#pe-frame .accordion > div > div {
			display: none;
			margin-bottom: -1px;
			padding: 1em;
		}

	/* Icons
	------------------------------------------------------------------------ */
		.icon {
			height: 1em;
			width: 1em;
			display: inline-block;
			color: inherit;
			text-decoration: none;
			vertical-align: middle;
			text-align: center;
			line-height: 1;
			padding: 0;
			margin: 0;
			position: relative;
			font-family: 'IcoMoon', arial, sans-serif !important;
			font-style: normal !important;
			-webkit-font-smoothing: antialiased;
			zoom: 1;
			display: none;
		}
		.icon span {
			color: inherit;
			display: block;
			height: 1em;
			line-height: 0.5em;
			zoom: 1;
			font-family: 'IcoMoon' !important;
			font-style: normal !important;
			overflow: hidden;
		}
		.icon.social,
		.icon.social span {
			font-family: 'IcoMoonSocial' !important;
			font-style: normal !important;
		}

	/* Notices
	------------------------------------------------------------------------ */
		#pe-frame .notice {
			font-size: 1em;
			line-height: 1em;
			padding: 1em 1em;
			margin: 0 0 2em 0;
			vertical-align: baseline;
			position: relative;
			top: 0;
			left: 0;
			clear: both;
		}
		#pe-frame .notice .icon {
			font-size: 1.175em !important;
			line-height: 0.825em;
		}
		#pe-frame .notice a,
		#pe-frame .notice a:visited {
			text-decoration: none !important;
		}
		#pe-frame .notice a.icon.close,
		#pe-frame .notice a.icon.close:active,
		#pe-frame .notice a.icon.close:visited {
			position: absolute;
			top: 0px;
			right: 0px;
			left: auto;
			color: inherit;
			border: none;
			border: none !important;
		}
		#pe-frame .notice a.icon.close,
		#pe-frame .notice a.icon.close span {
			width: 24px; 
			height: 24px; 
			line-height: 20px; 
			font-size: 12px !important;
		}
		#pe-frame .notice .icon:first-child {
			margin-top: -4px; 
		}
		#pe-frame .notice .icon:first-child,
		#pe-frame .notice .icon:first-child span {
			display: inline-block; 
			width: 16px; 
			height: 16px; 
			line-height: 14px; 
			font-size: 16px !important;
		}
                #pe-frame .notice .close:after {
			display: none !important;
                }

	/* Columns
	------------------------------------------------------------------------ */
		#pe-frame .col_full {
			width: 98.5% !important;
		}
		#pe-frame .col_half {
			width: 48.5% !important;
		}
		#pe-frame .col_quarter {
			width: 23.5% !important;
		}
		#pe-frame .col_third {
			width: 31.75% !important;
		}
		#pe-frame .col_full,
		#pe-frame .col_half,
		#pe-frame .col_quarter,
		#pe-frame .col_third {
			margin-left: 0.750%;
			margin-right: 0.750%;
			margin-top: 0.500em;
			margin-bottom: 0.500em;
			float: left;
			display: inline-block;
		}
		#pe-frame .alpha {
			margin-left: 0px;
		}
		#pe-frame .omega {
			margin-right: 0px;
		}

	/* responsive video frame
	------------------------------------------------------------------------ */
		#pe-frame .video-frame  {
			position: relative;
			padding-bottom: 56.25%;
			height: 0;
			overflow: hidden;
		}
		#pe-frame .video-frame iframe,
		#pe-frame .video-frame object,
		#pe-frame .video-frame embed {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
		}

	/* Social Sign on
	------------------------------------------------------------------------ */
		#pe-frame #pe-sso {
			margin-top: 36px; 
			margin-bottom: 36px;
		}
		#pe-frame #pe-sso .sso_service {
			margin-bottom: 12px; 
			height: 24px; 
			line-height: 24px; 
		}
		#pe-frame #pe-sso .sso-link {
			display: inline-block; 
			height: 24px; 
			line-height: 24px; 
		}
		#pe-frame #pe-sso .sso-link:before {
			display: inline-block;
			width: 20px; 
			height: 24px; 
			line-height: 20px; 
			vertical-align: middle; 
			margin-right: 8px; 
		}

	/* inline validation
	------------------------------------------------------------------------ */
		html .form-item.validation-error,
                html .form-item.validation-pass {
                    position: relative; 
                }
		html .validation-error .form-input,
		html .validation-pass .form-input {
			position: relative;
		}
		html .error-frame,
		html .error-frame .text-wrap,
		html .validation-pass .form-input:before {
			display: block;
			width: 24px;
			height: 24px;
			line-height: 24px;
			z-index: 10;
		}
                html .error-frame,
		html .validation-pass .form-input:before {
			position: absolute;
			right: 6px;
			top: 50%;
                        transform: translateY(-50%);
                }
		html .error-frame .text-wrap {
			position: absolute;
			right: auto;
			top: auto;
			margin-top: 0;
		}
		html .error-frame .text-wrap:before,
		html .validation-pass .form-input:before {
			display: block;
			width: 24px;
			height: 24px;
			line-height: 24px;
		}
		html .error-frame .text-wrap .error-text {
			display: none;
			position: absolute;
			width: 240px;
			bottom: 32px; /* parent height plus pointer border width */
			right: -18px;
			padding: 12px 12px;
		}
		html .error-frame .text-wrap:after {
			display: none;
		}
		html .error-frame .text-wrap:hover .error-text,
		html .error-frame .text-wrap:focus .error-text {
			display: block;
		}
		html .error-frame .text-wrap:hover:after,
		html .error-frame .text-wrap:focus:after {
			display: block;
			height: 0px;
			width: 0px;
			position: absolute;
			right: 4px;
			top: -8px;
		}

	/* image upload
	------------------------------------------------------------------------ */
		#pe-frame #fileform {
			margin-bottom: 24px; 
		}
		#pe-frame #picks-status {
			display: block; 
			min-height: 72px; 
			position: relative;
			padding: 16px; 
		}
		#pe-frame #picks-status .progress_percent {
			position: absolute;
			top: 50%; 
			left: 50%; 
			transform: translateX(-50%) translateY( -50%);
			z-index: 10;
			line-height: 24px; 
			padding: 12px 24px; 
		}
		#pe-frame #picks-status #upload_image {
			display: block; 
			max-width: 100%; 
			margin: 0 auto; 
		}

	/* Slidable table with shadow
	------------------------------------------------------------------------ */
		#pe-content-wrap table.slidable-shadow {
			margin-bottom: 0 !important;
		}
		#pe-frame .slidable_window {
			position: relative;
			overflow: hidden;
			margin-bottom: 1.5em;
		}
		.slidable_window:after {
			position: absolute;
			top: 0;
			left: 100%;
			width: 50px;
			height: 100%;
			border-radius: 10px 0 0 10px / 50% 0 0 50%;
			box-shadow: -5px 0 10px rgba(0, 0, 0, 0.30);
			content: '';
		}
		.slidable_window:before {
			position: absolute;
			top: 0;
			left: -10px;
			z-index: 1;
			width: 10px;
			height: 100%;
			border-radius: 10px 0 0 10px / 50% 0 0 50%;
			box-shadow: 5px 0 10px rgba(0, 0, 0, 0.30);
			content: '';
		}
		.slidable_window.hidden-after:after,
		.slidable_window.hidden-before:before {
			display: none;
		}

	/* Pages
	------------------------------------------------------------------------ */
		/* page notes
		------------------------------------------ */
			#pe-frame .page-notes {
				margin: 1.618em 0;
				font-size: 0.875em;
			}
			#pe-frame .page-notes p {
				margin-bottom: 0.236em;
			}
			#pe-frame .page-notes hr {
				margin-bottom: 1em !important;
			}

		/* {help}
		------------------------------------------ */
			.help #pe-content-wrap ol.decimal > li {
				font-weight: bold;
			}
			.help #pe-content-wrap ol.decimal > li * {
				font-weight: normal !important;
			}
			.help #pe-content-wrap ol.decimal > li b,
			.help #pe-content-wrap ol.decimal > li strong {
				font-weight: bold !important;
			}


	/* @media queries - template layout -------------------------------------------------------- */
		@media all and (max-width:767px) {
			/* inline validation
			---------------------------------------------------------------- */
				html .error-frame {
					top: 75%;
				}
				html #rules_er .error-frame,
				html #recaptcha_response_field_er .error-frame {
					top: 50%; 
				}

			/* Slidable table with shadow */
			.slidable_container {
				overflow-x: auto;
			}
		}
		@media all and (max-width:479px) {}
		@media all and (min-width:480px) {}
		@media all and (min-width:768px) {}


/**	=TEMPLATE THEME
------------------------------------------------------------------------------------------------ */
	/* Buttons
	------------------------------------------------------------------------ */
		button,
		.button,
		.button:visited,
		input[type="button"] {
			color: #333;
			border: 1px solid #ccc;
			background: #EEE;
		}
		button:hover,
		.button:hover,
		input[type="reset"]:hover,
		input[type="button"]:hover {
			color: #FFF;
			background: #333;
			border: 1px solid #333;
		}

		/* disabled */
			html button.disabled,
			html a.btn.disabled,
			html a.button.disabled {
				color: #ccc;
				cursor: default;
				background: #EEE;
			}
			html button.disabled:hover,
			html .button.disabled:hover,
			html input[type="reset"].disabled:hover,
			html input[type="button"].disabled:hover {
				color: #CCC;
				background: #EEE;
				border: 1px solid #ccc;
			}

		/* button styles */
			html .pill {
				border-radius: 200em;
			}
			html .pop {
				box-shadow: 0px 1px 5px rgba(0,0,0,0.2);
			}
			html .inset {
				box-shadow: inset 0px 1px 3px rgba(0,0,0,0.3);
			}
			html .square {
				border-radius: 0;
			}

		/* button colors */
			html button.blue,
			html .button.blue,
			html input[type="button"].blue {
				color: #fff !important;
				background: #4096EE;
				border-color: #1D6DC1;
				text-shadow: 0px -1px 0 #1D6DC1;
			}
			html button.blue:hover,
			html .button.blue:hover,
			html input[type="button"].blue:hover {
				background: #6eb0f2;
				border-color: #1D6DC1;
			}
			html button.orange,
			html .button.orange,
			html input[type="button"].orange {
				color: #fff;
				background: #FF7B0D;
				border-color: #FC730A;
				text-shadow: 0px -1px 0 #FC730A;
			}
			html button.orange:hover,
			html .button.orange:hover,
			html input[type="button"].orange:hover {
				background: #F9B509;
				border-color: #FC730A;
			}
			html button.pink,
			html .button.pink,
			html input[type="button"].pink {
				color: #fff;
				background: #EF017C;
				border-color: #EF0251;
				text-shadow: 0px -1px 0 #EF0251;
			}
			html button.pink:hover,
			html .button.pink:hover,
			html input[type="button"].pink:hover {
				border-color: #EF0251;
				background: #fe70b9;
			}
			html button.green,
			html .button.green,
			html input[type="button"].green {
				color: #fff;
				background: #6BA500;
				border-color: #669E00;
				text-shadow: 0px -1px 0 #669E00;
			}
			html button.green:hover,
			html .button.green:hover,
			html input[type="button"].green:hover {
				border-color: #669E00;
				background: #A7D32C;
			}
			html button.red,
			html .button.red,
			html input[type="button"].red {
				color: #fff;
				background: #CF0404;
				border-color: #B21203;
				text-shadow: 0px -1px 0 #B21203;
			}
			html button.red:hover,
			html .button.red:hover,
			html input[type="button"].red:hover {
				border-color: #B21203;
				background: #FB2121;
			}

	/* Accordion
	------------------------------------------------------------------------ */
		.accordion > div > h6 {
			background: #dbdbdb;
			border: 1px solid #bbb;
			-webkit-border-radius: 2px 2px 2px 2px;
			border-radius: 2px 2px 2px 2px;
		}
		.accordion > div > h6 a {
			color: #202020;
		}
		.accordion > div > h6.active {
			-webkit-border-radius: 2px 2px 0 0;
			border-radius: 2px 2px 0 0;
		}
		.accordion > div > h6 a span.status {
			border-style: solid;
			border-width: 5px;
			border-color: #202020 transparent transparent transparent;
		}
		.accordion > div > h6.active a span.status {
			border-color: transparent transparent #202020 transparent;
		}
		.accordion > div > div {
			border: 1px solid #bbb;
			border-top: none;
			-webkit-border-radius: 0 0 2px 2px;
			border-radius: 0 0 2px 2px;
		}

	/* Notices
	------------------------------------------------------------------------ */
		.notice {
			border: 1px solid #ede3bc;
			background: #ede3bc;
			color: #92885f;
			text-shadow: 0px 1px 0px #e5ddb5;
			-webkit-border-radius: 2px !important;
			border-radius: 2px !important;
		}
		.notice.panel {
			border: 1px solid #dbdbdb;
			background: #dbdbdb;
			color: #606060;
			text-shadow: 0px 1px 0px #d1d1d1;
		}
		.notice.warning {
			border: 1px solid #c6e1f7;
			background: #bcd5eb;
			color: #0c426d;
			text-shadow: 0px 1px 0px #d1d1d1;
		}
		.notice.error {
			border: 1px solid #da5c5c;
			background: #da5c5c;
			color: #3c0707;
			text-shadow: 0px 1px 0px #d15858;
		}
		.notice.success {
			border: 1px solid #95c97c;
			background: #95c97c;
			color: #315520;
			text-shadow: 0px 1px 0px #88b872;
		}
		#pe-frame .notice a.icon.close,
		#pe-frame .notice a.icon.close span {
			text-align: center; 
		}

	/* Popup
	------------------------------------------------------------------------ */
		.mfp-container .mfp-content {
			background: rgb( 256, 256, 256 );
			background: rgba( 256, 256, 256, 0.86);
		}

	/* Social Sign on
	------------------------------------------------------------------------ */
		#pe-frame #pe-sso .sso-link:before {
			content: '';
			font-weight: normal !important; 
			font-style: normal !important; 
			text-transform: none !important; 
			font-size: 24px;
		}
		#pe-frame #pe-sso .sso-facebook:before {
			color: #3b5998; 
		}
		#pe-frame #pe-sso .sso-twitter:before {
			color: #28aae1; 
		}
		#pe-frame #pe-sso .sso-yahoo:before {
			color: #3f028e; 
		}
		#pe-frame #pe-sso .sso-google:before {
			color: #de5145; 
		}
		#pe-frame #pe-sso .sso-instagram:before {
			color: #000000; /* #bb00ab */
		}
		#pe-frame #pe-sso .sso-pinterest:before {
			color: #cc2127; 
		}
		#pe-frame #pe-sso .sso-unlink:hover:before {
			font-size: 20px;
		}

	/* inline validation
	------------------------------------------------------------------------ */
		html .validation-error .form-input input[type="text"],
		html .validation-error .form-input input[type="password"],
		html .validation-error .form-input select {
			background-color: #FAF4F4;
			border-color: #CA2A3D;
		}
		html .validation-pass .form-input input[type="text"],
		html .validation-pass .form-input input[type="password"],
		html .validation-pass .form-input select {
			background-color: #EDF4EC;
			border-color: #62AA4B;
		}
		html .error-text {
			background: #333;
			border-radius: 2px;
			color: #fff !important;
			line-height: 1;
			font-size: 12px !important;
			box-shadow: 0px 0px 2px rgba( 0, 0, 0, 0.25);
		}
		html .error-frame .text-wrap:after {
			content: ' ';
			border-style: solid;
			border-width: 8px;
			border-color: #333 transparent transparent transparent;
		}
		html .error-frame .text-wrap:before,
		html .validation-pass .form-input:before {
			font-size: 24px;
		}
		html .error-frame .text-wrap:before {
			color: #DA5C5C;
			text-align: center;
		}
		html .validation-pass .form-input:before {
			color: #95C97C;
			text-align: center;
		}

	/* image upload
	------------------------------------------------------------------------ */
		#pe-frame #picks-status {
			border: 3px dashed #CCCCCC;
			background: #FFF; 
		}
		#pe-frame #picks-status .progress_percent {
			font-weight: bold; 
			color: #000;
			background-color: rgba( 255, 255, 255, 0.86 );
			font-size: 18px;
			border-radius: 24px; 
		}

	/* Glyphs
	-------------------------------------------------------------------- */
		#pe-frame .fs-icon,
		#pe-frame .fs-icon *,
		.pe-popup .mfp-content .fs-icon,
		.pe-popup .mfp-content .fs-icon *,
		#pe-frame .notice .close:after,
		.pe-popup .notice .close:after,
		#pe-frame #pe-sso .sso-link:before,
		#pe-frame .error-frame .text-wrap:before, 
		#pe-frame .validation-pass .form-input:before,
		#pe-frame .form-item.form-item-upload .form-input label:before {
			font-family: FontAwesome !important;
			font-style: normal !important;
			text-transform: none !important;
			font-weight: normal !important;
		}
		#pe-frame #pe-sso .sso-link:before {
			font-family: FontAwesomeBrands !important;
			font-style: normal !important;
			text-transform: none !important;
			font-weight: normal !important;
		}

		/* icons
		------------------------------------------------ */
			/* forms */
				#pe-frame .form-item.form-item-upload .form-input label:before {
					content: '\f093';
				}

			/* Social */
				#pe-frame #pe-sso .sso-facebook:before {
					content: '\f230';
				}
				#pe-frame #pe-sso .sso-twitter:before {
					content: '\f081';
				}
				#pe-frame #pe-sso .sso-yahoo:before {
					content: '\f23b';
				}
				#pe-frame #pe-sso .sso-google:before {
					content: '\f0d4';
				}
				#pe-frame #pe-sso .sso-instagram:before {
					content: '\f16d';
				}
				#pe-frame #pe-sso .sso-pinterest:before {
					content: '\f0d3';
				}
				#pe-frame #pe-sso .sso-unlink:hover:before {
					content: '\f127' !important;
				}

			/* validation */
				html .error-frame .text-wrap:before {
					content: '\f06a';
				}
				html .validation-pass .form-input:before {
					content: '\f058';
				}


	/* @media queries - theme ------------------------------------------------------------------ */
		@media all and (max-width: 767px) {}
		@media all and (max-width: 479px) {}
		@media all and (min-width: 480px) {}
		@media all and (min-width: 768px) {}


/**	=GAME MECHANISM
------------------------------------------------------------------------------------------------ */
	/* {enter_picks}
	------------------------------------------------------------------------ */
		/* scratch card */
			#game-frame {
				margin: 0 auto;
				max-width: 100%;
				width: 540px;
				position: relative;
			}
			.game-area,
			.game-area canvas {
				display: block;
				background-position: top center;
			}
			#game-frame.loading {
				background-image: url('/contests/html/xhtml_master/img/loading.gif');
				background-position: center center;
				background-repeat: no-repeat;
			}
			.game-area {
				max-width: 100% !important;
				height: 0px !important;
				padding-bottom: 100% !important;
				background-size: 100% 100%;
			}
			.game-area img {
				max-width: 100%;
			}
			.game-area canvas {
				width: 100% !important;
				max-width: 100% !important;
				height: 100%;
			}

		/* game dialog */
			#pe-frame #game-entry {
				display: none;
			}
			#pe-frame .game-dialog {
				width: 100%;
				max-width: 100%;
				height: 0px;
				padding-bottom: 100%;
				position: absolute;
				top: 0;
				left: 0;
				right: 0;
				z-index: 300 !important;
				text-align: center;
			}
			#pe-frame #game-dialog {
				display: none;
				margin: 0;
			}
			#pe-frame #game-entry .form-label {
				text-align: left;
			}
			#pe-frame #game-entry,
			#pe-frame #game-message {
				padding: 2.5em;
			}
			#pe-frame #game-message .conf {
				font-size: 0.675em;
			}
			#pe-frame .toggle {
				width: 36px;
				height: 36px;
				line-height: 36px;
				overflow: hidden; 
				display: block;
				text-align: center;
				position: absolute;
				top: 2%;
				right: 2%;
				z-index: 400;
				cursor: pointer;
				text-indent: -72px; 
				padding: 6px 6px 0px; 
			}
			#pe-frame .toggle:after {
				float: right; 
				text-indent: 0px; 
				background: rgb( 256, 256, 256 );
				background: rgba( 256, 256, 256, 0.72 );
				outline: 5px solid transparent;
				border-radius: 50%;
				width: 24px;
				height: 24px;
				line-height: 24px;
			}
			#pe-frame .toggle.up:after {
				content: '▲';
			}
			#pe-frame .toggle.dn:after {
				content: '▼';
				line-height: 26px;
			}
                        
		/* in popup styles */
			#pe-frame .mfp-content #game-entry,
			#pe-frame .mfp-content #game-dialog {
			display: block !important;
		}

		/* game dialog visuals*/
			#pe-frame .game-dialog .dialog-id {
				color: #999;
			}


	/* @media queries - layout ----------------------------------------------------------------- */
		@media only screen and (max-width: 767px) {}
		@media only screen and (max-width: 479px) {
			/* game dialog */
				#pe-frame #game-entry,
				#pe-frame #game-message {
					padding: 1em;
				}
				#pe-frame .toggle {
					width: 24px;
					height: 24px;
					line-height: 24px;
					font-size: 1em;
					padding: 0px 0px 0px; 
				}

			/* game dialog visuals*/
				#pe-frame .game-dialog {
					outline: 2px solid transparent;
				}
		}
		@media only screen and (min-width: 480px) {}
		@media only screen and (min-width: 768px) {}
