@charset "utf-8";

html, body {
	background-color: #111;
}

body {
	color: #e6e6e6;
	font-family: 'Source Sans Pro', sans-serif;  /* imported in html */
	font-weight: 400;   /* overwrite bootstrap default */
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* header text with background technique */

h1, h2, h3, h4 {

	font-weight: 600;   /* imported from google fonts, override bootstrap default */
	display: inline;
	line-height: normal;
	padding: 0;
	margin: 0;
}

/* Link buttons */

a:hover, a:active, 
a:hover svg, a:active svg {    /* hover on parent, but makes svg not so dark black */
	opacity: 0.75;
}

a svg {
	height: 24px;
	width: auto;
}

/* Shorthand for d-flex justify-content-between align-items-center w-100 */

.btn-flex {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}

/* Shaking effects for selected buttons */

.shaking {
	-webkit-animation: shake 3s linear 3s infinite;
	animation: shake 3s linear 3s infinite;
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-perspective: 1000px;
	perspective: 1000px;
}

.shaking:hover {
	animation: none;
}

@-webkit-keyframes shake {
	0% {
		-webkit-transform: translateX(3px) rotate(1deg);
		transform: translateX(3px) rotate(1deg);
	}
	2.5% {
		-webkit-transform: translateX(-3px) rotate(-1deg);
		transform: translateX(-3px) rotate(-1deg);
	}
	5% {
		-webkit-transform: translateX(3px) rotate(1deg);
		transform: translateX(3px) rotate(1deg);
	}
	7.5% {
		-webkit-transform: translateX(-3px) rotate(-1deg);
		transform: translateX(-3px) rotate(-1deg);
	}
	10% {
		-webkit-transform: translateX(2px) rotate(1deg);
		transform: translateX(2px) rotate(1deg);
	}
	12.5% {
		-webkit-transform: translateX(-2px) rotate(-1deg);
		transform: translateX(-2px) rotate(-1deg);
	}
	15% {
		-webkit-transform: translateX(2px) rotate(1deg);
		transform: translateX(2px) rotate(1deg);
	}
	17.5% {
		-webkit-transform: translateX(-2px) rotate(-1deg);
		transform: translateX(-2px) rotate(-1deg);
	}
	20% {
		-webkit-transform: translateX(1px) rotate(1deg);
		transform: translateX(1px) rotate(1deg);
	}
	22.5% {
		-webkit-transform: translateX(-1px) rotate(-1deg);
		transform: translateX(-1px) rotate(-1deg);
	}
	25% {
		-webkit-transform: translateX(0) rotate(0);
		transform: translateX(0) rotate(0);
	}
}


@keyframes shake {
	0% {
		-webkit-transform: translateX(3px) rotate(1deg);
		transform: translateX(3px) rotate(1deg);
	}
	2.5% {
		-webkit-transform: translateX(-3px) rotate(-1deg);
		transform: translateX(-3px) rotate(-1deg);
	}
	5% {
		-webkit-transform: translateX(3px) rotate(1deg);
		transform: translateX(3px) rotate(1deg);
	}
	7.5% {
		-webkit-transform: translateX(-3px) rotate(-1deg);
		transform: translateX(-3px) rotate(-1deg);
	}
	10% {
		-webkit-transform: translateX(2px) rotate(1deg);
		transform: translateX(2px) rotate(1deg);
	}
	12.5% {
		-webkit-transform: translateX(-2px) rotate(-1deg);
		transform: translateX(-2px) rotate(-1deg);
	}
	15% {
		-webkit-transform: translateX(2px) rotate(1deg);
		transform: translateX(2px) rotate(1deg);
	}
	17.5% {
		-webkit-transform: translateX(-2px) rotate(-1deg);
		transform: translateX(-2px) rotate(-1deg);
	}
	20% {
		-webkit-transform: translateX(1px) rotate(1deg);
		transform: translateX(1px) rotate(1deg);
	}
	22.5% {
		-webkit-transform: translateX(-1px) rotate(-1deg);
		transform: translateX(-1px) rotate(-1deg);
	}
	25% {
		-webkit-transform: translateX(0) rotate(0);
		transform: translateX(0) rotate(0);
	}
}

/* Video background */

.jumbotron::before {		/* Poster layer */
	content: "";
	position: absolute;
	inset: 0;
	background: url("/img/bg/thumbnail.jpg") center/cover no-repeat;
	opacity: 1;
	transition: opacity 0.4s ease;
	z-index: 0;
 }

.jumbotron {
	border-radius: 0;
	position: relative;
}

.jumbotron.poster-fade-out::before {	/* Hide the poster */
	opacity: 0;
	pointer-events: none;
}

.jumbotron video {
	opacity: 0;							/* Fade In */
	transition: opacity 0.4s ease;		/* Fade In */
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	z-index: 1;
}

.jumbotron video.video-fade-in {		/* Fade In */
	opacity: 1;
}

.jumbotron .vignette {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at center,
		  rgba(255,255,255,0.08) 0%,
		  rgba(255,255,255,0.02) 40%,
		  rgba(0,0,0,0.45) 100%);
	background-size: 100% 100%;
	z-index: 2;
}

.jumbotron .overlay {
	position: relative;
	height: 100%;
	z-index: 3;
}
