/* 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 {
		margin: 0;
		padding: 0;
		border: 0;
		font-size: 100%;
		font: inherit;
		vertical-align: baseline;
	}

	article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
		display: block;
	}

	body {
		line-height: 1;
	}

	ol, ul {
		list-style: none;
	}

	blockquote, q {
		quotes: none;
	}

	blockquote:before, blockquote:after, q:before, q:after {
		content: '';
		content: none;
	}

	table {
		border-collapse: collapse;
		border-spacing: 0;
	}

	body {
		-webkit-text-size-adjust: none;
	}



	/* Layout */

		html {
			height: 100%;
		}
	
		body {
			margin: 0 auto;
			color: #000;
			font-size: 10px;
		}

		/* Content is fit in either 1024 px, or the viewport width if smaller. We use em or % in child elements so everything scale based on that width. Above 1024, the base font size is fixed (no scaling). Below 1024, we need to scale based on the viewport width, and thus we can set the base-font size to be proportional to the viewport width (vw units), with the simple rule that for 1024px, the base font should be 10px = 0.9765625% of viewport width = 0.9765625vw */
		@media screen and (max-width: 1024px) {
			body {
				font-size: 0.9765625vw;
			}
		}
	
		span, p {
			line-height: 1.55em;
			font-family: "Rajdhani", "Avenir Next", Avenir, Helvetica, Arial, sans-serif;
			font-weight: 500;
		}

		.outer_block {
			width: 100%;
			position: relative;
			overflow: hidden;
			/*background-color: yellow;*/ /* debugging */
		}

		.inner_block {
			position: relative;
			width: 100%;
			max-width: 1024px;
			margin: 0 auto;
			/*background-color: green;*/ /* debugging */
		}
	
		.spacer_block_1 {
			width: 100%;
			height: 1em;
		}
	
		.spacer_block_2 {
			width: 100%;
			height: 2em;
		}

		.spacer_block_3 {
			width: 100%;
			height: 3em;
		}
	
		.shadow_from_top, .shadow_from_bottom {
			position: relative;
			width: 100%;
			margin: 0;
			background-color: #0000;
			z-index: 3;
		}
	
		.shadow_from_top {
			height: 3em;
			margin-bottom: -3em;
			background:    -moz-linear-gradient(top, rgba(0,0,0,0.18) 0%, rgba(0,0,0,0) 100%);
			background: -webkit-linear-gradient(top, rgba(0,0,0,0.18) 0%, rgba(0,0,0,0) 100%);
			background:   linear-gradient(to bottom, rgba(0,0,0,0.18) 0%, rgba(0,0,0,0) 100%);
		}
	
		.shadow_from_bottom {
			height: 2em;
			margin-top: -2em;
			top: 1em;
			background:    -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.14) 100%);
			background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.14) 100%);
			background:   linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.14) 100%);
		}
	
		.opacity50 {
			opacity: 0.50;
		}

		.opacity75 {
			opacity: 0.75;
		}
	
		a {
			text-decoration: none;
		}
	
		b {
			font-weight: 600;
		}

	/*
		i {
			background: #eaeaea;
			font-weight: 100;
			text-decoration: underline;
		}
	*/	
	
		.center_content {
			display: flex;
			justify-content: center;
			align-items: center;
		}

		.center_content_x {
			display: flex;
			justify-content: center;
		}

		.noselect {
			-webkit-touch-callout: none; /* iOS Safari */
			  -webkit-user-select: none; /* Safari */
			   -khtml-user-select: none; /* Konqueror HTML */
			     -moz-user-select: none; /* Firefox */
			      -ms-user-select: none; /* Internet Explorer/Edge */
			          user-select: none; /* supported by Chrome and Opera */
		}

