body {
	background-color: #000;
	color: #fff;
	-webkit-font-smoothing: antialiased;
	font-size: 1.6rem;
}

a {
	color: #eb5353;
}
a:hover {
	color: #df5d5d;
}
a:selected {
	color: #df5d5d;
}
a:visited {
	color: #eb5353;
}

.well a.more {
    display: block;
    text-align: right;
    line-height: 1;
    margin-top: 0.4rem;
}

h1, h2, h3, h4 {
	font-family: Veneer, Impact, sans-serif;
}
h4 {
	font-style: italic;
	margin: 0;
}
h5, h6 {
    font-family: HelveticaNeue-CondensedBold, Helvetica, Arial, sans-serif;
	font-weight: bold;
	margin: 0;
}

header.home {
	background: url('../images/header-home.png') no-repeat center top #252323;
	-webkit-background-size: contain;
	-moz-background-size: contain;
	-o-background-size: contain;
	background-size: contain;
}

header {
	background: url('../images/header.png') no-repeat center top #252323;
	-webkit-background-size: contain;
	-moz-background-size: contain;
	-o-background-size: contain;
	background-size: contain;
}

.row {
	clear: both;
}

.side.column.home {
	width: 22%;
}
.main.column.home {
	width: 74%;
    margin-left: 4%;
}
.side.column {
	width: 18%;
}
header .side.column {
	position: absolute;
	bottom: 0;
}
.main.column {
	width: 78%;
    margin-left: 4%;
}
.offset-from-side.column, .offset-from-side.columns {
    margin-left: 22%;
}

.container {
	background-color: #252323;
	padding-right: 20px;
}
.container.main {
	position: relative;
	top: -1rem;
	padding: 0 20px 2rem 0;
	border-radius: 0 0 2.25rem 2.25rem;
}

.content {
	border-radius: 1rem;
	background-color: #363434;
	padding: 1rem;
}

header dl.band-members {
	position: absolute;
	top: 32px;
	left: 46px;
    font-family: HelveticaNeue-CondensedBold, Helvetica, Arial, sans-serif;
	line-height: 3rem;
	margin: 0;
	z-index: 1;
}
.band-members dt {
	float: left;
	text-transform: uppercase;
	clear: both;
}
.band-members dt::after {
	content: " - ";
	white-space: pre;
}
.band-members dd {
	margin: 0;
	float: left;
}

#header-next-gig {
	position: absolute;
	top: 80px;
	right: 85px;
	z-index: 1;
    font-family: HelveticaNeue-CondensedBold, Helvetica, Arial, sans-serif;
	max-width: 360px;
}

nav.home ul.menu {
	font-size: 4.2rem;
	line-height: 5rem;
    margin-bottom: 3.5rem
}
nav.home ul.menu li.small {
	font-size: 3rem;
	line-height: 1.4rem;
    margin: 2rem 0;
}
nav.home ul.menu li.big {
	font-size: 8rem;
	line-height: 8rem;
    margin: 3rem 0;
}
nav.home ul.menu {
    margin-bottom: 3rem
}
nav ul.menu {
	font-family: Veneer;
	font-size: 3rem;
	line-height: 3.3rem;
	list-style-type: none;
	margin-left: 20px;
    margin-bottom: 3rem
}
header nav ul.menu {
	margin-bottom: 2.5rem;
}
nav ul.menu li.small {
	font-size: 2.25rem;
	line-height: 0.4rem;
    margin: 2rem 0;
}
nav ul.menu li.big {
	font-size: 6rem;
	line-height: 6rem;
    margin: 2rem 0;
}
nav ul.menu li.big:first-of-type {
	margin-top: 0;
}
nav ul.menu.home li.big + li:not(.big) {
	margin-top: -1rem;
}
nav ul.menu li.big + li:not(.big) {
	margin-top: -0.5rem;
}
nav ul.menu a {
	color: #fff;
	text-decoration: none;
	background: #000;
	padding: 0 1rem;
}
nav ul.menu a:hover {
	color: #77b7e4;
}

nav ul.social-links {
	font-size: 1.33rem;
	line-height: 32px;
	margin-left: 20px;
}
nav.home ul.social-links {
	font-family: HelveticaNeue-CondensedBold, Helvetica, Arial, sans-serif;
	font-size: 1.9rem;
	line-height: 32px;
}
nav.home ul.social-links small {
	color: #888;
	font-size: 1.1rem;
}
nav.home ul.social-links a {
	color: #fff;
}
nav ul.social-links a {
	color: transparent;
	text-decoration: none;
}
nav ul.social-links a:hover {
	color: #77b7e4;
}
ul.social-links {
	list-style: none;
}
ul.social-links a::before {
	width: 32px;
	height: 32px;
	content: "";
	display: block;
	float: left;
  	background-repeat: no-repeat;
}
ul.social-links .facebook a::before {
  	background: url('../images/social-icons.png');
}
ul.social-links .twitter a::before {
  	background: url('../images/social-icons.png') -40px 0;
}
ul.social-links .youtube a::before {
  	background: url('../images/social-icons.png') -80px 0;
}
ul.social-links .instagram a::before {
  	background: url('../images/social-icons.png') -120px 0;
}
ul.social-links .bandcamp a::before {
  	background: url('../images/social-icons.png') -160px 0;
}


header.home h1 {
	color: #77b7e4;
	font-size: 12rem;
	text-align: center;
	padding-top: 55.2%; /* calculated relative to parent *width* i.e. 960:530 aspect of header pic */
    position: relative;
    top: -3rem; /* (sort of) height of h1 itself */
    margin: 0;
}
header h1 {
	color: #77b7e4;
	font-size: 6rem;
	padding-top: 9.2%; /* calculated relative to parent *width* i.e. 960:88 aspect of header pic */
    position: relative;
    top: -1.33rem; /* (sort of) height of h1 itself */
    margin: 0;
}
header h1 a {
	color: #77b7e4;
	text-decoration: none;
}
header h1 a:visited {
	color: #77b7e4;
}


header.home h3 {
    color: #ffe053;
    font-family: HelveticaNeue-CondensedBold, Helvetica, Arial, sans-serif;
    font-size: 2.25rem;
    text-align: center;
    letter-spacing: 1.125rem;
    text-transform: uppercase;
    position: relative;
    top: -4rem;
    margin: 0 0 0 0;
    padding-left: 20px;
}

/* above 1000px we have max-width container */
@media (max-width: 1000px) {
	header.home h1 {
		font-size: 12rem;
		font-size: 12vw;
	}
}
@media (max-width: 990px) {
	header.home h1 {
		font-size: 11rem;
		font-size: 12vw;
	}
}
@media (max-width: 890px) {
	header.home h1 {
		font-size: 10rem;
		font-size: 12vw;
	}
}
@media (max-width: 805px) {
	header.home h1 {
		font-size: 9rem;
		font-size: 12vw;
	}
}
@media (max-width: 650px) {
	header.home h1 {
		font-size: 8rem;
		font-size: 12vw;
	}
	dl.band-members {
		top: 10px;
		left: 10px;
	}
}
@media (max-width: 555px) {
	header.home h1 {
		font-size: 7rem;
		font-size: 12vw;
	}
	dl.band-members {
		font-size: 1.4rem;
		line-height: 2.75rem;
	}
}
@media (max-width: 480px) {
	header.home h1 {
		font-size: 6rem;
		font-size: 12vw;
	}
	dl.band-members {
		font-size: 1.2rem;
		line-height: 2.4rem;
	}
}
@media (max-width: 405px) {
	header.home h1 {
		font-size: 5rem;
		font-size: 11vw;
		padding-top: 67%; /* fudge */
	}
	dl.band-members {
		font-size: 1rem;
		line-height: 1.8rem;
	}
}
@media (max-width: 350px) {
	header.home h1 {
		font-size: 4rem;
		font-size: 11vw;
	}
}

.djoutube {
	border: 2px #000 solid;
    margin-bottom: 2rem;
    padding-right: 0;
    padding-bottom: 2rem;
    border-radius: 1rem;
    background: #000;
	background-image: url("../images/filmstrip-bg.png");
    background-repeat: repeat-x;
    background-position: 1% 100.5%;
}
.djoutube > h4 {
	margin: 0 0 0.1rem 0.5rem;
}
.djoutube a.more {
    display: inline-block;
    float: right;
    line-height: 4.2rem;
    font-family: HelveticaNeue-CondensedBold, Helvetica, Arial, sans-serif;
    margin-right: 1rem;
}
.djoutube a.more:after {
    content: ' ▶';
}

.djoutube-video {
	box-sizing: border-box;
	float: left;
}

.djoutube h3 {
    display: inline;
    padding-left: 8px;
}
.djoutube .djoutube-playlist {
    top: 46px;  /* height of header */
    background: #000;
    overflow: hidden;
    width: calc(100% - 432px);
    height: 243px;
    box-sizing: border-box;
}
.djoutube-playlist h4 {
    font-size: 1.67rem;
    line-height: 2rem;
    font-family: HelveticaNeue-CondensedBold, Helvetica, Arial, sans-serif;
    font-style: normal;
    display: inline;
}
.djoutube-playlist h4 a {
	text-decoration: none;
}
.djoutube .djoutube-playlist .djoutube-items {
    height: 245px; /* 243px main video height + 2px item border-bottom */
    top: 0;
    overflow: scroll;
    overflow-x: hidden;
    padding: 0 4px 0 4px;
    box-sizing: border-box;
}
.djoutube-playlist ol li {
	padding: 0.5rem;
	list-style: none;
	margin: 0 0 2px 0;
	min-height: 90px;
}
.djoutube-playlist ol li:hover {
  	background-color: #3a3a3a;
  	cursor: pointer;
}
.djoutube-playlist ol li.selected {
  	background-color: #3a3a3a;
  	cursor: pointer;
	min-height: 94px;
}
.djoutube-playlist ol li > h6 {
    margin: 0;
    display: inline;
}
.djoutube-playlist ol li > p.title .author {
	display: none;
}
.djoutube .djoutube-playlist ol li > img {
    float: right;
    margin-left: 4px;
	border-top-color: #222;
    border-bottom-color: #222;
    border-style: dotted;
}
.djoutube-playlist ol li.selected > img {
    border: 2px solid #c03636;
}
.djoutube .djoutube-playlist ol li.selected:before {
    content: '▶ ';
	position: relative;
    top: -2px;
    color: #c03636;
}


.well {
	background: #363434;
	border-radius: 1rem;
	padding: 1.4rem;
}
.next-gig p {
	margin: 0;
}
.main.home .next-gig {
	margin-bottom: 1rem;
}
.main.home .next-gig a {
    font-family: HelveticaNeue-CondensedBold, Helvetica, Arial, sans-serif;
    font-size: 2rem;
}
.well.facebook {
	background: #e9eaed;
}

dt.gig-month {
	background: #777;
    padding: 0.2rem 0.8rem;
	font-family: Veneer, Impact, sans-serif;
    margin: 2rem 0 1rem 0;
    font-size: 3.3rem;
    line-height: 4rem;
	border-radius: 0.6rem;
}
dl.gigs-list article {
	padding: 0.4rem 0.8rem;
	border: 1px #444 solid;
	border-radius: 0.6rem;
	margin: 0 0 1rem 0;
}
dl.gigs-list h5, .main.home .venue-name {
    font-size: 2rem;
    line-height: 2.4rem;
	font-family: HelveticaNeue-CondensedBold, Helvetica, Arial, sans-serif;
}
dl.gigs-list dd {
	margin-inline-start: 0;
	/* TODO: re-use this "light body text" style */;
	font-weight: 200;
	letter-spacing: 0.08rem;
}
dl.gigs-list dd a.more {
	font-family: HelveticaNeue-CondensedBold, Helvetica, Arial, sans-serif;
    letter-spacing: normal;
}

dt.gig-date time {
    font-family: HelveticaNeue-CondensedBold, Helvetica, Arial, sans-serif;
    font-size: 2rem;
}
table.gig-detail {
	margin: 0.5rem 0 1rem 0;
	border: 0;
}
table.gig-detail tr, table.gig-detail th, table.gig-detail td {
	border: 0;
	padding: 0;
}
table.gig-detail tr {
	vertical-align: top;
}
table.gig-detail th {
	font-family: Georgia, Times, "Times New Roman", serif;
	font-weight: normal;
    font-style: italic;
    text-align: right;
    width: 7rem;
    margin-right: 1rem;
    padding: 0 1rem 0 0;
}
table.gig-detail td {
	/* TODO: re-use this "light body text" style */;
	font-weight: 200;
	letter-spacing: 0.08rem;
}

dl.gig dt {
	font-family: Georgia, Times, "Times New Roman", serif;
	font-weight: normal;
    font-style: italic;
}

h4.band-name {
	margin: 0 0 0.5rem 0;
}
p.info {
	font-family: Georgia, Times, "Times New Roman", serif;
	font-size: 2rem;
	font-style: italic;
	padding: 0 2rem;
}
p.info a.info-link {
    font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-style: normal;
}

.performing-with {
	font-family: Georgia, Times, "Times New Roman", serif;
    font-style: italic;
}

p.list-intro {
	margin: 0;
}
ul.content-list, ol.content-list {
	margin-block-start: 1rem;
    margin-block-end: 1rem;
}
.content-list li {
	margin: 0 0 0 1rem;
}
