/*
 * Theatricalia CSS
 * 
 * We're working to a vertical rhythm of 1.5 whatever the user has set as their
 * default font size. People may say this is large, I say that is up to the
 * user and I quite like not going blind any time soon. I am right :)
 *
 * At desktop resolution, heading sizes are large, again deliberately. Zapfino
 * means the line height on headings has to be at least 3.41, which means e.g.
 * 3.75 on a 2em font size to take up five lines in total. Fear the whitespace.
 * Actually, love the whitespace. On smaller sizes, Zapfino is a bit too much
 * of a luxury, sadly.
 *
 * Copyright Matthew Somerville 2011
 *
 */

/* The generics */

/* body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td { */
* {
    margin: 0;
    padding: 0;
}

body, input, select, optgroup {
    /* Hmm, whether to include Optima-clones such as Optane, Opulent, Ottawa, "CG Omega", Eterna, "URW Classico" */
    font-family: Optima, "Zapf Humanist", "MgOpen Cosmetica", Candara, Myriad, "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Frutiger, "Trebuchet MS", sans-serif;
}
input, select, textarea {
    font-size: 100%;
}

body {
    color: #000000;
    background-color: #ffffff;
    padding: 0 0.5em;
}

div#banner {
    position: absolute;
    top: 0; right: 0;
    background-color: #6782dc;
    background-color: #3752ac;
    font-size: 75%;
    padding: 2px 5px;
    color: #ffffff;
}

div#banner_big {
    display: none;
    position: absolute;
    top: 0; right: 0; left: 0;
    background-color: #6782dc;
    background-color: #3752ac;
    background-color: #dc5237;
    text-align: center;
    font-weight: bold;
    font-size: 75%;
    padding: 2px 5px;
    color: #ffffff;
}

p {
    margin: 1.5em 0;
    line-height: 1.5;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

ul, ol, dl {
    margin: 0;
    line-height: 1.5;
}

ul {
    list-style-type: none;
}
ul li {
    background-image: url("/static/i/bullet.e39447770204.png");
    background-repeat: no-repeat;
    background-position: 0 3px;
    padding-left: 32px;
    margin-bottom: 1.5em;
}

dt {
    margin-top: 1.5em;
    font-weight: bold;
}

dd {
    margin-left: 1em;
}

fieldset {
    border: 0;
}

sup {
    font-size: 81.25%;
    line-height: 1px;
}

input[type="submit"] {
    background-color: #666666;
    color: #ffffff;
    font-weight: bold;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    font-size: 100%;
    line-height: 1.5;
    padding: 0.125em 0.5em;
    margin-bottom: 1.25em;
    border: none;
    cursor: pointer;
}

input[type="submit"]:hover {
    background-color: #333333;
}

#edit-form-submit {
    background-color: #cc3333;
}
#edit-form-submit:hover {
    background-color: #990000;
}
#edit-form-submit[disabled], #edit-form-submit[disabled]:hover {
    background-color: #cccccc;
}

textarea {
    width: 100%;
    font-family: inherit;
    line-height: 1.5;
    font-size: 0.75em;
    /* max-width: 25em; */
    /* height: 14.675em; */
    /* border-top-width: 0.1em;
    border-bottom-width: 0.1em; */
}
textarea[rows='5'] {
    height: 7.66667em;
}
textarea[rows='10'] {
    height: 15.66667em;
}

blockquote {
    margin-left: 1.5em;
}
blockquote p {
    margin-top: 0em;
}

blockquote.verse pre {
    font-family: inherit;
    display: table;
    width: auto;
    margin: 0 auto 0;
    line-height: 1.5;
}

blockquote.large.verse {
    font-size: 150%;
    margin-top: 1em;
}

blockquote div {
    text-align: right;
}

abbr, acronym {
    letter-spacing: 0.1em;
}
abbr[title], acronym[title] {
    border-bottom: 1px dotted #000000;
    cursor: help;
}

label {
    cursor: pointer;
    vertical-align: top;
}

img {
    vertical-align: bottom;
    border: 0;
}

a:link {
    color: #0000ff;
}

a:visited {
    color: #000099;
}

a:active, a:hover {
    text-decoration: none;
}

.hide {
    display: none;
}

.clear {
    clear: both;
}
.before_form {
    margin-bottom: 0;
}

ul#messages {
    background-color: #eeffee;
    color: #009900;
    padding: 0 0 0 0.5em;
    margin-bottom: 2em;
}
ul#messages li {
    background-image: none;
    padding: 0;
    margin: 0;
}

#error {
    color: #ff0000;
}

ul.errorlist li {
    color: #cc0000;
    margin-bottom: 0;
}

#header, #main {
    max-width: 60em;
    margin: 0 auto;
}

/*
@font-face {
    font-family: Zapfino;
    src: url("/static/css/ZapfinoSm.c21bfa69924f.ttf");
}
*/

h1 {
    font-size: 150%;
    line-height: 1.5;
    margin-bottom: 0.5em;
}

h2 {
    font-size: 125%;
    font-weight: normal;
    line-height: 2.4;
}
h2.no-descenders + form p, h2.no-descenders + p {
    margin-top: 0;
}

h3 {
    font-size: 120%;
    font-weight: normal;
    line-height: 2.5;
}

/* Header */

#header {
    overflow: hidden;
    padding-top: 0.75em;
    padding-bottom: 2em;
    margin-bottom: 2em;
    background-image: url("/static/i/rule-trim.c1a6030f2785.png");
    background-repeat: no-repeat;
    background-position: 50% 100%;
}

#header div, #header h1 {
    font-size: 150%;
    line-height: 1.5;
    margin-bottom: 0.5em;
}

#header div img, #header h1 img {
    vertical-align: top;
    width: 141px;
    height: 38px;
        width: 212px;
        height: 57px;
    /*
    -moz-transition: all 0.5s ease-in-out 0s;
    -webkit-transition: all 0.5s ease-in-out 0s;
    */
}

#header div a, #header h1 a {
    text-decoration: none;
    color: #92000a;
}

#header form {
    line-height: 1.5;
    display: flex;
    align-items: flex-start;
}
#header form label {
    padding-right: 0.25em;
}
#header form input[type=text] {
    flex: 1 1 auto;
}
#header form input[type=submit] {
}

#search_term {
    padding: 0.125em 0;
}

/*
#header h2 {
    position: relative;
    top: -0.7em;
    left: 0.5em;
}
*/

#header div a:hover {
    color: #cc3333;
    background-image: url("/static/i/swash_nav_hover.7ed6712f0631.png");
    background-repeat: no-repeat;
    background-position: 50% 100%;
}
#header a {
    text-decoration: none;
    color: #000000;
}

#navigation a.greyed {
    color: #999999;
}

#navigation a:hover {
    color: #000000;
    background-image: url("/static/i/swash_nav_hover.7ed6712f0631.png");
    background-repeat: no-repeat;
    background-position: 50% 100%;
}

ul#navigation {
    font-family: Zapfino, "Apple Chancery", "Zapf Chancery Italic", "Lucida Calligraphy", "Palatino Linotype", Palatino, "Book Antiqua", "Hoefler Text", Garamond, "Bookman Old Style", Bookman, serif;
    list-style-type: none;
    line-height: 3;
    text-decoration: none;
    text-align: center;
    clear: both;
}

#navigation li {
    background-image: none;
    padding: 0;
    display: inline;
    margin: 0;
}

#navigation li#nav-plays {
    margin-right: 1em;
}

/*
li#nav-plays a {
    background: url("/static/i/swash_nav_hover.7ed6712f0631.png") no-repeat 50% 80%;
}
*/

#navigation li#nav-people {
    margin-right: 1em;
}

#navigation li#nav-places {
}

#main {
    clear: both;
    overflow: hidden;
    _zoom: 1;
}

#footer {
    text-align: center;
    clear: both;
    background-image: url("/static/i/rule-trim.c1a6030f2785.png");
    background-repeat: no-repeat;
    background-position: 50% 0%;
    margin-top: 3em;
    padding-top: 1.5em;
}

.primary {
    margin-bottom: 1.5em;
}

.primary select, .primary textarea {
    max-width: 74%;
}

.secondary {
    color: #333333;
}

.secondary select {
    max-width: 70%;
}

.secondary:hover {
    color: #000000;
}

.secondary ul {
    font-size: 0.75em;
    line-height: 2;
}
.secondary ul li {
    margin-bottom: 0;
}

.secondary #production-meta {
    margin-bottom: 2em;
}

h2 {
    margin-top: 1em;
}

.primary > h2:first-child, .secondary > h2:first-child {
    margin-top: 0em;
}

.primary > p:first-child, .secondary > p:first-child, .secondary > #sidebar_tulip_r > p:first-child {
    margin-top: 0;
}

/* A to Z pages */

ul#atoz {
    text-align: center;
    margin-bottom: 1.5em;
}
ul#atoz li {
    background-image: none;
    padding: 0;
    display: inline;
    margin: 0 0.5em;
}

.greyed {
    color: #999999;
}

/* Play page */

/* Production page */

#sidebar_tulip {
    text-align: left;
    margin-bottom: 1.5em;
}

#sidebar_tulip_r {
    background-image: url("/static/i/tulip-right-small.761942c9ce05.png");
    background-repeat: no-repeat;
    background-position: 50% 100%;
    padding-bottom: 24px;
}

th {
    font-weight: normal;
    text-align: right;
    padding-right: 0.5em;
    line-height: 1.5;
    vertical-align: top;
}
th h3 {
    text-align: left;
}

/* Table of cast & crew */
table.parts {
    width: 100%;
}
table.parts td:before {
    content: "\b7"; /* Possible alternatives are \2013 \2026 and ~ */
    padding-right: 0.5em;
}
table.parts.order {
    cursor: move;
}
table.parts.order td:before {
    content: "\2195";
}
table.parts td {
    width: 50%;
}

.parts-drag-highlight {
    background-color: #ccccff;
}

#edit-form {
    display: none;
    text-align: center;
    margin-bottom: 1.5em;
}
.editable:hover {
    background-color: #ffffcc;
}

/*
tr.remove td {
    color: #cc0000;
    text-decoration: line-through;
}
tr.remove td.edit_status {
    color: #000000;
    text-decoration: none;
}
*/

td {
    text-align: left;
    line-height: 1.5;
}

#feed {
    float: right;
    margin: 0;
}

.posted-by {
    margin: 0;
}

#photograph-feature {
    float: right;
    margin-left: 0.5em;
    margin-bottom: 1.5em;
}

#photographs ul {
    margin-top: 2em;
    margin-bottom: 2em;
}

#photographs li {
    background-image: none;
    padding-left: 0;
    margin-bottom: 0;
    margin-right: 0.66667em;
    float: left;
    height: 7.33333em; /* 6.66667 + 0.25+0.25 padding + 0.083333+0.083333 border */
    width: 7.33333em;
    margin-bottom: 0.66667em;
}
/* In a 75% ul */
#photographs img {
    border: solid 0.083333em #999999;
    padding: 0.25em;
}
/* Not */
#photograph-feature img {
    /* height: 6.75em;
    width: 6.75em; */
    margin-bottom: 0.125em;
    border: solid 0.0625em #999999;
    padding: 0.25em;
}

#photo_form {
    margin-top: 1.5em;
}
#photo_form p {
    margin: 0;
}
#photo_form input[type="file"] {
    width: 70%;
}

p#photo {
    text-align: center;
    margin-top: 0;
}

/* Other */

.pagination {
    text-align: center;
    margin-top: 3em;
    margin-bottom: 1.5em;
}

.production_list li span.meta {
    display: block;
    font-size: 90%;
    line-height: 1.6667;
}

#zapfino {
    margin-right: 0.5em;
    font-family: Zapfino;
    line-height: 4.5;
}

/* Place page */

#map-nojs img {
    border: solid 0.0625em #666666;
}

#map {
    display: none;
    margin: 2.1818em auto 2.1818em;
    height: 26em;
    width: 99%;
    border: solid 0.0625em #666666;
    font-size: 0.6875em;
}

#map_location {
    font-style: italic;
}

/* select multiples */

.asmContainer {
    display: inline;
}
.asmOptionDisabled {
    color: #999; 
}
.asmList {
    margin-top: 0.25em;
}
.asmListItem {
    margin: 0;
}
.asmListItemRemove {
    padding-left: 1em;
}
.asmListItemRemove:before {
    content: '(';
}
.asmListItemRemove:after {
    content: ')';
}

/* Most add/edit forms */

#production_edit_inline_basic {
    text-align: left;
    display: none;
    margin: 1.5em 0;
}

form#edit label, #production_edit_inline_basic label {
    float: left;
    width: 8.5em;
}
form#edit .help_text {
    margin-left: 8.5em;
    position: relative;
    top: -0.3em;
}
form#edit .place, form#edit .name {
    margin-bottom: 1.5em;
}
form#edit span.m label {
    float: none;
    clear: none;
}
form#edit p, #production_edit_inline_basic p {
    margin: 0;
    clear: left;
}
form#edit p:last-child {
    margin-top: 1.5em;
}

form#edit ul.errorlist li {
    background: none;
    padding: 0;
}
form#edit ul li {
    margin-bottom: 0;
}
form#edit ul label {
    float: none;
}

form#edit #submit {
    float: left;
}

form#edit #cancel {
    display: none;
    clear: right;
    float: right;
    background-color: #999999;
}
form#edit #cancel:hover {
    background-color: #333333;
}

ul#edit-parts a {
    float: right;
}

ul#edit-parts li {
    margin: 0;
}

ul#edit-parts li:nth-child(2n) {
    background-color: #eeeeff;
}

#queries table {
    font-size: 75%;
}

#home #hello {
    /* float: left;
    width: 30%; */
    margin-top: 0;
}

#home #warning {
    clear: both;
    padding-top: 1.5em;
    text-align: center;
    width: 90%;
    margin: 0 auto;
    /* float: right;
    width: 68%; */
}
#home #warning p {
    margin: 0;
    font-size: 87.5%;
    line-height: 1.715;
}

#home #status > p:first-child {
    color: #92000a;
    text-align: center;
    margin-top: 0;
}

#home #latest h2 {
    margin-top: 0;
}
#home #latest h2:first-child {
    margin-top: -1em;
}
#home #latest ul li {
    background: none;
    padding-left: 0;
}

#byline {
    margin-top: 0;
    color: #666666;
}

#people h1 {
    float: left;
}

#alpha em {
    color: #92000a;
}
#alpha #main {
    max-width: 43em;
    margin: 0 auto;
}
#alpha form {
    text-align: center;
}
#alpha form p {
    margin: 0.75em 0;
}
#alpha .top {
    margin-top: 0;
}
#alpha .bottom {
    margin-bottom: 0;
}

#thin {
    margin: 0 20%;
}

p#book-tickets {
    text-align: center;
    margin-top: 1.5em;
}

p#book-tickets a {
    background-color: #cc3333;
    color: #ffffff;
    text-decoration: none;
    font-weight: bold;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    padding: 0.166667em 0.5em;
    border: none;
}
p#book-tickets a:hover {
    background-color: #990000;
}

#fancybox-title-over a {
    color: #fff;
}

@media all and (min-width: 481px) {

    body {
        padding: 0 1em;
    }

    #header div, #header h1 {
        float: left;
        line-height: 2;
        margin-bottom: 0;
    }

    #header form {
        display: block;
        float: right;
        line-height: 4.5;
    }

    h1, h2, h3, h4, h5, h6, #navigation {
        font-family: Zapfino, "Apple Chancery", "Zapf Chancery Italic", "Lucida Calligraphy", "Palatino Linotype", Palatino, "Book Antiqua", "Hoefler Text", Garamond, "Bookman Old Style", Bookman, serif;
    }

    h1 {
        font-size: 200%;
        line-height: 3.75;
        margin-bottom: 0;
    }

    h2 {
        font-size: 150%;
        font-weight: normal;
        line-height: 4;
    }
    h2.no-descenders + form p, h2.no-descenders + p {
        margin-top: 0;
    }

    h3 {
        font-size: 125%;
        font-weight: normal;
        line-height: 3.6;
    }

    #home .col ul {
        margin-top: -1.5em;
    }
    #home h2 + p {
        margin-top: 0em;
    }
    #home h2.no-descenders + p {
        margin-top: -1.5em;
    }

}

@media all and (min-width: 541px) {
    #header div img, #header h1 img {
        width: 212px;
        height: 57px;
    }
}

@media all and (min-width: 641px) {
    #header div, #header h1 {
        line-height: 3.75;
    }
    #header div img, #header h1 img {
        width: 283px;
        height: 76px;
    }

    ul#navigation {
        line-height: 3.6;
        font-size: 125%;
        line-height: 3.6;
    }

    .primary {
        float: left;
        width: 62%;
    }
    .secondary {
        float: right;
        clear: right;
        width: 35%;
    }
    .sm {
        display: none;
    }

    #sidebar_tulip {
        text-align: center;
        background-image: url("/static/i/tulip-left-small.6c26979af61c.png");
        background-repeat: no-repeat;
        background-position: 50% 0%;
        padding-top: 24px;
    }
    .secondary > #sidebar_tulip_r > p:first-child {
        margin-top: 1.5em;
    }

    #home #features {
        float: left;
        width: 28%;
        clear: both;
        margin-right: 1%;
        padding-right: 1%;
        border-right: dotted 1px #cc9999;
    }

    #home #status {
        float: left;
        width: 34%;
    }

    #home #latest {
        float: right;
        width: 33%;
    }

}

@media all and (min-width: 900px) {
    ul#navigation {
        clear: none;
        float: none;
    }
}

@media all and (min-width: 35em) {

    .person_list {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
    }

}

@media all and (min-width: 50em) {

    #play_list, #places_list {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
    }

    .person_list {
        -webkit-column-count: 3;
        -moz-column-count: 3;
        column-count: 3;
    }

}

