
* {
    box-sizing: border-box;
}

body {
    background-image: linear-gradient(rgba(58, 60, 85, 0.9), rgba(58, 60, 85, 0.5));
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-attachment: fixed;
    color: #333;
    font-family: Open Sans, Verdana, sans-serif;
    font-weight: 400;
}

hr {
    box-sizing: content-box;
    height: 0;
    margin: 15px 0;
    border: 0;
    border-top: 1px solid #E5E5E5;
}
hr.article-divider {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

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

h1, h2, h3, h4, h5, h6, .title, .subtitle {
    font-family: Gentium Book Basic, Verdana, serif;
    clear: both;
    line-height: 1.1em;
    text-align: left !important;
    margin-top: 1.3em;
}

h1 {
    font-size: 2.2rem;
}
h2 {
    font-size: 1.8rem;
}
h3 {
    font-size: 1.3rem;
    margin-bottom: 0;
}
h4 {
    font-size: 1.1rem;
    margin-bottom: 0;
}
h5, h6 {
    font-size: 1rem;
    margin-bottom: 0;
}

input, button, select, textarea {
    font-family: Open Sans, Verdana, sans-serif;
    font-size: 1rem;
    padding: 4px;
    margin: 4px;
}

.update-box-title {
    font-family: Gentium Book Basic, Verdana, serif;
}

em.artist {
    font-style: normal;
    font-weight: bold;
}

/* page container */

.page {
    width: 900px;
    margin: 30px auto;
}

/* section: menu */

.menu {
    width: 154px;
    float: left;
    border: 2px solid yellow;
    background-color: white;
    border-top-left-radius: 15px;
    border-bottom-left-radius: 15px;
}

.menu-items {
    font-family: Raleway, Verdana, sans-serif;
    font-size: 11pt;
    font-weight: 700;
}
.menu-items a:hover,
.menu-items a:focus,
.menu-items a:active {
    text-decoration: none;
}

.menu-image,
.menu-image img {
    border-top-left-radius: 15px;
}
.menu-image,
.menu-image img {
    width: 154px;
    height: 177px;
}

/* section: page content */

.page-content {
    width: 744px;
    float: left;
    background-color: white;
    xpadding: 20px;
    margin-left: -2px;
    border: 2px solid yellow;
    line-height: 1.3em;
    font-size: 12pt;
    letter-spacing: 0.3px;
    text-align: justify;
}

main {
    /*silly IE11 fix*/
    display: block;
    flex: 1;
}

.page-content main article {
    padding: 20px;
}

.page-content .standfirst {
    font-size: 1.2em;
    margin-bottom: 1em;
}

.page-content .intro {
}

.page-content blockquote {
    font-family: Raleway, Verdana, sans-serif;
    font-size: 1.2rem;
    font-style: italic;
    margin: .5rem 4rem .5rem 3rem;
    line-height: 1.8rem;
    border-left: 4px solid #3a3c55;
    padding: 0 0 0 1rem;
}
.page-content cite {
    display: block;
    color: #666;
    font-family: Raleway, Verdana, sans-serif;
    font-style: normal;
    text-align: right;
}
.page-content cite:before {
    content: '— ';
}

.page-content img {
    max-width: 100%;
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
}
.page-content img.right {
    /* LARGER ON SMALL SCREENS */
    max-width: 40%;
    float: right;
    margin-left: 1em;
}
.page-content img.left {
    /* LARGER ON SMALL SCREENS */
    max-width: 40%;
    float: left;
    margin-right: 1em;
}
.page-content img.inline {
    display: inline-block;
}
.page-content img.width-1-2 {
    /* LARGER ON SMALL SCREENS */
    max-width: 48%;
}
.page-content img.width-1-3 {
    /* LARGER ON SMALL SCREENS */
    max-width: 30%;
}


/* default image: centered inside a block */
.page-content .image {
    display: block;
    margin: 0 auto;
    text-align: center;
}
.page-content .image.left,
.page-content .image.right {
    display: inline-block;
    margin: 0 .5em;
    max-width: 50%;
}
.page-content .image.left {
    float: left;
    margin-left: 0;
}
.page-content .image.right {
    float: right;
    margin-right: 0;
}
.page-content .image.inline {
    display: inline-block;
    margin: 0 .5em;
}
.page-content .image.no-margin {
    margin: 0;
}

.page-content .image.small {
    max-width: 20%;
}
.page-content .image.width-1-2 {
    max-width: 47%;
}
.page-content .image.width-1-3 {
    max-width: 30%;
}
.page-content .image.width-1-4 {
    max-width: 23%;
}
.page-content .image.width-1-5 {
    max-width: 18%;
}
.page-content .image.width-em {
    max-width: 1em;
}

.clear-all {
    clear: both;
}

.page-content .image-left {
    max-width: 40%;
    float: left;
    margin-right: 1em;
}
.page-content .image-right {
    max-width: 40%;
    float: right;
    margin-left: 1em;
}
.page-content .image-left,
.page-content .image-right img {
    /*max-width: 40%;*/
}

.page-content .image-caption,
.page-content .image-title {
    display: block;
    font-size: .9rem;
    color: #666;
}
.page-content .credits {
    font-size: 90%;
    color: #666;
}

.page-content figure {
}
.page-content figure.left {
    max-width: 40%;
    float: left;
    margin-right: 1em;
}
.page-content figure.right {
    max-width: 40%;
    float: right;
    margin-left: 1em;
}
.page-content figcaption {
    font-size: .9rem;
    color: #666;
}

.page-content .question {
    font-weight: bold;
    font-style: italic;
    margin-right: 10%;
    margin-top: 1.5em;
}

.page-content blockquote {
    font-family: Raleway, Verdana, sans-serif;
    font-size: 1.2rem;
    font-style: italic;
    margin: .5rem 4rem .5rem 3rem;
    line-height: 1.8rem;
    border-left: 4px solid #3a3c55;
    padding: 0 0 0 1rem;
}
.page-content cite {
    display: block;
    color: #666;
    font-family: Raleway, Verdana, sans-serif;
    font-style: normal;
    text-align: right;
}
.page-content cite:before {
    content: '— ';
}

/* page content: category list */

.category-list {
    margin-top: 8px;
}

.category-list-item {
    width: 100%;
    min-height: 100px;
    margin-bottom: 4px;
    /*overflow: hidden;*/
}
.category-list-item-large {
    width: 100%;
    min-height: 150px;
    margin-bottom: 4px;
    /*overflow: hidden;*/
}
.category-list-item[block-href] {
    cursor: pointer;
}
.category-list-item-image {
    width: 100px;
    height: 100px;
    float: left;
    background-color: #000;
    margin-right: 10px;
}
.category-list-item-image-large {
    width: 150px;
    height: 150px;
    float: left;
    background-color: #000;
    margin-right: 10px;
}
.category-list-item-image-large img {
    width: 150px;
    height: 150px;
}
.category-list-item:nth-child(1),
.category-list-item-large:nth-child(1) {
    background-color: #f0f0f0;
}
.category-list-item:hover,
.category-list-item-large:hover {
    background-color: #ddd;
}
.category-list-item:hover img,
.category-list-item-large:hover img {
    opacity: 0.9;
}
.category-list-item-text {
    padding: 4px 4px 4px 160px;
}
.category-list-item-text-meta {
    color: #666;
    padding-right: 10px;
    font-size: 0.9rem;
    display: flex;
}
.category-list-item-text-meta .category-list-item-issue {
    width:50%;
}
.category-list-item-text-meta .category-list-item-date {
    width:50%;
    text-align: right;
}

.category-list-item-text-title {
    font-family: Gentium Book Basic, Verdana, serif;
    font-weight: bold;
    font-size: 120%;
}
.category-list-item-text-elapsed {
    float: right;
    color: #999;
    font-size: .8rem;
}
.category-warning {
    margin: 2em;
    padding: 2em;
    color: #910a09;
    border: 2px solid #910a09;
    border-radius: 1em;
}

.category-list a {
    color: inherit !important;
}
.category-list a:hover,
.category-list a:focus,
.category-list a:active {
    text-decoration: none;
}

article .review {
    border-top: 1px solid #666;
    margin-top: 1em;
}
article .review:first-child {
    border-top: none;
}
article .review.keep-with-previous {
    border-top: none;
}

.title-image {
    margin: 1rem 0;
    text-align: center;
}

.volumes-container {
    width: 80%;
    margin: 2em auto;
    border-width: 0 1px;
    border-color: silver;
    border-style: solid;
}
.volumes-container h3 {
    margin-top: 0;
    line-height: 1.3em;
    text-align: center !important;
}
.volumes {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: space-between;
}
.volumes a {
    flex-basis: 14%;
    line-height: 2em;
    text-align: center;
}

/* TABLES */

table.striped {
    border-collapse: collapse;
}
table.striped th,
table.striped td {
    padding: 2px;
    text-align: left;
}
table.striped tbody tr:nth-child(odd) {
    background-color: #ddd;
}
table.striped tbody tr.header {
    background-color: #999;
}
table.striped tbody tr.header th {
    padding: 8px;
    font-size: 110%;
}

table.hover tr:hover td {
    background-color: #ccc;
}

/* page content: article */

.page-content .crumb-path {
    font-size: 1rem;
    border: 1px solid silver;
    border-width: 0 0 1px 0;
    background-color: #f6f6f6;
}
.page-content .crumb-path-top {
    border-width: 0 0 1px 0;
}
.page-content .crumb-path-bottom {
    clear: both;
    border-width: 1px 0 0 0;
}
.page-content .crum-path-text,
.page-content .crumb-path-text {
    padding: 20px;
}
.page-content .previous-next-arrows {
    float: right;
    clear: both;
}
.previous-next-arrows span,
.previous-next-arrows a {
    display: inline-block;
    padding: 20px;
    color: #888;
}
.previous-next-arrows a:hover {
    text-decoration: none;
    background-color: #eee;
}

.page-content h2.series-title + h1 {
    margin-top: 0;
}
.page-content h2.series-title {
    margin-top: 0;
    margin-bottom: 0;
}

.page-content article h1 {
    /* page content article should be preceded by crumb-path and followed by metadata */
    margin: 30px 0 10px;
}
.page-content article .subtitle {
    font-size: 120%;
    font-weight: bold;
    margin: 4px 0;
}
.article-metadata {
    color: #666;
    font-size: 90%;
    font-variant: small-caps;
    margin: 0 0 4px 0;
}
h1 + .article-metadata {
    font-size: 1rem;
    margin: 0 0 30px 0;
}

article .author {
    font-weight: bold;
}

/* menu */

.menu-items {
    border-width: 0 2px;
    padding: 1em 0;
}

.menu-image,
.menu-items,
.sponsor {
}
.menu-items ul {
    padding: 0;
    margin: 0;
    list-style: none;
}
.menu-items li.menu-divider {
    height: 1em;
    padding: 0;
    margin: 0;
}
.menu-items a {
    display: block;
    padding: 4px 8px;
    color: black;
}
.menu-items a:hover {
    color: white;
    background-color: black;
}
.socialmedia {
    border-top: 1px dashed black;
    border-bottom: 1px dashed black;
    text-align: center;
    padding: 0.5em 0;
}
.sponsor {
    border-bottom-left-radius: 15px;
    text-align: center;
    padding: 0.5em 0;
}

/* update list */

.update-list {
    width: 535px;
    float: left;
}
.update-date {
    margin: 1em 0 0.5em;
}
.update-date:nth-child(1) {
    margin-top: 0;
}
.update-text {
    margin-bottom: 4px;
}
.update-arrow {
    display: inline-block;
    width: 0;
    height: 0;
    line-height: 10px;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 10px solid black;
}

/* update boxes */

.update-boxes {
    width: 180px;
    padding-left: 4px;
    float: right;
}
.update-box {
    width: 150px;
    margin-bottom: 8px;
    background-color: #eef;
}
.update-box-title {
    text-align: center;
    padding: 2px;
    margin-bottom: 4px;
    font-size: 1.2em;
}
.update-box-image {
    text-align: center;
}
.update-box-subtitle {
    height: 50px;
    overflow: hidden;
    text-align: center;
    font-size: 0.9em;
}
.update-box-subtitle li {
    width: 100%;
    text-align: center;
}
.update-box ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.center {
    text-align: center;
}

.copyright {
    margin: 1em 0;
    clear: both;
    width: 744px;
    float: right;
    text-align: center;
    font-weight: bold;
    color: black;
    text-shadow: 1px 1px 0 #ccc;
    opacity: 0.8;
}


.article-navigation,
.article-navigation div {
    height: 1.5rem;
    font-size: 0.8rem;
}
.article-navigation div {
    padding: 0 10px;
}

.article-navigation:first-child {
    margin-bottom: 3em;
}
.article-navigation:last-child {
    margin-top: 3em;
}

/* colours for dprp.net main: dark = 3a3c55, link = 9e4b15 */

.dprp-main-text,
.dprp-category-main .dprp-text {
    color: #3a3c55;
}
.dprp-main-background,
.dprp-category-main .dprp-background {
    background-color: #3a3c55;
}
.dprp-main-border,
.dprp-category-main .dprp-border {
    border-color: #3a3c55;
}
.dprp-main a {
    color: #9e4b15;
}
.update-list a {
    color: #9e4b15 !important;
}
.dprp-main-menu a {
    color: #3a3c55;
}
.dprp-main-menu a:hover {
    color: white;
    background-color: #3a3c55;
}



.setlist {
    white-space: pre-wrap;
    border: 1px solid #aaa;
    background-color: #eee;
    margin: 2em 2em;
    padding: 0 2em;
    font-family: mono;
}
.setlist > p {
    padding: 0;
    margin: 0;
}

/* ----------------------------------------
	CD & DVD REVIEWS: LIST
---------------------------------------- */

.review-issue-list .review-issue-image {
    width: 151px;
    height: 151px;
    float: left;
}
.review-issue-list .review-issue-image img {
    width: 150px;
    height: 150px;
    border: 1px solid #999;
}

a.review-issue .review-issue-description {
    padding-left: 170px;
}
a.review-issue .review-issue-description .description {
    color: black;
}
a.review-issue:hover {
    background-color: #eee;
}
a.review-issue:hover .review-issue-description .description {
    text-decoration: none !important;
}


/* ----------------------------------------
	CD & DVD REVIEWS: ISSUE
---------------------------------------- */

/* review-title is a div, should become h2 */
div.review-title {
    font-family: Gentium Book Basic, Verdana, serif;
    font-size: 150%;
    font-weight: bold;
    margin: 20px 0 10px;
}

/* issue navivation is used in reviews only */
.issue-navigation {
    margin: 20px 0;
    min-height: 1em;
    clear: both;
    border: 1px solid #ddd;
    padding: 8px 0;
    border-width: 1px 0;
}
.previous-issue {
    display: inline-block;
}
.next-issue {
    display: inline-block;
    float: right;
}

article.review {
    text-align: justify;
}

.review-info {
}
.review-info .image-and-info {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
}
.review-info .image {
    flex-basis: 250px;
    flex-grow: 0;
    margin-right: 1em;
    text-align: center;
}
.review-info .image img {
    width: 250px;
    max-width: none;
}
.review-info .info-lines {
    border: 0;
    flex-grow: 1;
    flex-shrink: 1;
}
.review-info .info-lines .info-line {
    display: flex;
    width: 100%;
    border-bottom: 1px solid silver;
    padding: 4px 0;
    overflow-wrap: anywhere;
}
.review-info .info-lines .info-line:first-child {
    border-top: 1px solid silver;
}
.review-info .info-lines .info-line > div {
    flex-grow: 1;
    text-align: left;
}
.review-info .info-lines .info-line > div:first-child {
    flex-basis: 33%;
    flex-grow: 0;
    flex-shrink: 0;
}


.album-info-table {
    width: 100%;
}
.album-info-table td {
    vertical-align: top;
}

.album-info-table img {
    border: 1px solid #555;
}
.album-info-container td {
    vertical-align: top;
}

.album-info-table td:nth-child(1) {
    width: 240px;
}

.info-lines {
    font-size: 1rem;
    line-height: 1.3rem;
    color: #555;
    width: 100%;
    border: 1px solid black;
    border-right-width: 0;
    border-left-width: 0;
    border-collapse: collapse;
}
.info-lines tr td {
    border-top: 1px solid #999;
    padding: 4px 0;
    vertical-align: top;
}
.info-lines tr:nth-child(1) td {
    border-top: none;
}
.info-lines-links {
    list-style-type: none;
    padding: 0px;
    margin: 0px;
}

.album-info-tracklist {
    padding: 10px 0;
    margin-bottom: 20px;
    color: #555;
    font-size: 1rem;
}
.album-info-tracklist-tracks {
    font-style: italic;
}

.review-part-title {
    text-align: center;
    font-family: Gentium Book Basic, Verdana, serif;
    font-weight: bold;
    font-size: 1.2em;
    margin: 20px 0 10px;
}

.review-conclusion {
    margin: 20px 0;
}
.review-reviewer {
    font-weight: bold;
}


.review .link-icons a {
    border: none;
}
.review .link-icons img {
    width: 32px;
    height: 32px;
    border: none !important;
}


.youtube-embedded-player,
.spotify-embedded-player {
    max-width: 100%;
    text-align: center;
    font-size: 90%;
    padding: 10px 0;
}
.youtube-embedded-player iframe,
.spotify-embedded-player iframe {
    background-color: #aaa;
}

.youtube-link,
.embedded-video {
    margin: 0 0;
    text-align: center;
}
.youtube-link iframe,
.embedded-video iframe
{
    background-color: #aaa;
    border: 1px solid #999;
    xheight: 390px;
    width: 640px;
}
.youtube-container {
    margin: 20px;
    padding: 4px;
    border: 1px solid #999;
    border-radius: 4px;
}
.youtube-toggle {
    font-size: 90%;
    color: #666;
    cursor: pointer;
    -webkit-transition-timing-function: linear; /* Safari and Chrome */
    transition-timing-function: linear;
}
.youtube-toggle:hover,
.youtube-toggle:focus,
.youtube-toggle:active {
    color: #333;
}

.youtube-container > iframe {
    display: block;
    margin: 8px auto;
}
.youtube-container .youtube-toggle .opened {
    display: none;
}
.youtube-container .youtube-toggle .closed {
    display: block;
}

.youtube-container.opened .youtube-toggle .opened,
.youtube-container.opened iframe {
    display: block;
}
.youtube-container.opened .youtube-toggle .closed {
    display: none;
}



/* External */

.ext {
    border: 1px solid #888;
    border-width: 1px 0;
    background-color: #eee;
    text-align: center;
    margin-bottom: 4px;
    padding: 10px;
    display: flex;
}
.ext a {
    display: inline-block;
    padding: 0;
}
.ext .title {
    color: #888;
    font-size: 80%;
    padding-bottom: 4px;
}
.ext img {
    border: none;
    margin: 10px;
}


/* POLL */

table.scores {
    width: 80%;
    margin: 12px auto 12px auto;
    border-collapse: collapse;
}
table.scores td {
    text-align: left;
    vertical-align: top;
    padding: 4px;
}
table.scores thead td,
table.scores thead th {
    border-top: 1px solid silver;
    border-bottom: 2px solid silver;
    vertical-align: bottom;
}
table.scores thead td,
table.scores thead th {
    font-weight: bold;
}
table.scores tbody td {
    border-bottom: 1px solid silver;
}

table.scores td:nth-child(1) {
    font-weight: bold;
}

table.scores th:nth-child(1),
table.scores th:nth-last-child(1),
table.scores th:nth-last-child(2),
table.scores td:nth-child(1),
table.scores td:nth-last-child(1),
table.scores td:nth-last-child(2) {
    text-align: right;
}
table.scores.list th:nth-child(1),
table.scores.list th:nth-last-child(1),
table.scores.list th:nth-last-child(2),
table.scores.list td:nth-child(1),
table.scores.list td:nth-last-child(1),
table.scores.list td:nth-last-child(2) {
    text-align: left;
}

.attention {
    border: 2px solid #9e4b15;
    font-weight: bold;
    text-align: center;
    margin: 1em;
    padding: 1em;
}
