@font-face {
  font-family: 'Calibre';
  src: url('/CalibreWeb-Light.woff2') format('woff2');
}

* {
	color: #333;
	line-height: 1.5;
}

body {
	font-family: Calibre, Courier New;
	font-style: normal;
	font-weight: 400;
	font-size: 18;
}

a {
	text-decoration: none;
}

a.link {
	border-bottom: 2px solid #3050ee;
	color: #3050ee;
}

a.link:hover {
	border-bottom: 3px solid #3050ee;
}

ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

container {
	display: flex;
	flex-wrap: wrap;
	flex-flow: center;
	flex-direction: column;
	align-items: center;
	width: 61.8%;
	margin: 30px auto;
}

nav {
	display: flex;
	align-self: center;
	align-items: center;
	margin: auto;
	user-select: none;
	-background: #e4e4e4;
	border-radius: 0.5vw;
	padding: 0.2vw 0.6vw;
}

nav left, nav right {
	align-self: center;
	flex-direction: row;
}

nav a {
	margin: 0 5px;
	padding: 0 3px;
	padding-bottom: 2px;
	color: #333;
	text-decoration: none;
	transition: all 0.2s ease-in-out;
	font-size: 110%;
}

nav a:hover, nav a[active] {
	color: #222;
	border-bottom: 1px solid #222;
}

nav name {
	color: #222;
	text-transform: uppercase;
	margin: 0;
	font-size: 170%;
	font-weight: bold;
	cursor: default;
	user-select: none;
	font-family: Times New Roman;
	padding: 0.5vw 1vw;
	border-radius: 0.8vw;
}

nav name space {
	width: 8px;
	display: inline-block;
}

menu {
	display: none;
	align-self: center;
	margin: 40px 0 0 0;
	padding: 0;
	width: 100%;
	user-select: none;
	font-family: Courier New;
}

menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

menu li {	
	margin: 0;
	padding: 0;
}

menu li a {
	display: block;
	color: #555;
	text-decoration: none;
	text-transform: uppercase;
	padding: 10px;
	border-bottom: 1px solid #eee;
}

menu li:last-child a {
	border-bottom: none;
}

menu li a:hover, menu li a:focus, menu li a[active] {
	background: #eee;
}

clear {
	clear: both;
}

content {
	width: 100%;
	padding: 20px;
}

categories-wrapper {
	display: flex;
	align-self: center;
	margin-top: -10px;
}

categories {
	display: inline-block;
	margin: auto;
	user-select: none;
	font-family: Calibre;
	font-size: 100%;
	white-space: nowrap;
	padding: 0.5vw 1.5vw;
	border-radius: 0.5vw;
}

*[category] {
	color: #444;
	cursor: pointer;
	padding: 4px 0.8vw;
	margin: 0;
	margin-right: 0;
}

*[category]:hover {
	border-bottom: 1px solid #999;
}

*[category][active] {	
	color: #222;
	border: 1px solid #333;
	border-radius: 0.5vw;
}

*[credits] {
	padding: 5px;
}

*[credits] li {
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	width: 100%;
	padding: 5px 15px 5px 15px;
}

*[credit-author] {
	font-size: 75%;
	color: #888;
	padding-top:   5px;
	padding-left: 26px;
	overflow: hidden;
	text-overflow: ellipsis;
}

*[credit-type] {
	font-size: 75%;
}

*[fit] {
	width: 100%;
}

h1, h2, h3, h4, h5, h6 {
	font-family: Times New Roman;
	text-transform: uppercase;
	margin: 20px 0 0 0;
	color: #151515;
}

p {
	margin: 15px 0 15px 0;
}

grid {
	display: flex;
}

cell {
	flex: 1;
}

button, *[button] {
	padding: 10px 40px;
	background: #222;
	border-radius: 400px;
	color: white;
	display: inline-block;
	font-size: 120%;
	cursor: pointer;
	user-select: none;
}

button:hover, *[button]:hover {
	border: 1px solid #222;
	background: white;
	margin: -1px;
	color: #222;
}

button:hover svg, *[button]:hover svg,
button:hover svg path, *[button]:hover svg path {
	fill: #222;
}

call-to-action {
	padding: 40px 15vw 100px 15vw;
	text-align: center;
	display: block;
}

video {
	border-radius: 12px;
}

video-controls {
	color: white;
	display: flex;
	padding: 10px;
	z-index: 1;
	position: relative;
	top: -50px;
	background: transparent;
	padding: 2px 10px;
	height: 0;
}

video-controls-container {
	transition: opacity 0.2s ease-in-out;
}

video-controls-container[playing] {
	opacity: 0;
}

showreel-backdrop:hover video-controls-container[playing] {
	opacity: 1;
}

*[video-control] {
	cursor: pointer;
	color: #ddd;
	font-size: 150%;
	margin-left: 5px;
	padding: 2px 10px;	
}

*[video-control-no-hover] {
	cursor: default;
}

*[video-control] svg {
	fill: #ddd;
}

*[video-control]:hover {
	color: #fff;	
}

*[video-control-no-hover]:hover {
	color: #ddd;
}

*[video-control]:hover svg {
	fill: #fff;	
}

video-pause {
	display: none;
}

showreel-video {
	margin-top: 30px;
	margin-bottom: 20px;	
	align-self: stretch	;
}

showreel-sidebar {
	flex: 0 1 auto;
	margin: 2vw 0 45px 0;
	padding: 1vw 20px 20px 40px;
	border-radius: 0 14px 14px 0;
	position: relative;
	border-left: none;
	align-self: center;
}

showreel-sidebar p {
	text-align: justify;
}

*[annotation-controls] {
	display: inline-block;
	position: absolute;
	bottom: 0 !important;
}

showreel-backdrop {
	height: 100%;
	display: flex;
	align-items: center;
	background: black;
	padding: 0px;
	border-radius: 10px;
}

albums {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

a album-preview img {
	margin-top: 25px;
}

album-preview {
	padding: 10px;
}

album-track {
	display: block;
	padding: 20px;
	cursor: pointer;
	border-bottom: 1px solid #e3e3e3;
}

li:last-child album-track {
	border-bottom: 0;
}

album-track[active] {
	border-left: 20px solid #ffdd22;
	font-weight: bold;
}

album-track:hover, album-track[active]:hover {
	background: #333;
	color: white;
}

album-track[active]:focus {
	background: #fff;
	color: #333;
}

album-cover, album-preview {
    position: relative;
    display: inline-block;
}

album-cover img {
    width: 100%;
    vertical-align: top;
    display: inline-block;
    transition: filter 0.2s ease-in-out;
}

album-preview img {
	display: inline-block;
    transition: filter 0.2s ease-in-out;
}

album-controls {
	color: white;
	position: absolute;
	top: calc(50% - 30px);
	left: calc(50% - 30px);
	padding: 20px;
	background: rgba(0, 0, 0, 1);
	border-radius: 500px;
	cursor: pointer;	
}

album-cover:hover img,
album-preview:hover img {	
    filter: brightness(0.6);
}

album-controls:hover, album-preview:hover {
	border: 3px solid white;
	margin: -3px;
}

album-button {
	display: inline-block;
}

album-controls album-button[pause] {
	display: none;
}

album-controls[playing] album-button[pause] {
	display: inline-block;
}

album-controls[playing] album-button[play] {
	display: none;
}

album-preview album-controls {
	display: none;
}

album-preview:hover album-controls {
	display: inline;
}

album-cover svg, album-preview svg {
	fill: white;
}

ruler {
	height: 1px;
	display: none;
	background: #eee;
	border-radius: 10px;
}

ruler[nav-ruler] {
	margin-top: -13px;	
}

ruler[showreel-ruler] {
	margin-top: -20px;	
}

*[flex] {
	display: flex;
}

*[flex-l] {
	display: flex;
}

*[flex-item] {
	flex: 1;
}

*[flex-center] {
	align-items: center;
}

*[flex-stretch] {
	align-items: stretch;
	justify-content: space-between;
}

*[align-right] {
	text-align: right;
}

*[align-left] {
	text-align: left;
}

*[align-center] {
	text-align: center;
}

*[align-self-center] {
	align-self: center;
	margin: auto;
}

*[valign-center] {
	vertical-align: middle;
}

*[vhelper] {
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

*[p5px] {
	padding: 5px;
}

*[p10px] {
	padding: 10px;
}

*[p20px] {
	padding: 20px;
}

*[p40px] {
	padding: 40px;
}

*[pr0] {
	padding-right: 0;
}

*[pl0] {
	padding-left: 0;
}

*[pt0] {
	padding-top: 0;
}

*[pt10px] {
	padding-top: 10px;
}

*[pt20px] {
	padding-top: 20px;
}

*[pb0] {
	padding-bottom: 0;
}

*[p0] {
	padding: 0;
}

*[w100] {
	width: 100%;
}

*[h100] {
	height: 100%;
}

*[w50] {
	width: 50%;
}

*[w50-l] {
	width: 50%;
}

*[w75] {
	width: 75%;
}

*[w25] {
	width: 25%;
}

*[w33] {
	width: 33.333%;
}

*[w16] {
	width: 16.666%;
}

*[w66] {
	width: 66.666%;
}

*[font-75] {
	font-size: 75%;
}

*[cursor-pointer] {
	cursor: pointer;
}

*[overflow-scroll] {
	overflow-y: hidden;
}

*[display-none] {
	display: none;
}

@media only screen and (min-width: 1100px) {

	*[mobile-only] {
		display: none;
	}

}