/*!
Theme Name: Melissa Etheridge
Theme URI: https://melissaetheridge.com/
Author: Phill Mamula
Author URI: http://www.phillm.com
Description: 2022 Theme for Melissa Etheridge - ForSNG
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: melissaetheridge
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Melissa Etheridge is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;600;700&family=Syncopate:wght@400;700&display=swap');

@font-face {
    font-family: 'Langdon Regular';
    src: url('fonts/langdon_2-webfont.woff2') format('woff2'),
         url('fonts/langdon_2-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Octin Vintage';
    src: url('fonts/octin_vintage_b_rg-webfont.woff2') format('woff2'),
         url('fonts/octin_vintage_b_rg-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}


/* =Global (Style)
-------------------------------------------------------------- */
html,body {
  	margin: 0; padding: 0;
  	min-height: 100%;
}
body {
	background: #fbf6eb url('images/bg-texture.jpg') repeat center center / 100% auto;
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
	color: #1c1918;
	font-size: 19px;
	line-height: 1.6em;
}

/* Type */
h1,h2,h3,h4 {
	color: #4f2b81;
	font-family: 'Langdon Regular', sans-serif;
    line-height: 1em;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    margin: 5px 0 15px;
}
h1 { font-size: 4em; }
h2 { font-size: 3em; }
h3 { font-size: 2em; }
h4 { font-size: 1.5em; }
strong { font-weight: 600; }
.sm-text { font-size: 0.8em; line-height: 1.2em; }
img { margin-bottom: -10px; }
p { margin: 0 0 15px; }
a, a:link, a:visited { 
	color: inherit;
    cursor: pointer;
    transition: all 0.15s ease-in-out;
    -webkit-transition: all 0.15s ease-in-out;
    -o-transition: all 0.15s ease-in-out; 
}
a:hover { color: #5c3664; }
button { cursor: pointer; }
video:focus,
input:focus,
button:focus {outline:0; cursor: pointer;}
textarea,
input.text,
input[type="text"],
input[type="button"],
input[type="submit"],
.input-checkbox {
-webkit-appearance: none;
border-radius: 0;
}
ul, li { margin: 0; padding: 0; list-style: none; }

/* Colors */

/* Structure */
.post, .page, .page-content, 
.entry-content, .entry-summary { margin: 0; }

#section {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-content: center;
	min-height: 70vh;
	padding: 5vw 0;
}

.flex { display: flex; flex-wrap: wrap; align-items: center; }
.flex>* { flex: 1; }
.flex .half { flex: 1 0 50%; width: 50%; }
.flex .two-third { flex: 2; }
.flex .third { flex: 1 0 33.3%; width: 33.3%; }
.flex .quarter { flex: 1 0 25%; width: 25%; }


.flex.overflow { 
    width: calc(100% + 30px);
    align-items: initial; 
    margin-left: -15px;
}
.flex.overflow.two,
.flex.overflow.three { margin-left: -20px; width: calc(100% + 40px); }
.flex.overflow.three.flex>* { 
    flex: 1 0 calc(33.3% - 40px); 
    width: calc(33.3% - 40px); 
    max-width: calc(33.3% - 40px);
    margin: 20px;
}


.container {
    width: 90vw;
    max-width: 1320px;
    position: relative;
    margin: 0 auto;
}
.container.small { max-width: 980px; }

/* CTAs */
a.large-cta, .large-cta {
    cursor: pointer;
    font-family: 'Langdon Regular', sans-serif;
    background: #1891d1;
    line-height: 1em;
    text-decoration: none;
    padding: 13px 45px;
    display: table;
    color: #f3eee4;
    text-transform: uppercase;
    font-size: 1.2em;
    letter-spacing: 0.04em;
    border: 4px double #1c6f9d;
    margin: 25px 0 15px;
}
a.large-cta:hover {
    background: #ad2e29;
    border: 4px double #5b1929;
    color: #fdf8f3;
}


a.list-cta {
    font-family: 'Syncopate', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    border-bottom: 2px solid;
    display: table;
    font-size: 0.8em;
    margin: 10px 0 5px;
    line-height: 1.4em;
}


/* Owl Carousel - Auto Height Plugin */
.owl-height {
    -webkit-transition: height 500ms ease-in-out;
    -moz-transition: height 500ms ease-in-out;
    -ms-transition: height 500ms ease-in-out;
    -o-transition: height 500ms ease-in-out;
    transition: height 500ms ease-in-out;
}
.owl-carousel {
    margin: 0 auto;
    -webkit-tap-highlight-color: transparent;
    /* position relative and z-index fix webkit rendering fonts issue */
    position: relative;
    z-index: 1;
}
.owl-carousel .owl-stage {
    position: relative;
    -ms-touch-action: pan-Y;
}
.owl-carousel .owl-stage:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}
.owl-carousel .owl-stage-outer {
    overflow: hidden;
}
.owl-carousel .owl-stage-outer {
    z-index: 999;
    position: relative;
    overflow: hidden;
    /* fix for flashing background */
    -webkit-transform: translate3d(0px, 0px, 0px);
}
.owl-carousel .owl-nav .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-nav .owl-next,
.owl-carousel .owl-nav .owl-dot {
  color: inherit;
  cursor: pointer;
  cursor: hand;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.owl-carousel.owl-loaded {
  display: block;
}
.owl-carousel.owl-loading {
  opacity: 0;
  display: block;
}
.owl-carousel.owl-hidden {
  opacity: 0;
}
.owl-carousel .owl-refresh .owl-item {
  display: none;
}
.owl-carousel .owl-item {
  position: relative;
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.owl-carousel .owl-item img {
  display: block;
  width: 100%;
  -webkit-transform-style: preserve-3d;
}
.owl-carousel.owl-text-select-on .owl-item {
  -webkit-user-select: auto;
  -moz-user-select: auto;
  -ms-user-select: auto;
  user-select: auto;
}
.owl-carousel .owl-grab {
  cursor: move;
  cursor: -webkit-grab;
  cursor: -o-grab;
  cursor: -ms-grab;
  cursor: grab;
}
.owl-carousel.owl-rtl {
  direction: rtl;
}
.owl-carousel.owl-rtl .owl-item {
  float: right;
}

.owl-dot {}
.owl-dot {
    background: none;
    border: 1px solid rgba(0,0,0,0.2);
    border-radius: 50%;
    text-transform: uppercase;
    padding: 8px;
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    margin-right: 15px;
}
.owl-dot:hover { 
    border: 1px solid #32475F;
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;  
}
.owl-dot.active { 
    background: #32475F;
    border: 1px solid #32475F;
  }

/* Owl Carousel - Navigation */
.owl-nav { width: 100%; height: 100%; position: absolute; top: 0;left: 0; }
.owl-nav button { 
    opacity: 0.5;
    color: #FFFFFF;
    background: transparent;
    border: 1px solid #FFFFFF;
    display: inline-block;
    width: 50px;
    height: 50px;
    padding: 0 0 3px 0;
    font-size: 1.25em;
    line-height: 0;
    margin-right: 8px;
    border-radius: 50%;
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;  
}
.owl-nav button:hover {
    opacity: 1;
    background: #000000;
    color: #FFFFFF;
    border-color: #000000;
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;  
}
.owl-nav>* {
    position: absolute;
    top: calc(50% - 50px);
    z-index: 999;
}
.owl-nav .owl-next { right: 5vw; }
.owl-nav .owl-prev { left: 5vw; }
.owl-nav.disabled { display: none !important; }


/* Embed Resposively */
.embed-container { 
    position: relative; 
    padding-bottom: 56.25%; 
    height: 0; 
    overflow: hidden; 
    max-width: 100%; 
} 
.embed-container iframe, 
.embed-container object, 
.embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }


/* =Header
-------------------------------------------------------------- */
header#masthead {
    background: #2685B9 url('images/bluetexture-top.jpg') repeat-x bottom left / cover;
    padding: 22px 5vw 15px;
    position: relative;
    margin-bottom: 15px;
    z-index: 9;
}
header#masthead:after {
    content: '';
    background: url('images/blue-tear-bottom.png') repeat-x top center / auto 100%;
    width: 100%;
    height: 20px;
    position: absolute;
    z-index: -3;
    bottom: -12px;
    left: 0;
}
header#masthead .flex nav { flex: 2; margin-left: 50px; }
header#masthead nav ul {
    display: flex;
    justify-content: space-between;
}

header#masthead nav.main-navigation li.menu-item-has-children {
    padding-bottom: 5px;
}
header#masthead nav.main-navigation li.menu-item-has-children a:after {
    color: inherit;
    opacity: 0.65;
    font-size: 0.7em !important;
    content: '\f107';
    font: var(--fa-font-light);
    display: inline-block;
    margin-left: 10px;
}
header#masthead nav.main-navigation li.menu-item-has-children ul.sub-menu li a:after { display: none; }
header#masthead nav ul.sub-menu {
    flex-direction: column;
    background: #2685B9;
}
header#masthead nav ul.sub-menu li a {
    padding: 10px 15px;
    line-height: 1em;
    border-top: 1px solid rgba(0,0,0,0.1);
}


/* Site Title - Logo */
.site-branding { flex: 1; padding-right: 50px; margin-top: -10px; }
.site-branding img { max-height: 60px; }

/* Navigation */
nav.main-navigation li a {
    color: #111b2a;
    font-weight: normal;
    font-family: 'Langdon Regular', sans-serif;
    font-size: 1.3em;
    padding: 5px 0 15px;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}
nav.main-navigation li a:hover { color: #FFFFFF; }



/* =Homepage
-------------------------------------------------------------- */

/* Hero */
#section.home-carousel {
    margin-top: -15px;
    padding: 0;
    min-height: auto;
    display: block;
}
#section.home-carousel .hero-slide { 
    min-height: 550px;
    padding: 3vw 0;
    height: 100%;
    background-color: #000000;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex; 
    flex-direction: column;
    align-items: center; 
    justify-content: center; 
    position: relative;
}
#section.home-carousel .hero-slide a.overlap { 
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
}
#section.home-carousel .hero-slide .slide-overlay {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
#section.home-carousel .hero-slide .slide-overlay img {
    width: 100%;
    height: 390px;
    object-fit: contain;
    object-position: left;
}
#section.home-carousel .hero-slide .slide-overlay.right { justify-content: right;}
#section.home-carousel .hero-slide .slide-overlay.left { justify-content: left;}


/* Features */
#section.home-features .container.flex { align-items: initial; }
#section.home-features .container.flex .home-video { flex: 2; padding-right: 3vw; }
#section.home-features .home-video .embed-container { margin-bottom: 15px; }
#section.home-features .fanclub-detail {
    background: #FFFFFF;
    border: 4px double #DDDDDD;
}
#section.home-features .header-fanclub { max-height: 400px; overflow: hidden; }
#section.home-features .header-fanclub img { width: 100%; height: 400px; object-fit: cover; object-position: center; }
#section.home-features .fanclub-detail { text-align: center; padding: 25px; }
#section.home-features .fanclub-detail img { max-width: 120px; margin: -100px auto 0; }
#section.home-features .fanclub-detail h3 {
    margin: 20px auto 10px;
    color: #f59c2f;
}
#section.home-features .fanclub-detail a.large-cta {
    font-size: 1.15em;
    margin: 25px auto 5px;
    padding: 12px 40px;
}

/* Events */
#section.home-events {
    background-position: top center;
    background-size: cover;
    background-attachment: fixed;
}
#section.home-events .container { padding: 0 8vw; text-align: center; }
#section.home-events h3 { color: #FFFFFF;
    margin: 0 auto 25px;
    font-size: 3em;
}

#section.home-events a.large-cta { margin: 15px auto; }

/* Releases Carousel */
#section.home-releases { 
    background: #a7adc2 url('images/gray-texture-bg.jpg') repeat-x bottom center / cover;
    text-align: center;
    min-height: auto;
    display: block; 
    padding: 50px 0;
    border-top: 15px solid #641320;
    border-bottom: 15px solid #641320;
}
#section.home-releases .listing-title h3 { 
    color: #FFFFFF;
    margin-bottom: 50px;
    font-size: 3em;
}
#section.home-releases a.large-cta { margin: 35px auto 0; }
#section.home-releases .album-title h4 {
    color: #57375d;
    margin: 25px 0 0;
}
#section.home-releases .album-title .album-year { text-transform: uppercase; font-size: 0.85em; }


/* Home News */
.related-posts.home-news {
    background: #FFFFFF;
    margin: 0;
    border: none;
    position: relative;
}
.related-posts.home-news:after {
    content: '';
    width: 100%;
    height: 15px;
    background: url('images/white-tear-bottom.png') repeat-x center center / auto 100%;
    position: absolute;
    top: -15px;
    left: 0;
    transform: rotate(180deg);
}


/* Socials */
#section.home-socials .container.flex { align-items: initial; }
#section.home-socials .container.flex>* { padding: 0 3vw; border-right: 1px solid rgba(0,0,0,0.2); position: relative; width: 100%;}
#section.home-socials .container.flex>*:last-of-type { border: none; }

#section.home-socials iframe { border: none !important; }
#section.home-socials { text-align: center; }
#section.home-socials h4 { color: #837f69; margin: 0 auto 20px; }

/* Mailing List */
form.js-cm-form {
    padding: 25px 30px;
    font-family: inherit;
    border: 1px solid #EFEFEF;
    border-radius: 5px;
    background: #FFFFFF;
}
form.js-cm-form label {
    font-size: 0.7em;
    line-height: 1.2em;
    font-weight: 400;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    display: block;
    margin: 10px 0 2px;
}
form.js-cm-form input,
form.js-cm-form select,
form.js-cm-form textarea {
    width: 100%;
    padding: 5px 10px;
    border-radius: 0;
    border: 1px solid #BDBDBD;
    margin-bottom: 5px;
}
form.js-cm-form fieldset {
    padding: 15px 30px;
    border: 1px solid #eeebe2;
    background: #f7f7f6;
    margin: 25px 0px;
}
form.js-cm-form fieldset div {
    display: flex;
    align-items: center;
    padding: 10px 0 5px;
}
form.js-cm-form fieldset div>* { flex: 1; padding-right: 5px; }
form.js-cm-form input#cm-privacy-consent {
    width: 15px;
    height: 15px;
    float: left;
    margin-right: 15px;
}
form.js-cm-form button[type="submit"] {
    cursor: pointer;
    font-family: 'Langdon Regular', sans-serif;
    background: #3d1544;
    line-height: 1em;
    text-decoration: none;
    padding: 16px 50px;
    display: table;
    color: #f3eee4;
    text-transform: uppercase;
    font-size: 1.2em;
    letter-spacing: 0.04em;
    border: 4px double rgb(147 120 151 / 33%);
    margin: 25px 0 15px;
}


/* =Pages
-------------------------------------------------------------- */

/* Page Title */
.white-title, 
.dark-title {
    background: #FFFFFF;
    text-align: center;
    padding: calc(2vw + 25px) 0 calc(2vw + 15px);
    margin-top: -20px;
    position: relative;
}
.white-title:after,
.dark-title:after {
    content: '';
    background: url('images/white-tear-bottom.png') repeat-x top center / auto 100%;
    width: 100%;
    height: 25px;
    position: absolute;
    z-index: -3;
    bottom: -15px;
    left: 0;
}
.white-title h1 {
    margin: 0 auto;
    color: #761d50;
    font-size: 3em;
    text-align: center;
}
.dark-title { background: #221b1a; }
.dark-title:after {
    content: '';
    background: url('images/black-tear-bottom.png') repeat-x top center / auto 100%;
}
.dark-title h1 { color: #e1b140; }

/* Cast Members (People Listing) */
.people-listing {
    margin: 0 auto 25px;
}
.people-item.flex { align-items: initial; }
.people-item.flex .people-details { flex: 3; }

.people-item {
    padding: 25px 0;
    border-bottom: 1px dotted rgba(0,0,0,0.4);
}
.people-item .people-details {
    padding-left: 50px;
}
.people-item .people-details .people-name {
    display: flex;
    align-items: center;
    margin: 5px 0 15px;
}
.people-item .people-details .people-name h4 { font-size: 2em; margin: 0 15px 0 0; }
.people-item .people-details .people-name span { font-weight: 500; }
.people-item .people-details .entry-content { padding: 0 !important; }
.people-item .people-details .entry-content p { margin: 0 0 5px; }

/* Entry Content */
#primary.default-page { padding: 3vw 0; }
#primary.default-page .container.flex { align-items: initial; }
#primary.default-page .container.flex .entry-content { flex: 2; padding-right: 65px; }
#primary.default-page .container.flex .post-thumbnail { margin-top: 25px; }
#primary.default-page .container.flex .post-thumbnail img { 
    border: 8px solid #FFFFFF; 
    width: 105%;
    transform: rotate(2deg);
        box-shadow: 2px 3px 5px 0px rgba(122,112,87,0.3);
}

.entry-content { padding: 15px 0 25px; }
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4 { 
    color: inherit;
    font-size: 1.5em; 
    margin: 5px 0 10px; 
}
.entry-content ul { margin: -5px 0 15px; padding-left: 20px;list-style: inherit; }
.entry-content li {
    margin-left: 10px;
    list-style: inherit;
    padding-left: 10px;
}

.entry-content .gallery { margin: 35px auto; }
.entry-content hr { margin: 50px auto; background-color: #333333; }
.entry-content figure { margin: 5px auto; }
.entry-content figcaption { display: none; }
.entry-content .gallery-item img { border: 5px solid #181818; }
.entry-content .gallery-item img:hover { border-color: #54160d; }
.nivo-lightbox-theme-simple .nivo-lightbox-title { font-size: 0.8em; line-height: 1.2em; opacity: 0.75; }



/* HTML Takeover */
body.page-template-page-giveaway .html-takeover-window { 
    margin: 0 auto;
    height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
}
.html-takeover-window header.entry-header {
    padding: 25px 0;
}

/* Calendar */
img.poster-title { width: auto; max-height: 200px; max-width: 850px; margin: 15px auto 25px; }
.event-listing { padding: 50px 0 5vw; }

/* Fan Club */
body.page-template-page-fanclub #primary.default-page .container.flex .entry-content { flex: 1.5; }
body.page-template-page-fanclub .entry-content h3 {
    color: #902b5b;
    font-size: 3em;
    width: 80%;
    margin: 0 0 15px;
}
body.page-template-page-fanclub 
#primary.default-page .container.flex .post-thumbnail img { 
    border: none; 
    box-shadow: none;
    transform: none; 
}

.fanclub-ctas { padding: 15px 0; }
.fanclub-ctas label { 
    color: #726c5d;
    font-weight: 600;
    font-size: 0.8em;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin-bottom: 5px;
    display: block;
}
.fanclub-ctas .large-cta, 
.fanclub-ctas a.large-cta {
    margin: 0;
    width: 95%;
    text-align: center;
    padding: 16px;
    max-width: 250px;
}

.large-cta.in-active {
    color: #FFFFFF;
    background: #ddd8ca;
    border: 4px double rgb(137 136 135 / 23%);
}

.disclaimer {
    font-family: monospace;
    font-size: 0.85em;
    line-height: 1.4em;
    text-transform: uppercase;
    margin-top: 25px;
    color: #878276;
}


/* =Releases
-------------------------------------------------------------- */

body.page-template-page-music header.entry-header h1{
    text-align: center;
    margin: 50px auto 0;
    font-size: 3em;
}

.releases-grid { padding: 50px 0 100px; }

.releases-grid.flex { align-items: inherit; }
.releases-grid-item {
    flex: 1 0 25%;
    width: 25%;
    max-width: 25%;
    padding: 5px;
    margin-bottom: 25px;
}
.releases-grid-item img { width: 100%; height: 100%; }
.releases-grid-item .album-title { padding: 10px 0; }
.releases-grid-item .album-title h4 {
    color: #57375d;
    margin: 5px auto 0;
    font-size: 1.5em;
}
.releases-grid-item .album-title .album-year {
    font-family: monospace;
    text-transform: uppercase;
    font-size: 0.8em;
    line-height: 1em;
    color: #605a4e;
}
.releases-grid-item .album-details { text-align: center; }
.releases-grid-item .album-download {
    margin: -5px auto 0;
    font-size: 1.25em;
}
.releases-grid-item .album-download a {
    color: #ada79a;
    margin: 0 5px;
}
.releases-grid-item .album-download a:hover { color: #463921; }



/* =Theater 
-------------------------------------------------------------- */

@font-face {
    font-family: 'Alota Regular';
    src: url('fonts/Alota Regular.woff2') format('woff2'),
         url('fonts/Alota Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

body.page-template-page-theater {
    background: #150102 url('images/ME_Broadway23-Background.jpg') no-repeat center top / 1350px auto;
    color: #fefbe6;
}
header.back-to-site a {
    color: inherit;
    font-size: 0.75em;
    text-decoration: none;
    text-align: right;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.08em;
    padding: 12px 0;
    display: block;
    border-bottom: 1px solid rgba(255,255,255,0.2);
}
header.back-to-site a i { margin-left: 5px; }

body.page-template-page-theater #section { 
    min-height: auto; 
}
#section.theater-hero .hero-date.mobile { display: none; }
 

body.page-template-page-theater h2, 
body.page-template-page-theater h3 {
    color: #fff1bf;
    font-family: 'Alota Regular', sans-serif;
    text-transform: lowercase;
    font-size: 4em;
    line-height: 1em;
    font-weight: 300;
    margin: 25px auto -5px;
    text-align: center;
}

h4.label {
    background: #491616;
    font-size: 1em;
    margin: 0 0 25px;
    letter-spacing: 0.08em;
    color: #fff1bf;
    padding: 12px 50px;
    border-radius: 50px;
    width: auto;
    display: table;
    display: none;
}


/* Hero */
#section.theater-hero {    
    padding: 125px 0 0;
    margin: -100px auto 3vw;
}
#section.theater-hero .hero-image {
    padding: 50px 0 300px;
    text-align: center;
}
#section.theater-hero .hero-image img {
    width: 100%;
    max-width: 850px;
    margin: 0 auto;
}
#section.theater-hero .hero-cta {
    padding: 25px 0;
    text-align: center;
}
#section.theater-hero .hero-date img { width: 100%; max-width: 850px; margin: 50px auto 15px; }
#section.theater-hero .hero-date { display: block; text-align: center; }

#section.theater-hero .hero-cta a {
    display: inline-block;
    font-size: 0.75em;
    text-align: center;
    padding: 12px 5vw;
    min-width: 250px;
    border: 1px solid rgba(255,255,255,0.1);
    background: #54160d;
    text-align: center;
    border-radius: 30px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-decoration: none;
    margin: 0 25px;
}
#section.theater-hero .hero-cta a i { margin-left: 5px; opacity: 0.5; }
#section.theater-hero .hero-cta a:hover {
    background: #d80200;
    border: 1px solid #d80200;
    color: #FFFFFF;
}

/* Event Listing */
#section.theater-events .eventlisting.flex { justify-content: center; }
.eventlist-item.quarter {
    padding: 25px;
    display: flex;
    flex-direction: column;
    height: 180px;
    max-width: calc(25% - 10px);
    margin: 5px;
    border: 1px solid rgba(255,255,255,0.1);
}
.eventlist-item>* { text-align: center; }
.eventlist-item .date {
    font-family: 'Langdon Regular', sans-serif;
    text-transform: uppercase;
    font-weight: 300;
    font-size: 1.5em;
    letter-spacing: 0.04em;
    margin: 0 auto 5px;
    color: #fefbe5;
}
.eventlist-item .time {
    color: #999589;
    margin-bottom: 15px;
}
.eventlist-item .ticket-cta { 
    color: #302b00;
    font-size: 1.1em;
    background: #df8e18;
    font-family: 'Langdon Regular', sans-serif;
    text-transform: uppercase;
    text-decoration: none;
    text-align: center;
    display: block;
    border-radius: 30px;
    padding: 8px 15px;
    letter-spacing: 0.02em;
    margin-top: auto;
}
.eventlist-item .ticket-cta.inactive {
    background: #342c2b;
    color: #7e6e6d;
}
.eventlist-item a.ticket-cta:hover {
    color: #fefbe5;
    background: #a30e09;
}

#section.theater-about {
    padding: 25px 0;
}
#section.theater-about .entry-content {
    font-family: 'Noto Serif JP', serif;
    font-size: 1.2em;
    line-height: 1.7em;
    font-weight: 300;
    padding: 0;
}

#section.theater-about .entry-content p { margin-bottom: 2vw; }
#section.theater-about .entry-content .embed-container { margin-top: 50px; }


#section.theater-newsletter { text-align: center; padding: 15px 0 25px; }

/* Mailchimp */
div#mc_embed_signup_scroll {
    display: flex;
    flex-wrap: wrap;
    max-width: 560px;
    margin: -25px auto 0;
}
.indicates-required { 
    flex: 1 0 100%; 
}
.mc-field-group { 
    width: 50%;
    text-align: left;
    flex: 1 0 50%;
    padding: 2px 10px 10px;
}
.mc-field-group label {
    font-size: 0.7em;
    opacity: 0.5;
    letter-spacing: 0.05em;
    display: block;
    text-transform: uppercase;
}
.mc-field-group.email-address { 
    flex: 1 0 100%; 
    width: 100%; 
}
.mc-field-group input {
    width: 100%;
    padding: 8px 15px;
    border-radius: 0;
    border: 1px solid #000000;
}
.optionalParent { 
    width: 100%;
    padding: 5px 10px 10px; 
}
input#mc-embedded-subscribe {
    color: #fefbe5;
    background: #a30e09;
    border: none;
    width: 100%;
    padding: 12px 50px;
    font-size: 1.2em;
    font-family: 'Langdon Regular', sans-serif;
    text-transform: uppercase;
    font-weight: 300;
}

/* Footer */
body.page-template-page-theater footer.site-footer {
    background: transparent;
    padding: 50px 0;
    text-align: center;
}   
body.page-template-page-theater .footer-social { background: transparent; padding: 0; margin: 0 auto 30px; max-width: 420px; }
body.page-template-page-theater .footer-social:after { display: none; }
body.page-template-page-theater .footer-social .socials a,
body.page-template-page-theater .footer-social .socials button { color: #efdac0; }


/* =Books
-------------------------------------------------------------- */

.book-hero {
    padding: 50px 0;
}

.book-hero .container.flex {
    align-items: center;
}
.book-hero .container.flex .book-cover { flex: 1; }
.book-hero .container.flex .book-details { flex: 3; }

.book-hero .book-details {
    padding-left: 5vw;
}

.book-title {
    margin: 0 0 50px;
}
.book-title h1 {
    margin: 0 0 10px;
}
.book-purchase h3 {
    font-family: 'Roboto', sans-serif;
    color: #47422e;
    font-size: 0.85em;
    letter-spacing: 0;
    font-weight: 500;
    margin: 25px 0 10px;
}
.book-title span.subtitle {    
    font-family: monospace;
    text-transform: uppercase;
    font-size: 1em;
    line-height: 1.5em;
    margin: 0 auto 25px;
    display: block;
}

.purchase-links.flex { margin-left: -5px; margin-bottom: 20px;}
.purchase-links.flex li{
    flex: 1 0 calc(25% - 10px);
    width: calc(25% - 10px);
    max-width: calc(25% - 10px);
    margin: 5px;
}
.purchase-links.flex li a{
    min-height: 65px;
    display: block;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #FFFFFF;
    border: 1px solid #DDDDDD;
    border-radius: 10px;
    padding: 20px;
    text-align: center;
}
.purchase-links.flex li img { width: auto; max-width: 150px; max-height: 25px !important; margin: 0; }


/* =Posts (News)
-------------------------------------------------------------- */

/* Single Post */
.entry-content .embed-container { margin: 25px auto; }

header.article-title {
    padding: 25px 0;
    text-align: center;
}
header.article-title h1 { text-wrap: balance; margin: 5px auto; }

.entry-meta {
    color: #5A5751;
    font-size: 0.9em;
    line-height: 1.3em;
    margin: 10px auto;
    opacity: 0.8;
}

article.post span.category {
    color: #807356;
    font-family: 'Langdon Regular', sans-serif;
    font-weight: normal;
    text-transform: uppercase;
    font-size: 1.5em;
}

.article-image {
    padding: 15px 0;
    text-align: center;
}
.article-image img {
    border: 8px solid #FFFFFF;
    width: auto;
    max-height: 700px;
    height: auto;
    box-shadow: 2px 3px 5px 0px rgba(122,112,87,0.3);
    margin: 0 auto;
}

/* News Listing */
article.list {
    padding: 50px 0;
    border-bottom: 1px solid rgba(0,0,0,0.2);
}
article.list .card-image { 
    height: 350px;
    border: 8px solid #FFFFFF;
    box-shadow: 2px 3px 5px 0px rgba(122,112,87,0.3);
}
article.list .list-content {
    flex: 1.5;
    padding-left: 50px;
}
article.list .list-content .entry-content { margin: 15px 0; padding: 0; }
article.list .list-content span.category { font-size: 1.25em; margin: 0 0 15px; display: block; }
article.list .list-content h3 { text-wrap: balance; margin: 0 0 5px; }
article.list .list-content h3 a { text-decoration: none; }
article.list .list-content .entry-meta { margin: 0; }


/* Related Posts */
.related-posts {
    padding: 25px 0 50px;
    border-top: 1px solid rgba(0,0,0,0.2);
    margin-top: 50px;
}

article.card .card-image {
    height: 250px;
    overflow: hidden;
    margin-bottom: 15px;
}
.card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
article.card span.category { font-size: 1.15em; margin: 0 0 5px; display: block; }
article.card h4 { margin: 0; }
article.card h4 a { text-decoration: none; }

/* Paginate */
.wp-paginate {
    padding: 25px 0 50px;
    margin: 0;
}
.wp-paginate li a {
    color: #33322f;
    background: transparent;
    border: 1px solid #33322f;
    margin-right: 4px;
    font-weight: 400;
    padding: 5px 10px;
    font-size: 0.9em;
}
.wp-paginate li a:hover {
    border: 1px solid #33322f;
    background: #33322f;
    color: #FFFFFF;
}
.wp-paginate li.current a{
    color: #fff;
    background: #2085bd;
    border: 1px solid #2085bd;
}

/* =Footer
-------------------------------------------------------------- */
.footer-social {
    background: #2685B9 url('images/bluetexture-top.jpg') repeat-x bottom left / cover;
    color: #fbf6eb;
    padding: 35px 0;
    z-index: 9;
    position: relative;
}
.footer-social:after {
    content: '';
    width: 100%;
    height: 15px;
    background: url('images/blue-paper-rip.png') repeat-x top left / contain;
    position: absolute;
    bottom: -15px;
}
.footer-social h4 { 
    font-size: 1.4em;
    font-family: 'Syncopate', sans-serif;
    flex: 3; 
    margin: 0; 
    color: #fbf6eb; 
}
.footer-social .socials { flex: 1.5; font-size: 1.2em; }
.footer-social .socials a { color: #c7f3fb; }
.footer-social .socials button { background: transparent; color: #c7f3fb; border: none; padding: 0; font-size: 1em; }
.footer-social .socials a:hover,
.footer-social .socials button:hover { color: #3c0513; }

/* Footer */
footer.site-footer {
    background: #e9a626 url('images/red-texture-bg.jpg') no-repeat top center / cover;
    color: #959595;
    padding: 4vw 0;
}

/* External ORGs */
.org-grid { display: flex; justify-content: flex-end; align-items: center;}
.org-grid .org { margin-left: 25px; }
.org-grid .org img { max-width: 100px; max-height: 70px;}
.org-grid .org a { opacity: 1; }
.org-grid .org a:hover { opacity: 0.7; }


/* Copyright */
footer.site-footer .footer-copyright {
    font-size: 0.8em;
    line-height: 1.5em;
    flex: 2;
    padding-right: 5vw;
}
footer.site-footer .footer-copyright a { color: inherit; }
footer.site-footer .footer-copyright a:hover { color: #fbf6eb; }
footer.site-footer .footer-copyright ul {
    width: auto;
    display: block;
    margin-bottom: 5px;
}
footer.site-footer .footer-copyright ul li {
    display: inline-block;
    margin-right: 1vw;
}
footer.site-footer .footer-copyright ul li a {
    color: #FFFFFF;
    font-weight: 500;
    text-decoration: none;
}
footer.site-footer .footer-copyright ul li a:hover { text-decoration: underline; }


footer.site-footer .copyright.flex { padding: 5px 0; flex-wrap: nowrap;}
footer.site-footer .copyright.flex>* { flex: inherit; }
footer.site-footer .please-co { padding-right: 25px; }
footer.site-footer .please-co img { max-width: 70px; }



/* =Mobile (Media Queries)
-------------------------------------------------------------- */
@-ms-viewport {
  width: device-width;
}
@viewport {
  width: device-width;
}

@media only screen and (max-width: 1180px) {
    h1.site-title { font-size: 2em; padding-right: 3vw; }
    header#masthead { padding: 10px 5vw 20px; }
    header#masthead .flex nav { flex: 3.5; margin: 0; }
    nav.main-navigation li a { font-size: 1.2em; }

    /* Releases */
    .releases-grid-item,
    .purchase-links.flex>* {
        flex: 1 0 33.3%;
        width: 33.3%;
        max-width: 33.3%;
        padding: 5px;
        margin-bottom: 35px;
    }
    body.page-template-page-theater { background-size: 125% auto; }
}
@media only screen and (max-width: 1024px) {
    /* Mobile Navigation */
    header#masthead { padding: 25px 3vw 20px; }
    .site-branding img { max-width: 300px; }
    button.menu-toggle {
        display: block;
        background: transparent;
        border-radius: 0;
        border: none;
        width:  40px;
        height: 40px;
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-transition: .15s ease-in-out;
        -moz-transition: .15s ease-in-out;
        -o-transition: .15s ease-in-out;
        transition: .15s ease-in-out;
        cursor: pointer;
        position: absolute;
        top: 0px;
        right: 5vw;
    }
    button.menu-toggle span {
        display: block;
        position: absolute;
        height: 2px;
        width: 40px;
        background: #f0f9ff;
        opacity: 1;
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-transition: .25s ease-in-out;
        -moz-transition: .25s ease-in-out;
        -o-transition: .25s ease-in-out;
        transition: .25s ease-in-out;
    }
    button.menu-toggle span:nth-child(1) { top: 15px;}
    button.menu-toggle span:nth-child(2),
    button.menu-toggle span:nth-child(3) { top: 28px;}
    button.menu-toggle span:nth-child(4) { top: 40px;}    
    .main-navigation.toggled button.menu-toggle span { background: #91cedd; }   
    .main-navigation.toggled button.menu-toggle span:nth-child(1) {
        top: 20px;
        width: 0%;
        left: 50%;
    }
    .main-navigation.toggled button.menu-toggle  span:nth-child(2) {
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        transform: rotate(45deg);
    }
    .main-navigation.toggled button.menu-toggle span:nth-child(3) {
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        -o-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
    .main-navigation.toggled button.menu-toggle span:nth-child(4) {
        top: 20px;
        width: 0%;
        left: 50%;
    }
    .main-navigation .menu-main-navigation-container { display: none; } 
    .main-navigation.toggled .menu-main-navigation-container { display: block; margin-top: 10px; } 

    header#masthead .flex { display: block; }
    header#masthead nav.main-navigation.toggled ul {
        flex-direction: column;
        width: 100%;
        background: transparent;
        box-shadow: none;
        border: none;
    }
    header#masthead nav.main-navigation.toggled li a { 
        width: 100%;
        font-size: 1.5em; 
        line-height: 1.4em; 
        padding: 8px 0;
        border-bottom: 1px solid rgba(0,0,0,0.3);
    }
    /* Dropdown Inline */
    header#masthead .main-navigation ul li:hover > ul, 
    header#masthead .main-navigation ul li.focus > ul{
        display: block;
        position: relative;
        width: 100%;
        top: auto;
        float: none;
        box-shadow: none;
    }
    header#masthead .main-navigation ul.sub-menu li a { padding-left: 8vw; }

    /* Book */
    .book-hero .container.flex { align-items: initial; }
    .book-hero .container.flex .book-cover,
    .book-hero .container.flex .book-details { flex: 1; }
    .purchase-links.flex li {
        flex: 1 0  calc(50% - 6px);
        width:     calc(50% - 6px);
        max-width: calc(50% - 6px);
        margin: 0 3px;
    }
    .purchase-links.flex li img { width: auto; max-width: 115px; }

    /* Home */
    #section.home-carousel .slide-overlay.left img,
    #section.home-carousel .slide-overlay.right img { float: none; }
    #section.home-carousel .hero-slide .slide-overlay img { width: 100% !important; max-width: 800px !important; height: auto;}
    #section.home-features .fanclub-detail p { font-size: 0.9em; line-height: 1.4em; }
    #section.home-features .fanclub-detail img { margin-top: -50px; }
    #section.home-socials .container.flex>* { flex: 1 0 100%; width:100%; margin-bottom: 35px; border: none;}

}
@media only screen and (max-width: 900px) {
    /* Theater */
    #section.theater-about .entry-content { font-size: 1em; }
    body.page-template-page-theater h2, 
    body.page-template-page-theater h3 { font-size: 2.5em; margin: 15px auto 0; }
    .eventlist-item.quarter { flex: 1 0 calc(50% - 10px); width: calc(50% - 10px); max-width: calc(50% - 10px); padding: 20px; }
    body.page-template-page-theater .footer-social { max-width: 520px; }

}
@media only screen and (max-width: 820px) {
    #section { min-height: auto; }
    h1 { font-size: 2.25em; }
    h2 { font-size: 2em; }
    h3 { font-size: 1.5em; }
    h4 { font-size: 1.25em; }


    /* Home */
    #section.home-features .container.flex { flex-direction: column;}
    #section.home-features .home-video .embed-container { margin-bottom: 5px; }
    #section.home-features .container.flex .home-video { flex: 1 0 100%; padding: 0 0 25px; }

    #section.home-carousel .hero-slide { min-height: 350px; padding: 50px 0; }
    #section.home-carousel .hero-slide .slide-overlay img { width: 100% !important; max-width: 70vw !important; height: auto;}
    .owl-nav button { width: 35px; height: 35px; margin: 0;}
    .owl-nav>* { top: calc(50% - 35px); }

    #section.home-features .home-fanclub { margin-top: 25px; }
    #section.home-features .fanclub-detail h3 { font-size: 2.5em; margin: 5px auto 10px; }
    #section.home-features .fanclub-detail p { font-size: 1em; width: 80%; margin: 5px auto; }
    #section.home-features .fanclub-detail a.large-cta {
        font-size: 1.2em;
        margin: 15px auto;
        padding: 16px 50px;
    }

    #section.home-events .container { padding-left: 0; }
    #section.home-events .container h3 { text-align: center; }
    #section.home-events {
        background-position: center center;
        background-size: cover;
        background-attachment: fixed;
    }


    /* Fan Club */
    body.page-template-page-fanclub #primary.default-page .container.flex .entry-content { flex: 2; padding-right: 25px; }
    body.page-template-page-fanclub .entry-content h3 { width: 80%; }

    /* Book */
    .book-title { text-align: center; }
    .book-title h1 { font-size: 2.5em; }
    .book-hero .container.flex { align-items: initial; flex-direction: column; }
    .book-hero .container.flex .book-cover,
    .book-hero .container.flex .book-details { flex: 1 0 100%; padding: 0 0 25px; }
    .purchase-links.flex li {
        flex: 1 0  calc(50% - 6px);
        width:     calc(50% - 6px);
        max-width: calc(50% - 6px);
        margin: 0 3px;
    }
    .purchase-links.flex li a { padding: 25px; min-height: 80px; }
    .purchase-links.flex li img { width: auto; max-width: 125px; }

    /* Pages */
    .white-title, .dark-title { padding: 50px 0 40px; }
    .white-title h1 { font-size: 2.5em }
    #primary.default-page .container.flex .entry-content { padding-right: 25px; }
    img.poster-title { width: 100%; height: auto; max-width: 75vw; }

    .people-item.flex .people-details { flex: 2; padding-left: 25px; }
    .people-item .people-details .people-name { display: block; margin-top: 0; }
    .people-item .people-details .people-name h4 { margin: 0 0 5px; }

    /* Releases */
    .releases-grid-item {
        flex: 1 0 50%;
        width: 50%;
        max-width: 50%;
        padding: 5px;
        margin-bottom: 25px;
    }

    /* Theater */
    #section.theater-about .entry-content { font-size: 0.9em; }
    #section.theater-about .entry-content p { margin-bottom: 15px; }
    .eventlist-item.quarter  { height: auto; display: block; }
    .eventlist-item .date { font-size: 1.25em; }
    .eventlist-item .ticket-cta { padding: 6px 12px; font-size: 1em; margin: 25px auto 0; }
    .gallery-columns-4 {
        grid-template-columns: repeat(2,1fr);
    }

    /* News */

    header.article-title { padding: 15px 0 5px; }
    header.article-title span.category { font-size: 1.2em; letter-spacing: 0.04em; }
    .article-image { padding: 0 0 10px; }
    .article-image .container { width: 95vw; }
    .article-image img { border: 8px solid #FFFFFF; }
    article.card { border-bottom: 1px dashed rgba(0,0,0,0.15); padding: 15px 0; }
    article.card .card-image { height: 250px; }
    article.card h4 { font-size: 1.5em; margin: 0 0 -5px; }

    /* Footer */
    footer.site-footer { padding: 65px 0 50px; text-align: center; }
    .footer-social { padding: 25px 0; }
    .footer-social .container.flex { flex-direction: column; }
    .footer-social h4 { flex: 1; margin: 5px auto 15px; font-size: 0.9em; }
    .footer-social .socials a { margin: 0 2vw; }

    .org-grid .org { margin: 0 15px; }
    footer.site-footer { padding: 50px 0; }
    footer.site-footer .container.flex { flex-direction: column-reverse; }
    footer.site-footer .footer-copyright { padding: 30px 0 0; }

}

@media only screen and (max-width: 720px) {
    .flex.overflow,
    .flex.overflow.two,
    .flex.overflow.three,
    .flex.overflow.four { 
        width: 100%;
        margin-left: 0;
    }
    .flex.overflow.two.flex>*,
    .flex.overflow.three.flex>*,
    .flex.overflow .third,
    .flex.overflow.four.flex>*,
    .flex.overflow .quarter { flex: 1 0 100%; width: 100%; max-width: 100%; margin: 0 auto 10px; }

    /* Theater */
    header.back-to-site { background: #9a2200; }
    header.back-to-site a { padding: 5px 0; font-size: 0.65em; border: none; }
    #section.theater-hero .hero-image { padding-bottom: 150px; }
    #section.theater-hero .hero-image img,
    #section.theater-hero .hero-date img { width: 85vw; }
    #section.theater-hero .hero-cta { display: none; }
    .eventlist-item.quarter { 
        flex: 1 0 100%; 
        width: 100%; 
        max-width: 100%; 
        margin: 0;
        padding: 25px 0;
        border: none;
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    .eventlist-item.quarter:last-of-type { border: none; }
    .eventlist-item .date { font-size: 1.5em; }
    .eventlist-item .ticket-cta { padding: 9px 15px; font-size: 1.1em; max-width: 250px;}

    /* News */
    article.list .flex { display: block; }
    article.list .list-content { padding: 25px 10px 0; }
    article.list .list-content h3 { font-size: 1.75em; }


    /* Footer */
    footer.site-footer .copyright.flex { flex-direction: column-reverse; align-items: initial; }
    footer.site-footer .please-co { margin: 15px auto 0; padding: 0; }
}

@media only screen and (max-width: 540px) {
    body { font-size: 18px; line-height: 1.5em; }
    #section { padding: 40px 0; }
    .container { width: 85vw; }
    a.large-cta, .large-cta,
    #section.home-features .fanclub-detail a.large-cta { padding: 14px 5vw; font-size: 1.1em; line-height: 1.15em; }

    .site-branding img { max-width: 320px; }

    /* Home */
    #section.home-events h3 { display: none; }
    #section.home-socials .container.flex { flex-direction: column;}
    #section.home-socials .container.flex>* { padding: 15px 0; border-right: none; }


    #section.home-features .fanclub-detail p { width: 100%; }


    .columns-container.flex {display: block; }
    .columns-container.flex>* { margin-bottom: 15px; }
    .columns-container.flex a.large-cta { width: 100%; }
    .disclaimer { font-size: 0.75em; }

    /* Pages */
    .white-title h1 { font-size: 2.25em; }
    #primary.default-page .container.flex { flex-direction: column; }
    #primary.default-page .container.flex .entry-content { padding-right: 0; }
    #primary.default-page .container.flex .post-thumbnail { margin: 0 auto; padding: 0 10vw 50px; }

    body.page-template-page-fanclub .entry-content h3 { width: 100%; font-size: 2.5em; }

    .people-item.flex { display: block; }
    .people-item.flex .people-details { flex: initial; padding: 15px 0 0; }

    .people-item .people-image img { width: 100%; height: auto; margin-bottom: 0;}


    /* Fan Club */
    body.page-fan-club #primary.default-page .container.flex {  flex-direction: column-reverse;}

    /* News */
    article.list .card-image { height: 250px; }
    article.list .list-content { padding: 15px 0 0; }

    /* Releases */
    #section.home-releases .listing-title { margin: 0; }
    #section.home-releases .album-title h4 { font-size: 1.5em; }
    #section.home-releases .listing-title h3 { font-size: 2em; }
    .releases-grid { padding: 50px 0; }
    .releases-grid-item {
        flex: 1 0 100%;
        width: 100%;
        max-width: 100%;
        padding: 0;
        margin-bottom: 35px;
    }
    .releases-grid-item .album-details {
        margin-top: 10px;
        display: flex;
        align-items: flex-start;
        flex-wrap: wrap;
    }
    .releases-grid-item .album-details .album-title { flex: 3; padding-right: 15px; }
    .releases-grid-item .album-download { padding: 10px 0; text-align: right; }
    .releases-grid-item .album-download a { padding: 0 0 0 5px; }
}
@media only screen and (max-width: 480px) {
    .container { width: 90vw; }
    #section.home-carousel .hero-slide { min-height: 350px; padding: 25px 0 0; }
    #section.home-carousel .hero-slide .slide-overlay img { width: 100% !important; max-width: 80vw !important; height: auto;}

    .book-hero { padding: 25px 0; }
    .book-hero .container.flex .book-cover { padding-bottom: 0; }
    .book-purchase h3 { margin: 25px 0 10px; text-align: center; }
    .book-title { display: none; }
    .book-title h1 { font-size: 3em; }
    .book-title span.subtitle { font-size: 0.8em; }
    .purchase-links.flex { margin: 0 auto; }
    .purchase-links.flex li {
        flex: 1 0  100%;
        width:     100%;
        max-width: 100%;
        margin: 0 auto;
    }
    .purchase-links.flex li a { padding: 25px 15px; min-height: auto; }
    .purchase-links.flex li img { width: auto; max-width: 180px; max-height: 30px !important; }

    body { font-size: 17px; line-height: 1.5em; }
    .site-branding img { max-width: 245px; }
    body.page-template-page-fanclub #primary.default-page .container.flex .entry-content { flex: 1 0 100%; padding: 0; }
}



