@import url('https://fonts.googleapis.com/css?family=Parisienne|Eczar|Noto+Sans');

/* Resets */
* {
	 box-sizing: border-box;
}

body {
	width: 100%;
	margin: 0px;
	background: #2E3436;
	color: white;
}

.arrows {
	display: block;
	margin: auto;
}

.arrows path {
	/* stroke: #2994D1; */
	stroke: white;
	fill: transparent;
	stroke-width: 2px;
	animation: arrow 2s infinite;
  -webkit-animation: arrow 2s infinite;
}

/* Text, font */
* {
	font-family: "Noto Sans", sans-serif;
}

h1, h1 > * {
	text-align: center;
	font-size: 3.8rem;
	font-family: "Parisienne", serif;
	font-weight: normal;
	margin-top: 0px;
}

h1 > span {
  padding-bottom: 0.4rem;
  font-size: 1.3em;
  border-bottom: solid 3px #D80;
}

p {
	width: 80%;
	line-height: 1.8em;
	margin-left: auto;
	margin-right: auto;
	font-size: 1.1em;
}

@media screen and (max-width: 800px) {
	p {
		width: 90%;
		margin: initial auto;
	}
}

/* animations */
.slow {
  animation-duration: 5s;
  -webkit-animation-duration: 5s;
}

/* general layout */
section {
	background: none;
	display: flex;
	flex-direction: column;
}

section > p:first-of-type {
	margin-top: auto;
}

section > p:last-of-type {
	margin-bottom: auto;
	padding-bottom: 3em;
}

.hidden, .hidden * {
	opacity: 0;
}

html > body div.background-media {
	position: absolute;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	border-radius: 0;
	z-index: -2;
	overflow: hidden;
	padding: 0;
}

.background-media video, .background-media img {
	background-color: black;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.background-media video, .background-media img {
	filter: brightness(70%);
}

.background-media ~ * {
	color: white;
	text-shadow: black 0 0 5px;
}

.overlay {
	margin: auto;
}

svg, object {
	max-width: 100vw;
	max-height: 300vh;
}

.hero, .quiz-container, #intro, section {
	position: relative;
	background: none;
	min-height: 110vh;
	background-position: center;
	background-size: cover;
	border-bottom: 1.4px solid black;
}

.space {
	margin-bottom: 10vh;
}


.sidebyside {
	display: flex;
	width: 100%;
	flex-direction: row;
}

.sidebyside > div {
	margin: auto;
}

@media screen and (max-width: 800px) {
	.sidebyside {
		flex-direction: column;
	}
}

/* Quiz */

.quiz-container {
	display: flex;
	font-size: 1.1em;
}

form.quiz {
	margin: auto;
}

form.quiz > fieldset {
	min-width: 60vw;
	min-height: 60vh;
	margin: 1em;
}

form.quiz label {
	font-weight: normal;
}

mask {
	display: inherit;	
}

/*
 * Section-specific styling
 */

/* Introduction */
#intro {
	background: none;
	background-position: center 25%;
	text-shadow: black 0 0 10px;
	font-size: 1.2em;
	display: flex;
	border: none;
}

#intro p {
	width: 60%;
}

@media screen and (max-width: 800px) {
	#intro p {
		width: 90%;
	}

	#intro span {
		display: inline-block;
	}
}

.class-intro {
	background-image: linear-gradient(to bottom, #414a51, #545454);
}

@media screen and (min-width: 800px) {
	form.which-class {
		margin-top: 25vh;
	}
}

form.which-class div {
	display: flex;
	flex-direction: row;
	width: 100%;
}

form.which-class div.other-options {
	width: 80%;
	margin: auto;
}

@media screen and (max-width: 800px) {
	form.which-class div {
		flex-direction: column;
	}

	form.which-class div.other-options {
		width: 100%;
	}
}

form.which-class p {
	border: 2px groove white;
	margin: 2vmin 1vw;
	padding: 1rem;
	flex-grow: 1;
}

div.which-class {
	margin: auto;
	margin-top: 3rem;
	width: 80%;
}

form.which-class p:hover {
	background: #e7e7e7;
	color: black;
}

form.which-class p.working-class:hover {
	background: #ccc;
	text-shadow: white 0 0 4px;
}

form.which-class p.middle-class:hover {
	background-image: linear-gradient(to bottom, white, #f4f4f4, #e7e7e7);
}

form.which-class p.upper-class:hover {
	background-image: linear-gradient(to bottom, #FDE08D, #DF9F28);
	/* from http://cssdeck.com/labs/mfqb3utw */
}

/*
 * SHINY CSS BUTTON EFFECT
 */
.glint:after {
  content: "";
  position: absolute;
  top: -110%;
  left: -150%;
  width: 250%;
  height: 100%;
  opacity: 0;
  transform: rotate(-30deg);

  background: rgba(255, 255, 255, 0.13);
  background: linear-gradient(
	to right,
	rgba(255, 255, 255, 0.03) 0%,
	rgba(255, 255, 255, 0.5) 77%,
	rgba(255, 255, 255, 0.8) 92%,
	rgba(255, 255, 255, 0.0) 100%
  );
}

/* Hover state - trigger effect */
.glint {
  position: relative;
  overflow: hidden;
}

.glint:hover:after {
  opacity: 1;
  top: 25%;
  left: 25%;
  transition-property: left, top, opacity;
  transition-duration: 0.7s, 0.7s, 0.5s;
  transition-timing-function: linear;
}

/* Active state */

.glint:active:after {
  opacity: 0;
}


/* Economic Capital */

.economic-intro .background-media video, .background-media img {
	filter: brightness(50%);
}

.economic-intro div {
	margin: auto;
}

.economic-intro p {
	width: 40%;
	margin-right: 5%;
}

@media screen and (max-width: 800px) {
	.economic-intro p {
		width: 90%;
		margin: initial auto;
	}
}


.quiz-container.employment-type img {
	object-position: 25%;
}

/*
.quiz-container.employment-type label, .quiz-container.employment-type legend {
	padding: 0.4rem;
	background: rgba(22, 116, 216, 0.9);
}
*/

#unemployment_chart {
	min-width: 40%;
	margin: 0;
	text-shadow: none;
}


/* Geographic Capital */

section.geography {
	text-shadow: white 0 0 3px;
	/* background-image: url('https://upload.wikimedia.org/wikipedia/commons/thumb/4/42/BrisbaneRiver02_gobeirne-edit1.jpg/1280px-BrisbaneRiver02_gobeirne-edit1.jpg'); */
	background-position: center;
	background-size: cover;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
}

section.geography div {
	margin: auto;
	max-width: 43%;
	background: rgba(0, 0, 0, 0.3);
	border-radius: 20px;
	padding: 1em 0;
}

@media screen and (max-width: 666px) {
	section.geography div {
		max-width: 90%;
	}
}

section.geography fieldset {
	border: none;
}

#suburb-wealth-results {
	border-spacing: 2em 0.5em;
}

.quiz-container.commute-time video {
	object-position: 77% 62%;
}

.commute-time-map {
	background-position: center;
	background-size: cover;
	display: flex;
}

.commute-time-map div {
	width: 100%;
	display: flex;
	flex-direction: column;
}

.commute-time-map p {
	width: 30%;
	margin: auto;
	margin-left: 2%;
	font-size: 1.3em;
}


.commute-map-legend {
  position: absolute;
  right: 15px;
  bottom: 15px;
  border-radius: 15px;
  max-width: 100%;
}

@media screen and (max-width: 800px) {
	.commute-time-map p {
		width: 100%;
		margin: inherit;
	}
	.commute-time-map p:nth-child(2) {
		margin-top: auto;
	}
	.commute-map-legend {
		position: static;
		flex-grow: 0;
		margin-left: auto;
		margin-right: auto;
	}
}

.commute-map-copyright {
	display: block;
	margin: 0;
	width: auto;
	padding: 2px;
	padding-bottom: 2px !important;
	background-color: #fab;
	filter: brightness(70%);
}

/* Social Capital */

.social-intro, circles {
	object-position: center bottom;
}

.social-intro p, .social-circles p {
	margin-top: 0px;
}

.social-intro p:first-of-type, .social-circles p:first-of-type {
	margin-top: auto;
}

.social-circles p:last-of-type {
	margin-bottom: 3em;
}

.social-intro p:last-of-type {
	margin-bottom: 0;
	padding-bottom: 1em;
}

/* Cultural Capital */

.cultural-capital img {
	object-position: left center;
}

.quiz-container.galleries .background-media * {
	object-position: 90% center;
}

.quiz-container.shakespeare img {
	object-position: center bottom;
}

.six-class-intro {
	padding-top: 3em;
	padding-bottom: 3em;
}

.six-class-intro > dl {
	width: 60%;
	margin: auto;
}

.six-class-intro dd {
	margin-bottom: 1em;
}

div.six-class {
	margin-bottom: 3rem;
}

#intro > mask {
  background: -webkit-linear-gradient(to bottom, rgba(0,0,0,0) 65%, #eee 98%); /* Safari 5.1 - 6.0 */
  background: -o-linear-gradient(to bottom, rgba(0,0,0,0) 65%, #eee 98%); /* Opera 11.1 - 12.0 */
  background: -moz-linear-gradient(to bottom, rgba(0,0,0,0) 65%, #eee 98%); /* Firefox 3.6 - 15 */
  background: linear-gradient(to bottom, rgba(0,0,0,0) 65%, #eee 98%); /* Regular */
}
