/* CSS Reset */
/* v1.0 | 20080212 */
 
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
}
body {
	line-height: 1;
	font-family: Helvetica, Arial;
	font-size: 12px;
	background: url('/images/left_menu_bg.jpg') repeat-y;
}
body.home {
/*    background: url('/images/left_menu_bg_home.jpg') repeat-y; */
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

/* remember to define focus styles! */
:focus {
	outline: 0;
}

/* remember to highlight inserts somehow! */
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: collapse;
	border-spacing: 0;
}
a {
	text-decoration: none;
	color: #000000;
}
/***** Clearfix *****/
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}
 
.clearfix {
	display: inline-block;
}
 
html[xmlns] .clearfix {
	display: block;
}
 
* html .clearfix {
	height: 1%;
}


/***** Common Styles *****/
.left-text {
    text-align: left;
}
.right-text {
    text-align: right;
}
.center-text {
    text-align: center;
}
.float-left {
    float: left;
}
.float-right {
    float: right;
}
.clear {
    clear: both;
}
.bold {
    font-weight: bold;
}
.red {
    color: #EE3338;
}
a:hover {
    color: #EE3338;
}

/***** Page Layout *****/
#wrapper {
	position: relative;
    width: 1100px;
    _width: 1105px;
    height: 100%;
}
#left-menu {
    position: relative;
    width: 245px;
    height: 100%;
    padding-left: 25px;
    float: left;
}
#main-container {
    position: relative;
	float: right;
    width: 830px;
}
body.home #main-content {
    padding-top: 0px;
}
#main-content {
    position: relative;
    width: 790px;
    padding-left: 40px;
    padding-top: 30px;
}
#main-content a {
    color: #EE3338;
}
#main-content a:hover {
    text-decoration: underline;
}
#footer {
	width: 100%;
	border-top: 2px solid #000000;
	position: relative;
	clear: both;
	margin-top: 20px;
	width: 790px;
	margin-left: 40px;
	padding-top: 10px;
}

/**** Common Page Elements *****/
#search, #top-links {
    float: right;
    font-size: 16px;
    height: 30px;
    padding: 15px 0px 0px;
    z-index:5;
    position:relative;
}
#search {
    background: #EE3338;
    width: 240px;
    padding: 10px 15px 5px;
    color: #FFFFFF;
    z-index:5;
}
#search div {
    border-bottom: 1px solid #FFFFFF;
    padding: 0px 10px 2px 0px;
    background: url('/images/search_icon.jpg') no-repeat right center;
}
#search input {
    border: none;
    outline: none;
    background: #EE3338;
    color: #FFFFFF;
    font-size: 16px;
}
#top-links {
    background: #000000;
    padding-left: 10px;
    padding-right: 10px;
}
#top-links ul li{
    float: left;
    margin: 0px 10px;
}
#top-links ul li a {
    color: #FFFFFF;
    text-decoration: none;
}
#top-links ul li a:hover {
    color:#EE3338;
}
#footer table tr td {
	width: 173px;
}
#footer table tr td.logo {
	width: 100px;
}
#footer table tr td.header {
	font-size: 13px;
	font-weight: bold;
	padding-bottom: 10px;
}
#footer table ul li {
	margin: 5px 0px;
}
#footer table ul li a:hover {
	color: #EE3338;
}
#footer p {
	line-height: 16px;
	margin-top: 10px;
}
div.sidebox {
    width: 240px;
    padding: 15px;
    height: auto;
    background: #EDEDED;
    clear: both;
    margin-bottom: 10px;
    float: right;
}
div.mailing-list-main-module {
    float: left;
}

#main-content div.sidebox p {
    width: 240px;
}
div.sidebox h3 {
    font-size: 16px;
    margin-bottom: 15px;
}
div.sidebox input {
    margin-right: 10px;
}

/***** Left-Menu Bar *****/
#left-menu h1.archives-logo {
    background: url('/images/logo.jpg') no-repeat;
    text-indent: -9999px;
    height: 267px;
    width: 240px;
    margin-bottom: 25px;
    cursor: pointer;
}
body.home #left-menu h1.header {
    background: url('/images/logo_home.jpg') no-repeat;
}
ul#left-menu-nav {
    margin-bottom: 75px;
}
ul#left-menu-nav li {
    margin: 15px 0px;
}
ul#left-menu-nav ul#sub-nav {
    margin-left: 25px;
}
ul#left-menu-nav ul#sub-nav li {
    line-height: 15px;
    margin: 5px 0px;
    font-size: 14px;
    display: block;
    padding-left: 10px;
}
ul#left-menu-nav ul#sub-nav li.active {
    background: url('/images/arrow.jpg') no-repeat left center;
}
ul#left-menu-nav ul#sub-nav-lvl-2 {
    margin-left: 25px;
}
ul#left-menu-nav ul#sub-nav-lvl-2 li {
    padding-left: 0;
}
ul#left-menu-nav ul#sub-nav-lvl-2 li.active {
    color: #999999;
    background: none;
}
ul#left-menu-nav ul#sub-nav-lvl-2 li.active a {
    color: #999999;
}
ul#just-in {
    width: 175px;
}
ul#just-in li {
    margin: 10px 0px;
    line-height: 120%;
    overflow: hidden;
}
ul#just-in a{
    font-size: 11px;
    color: #FF0000;
}
ul#just-in li.header {
    font-size: 14px;
}
ul#just-in span.date {
    font-size: 10px;
    background: url('/images/twitter_logo_small.jpg') no-repeat left center;
    padding-left: 8px;
}
#follow-us {
    width: 175px;
    border-top: 1px solid black;
    padding: 10px 0px;
    margin-top: 25px;
}
#follow-us h3 {
    margin-bottom: 10px;
}
#follow-us span {
    padding-left: 15px;
    margin-right: 15px;
    font-size: 11px;
    float: left;
    display: block;
    height: 15px;
    line-height: 20px;
}
#follow-us span.twitter {
    background: url('/images/twitter_logo.jpg') no-repeat left;
}
#follow-us span.facebook {
    background: url('/images/facebook_logo.jpg') no-repeat left;
}

/***** Home Page *****/
body.home #header {
    position: relative;
    top: 0;
    left: 0;
    width: 830px;
/*    background: url('/images/new_visitor_main_bg.jpg') no-repeat;*/
    height: 600px;
}
#tag-line {
    position: absolute;
    bottom: 50px;
    left: 40px;
    width: 425px;
    font-size: 36px;
    color: #FFFFFF;
    z-index: 999;
}
#tag-line a {
    color: white;
    text-shadow: grey 1px -1px 1px;
    font-weight: bold;
    line-height: 110%;
}
body.home #header #info {
    position: absolute;
    bottom: 10px;
    right: 280px;
    cursor: pointer;
    z-index: 20;
}
body.home #header #info-body {
    display: none;
    position: absolute;
    bottom: 10px;
    right: 280px;
    width: 145px;
    height: auto;
    border: 1px solid #cccccc;
    background: #676767;
    background: #333;
    padding: 10px 30px 10px 10px;
    color: #ffffff;
    opacity:.6;
}
body.home .sidebox {
    clear: none;
}
#events-list {
    width: 240px;
    padding: 15px;
    height: 525px;
    background: url('/images/event_list_home_bg.png') repeat-y;
    position: absolute;
    top: 45px;
    right: 0;
    color: #FFFFFF;
    z-index: 999;
}
#events-list #calendar {
    margin-bottom: 15px;
}
#events-list #calendar tr td.inactive-day {
    background: #EFEFEF;
}
#events-list #calendar tr td.day {
    background: #CCCCCC;
}
#events-list #calendar tr td.current-day {
    background: #EE3338;
}
#events-list a {
    color: #EE3338;
    text-decoration: none;
}
#events-list a.calendar {
    padding-left: 25px;
    background: url('/images/calendar_home_icon.png') no-repeat left center;
    margin-right: 15px;
    height: 14px;
    line-height: 14px;
    display: block;
    float: left;
}
#events-list a.buy-tickets {
    padding-left: 13px;
    height: 14px;
    line-height: 14px;
    background: url('/images/buy_tickets_home_icon.png') no-repeat left center;
    height: 14px;
    line-height: 14px;
    display: block;
    float: left;
}
#events-list h2 {
    font-size: 18px;
    padding: 15px 0px;
    margin-top: 15px;
    border-top: 1px dotted #666666;
}
#events-list ul#showings li{
    font-size: 14px;
    line-height: 18px;
    margin-bottom: 15px;
}
#events-list ul#showings li .run-time, #film-results .run-time{
    font-size: 12px;
}
#support, #sign-up {
    padding-top: 10px;
}
#support {
    width: 510px;
    font-size: 14px;
    line-height: 18px;
}
#support h2 {
    font-size: 22px;
    margin: 15px 0px;
}
#support a.donate-now, #support a.member {
    background: url('/images/arrow_white.jpg') no-repeat left center;
    padding-left: 15px;
    margin: 10px 20px 0px 0px;
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
    color: #000000;
    line-height: 0px;
}

#support a.donate-now:hover, #support a.member:hover {
    color: #EE3338;
    background: url('/images/arrow_red.jpg') no-repeat left center;
}

body.home #sign-up {
    margin-top: 10px;
}

/***** Content Pages *****/
#header #info {
    position: absolute;
    right: 10px;
    bottom: 10px;
    z-index: 20;
}
#header #info-body {
    display: none;
    position: absolute;
    bottom: 10px;
    right: 10px;
    width: 145px;
    height: auto;
    border: 1px solid #cccccc;
    background: #676767;
    background: #333;
    padding: 10px 30px 10px 10px;
    color: #ffffff;
    z-index: 10;
    opacity:.6;
}
h2.breadcrumb {
    margin-bottom:  15px;
    font-size: 24px;
    font-weight: normal;
}
h2.breadcrumb span.parent,
#main-content h2.breadcrumb span.parent a {
    font-size: 36px;
    color: black;
}
h2.breadcrumb span.subparent,
#main-content h2.breadcrumb span.subparent a {
    color: black;
}
h2.breadcrumb span.current,
#main-content h2.breadcrumb span.current a {
    color: #999999;
}
#main-content h2.breadcrumb span.current a:hover,
#main-content h2.breadcrumb span.subparent a:hover,
#main-content h2.breadcrumb span.parent a:hover {
    color: #ee3338;
    text-decoration: none;
}
h2.breadcrumb img {
   margin-bottom:-2px;
}
#main-content p {
    width: 485px;
    font-size: 14px;
    margin-bottom: 20px;
    line-height: 18px;
}
#main-content p.large, #main-content .large p {
    font-size: 22px;
    line-height: 28px;
}
#main-content p.medium, #main-content .medium p, td.medium {
    font-size: 16px;
    line-height: 24px;
}

/***** Specific Page Headers *****/
body #header {
    width: 830px;
    height: 276px;
    position: relative;
}
body.no-header #header {
    width: 830px;
    height: 45px;
    position: relative;
}
body.no-header #header #info {
    display: none;
}
body #header img.header_image {
    position:absolute;
    z-index:0;
}

/*body.history #header {
    background: url('/images/history_header_bg.jpg') no-repeat;
}
body.essential-cinema #header {
    background: url('/images/essential_cinema_header_bg.jpg') no-repeat;
}
*/
/***** Sidebox Styles *****/
div.sidebox ul#showings {
    max-height: 350px;
    overflow: auto;
}

div.sidebox ul#showings li{
    font-size: 13px;
    margin-bottom: 15px;
    line-height: 16px;
}
div.sidebox ul#showings li .run-time {
    font-size: 12px;
    line-height: 12px;
}
div.sidebox a.calendar {
    padding-left: 25px;
    background: url('/images/month_view_icon_grey.jpg') no-repeat left center;
    margin-right: 15px;
    height: 14px;
    line-height: 14px;
    display: block;
    float: left;
    font-size: 12px;
}
div.sidebox a.buy-tickets {
    padding-left: 13px;
    background: url('/images/buy_tickets_icon.jpg') no-repeat left center;
    height: 14px;
    line-height: 14px;
    display: block;
    float: left;
    font-size: 12px;
}
div.sidebox p.calendar-links {
    border-top: 1px dotted #999999;
    padding-top: 10px;
}
div#make-a-donation.sidebox a.arrow-link, div#gift-membership.sidebox a.arrow-link {
    color: #EE3338;
    padding-left: 15px;
    background: url('/images/red_arrow_right_grey.jpg') no-repeat left center;
    font-size: 16px;
    font-weight: bold;
}
div#become-member.sidebox a.arrow-link, div#renew-membership.sidebox a.arrow-link {
    color: #000000;
    padding-left: 15px;
    background: url('/images/black_arrow_right_grey.jpg') no-repeat left center;
    font-size: 16px;
    font-weight: bold;
}
div#sponsors.sidebox h3 {
    margin-bottom: 0px;
}
div#sponsor-logos.sidebox {
    background: #FFFFFF;
    text-align: center;
    padding-top: 0px;
}
div#sponsor-logos.sidebox a {
    margin: 25px 0px;
    display: block;
}
div#sponsor-logos img {
    padding-bottom: 1.5em;
}

/***** Theater Rental *****/
ul#theater-rental {
  margin-top:30px;  
}
#theater-rental li{
    float: left;
    margin-bottom:30px;
}
#theater-rental li.left-col {
    margin-right: 15px;
}
#theater-rental h3 {
    font-size: 18px;
    margin: 5px 0px 10px;
}

/***** Film-Calendar List*****/
body.no-header h2 {
    border-bottom: 2px solid black;
    padding-bottom: 10px;
}
body.no-header h2 span.view-links {
    float: right;
    padding-top: 16px;
    font-size: 12px;
}
body.no-header #main-content h2 span.view-links a.month {
    margin-right: 10px;
}
body.no-header #main-content h2 span.view-links a.month.active {
    color: #000000;
}
body.no-header #main-content h2 span.view-links a.list.active {
    color: #000000;
}
#calendar-navigation .month-year {
    font-size: 24px;
    padding-right: 10px;
}
#calendar-navigation img {
    margin-right: 10px;
}
h3.current-day {
    font-size: 16px;
    font-weight: normal;
    margin: 15px 0px 20px;
    padding-top: 10px;
    border-top: 2px dotted #000000;
    color: black;
}
div.film-showing div.showing-details {
    font-size: 14px;
    width: 100%;
    line-height: 18px;
}
#main-content div.film-showing div.sidebox {
    clear: none;
}
div.film-showing img.screening-image {
    margin: 20px 0px 10px;
    float: right;
    width:270px;
}
div.showing-details {
    float: left;
}
div.showing-details span.film-title {
    font-size: 18px;
    font-weight: bold;
}
div.showing-details span.film-notes-link {
    cursor: pointer;
    font-weight: bold;
    padding-right: 20px;
    background: url('/images/red_arrow_down.jpg') no-repeat right center;
}
div.showing-details span.film-notes-link.active {
    background: url('/images/red_arrow_up.jpg') no-repeat right center;
}
div.showing-details div.film-notes {
    display: none;
}
div.rule {
    height: 1px;
    border-bottom: 1px solid #cccccc;
    clear: both;
    margin-bottom: 10px;
    margin-top: 10px;
}

/***** Mini-Calendar Home Page *****/
body.home #events-list table {
    margin-bottom: 10px;
    width: 100%;
}
body.home #events-list table th {
    display: none;
}
body.home #events-list table td {
    vertical-align: bottom;
    cursor: pointer;
}
body.home #events-list table td div{
    width: 28px;
    height: 12px;
    background: #efefef;
    color: #ffffff;
    text-align: right;
    margin: 0px 4px 4px 0px;
    padding: 6px 2px 0px 0px;
}
body.home #events-list table td.calendar_day div {
    background-color: #cccccc;
    color: #cccccc;
}
body.home #events-list table td.calendar_day div:hover {
    background-color: #ee3338;
    color: white;
}
body.home #events-list table td.calendar_day a:hover {
    color: white;
}
body.home #events-list table td.today div {
    background-color: #ee3338;
    color: white;
}
body.home #events-list table td.adjacent_month div {
    background-color: #EFEFEF;
    color: #EFEFEF;
}
body.home #events-list span.bottom {
    font-size: medium;
    position: absolute;
    bottom: 15px;
}

/***** Calendar Month View *****/
#calendar td {
    border-right: 3px solid #ffffff;
    border-bottom: 3px solid #ffffff;
    vertical-align: top;
}
#calendar td div {
    width: 100px;
    padding: 5px;
}
#calendar td span.day {
    color: #999999;
    display: block;
    margin-bottom: 10px;
}
#calendar td div ul li{
    width: 100px;
    border-bottom: 1px solid #dfdede;
    padding-bottom: 5px;
    margin-bottom: 5px;
}
#calendar td div ul li a {
    text-transform: uppercase;
}
#calendar .event-image, #next_month, #previous_month {
    cursor: pointer;
}
#event-image-overlay {
    display: none;
    width: 290px;
    background: #c6c6c6;
    position: absolute;
    z-index: 9000;
    padding: 10px;
    cursor: pointer;
}
#event-image-overlay div {
    background: #ffffff;
    padding: 10px;
    color: #999999;
    font-size: 11px;
    width: 270px;
}
#event-image-overlay img {
    display: block;
    padding-bottom: 10px;
    width:270px;
}

/***** Library Stills *****/
#library-navigation {
    padding-bottom: 15px;
}
#library-navigation .search-elements {
    padding-right: 20px;
/*    background: url('/images/search_icon_black.jpg') no-repeat right center;*/
    display: block;
    float: left;
}
body.library-stills ul#info-links {
    float: right;
}
body.library-stills #info-links li {
    float: left;
    white-space: nowrap;
}
body.library-stills #info-links li.active {
    margin-left: 15px;
    line-height: 25px;
    color: #000000;
    font-weight:bold;
}
body.library-stills #info-links li a {
    margin-left: 15px;
    float: right;
    line-height: 25px;
    color: #000000;
}
body.library-stills #info-links li a:hover {
    color: #EE3338;
}
div.stills-gallery {
    padding: 20px 10px;
    border-top: 2px dotted #000000;
    text-align: center;
}
div.stills-gallery div {
    padding-top: 4px;
}
div.stills-gallery div a{
    padding: 0px 2px;
}
div.stills-gallery div.offset {
    margin-left: 50px;
}
div.still-detail h3{
    font-size: 22px;
    font-weight: normal;
    border-top: 2px dotted #000000;
    padding: 20px 0px;
}
div.still-detail div.information {
    float: right;
    width: 250px;
    padding-top: 20px;
    font-size: 14px;
    line-height: 22px;
}
div.related-stills {
    clear: both;
    border-top: 2px dotted #000000;
    padding: 20px 0px 0px 0px;
    margin-top: 20px;
}
div.related-stills span.header {
    font-size: 16px;
    font-weight: bold;
    padding-right: 20px;
    background: url('../images/red_arrow_up.jpg') no-repeat right center;
    margin-bottom: 20px;
    cursor:pointer;
}
div.related-stills span.header.inactive {
    background: url('../images/red_arrow_down.jpg') no-repeat right center;
}
div.related-stills div.stills-gallery {
    border-top: none;
    display: none;
}
div.related-stills div.stills-gallery.active {
    display: block;
}
#search-results h3{
    font-size: 22px;
    font-weight: normal;
    border-top: 2px dotted #000000;
    padding: 20px 0px
}
#search-results table {
    width: 100%;
    font-size: 14px;
    line-height: 18px;
}
#search-results table td {
    width: 50%;
}
div.stills-by-film {
    float:left;
    width:375px;
}
div.stills-by-film {
    line-height:16px;
}
#stills-search-results p {
   width:700px;
   line-height:20px;
}
#stills-search-results .details-text {
    font-size:12px;
}
#stills-search-results img {
   margin-right: 20px;
   float: left;
   border:0;
}
/***** Search Results *****/
form.search {
    margin: 15px 0px;
    border-bottom: 1px dotted #000000;
    padding-bottom: 15px;
}
form.search input.text {
    width: 200px;
    margin-right: 10px;
}
form.search input.image {
    vertical-align: middle;
}
ul#search-menu {
    height: 38px;
}
ul#search-menu li {
    float: left;
    margin-right: 10px;
    display: block;
    height: 30px;
    width: 170px;
    background: #e2e2e2;
    text-align: center;
    line-height: 30px;
    font-size: 14px;
    font-weight: bold;
    cursor:pointer;
}
ul#search-menu li a {
    color: #999999;
}
ul#search-menu li a {
    color: #ffffff;
}
ul#search-menu li.active {
    height: 38px;
    background: #ee3338 url('../images/search-results-tab-arrow.png') no-repeat bottom center;
}
/***** Membership Options *****/
div.membership-box {
    border-top: 1px dotted #bbb;
    padding-top: 0.5em;
    width: 485px;
    margin-bottom: 10px;
}
div.membership-box h4 {
    font-size: 130%;
    width: 400px;
    display: inline-block;
    margin-bottom: 3px;
}
#main-content div.membership-box p {
    width: 400px;
    display: inline-block;
    line-height: 120%;
}
div.membership-box form {
    float: right;
}
div.membership-box input {
    background-color: #ee3338;
    border: 0;
    color: white;
    cursor: pointer;
    padding: 0.4em 0.6em;
    *padding: 0.4em 0.2em;
    font-size: larger;
}

/***** Programs *****/
body.programs #main-content p {
    width: 665px;
}
h3.program-type {
    font-size: larger;
    margin-bottom: 0.5em;
}
ul.program-list {
    padding-bottom: 2em;
    font-size: larger;
}
ul.program-list li {
    padding-top: 1em;
    font-size: larger;
}
div#programs-events-list h3 {
    font-size: 16px;
    line-height: 18px;
}
div#programs-events-list ul#showings {
    padding-bottom: 1em;
}
div#programs-events-list ul#showings li {
    margin-top: 1em;
    font-size: 16px;
    line-height: 18px;
}
