h3 {
    font-weight:bold;
    margin-bottom: 0.77em; /* 10px */
}

/* masthead */

#masthead .content {
    width: 558px;
}

#masthead .content .first-child { /* top billing */
    background: #F6F2E7 url(../../../d/xfm.co.uk/images/s/main_hub_background.jpg) no-repeat 0 0;
    min-height: 200px;
    _height: 200px;
    float: left;
    width: 558px;
    position: relative;
    padding: 0;
}

#masthead .photo {
    display: block;
    position: absolute;
    top: 39px;
    right: 31px;
}

#masthead .photo img {
    display: block; /* DEBUG */
    /* this is specified in html, not necessary here? */
    width: 160px;
    height: 120px;
}

#masthead .event {
    width: 294px; /* 558 - 224 (-50) to prevent collision with photo */
    padding: 31px 0 0 43px;
}
#masthead .event h2 {
    position:absolute;
    left:-9999em;
}
#masthead h3 a {
    font-size: 197%; /* 26px */
    margin-bottom: 0.2em;
}

#masthead .location {
    margin-bottom: 0.65em;
}

#masthead .date {
    font-weight: bold;
    margin-bottom: 1em;
}

#masthead .tickets p{
    margin-bottom: 0.6em;
}

.dtstart {
    display: none;
}
td.tickets{
    overflow: hidden;
    margin-bottom: 0.77em;
}

a.ticket_link, a.win {
    background-image: url(../../../d/xfm.co.uk/images/s/icons-sprite-map.png);
    _background-image: url(../../../d/xfm.co.uk/images/s/icons-sprite-map.gif);
    background-repeat: no-repeat;
    background-position: -4015px 1px;
    padding-left: 22px;
    font-weight: bold;
    margin-right: 0.77em;
}

a.win{
    background-position: -11861px 0px;
    padding-left: 22px;
}

a.ticket_link span {
    position: absolute;
    left: -5000em;
}

a.book_tickets {
    background-image: url(../../../d/xfm.co.uk/images/s/book_tickets.gif);
    background-repeat: no-repeat;
    background-position: 0 50%;
    padding-left: 26px;
    text-transform: lowercase;
    font-weight: bold;
}

/* search pod */

#masthead .related {
    width: 300px;
}

#masthead .related .first-child {
    background: #fff;
    padding: 10px;
}

#event_search_pod {
    background: #f6f2e7 none;
    min-height: 180px;
    _height: 180px;
    padding: 0;
    margin: 0;
}

#event_search_pod form {
    padding: 21px 10px 0 10px;
}

fieldset legend span {
    position: absolute;
    left: -5000em;
}

#event_search_pod h2 {
    font-size: 189%;
    font-weight: bold;
    color: #e9a347;
    margin: 0;
    padding-bottom: 0.6em;
}

#search_nav fieldset div,
#event_search_pod fieldset div { /* form rows */
    background: #cbba9a none;
    padding: 1px;
    margin: 0 0 8px 0;
    /* contain floats */
    overflow: hidden;
}

#search_nav label,
#event_search_pod label {
    float: left;
    width: 88px;
    color: #fff;
    padding: .1em 2px 0 3px;
    font-size: 85%;
    font-weight: bold;
    text-transform: lowercase;
}

#search_nav input,
#search_nav select,
#event_search_pod input,
#event_search_pod select {
    border: 0;
    width: 165px;
    margin: 0;
    float: right;
    background: #fff;
    font-family: Verdana;
}

#event_search_pod input,
#event_search_pod select {
    font-size: 85%;
}

#event_search_pod input {
    padding: 2px;
    width: 161px;
    _padding: 2px 0 1px 0;
    color: #717171;
}

#search_nav input.btn,
#event_search_pod input.btn {
    float: right;
    cursor: pointer;
    background: #F6F2E7 url(../../../d/xfm.co.uk/images/s/icons-sprite-map.png) no-repeat -6086px 2px;
    _background-image: url(../../../d/xfm.co.uk/images/s/icons-sprite-map.gif);
    color: #9d5d3a;
    font: bold 85% Georgia, "Times New Roman", Times, serif;
    padding: 2px 0 2px 14px;
    text-transform: lowercase;
    width: auto;
}

/* search nav (not on hub page) */

#search_nav {
    background-image: url(../../../d/xfm.co.uk/images/s/border_nav_top.gif);
    background-repeat: no-repeat;
    background-position: 0 100%;
    padding: 0 64px;
    overflow: hidden;
	margin-top: -2px;
}

#search_nav fieldset div {
	float: left;
	width: 207px;
	margin: 0 10px 0 0;
}

#search_nav fieldset div.who_what {
	width: 220px;
}

#search_nav .container {
	margin-top: 1px;
	padding: 10px;
	background: #fff;
    border: 1px solid #d4b9af;
}

#search_nav form {
	background: #F6F2E7;
	padding: 4px;
}

#search_nav h3 {
	float: left;
	color: #e9a347;
	font-weight: bold;
	line-height: 1.5em; /* 20px */
	padding-right: 9px;
	padding-left: 6px; /* becomes 10 when including 4px padding of container */
	*padding-left: 0;
	margin: 0;
}

#search_nav label {
	line-height: 16px;
	text-align: center;
}

#search_nav .who_what label {
	width: 81px;
}

#search_nav .location label {
	width: 68px;
}

#search_nav .timeperiod label {
	width: 65px;
}

#search_nav .timeperiod select {
	*font-size: 85%;
}

#search_nav .timeperiod {
	*margin-right: 8px;
}

#search_nav form div input {
    color: #717171;
    font-size: 85%;
    margin: 0;
    padding: 3px;
}

#search_nav fieldset div input {
	height: 1.50em; /* 18px (base 11px) */
	padding: 2px 0 0 2px;
	position: relative;
}

#search_nav fieldset div input,
#search_nav select {
	width: 132px;
}

#search_nav input.btn {
	float: left;
	padding-top: 3px;
	background-position: -6086px 4px;
	background-color: #F6F2E7;
}

#search_nav fieldset div {
	float: left;
	width: 207px;
	margin: 0 10px 0 0;
}

/* events list */

.events_listing {
    margin: 0 0 1.5em;
}

.events_listing li {
    /* background properties for featured events */
    background-color: #f6f2e7;
    min-height: 80px;
    _height: 80px;
    padding: 6px 10px 4px 0;
    position: relative;
    margin: 0 0 0.77em 0;
}
.events_listing li img {
    position: absolute;
    width: 120px;
    height: 90px;
    top: 0;
}

/* needed for specificity, TODO - remove */
#hub_event_list .events_listing li p,
.events_listing li h3, .events_listing .tickets {
    width: 295px;
    margin: 0 0 0 130px;
    padding: 0;
}

.events_listing li h3,
#hub_event_list  .events_listing .promo {
    margin-bottom: 0.46em; /* 6px */
}

.events_listing li h3 a{
    display: block;
}

.events_listing li p {
    font-size: 93%;
}

.events_listing li p span {
    font-weight: bold;
}

.events_listing li .summary{
    font-size: 116%;
    font-weight: bold;
    display: block;
}

.events_listing .ticket_link{
    font-size: 93%;
}

/* table from _event_list  */

#events_tonight h3 {
    font-weight: bold;
    color: #e9a347;
}

.events1 {
    border-collapse: collapse;
    width: 100%;
    margin: 10px 0;
}

.events1 td, .events1 th {
    vertical-align: baseline;
    padding: 0.6em 0.75em;
    margin: 0;
}

.events1 .highlighted {
    background-image: url(../../../d/xfm.co.uk/images/xfm_logo_tiny.gif);
    background-repeat: no-repeat;
    background-position: 0 1em;
}

.events1 thead th {
    left: -5000em;
    position: absolute;
}

.even, .even td, .even th, .alt, .alt td, .alt th {
    background-color: #f6f2e7;
}

.events1 .date {
    font-size: 85%;
    width: 91px;
    padding-left:.65em;
    padding-right:.5em;
}

.events1 .date strong {
    font-weight: bold;
}

.events1 .location {
    font-weight: normal;
    font-size: 93%;
}

.events1 .details {
    width: 314px;
    padding-left: 30px;
}
.events1 .details a{
    display: block;
}

.events1 .details h3 {
    padding: 0;
    line-height: 1.1;
}
.events1 .details h3 span.event_type {
    position:absolute;
    left:-9999em;
}
.events1 .details h4, .events1 .details p {
    position: absolute;
    left: -5000em;
}

.events1 .summary {
    display: block;
    font-size: 116%;
    font-weight: bold;
}

.events1 td.tickets {
    width: 110px;
    padding: 0 10px 0 0;
    font-size: 85%;
    font-weight: bold;
}

.events1 td.tickets span {
    padding-left: 22px;
}

td.tickets .ticket_link{
    display: block;
    margin-bottom: 0.4em;
}

/* events search results */

#hub_calendar_link {
    text-align: right;
}

.date_navigation {
    padding-bottom: 20px;
    text-align: center;
}

.date_navigation .date_prev {
    background-image: url(../../../d/xfm.co.uk/images/s/icons-sprite-map.png);
    _background-image: url(../../../d/xfm.co.uk/images/s/icons-sprite-map.gif);
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-position: -11448px 2px;
    float: left;
    padding-left: 20px;
}

.date_navigation .date_next {
    background-image: url(../../../d/xfm.co.uk/images/calendar/nav_next.png);
    background-repeat: no-repeat;
    background-position: right center;
    float: right;
    padding-right: 20px;
}

#content h2.date {
    padding: 1em 0 0;
    margin: 0;
    font-size: 100%;
}

.events #content .related .narrow {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
    width: 170px;
}

/* fake gap in grid */
.events #content .narrow .unit {
    border-top: 0.77em solid #F1EBDE;
    *background-position: -748px 0.77em;
}

.events #content .narrow .first-child {
    *background-position: -748px 0;
}

.events #content .narrow .first-child {
    border: none;
}

.calendar #sidebar_calendars {
    background-color: #fff;
    padding: 10px;
}

/* calendar module */

#sidebar_calendars h3,
#gig_picks h3 {
    color:#E9A347;
    font-weight:bold;
    margin: 0 0 0.77em 0;
    text-transform: lowercase;
}

#calendar_quick_nav {
    /* contain floats */
    text-align: center;
}

#calendar_quick_nav li {
    border-right: 1px solid #717171;
    display: inline;
    padding: 0 4px;
    text-transform: lowercase;
}

#calendar_controls {
    position:relative;
    margin-bottom: 0.54em;
    text-align: center;
    /* contain floats */
    overflow: hidden;
    zoom: 1;
}

#calendar_controls h4 {
    font-weight: bold;
    padding:0 15px;
}

#calendar_prev {
    position:absolute;
    top:0;
    left:0;
}

#calendar_next {
    position:absolute;
    top:0;
    right:0;
}

li#calendar_this_week {
    border: 0;
}

#sidebar_calendars table {
    width: 100%;
    font-family: Verdana, Arial, sans-serif;
    font-size: 85%;
    margin-bottom: 0.45em;
}

#sidebar_calendars table a {
    display: block;
    padding: 3px 2px;
}

#sidebar_calendars td,
#sidebar_calendars th {
    background-color:#F6F2E7;
    border: 1px solid white;
    text-align:center;
}

#sidebar_calendars .selected,
#sidebar_calendars .selected a,
#sidebar_calendars table a:hover {
    background: #E9A347;
    color: #fff;
}

#sidebar_calendars td.blank {
    background: #eee;
    padding: 3px 2px;
}

#sidebar_calendars th {
    color: #fff;
    background: #CDBEA0;
    font-weight: bold;
}

/* gig picks sidebar */

#gig_picks li {
    border-bottom:1px dotted #9D5D3A;
    padding: 0.77em 3px; /* 7px */
}

#gig_picks .last-child {
    border: none;
}

#gig_picks li p {
    font-size: 93%;  /* 12px */
    margin-bottom: 0.45em;
}

#gig_picks li p span {
    font-weight: bold;
}

#gig_picks h4 a {
    line-height: 1.1;
    font-weight: bold;
    display:block;
}

#gig_picks h4 .summary {
    font-weight: bold;
    margin-bottom: 3px;
    display: block;
}

#gig_picks h4 .location {
    display: block;
    font-size: 85%; /* 11px */
    font-weight: normal;
}

#more_gig_picks {
    margin-top: 0.83em;
    text-align: right;
    font-size: 93%; /* 12px */
}

/* google map */

#event_detail .summary span {
    display: block;
    font-weight: normal;
}

#event_detail h2 {
    clear: left;
}

#event_content {
    margin-bottom: 0.77em; /* 10px */
    /* contain floats */
    overflow: hidden;
    zoom: 1;
}

#event_content img {
    display: block;
    float: left;
    margin-right: 10px;
}

#venue .geo {
	display: none;
}

#venue_map {
    width: 100%;
    height: 350px;
    clear: both;
}

#event_detail #venue_map {
    height: auto;
}

#venue_map #gmap {
    height: 350px;
}

/* event details */

#content div.xfm-recommends,
#content div.xfms-x-posure,
#content div.xfm-on-air,
#content div.xfm-uploaded,
#content div.xfm-presents,
#content div.club-xfm { 
    padding-top: 55px;
    background-position: 0 0;
}

#content div.club-xfm {
    background-image: url(../../../d/xfm.co.uk/images/bg-club-xfm.png);
}

#content div.xfm-uploaded {
    background-image: url(../../../d/xfm.co.uk/images/bg-xfm-uploaded.png);
}

#content div.xfm-on-air {
    background-image: url(../../../d/xfm.co.uk/images/bg-xfm-on-air.png);
}

#content div.xfms-x-posure {
    background-image: url(../../../d/xfm.co.uk/images/bg-xfms-x-posure.png);
}

#content div.xfm-presents {
    background-image: url(../../../d/xfm.co.uk/images/bg-xfm-presents.png);
}

#content div.xfm-recommends {
    background-image: url(../../../d/xfm.co.uk/images/bg-xfm-recommends.png);
}

#event_detail #venue {
    background: #f6f2e7;
    position: relative;
    min-height: 200px;
    _height: 200px;
    _overflow: visible;
}

#event_detail #venue p {
    padding: 10px 0 0 10px;
    width: 240px;
}

#event_detail #venue_map {
    position: absolute;
    right: 0;
    top: 0;
    width: 260px;
}

#event_detail #gmap {
    height: 200px;
}

#event_detail p.date {
    font-size: 114%;
    font-weight: bold;
}

/* alternative locations */
.locations li{
    padding: 0.2em 5px;
}

.locations a span {
    position: absolute;
    left: -5000em;
}

