/*
Theme Name: Chelsea Wolfe 
Theme URI:  https://jeremyschuler.com
Author: Jeremy Schuler 
Author URI: https://jeremyschuler.com
Description: Chelsea Wolfe Dusk 2023 
Version: 1.6
Tested up to: 6.3
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
Text Domain: chelseawolfe
Tags: block-patterns, block-styles, custom-background, custom-colors, custom-logo, editor-style, full-width-template

chelseawolfe 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 http://necolas.github.io/normalize.css/
*/

/*---------------------------------------------------------------------------
>>> TABLE OF CONTENTS:
  Last Updated 
  08.06.2025 
-----------------------------------------------------------------------------
1.0  # Normalize 8.0.1
2.0  # Typography
3.0  # Elements
4.0  # Forms
5.0  # Navigation
  ## Links
  ## Menus
6.0  # Accessibility
7.0  # Alignments
8.0  # Widgets
9.0 # Content
  ## Posts and pages
  ## Comments
10.0 # Media
  ## Captions
  ## Galleries
11.0 # Author Styles
  ## Color Variables and Helper Classes
  ## Typography
  ## Layout, CSS Grid
  ## Content
  ## Pages
  ## Blog
12.0 # Components
  ## Accordion
  ## Preloader
13.0 # Gutenberg
  ## Blocks
  ## Custom Blocks
14.0 # Plugins, Overrides
  ## Seated
  ## SEO Yoast 
15.0 # Media Queries
-----------------------------------------------------------------------------*/

/* ==========================================================================
   1.0 # normalize.css v8.0.1
   MIT License | https://github.com/necolas/normalize.css
   ========================================================================== */
body,button,input,optgroup,select,textarea{margin:0}legend,pre{max-width:100%}pre,textarea{overflow:auto}button,hr,input{overflow:visible}progress,sub,sup{vertical-align:baseline}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%}body{padding:0}details,main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;white-space:normal}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}[hidden],template{display:none}body,button,input,optgroup,select,textarea{font-family:sans-serif;font-size:1rem;line-height:1.5}h1,h2,h3,h4,h5,h6{clear:both}p{margin-top:0;margin-bottom:1em}cite,dfn,em,i{font-style:italic}blockquote,blockquote p{font-size:1.333rem;font-family:sans-serif;color:#121212}address{margin:0 0 1.5em}pre{background:#eee;font-family:"Courier 10 Pitch",Courier,monospace;font-size:.9375rem;line-height:1.6;margin-bottom:1.6em;padding:1.6em}code,kbd,tt,var{font-family:Monaco,Consolas,"Andale Mono","DejaVu Sans Mono",monospace;font-size:.9375rem}abbr,acronym{border-bottom:1px dotted #666;cursor:help}ins,mark{background:#fff9c0;text-decoration:none}big{font-size:125%}

/* ==========================================================================
   3.0 # Elements
   ========================================================================== */
html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}hr{background-color:#ccc;border:0;height:1px;margin-bottom:1.5em}ol,ul{margin:0 0 1.5em 3em}ul{list-style:disc}ol{list-style:decimal}li>ol,li>ul{margin-bottom:0;margin-left:1.5em}li{outline:0}dt{font-weight:700}dd{margin:0 1.5em 1.5em}img{height:auto;max-width:100%}figure{margin:1em 0}table{margin:0 0 1em}

/* ==========================================================================
   4.0 # Buttons, Forms
   ========================================================================== */
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.wp-block-button__link,
.wpcf7 input[type="submit"],
.entry-content .gform_wrapper input[type="submit"] {
  border: 1px solid transparent;
  background: var(--color-accent);
  padding: 16px 22px;
  color: var(--color-white);
  transition: background 150ms ease-in-out;
}

.main-navigation .group--nav .wp-block-button a {
  height: 70px;
}
.main-navigation .group--nav .wp-block-button a:hover {
  color: var(--color-accent);
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
.wpcf7 input[type="submit"]:hover {
  background: #111;
  cursor: pointer;
}

input[type="submit"]:hover {
  background: none;
  color: var(--color-accent);
  border-color: var(--color-accent);
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus,
.wpcf7 input[type="submit"]:active,
.wpcf7 input[type="submit"]:focus {
  border-color: #aaa #bbb #bbb;
  outline: 0;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
  padding: 3px;
  color: #666;
  border: 1px solid #ccc;
  border-radius: 0;
  box-shadow: none;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
  color: #111;
}

select { border: 1px solid #ccc; }
select:focus {
  color: var(--color-black);
  box-shadow: none;
}

textarea { width: 100%; }

/* Input Placeholder Styles */
input::-webkit-input-placeholder,
input::-moz-placeholder,
input:-ms-input-placeholder {
  color: #666;
}

/* Textarea Placeholder Styles */
textarea::-webkit-input-placeholder,
textarea::-moz-placeholder,
textarea:-ms-input-placeholder {
  color: #666;
}

/* Textarea Placeholder Focus Styles */
textarea::-webkit-input-placeholder:focus,
textarea::-moz-placeholder:focus,
textarea:-ms-input-placeholder:focus {
  color: #ccc;
}

.search-form input[type="search"],
.search-form input[type="submit"] {
  min-height: 50px;
}

/* ==========================================================================
   5.0 # Navigation
   ========================================================================== */

/* --------------------------------------------------------------------------
   ## Links
   -------------------------------------------------------------------------- */
a {
  color: var(--color-gray); text-decoration: none;
  transition: color 0.35s;
}

a:hover,
a:focus,
a:active {
  color: var(--color-white);
}

.button { min-width: 140px; min-height: 40px; }

/* --------------------------------------------------------------------------
   ## Menus
   -------------------------------------------------------------------------- */

.custom-menu {
  display: flex; justify-content: flex-end;
  grid-gap: 12px;
}
.custom-menu .menu { grid-gap: 20px; width: max-content; margin: 0; padding: 0; }

.menu li.fa-icon { position: relative; display: flex;  }
.menu li.fa-icon a { position: relative; visibility: hidden; }
.menu li.fa-icon a::before { display: flex; align-items: center; background: none; }

.menu li.fa-icon a:first-child::before {
  font-family: 'Font Awesome 5 Free'; font-weight: 900; visibility: visible;
  position: absolute; top: 0; right: 0; left: 0; font-size: var(--font-size-default);
  width: min-content; height: min-content; margin: auto;    

}
.menu li.fa-icon.bars a::before { content: '\f0c9'; }
.menu li.fa-icon.envelope a::before { content: '\f0e0'; }
.menu li.fa-icon.cart-shopping a::before { content: '\f07a'; }

.menu li.fa-icon.envelope,
.menu li.fa-icon.envelope a { 
  width: 20px; height: 24px; 
} 

.menu li.fa-icon.bars a,
.menu li.fa-icon.bars a::before {
  display: flex; justify-content: center;
  width: 29px; height: 40px; margin: auto;
  background: none;
}

.menu-modal__close i,
.menu li.fa-icon.bars a::before { 
  font-size: var(--font-h4); 
}
.menu-modal__close i { width: 20px; height: 25px; }

.menu li.fa-icon.bars ul a::before { display: none; }

.custom-menu.menu--right-middle { z-index: 900;
  position: fixed; right: var(--preset--spacing--40);
  display: flex; align-items: center;
  width: max-content; height: 100%;
}
.custom-menu.menu--right-middle .cta a { color: var(--color-white); }
.custom-menu.menu--right-middle .cta a:hover { color: var(--color-gray); }
.custom-menu.menu--top-right .menu-wrapper { display: grid; grid-template-columns: 1fr; }

.custom-menu.menu--top-right.mobile ul.sub-menu { display: none; }

/* Main Menu */
.main-navigation a { display: block; }
.main-navigation li.wp-block-button__link { margin-left: 1em; padding-left: 0; }
.main-navigation li.wp-block-button__link a { padding: 1.5em 2em; text-align: center; border-radius: 4px; }
.main-navigation li.wp-block-button__link a,
.main-navigation li.wp-block-button__link.current-menu-item a {
  color: var(--color-white);
}

.main-navigation ul { margin: 0; padding: 0; }
.main-navigation ul.sub-menu { background: var(--color-white); }
.main-navigation ul li.current-menu-item a,
.footer-container ul li.current-menu-item a {
  color: var(--color-accent);
}

.main-navigation ul ul {
  float: left;
  position: absolute;
  top: -12px;
  left: -999em;
  z-index: 99999;
  min-width: 240px;
  margin-top: 30px;
  padding-top: 20px;
  padding-bottom: 16px;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
}
.main-navigation ul ul li {
  width: 100%;
  margin-bottom: 5px;
  padding: 12px 16px;
  border-bottom: 1px solid #efefef;
}
.main-navigation ul ul li:last-child { margin-bottom: 0; padding-bottom: 0; border: 0; }

.main-navigation ul ul ul { top: 0; left: -999em; }
.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
  left: 100%;
}

.main-navigation ul ul a { width: 200px; padding-top: 0; padding-bottom: 0; }
.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
  left: auto;
}

.main-navigation ul#menu-project-menu {
  height: 100%;
  padding-right: 40px;
  text-align: right;
  display: grid;
  grid-template-columns: 1fr minmax(min-content, max-content);
}

.main-navigation li:last-child { padding-right: 0; }
.main-navigation li.menu-item-has-children:last-of-type:hover ul.sub-menu { right: 0; }

.main-navigation .group--nav {
  display: grid;
  grid-template-columns: max-content 200px;
  grid-gap: 1em;
  justify-content: end;
}
.main-navigation .group--nav .div:nth-child(1),
.main-navigation .group--nav .div:nth-child(2),
.main-navigation .group--nav .wp-block-button,
.main-navigation .group--nav .wp-block-button a {
  display: flex;
  justify-content: center; align-items: center;
}
.main-navigation .group--nav .wp-block-button {
  justify-content: end;
}

.menu li a:before,
.main-navigation .menu li a:before {
  top: -5px; width: 0; height: 5px;
  background: var(--color-accent);
  transition: all 0.35s ease-in-out;
}
.main-navigation .menu li.current-menu-item a:before {
  width: 20px;
}

.menu li { position: relative; display: inline-block; }

.menu li.current-menu-item > a,
.menu li.current-menu-ancestor > a,
.top-bar .toggled ul.menu li.current-menu-item a {
  color: var(--color-white);
}

/* Responsive Menu */
.menu { display: flex; align-items: center; }
.main-navigation .menu {
  justify-content: flex-end;
  height: 100%;
  grid-gap: 2rem;
}

.menu-toggle { display: block; }
.menu-toggle i { color: var(--color-black-dark); }

.main-navigation .menu-main-menu-container,
.main-navigation .menu-secondary-menu-container {
  display: grid;
}
.main-navigation .menu-main-menu-container {
  z-index: 1;
  justify-content: end;
  align-items: center;
}
.main-navigation .row { margin-bottom: 1em; }

ul.menu li a { padding: 0; letter-spacing: 1px;
  text-transform: uppercase;
  transition: all 0.3s ease-in;
}
ul.nav-menu li:last-child a { margin-right: 0; }

ul.menu li.current-menu-item li a:hover { color: var(--color-accent); }
ul.menu li.menu-item-has-children a::after { position: relative; left: 5px; }
ul.menu li.menu-item-has-children li a::after { content: none; }

.menu-footer-menu-container ul.menu li.current-menu-item li a:hover { color: inherit; }

.main-navigation.toggled ul {
  -webkit-animation: slide-down 0.3s ease-out;
  -moz-animation: slide-down 0.3s ease-out;
}
.main-navigation.toggled ul ul { background: none; }
.main-navigation.toggled ul ul:before { display: none; }

/*  Menu -- Popup */
.menu-modal {  z-index: 9999; 
    position: fixed; top: 0; left: 0; 
    width: 100vw; height: 100vh;
    background: rgba(0, 0, 0, 0.85);
}

.menu-modal__content { 
  position: absolute; top: 50%; left: 50%;
  display: flex; flex-direction: column; justify-content: center; align-items: center;
  width: 100%; height: 100%; text-align: center;
  transform: translate(-50%, -50%);
  padding: var(--preset--spacing--40);
}
.menu-modal__content ul { 
  display: grid; grid-gap: var(--preset--spacing--40); 
  margin-bottom: 0;
}
.menu-modal__content ul,
.menu-modal__content ul li {
  margin-left: 0; padding-left: 0;
}
.menu-modal__content a { 
  color: var(--color-gray);
  font-family: var(--font-cta); font-size: var(--font-h4);
  text-transform: uppercase; 
}
.menu-modal__content a:hover { color: var(--color-white); }
.menu-modal__content ul.social-icons { margin-top: 12px; margin-left: 0; }

.menu-modal__close { 
  position: fixed; z-index: 999; top: 26px; right: 28px; 
  cursor: pointer; background: none; padding: 0;
  font-size: var(--font-size--menu); 
}
.menu-modal__close i { transition: color 0.35s; }
.menu-modal__close:hover i { color: var(--color-gray); }

.menu li.fa-icon.bars.icon-hidden a::before { content: ''; }

/* Single Post Navigation */
.site-main .post-navigation,
.site-main .posts-navigation,
.site-main .comment-navigation {
  margin: 0 auto 1.5em;
  overflow: hidden;
}

.post-navigation .nav-previous,
.posts-navigation .nav-previous,
.comment-navigation .nav-previous, {
  float: left; width: 50%;
}

.post-navigation .nav-next,
.posts-navigation .nav-next,
.comment-navigation .nav-next {
  float: right; text-align: right;
  width: 50%;
}

/* ==========================================================================
   6.0 # Accessibility
   ========================================================================== */

/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px; width: 1px;
  overflow: hidden;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus { display: block;
  clip: auto !important;
  top: 5px; left: 5px;
  font-size: 14px; font-size: 0.875rem; font-weight: bold; line-height: normal;
  height: auto; width: auto; padding: 15px 23px 14px;
  background-color: #f1f1f1; color: var(--color-accent);
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);   border-radius: 3px;
  text-decoration: none;
    z-index: 100000;
  /* Above WP toolbar. */
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */
.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  position: absolute !important;
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  white-space: nowrap; /* 1 */
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
  white-space: inherit;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */
.invisible {
  visibility: hidden;
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
  outline: 0;
}

/* ==========================================================================
   7.0 # Alignments
   ========================================================================== */

/* Flexbox Alignments */
 .justify-center,
 .justify-align-center-end,
 .justify-align-center-right,
 .justify-align-center-start {
   display: flex!important;
 }
 .justify-center {
   justify-content: center!important;
   align-items: center!important;
 }
 .justify-align-center-center { align-items: center!important; }
 .justify-align-center-end {
   justify-content: flex-end!important;
   align-items: center!important;
 }
 .justify-align-center-start {
   display: flex !important;
   align-items: center !important;
   justify-content: flex-start !important;
 }
 
 /* Helper Classes */
 .align-center { height: 100%; align-content: center; }
 .justify-content-center {justify-content: center; }
 .justify-content-end { justify-content: end; }

.alignleft { align-self: flex-start; }
.alignright { align-self: flex-end; }

.aligncenter,
.grid-container .aligncenter { clear: both;
  display: block;
  margin-left: auto; margin-right: auto;
}

/* ==========================================================================
  8.0 # Widgets
   ========================================================================== */

.widget {
  display: inline-block;
  width: 100%;
  margin: 30px 0;
  /* Make sure select elements fit in widgets. */
}
.widget select { max-width: 100%; }

.sidebar .widget ul {
  display: flex;
  flex-direction: column;
  align-items: start;
  padding-left: 0;
}
.sidebar .widget ul li {
  width: 100%;
  margin-left: 0; margin-bottom: 8px;
  padding-bottom: 8px; padding-left: 0;
  text-transform: uppercase;
  list-style-type: none;
}
.sidebar .widget ul li:not(:last-child) {
  border-bottom: 1px solid var(--border-color);
}
.sidebar .widget a { color: var(--color-accent); }
.sidebar .widget a:hover { color: var(--color-accent); }

.widget-footer .widget h2 {
  margin-top: 0;
  text-transform: uppercase;
}

/* ==========================================================================
   9.0 # Content
   ========================================================================== */

html,
body {
  height: 100%; margin-top: 0;
}

body {
  background: var(--color-accent);
  overflow-x: hidden;
  /*
  overflow-y: scroll;
  overscroll-behavior-y: none;
  */
}

body.page.page-template-background-cover { background-repeat: repeat!important; }

/* --------------------------------------------------------------------------
   ## Posts and pages
   -------------------------------------------------------------------------- */

.sticky { display: block; }
.updated:not(.published) { display: none; }
.page-links { margin: 0 0 1.5em; clear: both; }

.post-password-form { 
  display: flex; flex-direction: column;
  justify-content: center; align-items: center;
  min-height: 70vh; padding: 5em 2em; 
}
.page .post-password-form label,
.page .post-password-form input {
  min-height: 50px;
}
.page .post-password-form input { border: 3px solid var(--color-white); }
.page .post-password-form input[type="password"] { width: 300px; max-width: 100%; height: 50px; }
.page .post-password-form input[type="submit"] {
  background: var(--color-accent-dark); color: var(--color-white);
  margin-left: 20px; padding: 12px 22px; 
}
.page .post-password-form input[type="submit"]:hover {
  background: var(--color-white); color: var(--color-accent-dark);
}
.page .post-password-form .post-password-form-invalid-password p { color: var(--color-alert); }
.page-store #masthead { overflow: hidden; }

@media (max-width: 600px) {
  .page .post-password-form p,
  .page .post-password-form label, 
  .page .post-password-form input,
  .page .post-password-form input[type="password"] {
    display: flex; flex-direction: column;
    width: 100%;
  }
  .page .post-password-form input[type="password"] { margin-top: 8px; }
  .page .post-password-form input[type="submit"] { 
    margin-top: 20px; margin-left: 0;
  }
}
.page-abyss #masthead,
.page-store #masthead {
  overflow: hidden;
}
.page-abyss .wp-block-button,
.page-store .wp-block-button { 
  min-height: unset; padding: 0; 
}
.page-abyss .wp-block-buttons.store-buttons .wp-block-button,
.page-store .wp-block-buttons.store-buttons .wp-block-button {
  padding-right: 0; padding-left: 0;
}
.page-abyss .wp-block-button.is-style-outline a,
.page-store .wp-block-button.is-style-outline a { 
  min-height: unset; padding: 16px 22px; 
  border: 2px solid var(--color-white); 
}
.page-abyss .wp-block-button.is-style-outline a:hover,
.page-store .wp-block-button.is-style-outline a:hover { 
  background: var(--color-white); color: var(--color-accent-dark)!important;
}
.page-abyss .wp-block-button.is-style-outline.accent-dark .wp-block-button__link,
.page-store .wp-block-button.is-style-outline.accent-dark .wp-block-button__link { 
  border-color: var(--color-accent-dark)!important; 
}
.page-abyss .wp-block-button.is-style-outline.accent-dark .wp-block-button__link:hover,
.page-store .wp-block-button.is-style-outline.accent-dark .wp-block-button__link:hover {
  background: var(--color-accent-dark); color: var(--color-white)!important;
}
.page-abyss .wp-block-columns,
.page-store .wp-block-columns { 
  grid-gap: var(--preset--spacing--60); 
}
@media (max-width: 600px) {
  .page-abyss h1.wp-block-heading,
  .page-store h1.wp-block-heading { 
    margin-bottom: .2em; 
  }
  .page-abyss h2,
  .page-store h2 {
    font-size: var(--font-h4)!important;   
  }
  .page-abyss .wp-block-button, 
  .page-store .wp-block-button {
    margin-bottom: .5em!important;
  }
  .page-abyss .wp-block-buttons.store-buttons .wp-block-button,
  .page-store .wp-block-buttons.store-buttons .wp-block-button,
  .page-abyss .wp-block-buttons.store-buttons .wp-block-button a,
  .page-store .wp-block-buttons.store-buttons .wp-block-button a {
    width: 100%; margin-bottom: .5em!important; padding-right: 0; padding-left: 0;
  } 
  .page-abyss .wp-block-group.alignwide, 
  .page-store .wp-block-group.alignwide {
    padding-top: var(--preset--spacing--50) !important;
  }
  .page-abyss .alignwide, 
  .page-store .alignwide, 
  .page-abyss .entry-content .alignwide,
  .page-store .entry-content .alignwide,  
  .page-abyss .entry-content > .alignfull .wp-block-group.alignwide, 
  .page-store .entry-content > .alignfull .wp-block-group.alignwide, 
  .page-abyss .entry-content .wp-block-group__inner-container .alignwide,
  .page-store .entry-content .wp-block-group__inner-container .alignwide {
    padding-left: 0; padding-right: 0;
  }
}

/* --------------------------------------------------------------------------
   ## Comments
   -------------------------------------------------------------------------- */
.comment-content a { word-wrap: break-word; }
.bypostauthor { display: block; }

/* ==========================================================================
   10.0 # Media
   ========================================================================== */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link { display: flex; margin: auto; }
.custom-logo-link img { transition: opacity 0.35s; }
.custom-logo-link:hover img { opacity: .50; }

/* --------------------------------------------------------------------------
   ## Captions
   -------------------------------------------------------------------------- */

.wp-caption { max-width: 100%; margin-bottom: 1.5em; }
.wp-caption img[class*="wp-image-"] { display: block;
  margin-right: auto; margin-left: auto;
}
.wp-caption .wp-caption-text { margin: 0.8075em 0; }
.wp-caption-text { text-align: center; }

/* --------------------------------------------------------------------------
   ## Galleries
   -------------------------------------------------------------------------- */

.gallery { margin-bottom: 1.5em; }
.gallery-item {
  display: inline-block;
  width: 100%;
  text-align: center;
  vertical-align: top;
}

.gallery-caption { display: block; }

/* ==========================================================================
   11.0 # Author Styles
   ========================================================================== */

.hide { display: none!important; }

/* Border Helper Classes */
.border { border: 1px solid var(--border-color) !important; }

.bt { border-top: 1px solid var(--border-color) !important; }
.br { border-right: 1px solid var(--border-color) !important; }
.bb { border-bottom: 1px solid var(--border-color) !important; }
.bl { border-left: 1px solid var(--border-color) !important; }

.border-color-light { border-color: var(--border-color) !important; }
.border-color-dark { border-color: var(--border-color-dark) !important; }

.border-accent-color { border-color: var(--color-accent) !important; }
.border-accent-light { border-color: var(--color-accent-light) !important; }
.border-accent-dark { border-color: var(--color-accent-dark) !important; }

.b-0 { border: 0 !important; }
.bt-0 { border-top: 0 !important; }
.br-0 { border-right: 0 !important; }
.bb-0 { border-bottom: 0 !important; }
.bl-0 { border-left: 0 !important; }

.bt-small { border-top: 2px solid var(--border-color-light) !important; }
.br-small { border-right: 2px solid var(--border-color-light) !important; }
.bb-small { border-bottom: 2px solid var(--border-color-light) !important; }
.bl-small { border-left: 2px solid var(--border-color-light) !important; }

.bt-medium { border-top: 5px solid var(--border-color-light) !important; }
.br-medium { border-right: 5px solid var(--border-color-light) !important; }
.bb-medium { border-bottom: 5px solid var(--border-color-light) !important; }
.bl-medium { border-left: 5px solid var(--border-color-light) !important; }

.bt-large { border-top: 10px solid var(--border-color-light) !important; }
.br-large { border-right: 10px solid var(--border-color-light) !important; }
.bb-large { border-bottom: 10px solid var(--border-color-light) !important; }
.bl-large { border-left: 10px solid var(--border-color-light) !important; }

/* Graphic Elements */
.bar-top,
.bar-bottom {
  position: relative;
}
.bar-top:before,
.bar-bottom:after {
  content: "" !important;
  position: absolute; left: 0;
  width: 40px; height: 10px;
  background-color: var(--color-white);
}
.bar-color-dark:before,
.bar-color-dark:after {
  background-color: var(--color-accent-dark);
}
.bar-top.bar-color-accent:before,
.bar-bottom.bar-color-accent:after {
  background-color: var(--color-accent);
}
.bar-top:before { top: -30px; }
.bar-bottom:after { bottom: -30px; }

.bar-align-right:after,
.bar-align-right:before {
  right: 0;
  left: unset;
}

.bar-color-accent:after,
.bar-color-accent:before {
  background-color: var(--color-accent);
}
.bar-color-black:after,
.bar-color-black:before {
  background-color: var(--color-black);
}
.bar-color-white:after,
.bar-color-white:before {
  background-color: var(--color-white);
}

/* Backgrounds / Textures */
.texture-brickwall {
  background: url("assets/img/background-texture-brickwall.webp") repeat;
}
.texture-brickwall.has-off-white-background-color {
  background: linear-gradient(
      rgba(242, 238, 222, 0.15),
      rgba(242, 238, 222, 0.15)
    ),
    url("assets/img/background-texture-brickwall-offwhite.jpg") repeat;
}

/*
.background-musician {
  background: url('assets/img/background-musician-field-luminosity.jpg') center center/cover;
  background-size: cover;
}
*/

/* Animate Scale */
.animate-scale { overflow: hidden; }
.animate-scale img {
  backface-visibility: hidden;
  transition: all 0.35s;
  transform: scale(1);
}
.animate-scale:hover img {
  transform: scale(1.0125);
  opacity: 0.9;
}

/* --------------------------------------------------------------------------
   ## Color Variables and Helper Classes
   -------------------------------------------------------------------------- */

:root {
  /* Monochromatic 
   * --color-accent-dark: #0A0830;
  */
  --color-accent: #182756;
  --color-accent-dark: #131447;
  --color-accent-light: #3150AD;

  --color-white: #fff !important;
  --color-white-opacity: rgba(255, 255, 255, 0.9) !important;

  --color-black: #000 !important;
  --color-black-dark: #111 !important;
  
  --color-transparent: none!important;

  --color-success: #00cc25;
  --color-feedback: #ff8800;
  --color-alert: #cc0027;

  --color-gray: #c3c3c4;
  --color-gray-dark: #4E4E4F;
  --color-gray-light: #F0F0F2;

  --border-color: #919191;
  --border-color-dark: #252525;
  --border-color-light: #F0F0F2;

  --overlay-black--10: rgba(0, 0, 0, 0.1);
  --overlay-black--15: rgba(0, 0, 0, 0.15);
  --overlay-black--20: rgba(0, 0, 0, 0.2);
  --overlay-black--25: rgba(0, 0, 0, 0.25);
  --overlay-black--33: rgba(0, 0, 0, 0.33);
  --overlay-black--40: rgba(0, 0, 0, 0.4);
  --overlay-black--50: rgba(0, 0, 0, 0.5);
  --overlay-black--66: rgba(0, 0, 0, 0.66);
  --overlay-black--75: rgba(0, 0, 0, 0.75);
  --overlay-black--80: rgba(0, 0, 0, 0.8);
  --overlay-black--90: rgba(0, 0, 0, 0.9);

  --box-shadow: 0 6px 9px 0 rgba(50, 54, 65, 0.05);
  --box-shadow-dark: 0 8px 60px 0 rgba(0, 0, 0, 0.25),
    0 12px 90px 0 rgba(0, 0, 0, 0.25);
}

.has-color-success { color: var(--color-success)!important; }

.has-color-warning,
.has-color-feedback {
  color: var(--color-feedback)!important;
}
.has-color-alert { color: var(--color-alert)!important; }

.has-success-background-color { background-color: var(--color-success)!important; }
.has-warning-background-color { background-color: var(--color-feedback)!important; }
.has-alert-background-color { background-color: var(--color-alert)!important; }

.has-accent-dark-background-color { background-color: var(--color-accent-dark)!important; }
.has-off-white-background-color { background-color: var(--color-white)!important; }

.has-color-accent { color: var(--color-accent) !important; }
.has-accent-dark-color { color: var(--color-accent-dark) !important; }
.has-accent-light-color { color: var(--color-accent-light) !important; }

.has-off-white-color { color: var(--color-white) !important; }

.has-box-shadow {
  box-shadow: 5px 5px 20px 0 rgb(0 0 0 / 13%);
  -webkit-box-shadow: 5px 5px 20px 0 rgb(0 0 0 / 13%);
}

.wp-block-button.is-style-outline
  .wp-block-button__link.has-gray-dark-color:hover {
  background: var(--color-gray-dark) !important;
  color: var(--color-white) !important;
}
.wp-block-button.is-style-fill
  .wp-block-button__link.has-accent-dark-background-color:hover {
  background: var(--color-white) !important;
  color: var(--color-accent-dark) !important;
  border-color: var(--color-accent-dark) !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--color-gray);
}

p,
#main p {
  color: var(--color-white);
}

/* 
 * Block Color Palette Colors 
 * declared in inc/theme-options.php
*/
.has-primary-color { color: var(--color-primary)!important; }
.has-primary-dark-color { color: var(--color-primary-dark)!important; }
.has-primary-dark-background-color { background-color: var(--color-primary-dark)!important; }

.has-accent-color { color: var(--color-accent)!important; }
.has-accent-color-light { color: var(--color-accent-light)!important; }
.has-accent-color-dark { color: var(--color-accent-dark)!important; }

.has-gray-color { color: var(--color-gray)!important; }
.has-gray-light-color { color: var(--color-gray-light)!important; }
.has-gray-dark-color { color: var(--color-gray-dark)!important; }

.has-gray-background-color { background-color: var(--color-gray)!important; }
.has-gray-light-background-color { background-color: var(--color-gray-light)!important; }
.has-gray-dark-background-color { background-color: var(--color-gray-dark)!important; }

.has-black-color,
.has-black-color p {
  color: var(--color-black);
}

.has-white-background-color { background-color: var(--color-white)!important; }
.has-black-background-color { background-color: var(--color-black)!important; }
.has-black-dark-background-color { background-color: var(--color-black-dark)!important; }

.has-accent-background-color { background-color: var(--color-accent)!important; }
.has-accent-light-background-color { background-color: var(--color-accent-light)!important; }
.has-accent-dark-background-color { background-color: var(--color-accent-dark) !important; }

.has-success-color,
span.has-success-color {
  color: var(--color-success) !important;
}
.has-feedback-color {  color: var(--color-feedback) !important; }

.entry-content p a { color: var(--color-white); }
.entry-content p.has-gray-light-color a { color: var(--color-gray-light); }

.alert { color: var(--color-alert); }

/* --------------------------------------------------------------------------
   ## Typography
   -------------------------------------------------------------------------- */

@font-face {
  font-family: 'GT America Extended Bold';
  src: url('assets/fonts/GT-America/GT-America-Extended-Bold.woff2') format('woff2'),
       url('assets/fonts/GT-America/GT-America-Extended-Bold.woff') format('woff'),
       url('assets/fonts/GT-America/GT-America-Extended-Bold.ttf') format('truetype'),
       url('assets/fonts/GT-America/GT-America-Extended-Bold.otf') format('opentype');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'gt_americaexpanded_black';
  src: url('assets/fonts/GT-America/gtamerica-expandedblack-webfont.woff2') format('woff2'),
       url('assets/fonts/GT-America/gtamerica-expandedblack-webfont.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
   
@font-face {
   font-family: 'GT America Standard Regular';
   src: url('assets/fonts/GT-America/GT-America-Standard-Regular.woff2') format('woff2'),
        url('assets/fonts/GT-America/GT-America-Standard-Regular.woff') format('woff'),
        url('assets/fonts/GT-America/GT-America-Standard-Regular.ttf') format('truetype'),
        url('assets/fonts/GT-America/GT-America-Standard-Regular.otf') format('opentype');
   font-weight: normal;
   font-style: normal;
   font-display: swap;
}

:root {
  font-size: 16px;
  
  /* Google Fonts  
  --font-primary: "Roboto", sans-serif;
  --font-headlines: "Work Sans", sans-serif; 
  */

  --font-primary: "GT America Standard Regular", sans-serif;
  /* --font-headlines: "", sans-serif; */
  --font-headlines: "gt_americaexpanded_black", sans-serif;
  --font-cta: "GT America Extended Bold", sans-serif;
  
  --font-h1: 4.209rem;
  --font-h2: 3.998rem;
  --font-h3: 2.827rem;
  --font-h4: 1.999rem;
  --font-h5: 1.414rem;
  --font-h6: 1rem;

  /* Editor Presets */
  --preset--font-size--small: 1rem;
  --preset--font-size--medium: 1.444rem;
  --preset--font-size--large: 6rem;
  --preset--font-size--xl: 7.5rem;
  --preset--font-size--xxl: 9rem;
  
  --font-size-huge: 4.209rem;
  --font-size-large: 3.157rem;
  --font-size-medium: 1.444rem;
  --font-size-default: 1.205rem;
  --font-size-small: 0.75rem;
  --font-size-label: 0.8rem;

  --font-size--menu: 1.5rem;
}

.roboto {
  font-family: "Roboto", sans-serif !important;
}
.roboto-condensed,
.roboto-condensed a {
  font-family: "Roboto Condensed", sans-serif !important;
}
.work-sans { font-family: "Work Sans", sans-serif !important; }

.gta-extended-bold { font-family: "GT America Extended Bold", sans-serif; }
.gta-expanded-black { font-family: "gt_americaexpanded_black", sans-serif; }
.gta-standard-regular { font-family: "GT America Standard Regular", sans-serif; }

.has-small-font-size { font-size: var(--font-size-small); line-height: 1.25; }
.has-normal-font-size { font-size: var(--font-size-default); line-height: 1.4; }

.has-large-font-size,
.has-large-font-size a {
  font-size: 36px;
}

.has-medium-font-size,
.has-medium-font-size > * {
  font-size: var(--font-size-medium) !important;
}

.underline { text-decoration: underline!important; }
.uppercase { text-transform: uppercase!important; }

/* Font Weight Helper Classes */
.fw-100,
.fw-100i {
  font-weight: 100;
}
.fw-300,
.fw-300i {
  font-weight: 300;
}
.fw-400,
.fw-400i {
  font-weight: 400;
}
.fw-500,
.fw-500i {
  font-weight: 500;
}
.fw-600 {
  font-weight: 600;
}
.fw-700,
.fw-700i {
  font-weight: 700;
}
.fw-800 {
  font-weight: 800;
}
.fw-900,
.fw-900i {
  font-weight: 900;
}

.fw-100i,
.fw-300i,
.fw-400i,
.fw-500i,
.fw-700i,
.fw-800i,
.fw-900i {
  font-style: italic;
}

/* Letter Spacing Helper Classes */
.ls-0 {
  letter-spacing: 0 !important;
}
.ls-1 {
  letter-spacing: 1px !important;
}

h1,
h1 a,
h2,
h2 a,
h3,
h3 a,
h4,
h4 a,
h5,
h5 a,
h6,
h6 a,
h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span {
  font-family: var(--font-headlines);
  font-weight: 600;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.1;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: var(--preset--spacing--50);
}
h1.roboto-condensed,
h2.roboto-condensed,
h3.roboto-condensed,
h4.roboto-condensed,
h5.roboto-condensed,
h6.roboto-condensed {
  line-height: 1.35 !important;
  letter-spacing: 0;
}
h1 strong span,
h2 strong span,
h3 strong span,
h4 strong span {
  font-weight: 600;
}

h1,
h1 a {
  font-size: var(--font-h1);
}
h2,
h2 a {
  font-size: var(--font-h2);
}
h3,
h3 a {
  font-size: var(--font-h3);
}
h4,
h4 a {
  font-size: var(--font-h4);
  line-height: 1.25;
}
h5,
h5 a {
  font-size: var(--font-h5);
  line-height: 1.2;
}
h6,
h6 a {
  font-size: var(--font-h6);
  line-height: 1.2;
}

b,
strong {
  font-weight: 600;
}

a {
  font-family: var(--font-primary);
  text-decoration: none;
}
p a {
  text-decoration: underline;
}

p,
ul,
ol,
ul li,
ol li {
  font-size: var(--font-size-default);
  line-height: 1.5;
  font-family: var(--font-primary);
}

ul.menu li{ line-height: 1.25; }
.site-footer ul.menu li{ line-height: 1; }

img,
span,
input,
textarea,
select,
blockquote,
blockquote p {
  font-family: var(--font-primary);
}

address {
  font-style: unset;
  font-family: var(--font-primary);
}

blockquote,
blockquote p {
  line-height: 1.44;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
input[type="submit"],
.wp-block-button__link,
.wpcf7 input[type="submit"] {
  font-family: var(--font-cta);
  font-size: 1em;
  line-height: 1;
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: 2px;
}

.button,
.menu-toggle {
  font-family: var(--font-primary);
  text-transform: uppercase;
}

.site-title a {
  font-size: var(--font-size-default);
  text-decoration: none; letter-spacing: 0;
}
.site-description { font-size: 1rem; font-weight: normal; }

.social-icons i { font-size: var(--font-size-medium); }
.site-footer ul.social-icons i { font-size: var(--font-size-medium); }

.menu a {
  font-family: var(--font-cta)!important;
  font-size: var(--preset--font-size--small); font-weight: 600;
  text-decoration: none;
}
.menu .cta a { font-size: var(--font-size--menu);}
.menu ul a { font-weight: 400; }
.menu ul ul a { text-transform: capitalize; }

.copyright,
.site-info a,
.cat-links,
.cat-links a,
.tags-links,
.tags-links a,
.comments-link a {
  font-size: var(--font-size-label);
  font-weight: 400;
  text-transform: uppercase;
}
.site-info a {
  font-size: var(--font-size-label);
  font-weight: 600;
  letter-spacing: 1px;
}

.sidebar ul li,
.sidebar .widget-title {
  text-transform: uppercase;
}

article .entry-header a { font-family: var(--font-primary); }
.blog .post .entry-header a {
  font-family: var(--font-secondary);
}

.blog .entry-meta,
.blog .wp-block-heading {
  text-transform: uppercase;
}

.archive article .entry-content h1,
.archive article .entry-content h2 {
  font-size: var(--font-size-medium);
}

/* Lists */
.entry-content ol li:not(:last-child),
.entry-content ul li:not(:last-child) {
  margin-bottom: 1em;
}
ul#crumbs li,
ul#crumbs li a {
  font-size: var(--font-size-small);
  text-transform: uppercase; letter-spacing: 1px;
}

ul#crumbs li:first-child::before,
li.menu-item-has-children a::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

ul#crumbs li:first-child::before { content: "\f015"; }

li.menu-item-has-children > a::after {
  display: inline-block; margin-left: 0.5em;
  transition: all 0.35s;
}

li.menu-item-has-children:hover a::after {
  transform: rotate(-180deg);
}

/* Lists -- Helper Classes */
ul.line-styling { margin-left: 1em; }
ul.line-styling li { list-style-type: none;
  margin-bottom: 0 !important;  padding-block: var(--preset--spacing--40);
  border-bottom: 1px solid var(--border-color-dark);
}

.entry-content .wp-block-image figcaption,
.entry-content .wp-block-gallery figcaption {
  font-size: var(--font-size-default) !important;
  font-family: var(--font-headlines);
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* --------------------------------------------------------------------------
   ## Layout
   CSS Grid, Flexbox
   -------------------------------------------------------------------------- */

html { 
  margin-top: 0!important;
  scroll-behavior: smooth;
}

/* Size Variables */
:root {
  --preset--spacing--10: 0.1rem;
  --preset--spacing--20: 0.25rem;
  --preset--spacing--30: 0.5rem;
  --preset--spacing--40: 1rem;
  --preset--spacing--50: 1.5rem;
  --preset--spacing--60: 2rem;
  --preset--spacing--70: 2.5rem;
  --preset--spacing--80: 3rem;
  --preset--spacing--90: 4rem;
  --preset--spacing--100: 5rem;
}

.heightfull { height: 100%; }
.alignfull { width: 100% !important; max-width: 100% !important; }
.alignfull > * { padding-right: 0; padding-left: 0; }

/* Spacing */
.m-auto { margin: auto !important; }

.m-0 { margin: 0 !important; }
.m-1 { margin: var(--preset--spacing--10)!important; }
.m-2 { margin: var(--preset--spacing--20)!important; }
.m-3 { margin: var(--preset--spacing--30)!important; }
.m-4 { margin: var(--preset--spacing--40)!important; }
.m-5 { margin: var(--preset--spacing--50)!important; }
.m-6 { margin: var(--preset--spacing--60)!important; }
.m-7 { margin: var(--preset--spacing--70)!important; }
.m-8 { margin: var(--preset--spacing--80)!important; }
.m-9 { margin: var(--preset--spacing--90)!important; }
.m-10 { margin: var(--preset--spacing--100)!important; }

.mt-0 { margin-top: 0 !important; }
.mt-1 { margin-top: var(--preset--spacing--10)!important; }
.mt-2 { margin-top: var(--preset--spacing--20)!important; }
.mt-3 { margin-top: var(--preset--spacing--30)!important; }
.mt-4 { margin-top: var(--preset--spacing--40)!important; }
.mt-5 { margin-top: var(--preset--spacing--50)!important; }
.mt-6 { margin-top: var(--preset--spacing--60)!important; }
.mt-7 { margin-top: var(--preset--spacing--70)!important; }
.mt-8 { margin-top: var(--preset--spacing--80)!important; }
.mt-9 { margin-top: var(--preset--spacing--90)!important; }
.mt-10 { margin-top: var(--preset--spacing--100)!important; }

.mr-0 { margin-right: 0 !important; }
.mr-1 { margin-right: var(--preset--spacing--10)!important; }
.mr-2 { margin-right: var(--preset--spacing--20)!important; }
.mr-3 { margin-right: var(--preset--spacing--30)!important; }
.mr-4 { margin-right: var(--preset--spacing--40)!important; }
.mr-5 { margin-right: var(--preset--spacing--50)!important; }
.mr-6 { margin-right: var(--preset--spacing--60)!important; }
.mr-7 { margin-right: var(--preset--spacing--70)!important; }
.mr-8 { margin-right: var(--preset--spacing--80)!important; }
.mr-9 { margin-right: var(--preset--spacing--90)!important; }
.mr-10 { margin-right: var(--preset--spacing--100)!important; }

.mb-0 { margin-bottom: 0!important; }
.mb-1 { margin-bottom: var(--preset--spacing--10)!important; }
.mb-2 { margin-bottom: var(--preset--spacing--20)!important; }
.mb-3 { margin-bottom: var(--preset--spacing--30)!important; }
.mb-4 { margin-bottom: var(--preset--spacing--40)!important; }
.mb-5 { margin-bottom: var(--preset--spacing--50)!important; }
.mb-6 { margin-bottom: var(--preset--spacing--60)!important; }
.mb-7 { margin-bottom: var(--preset--spacing--70)!important; }
.mb-8 { margin-bottom: var(--preset--spacing--80)!important; }
.mb-9 { margin-bottom: var(--preset--spacing--90)!important; }
.mb-10 { margin-bottom: var(--preset--spacing--100)!important; }

.ml-0 { margin-left: 0 !important; }
.ml-1 { margin-left: var(--preset--spacing--10)!important; }
.ml-2 { margin-left: var(--preset--spacing--20)!important; }
.ml-3 { margin-left: var(--preset--spacing--30)!important; }
.ml-4 { margin-left: var(--preset--spacing--40)!important; }
.ml-5 { margin-left: var(--preset--spacing--50)!important; }
.ml-6 { margin-left: var(--preset--spacing--60)!important; }
.ml-7 { margin-left: var(--preset--spacing--70)!important; }
.ml-8 { margin-left: var(--preset--spacing--80)!important; }
.ml-9 { margin-left: var(--preset--spacing--90)!important; }
.ml-10 { margin-left: var(--preset--spacing--100)!important; }

.p-0 { padding: 0 !important; }
.p-1 { padding: var(--preset--spacing--10)!important; }
.p-2 { padding: var(--preset--spacing--20)!important; }
.p-3 { padding: var(--preset--spacing--30)!important; }
.p-4 { padding: var(--preset--spacing--40)!important; }
.p-5 { padding: var(--preset--spacing--50)!important; }
.p-6 { padding: var(--preset--spacing--60)!important; }
.p-7 { padding: var(--preset--spacing--70)!important; }
.p-8 { padding: var(--preset--spacing--80)!important; }
.p-9 { padding: var(--preset--spacing--90)!important; }
.p-10 { padding: var(--preset--spacing--100)!important; }

.pt-0 { padding-top: 0!important; }
.pt-1 { padding-top: var(--preset--spacing--10)!important; }
.pt-2 { padding-top: var(--preset--spacing--20)!important; }
.pt-3 { padding-top: var(--preset--spacing--30)!important; }
.pt-4 { padding-top: var(--preset--spacing--40)!important; }
.pt-5 { padding-top: var(--preset--spacing--50)!important; }
.pt-6 { padding-top: var(--preset--spacing--60)!important; }
.pt-7 { padding-top: var(--preset--spacing--70)!important; }
.pt-8 { padding-top: var(--preset--spacing--80)!important; }
.pt-9 { padding-top: var(--preset--spacing--90)!important; }
.pt-10 { padding-top: var(--preset--spacing--100)!important; }

.pr-0 { padding-right: 0!important; }
.pr-1 { padding-right: var(--preset--spacing--10)!important; }
.pr-2 { padding-right: var(--preset--spacing--20)!important; }
.pr-3 { padding-right: var(--preset--spacing--30)!important; }
.pr-4 { padding-right: var(--preset--spacing--40)!important; }
.pr-5 { padding-right: var(--preset--spacing--50)!important; }
.pr-6 { padding-right: var(--preset--spacing--60)!important; }
.pr-7 { padding-right: var(--preset--spacing--70)!important; }
.pr-8 { padding-right: var(--preset--spacing--80)!important; }
.pr-9 { padding-right: var(--preset--spacing--90)!important; }
.pr-10 { padding-right: var(--preset--spacing--100)!important; }

.pb-0 { padding-bottom: 0!important; }
.pb-1 { padding-bottom: var(--preset--spacing--10)!important; }
.pb-2 { padding-bottom: var(--preset--spacing--20)!important; }
.pb-3 { padding-bottom: var(--preset--spacing--30)!important; }
.pb-4 { padding-bottom: var(--preset--spacing--40)!important; }
.pb-5 { padding-bottom: var(--preset--spacing--50)!important; }
.pb-6 { padding-bottom: var(--preset--spacing--60)!important; }
.pb-7 { padding-bottom: var(--preset--spacing--70)!important; }
.pb-8 { padding-bottom: var(--preset--spacing--80)!important; }
.pb-9 { padding-bottom: var(--preset--spacing--90)!important; }
.pb-10 { padding-bottom: var(--preset--spacing--100)!important; }

.pl-0 { padding-left: 0!important; }
.pl-1 { padding-left: var(--preset--spacing--10)!important; }
.pl-2 { padding-left: var(--preset--spacing--20)!important; }
.pl-3 { padding-left: var(--preset--spacing--30)!important; }
.pl-4 { padding-left: var(--preset--spacing--40)!important; }
.pl-5 { padding-left: var(--preset--spacing--50)!important; }
.pl-6 { padding-left: var(--preset--spacing--60)!important; }
.pl-7 { padding-left: var(--preset--spacing--70)!important; }
.pl-8 { padding-left: var(--preset--spacing--80)!important; }
.pl-9 { padding-left: var(--preset--spacing--90)!important; }
.pl-10 { padding-left: var(--preset--spacing--100)!important; }

/* Grid Gap */
.gg-0 { grid-gap: 0em !important; }
.gg-1 { grid-gap: 1em !important; }
.gg-2 { grid-gap: 2em !important; }
.gg-3 { grid-gap: 3em !important; }
.gg-4 { grid-gap: 4em !important; }
.gg-5 { grid-gap: 5em !important; }

/* Position Classes */
.absolute,
.absolute-tl,
.absolute-br {
  position: absolute !important;
}
.absolute-tl { z-index: 10; top: 0; left: 0; }
.absolute-br { z-index: 1; bottom: 0; right: 0; }

.entry-content :where(.wp-block-group.has-background) { padding: 1.25em 2em; }

.filter-grayscale img {
  filter: grayscale(100%);
  transition: filter 0.35s ease;
}
.filter-grayscale:hover img {
  filter: grayscale(0%); opacity: 1;
  transition: filter 0.35s ease, opacity 0.35s ease;
}

/* Global Layout */
.entry-content { overflow: hidden; }
.entry-content,
.entry-content .wp-block-group__inner-container {
 display: flex;
 flex-direction: column;
}
 
.container { max-width: 1280px; margin: 0 auto; padding: 2em; }
.container.full-width { max-width: 90%;
  padding-right: var(--preset--spacing--40); padding-left: var(--preset--spacing--40);
}

.entry-content .wp-block-group__inner-container > * { padding: 0; }
.entry-content .wp-block-group__inner-container > *:only-child { margin-top: 0; margin-bottom: 0; }
.wp-block-columns .wp-block-column :first-child,
.entry-content .wp-block-group__inner-container :first-child {
  margin-top: 0;
}

.error-404 > *,
.entry-content > * {
  max-width: 1180px; width: 100%;
  margin-right: auto; margin-left: auto;
}
.entry-content .wp-block-group {
  margin-top: var(--preset--spacing--50);
  margin-bottom: var(--preset--spacing--50);
}

article .entry-content > * { word-break: break-word; }

/* Align Default */
.entry-content .aligndefault {
  max-width: 1080px;
  width: 100%; margin: auto;
  padding: 0 var(--preset--spacing--50);
}

/* Align Extended */
.alignextended {
  max-width: 1920px; width: 100%;
  margin-right: auto; margin-left: auto;
}

/* Align Full */
.entry-content > .alignfull .wp-block-group {
  max-width: 1080px; width: 100%;
  margin-right: auto; margin-left: auto;
}
.entry-content > .alignfull .wp-block-group.alignfull {
  max-width: 100%; padding: 0; 
}
.entry-content > .alignfull .wp-block-group.alignfull .wp-block-column {
  margin: 0;
}
.entry-content > .alignfull .wp-block-group .wp-block-group {
  padding-right: 0; padding-left: 0;
}

/* Align Wide */
.alignwide,
.entry-content .alignwide,
.entry-content > .alignfull .wp-block-group.alignwide,
.entry-content .wp-block-group__inner-container .alignwide {
  max-width: 1440px; width: 100%;
  margin-right: auto; margin-left: auto;
  padding-right: 1.5em; padding-left: 1.5em;
}

.aligndefault,
.entry-content .aligndefault,
.entry-content > .aligndefault .wp-block-group.aligndefault,
.entry-content .wp-block-group__inner-container .aligndefault {
  max-width: 1200px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 1.5em;
  padding-left: 1.5em;
}

.alignwide-large,
.entry-content .alignwide-large,
.entry-content > .alignfull .wp-block-group.alignwide-large,
.entry-content .wp-block-group__inner-container .alignwide-large {
  max-width: 1920px;
}

/* One Column Centered */
.one-col-centered,
.entry-content.one-col-centered,
.entry-content .one-col-centered,
.entry-content > .alignfull .one-col-centered {
  max-width: 830px;
  margin-right: auto; margin-left: auto;
  padding: 0 var(--preset--spacing--50);
}

.entry-content .one-col-centered.alignwide { max-width: 1024px!important; }
.entry-content .one-col-centered .entry-header { margin-bottom: 0; }
.entry-content .one-col-centered article > * {
  padding-right: 0; padding-left: 0; }

/* Full Width, Hero Section margin adjustments */
.entry-content > .alignfull:first-child,
.entry-content > .wp-block-cover:first-child {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: var(--preset--spacing--50);
  padding-bottom: var(--preset--spacing--50);
}
.entry-content > .post:first-child header {
  margin-top: 0;
}

article.entry-content header { margin-bottom: var(--preset--spacing--40); }
article.entry-content header :first-child { margin-top: 0; }

/* --------------------------------------------------------------------------
   ## Content
   -------------------------------------------------------------------------- */
   
#page { position: relative; }

/* Header */
.site-header,
.site-footer,
.main-navigation {
  display: grid;
}

.site-header,
.site-footer,
.page-template-background-video .site-header,
.page-template-background-video .site-footer { min-height: 50px; 
  background: none;
}

.site-header,
.site-footer,
.page-template-background-video .site-header,
.page-template-background-video .site-footer {
  padding-top: var(--preset--spacing--50); padding-bottom: var(--preset--spacing--50); 
  padding-right: var(--preset--spacing--50); padding-left: var(--preset--spacing--50);
}

.site-header {
  position: relative; z-index: 900;
  grid-template-columns: minmax(200px, 400px) 1fr; 
  padding-bottom: 0;
}

.site-header.fixed,
.site-footer.fixed {
  left: 0; background: none;
}
.site-header.fixed { top: 0; }
.site-footer.fixed { bottom: 0; }

.fixed,
.site-header.fixed,
.site-footer.fixed,
.page-template-background-video .site-header,
.page-template-background-video .site-footer {
  position: fixed; z-index: 900;
  background: none;
}


.site-description { display: inline; 
  margin: 0 0 0 20px; color: var(--color-gray-dark);
}
.main-navigation { position: relative;
  grid-template-columns: 1fr minmax(min-content, max-content);
}

/* Footer */
.site-footer { position: relative; overflow: hidden; 
  /* background: rgba(0,0,0,.5); */
  background: #0d1429;
}
.site-footer .wp-block-columns { grid-template-columns: minmax(min-content, 540px) 1fr; }
.site-footer .wp-block-columns .wp-block-column:last-of-type { 
  display: flex; flex-direction: column;
  justify-content: center;  }

.site-footer ul.menu li.oracle { position: relative; }
.site-footer ul.menu li.oracle:before { display: flex; content: '';
      position: absolute; top: -25px; left: -25px; width: 75px; height: 75px;
      background-image: url('https://chelseawolfe.com/wp-content/themes/chelseawolfe/assets/img/cw-srots-symbols.gif');
      background-size: cover;
      background-position: center;
}
.site-footer ul.menu li.oracle a { position: relative; z-index: 10; margin-left: 48px; }

/*
.site-footer:after { content:'';
  position: absolute; z-index: -1; right: 0; bottom: 0;  
  width: 98%; height: 98%; 
  background: url('assets/img/chelsea-wolfe-karmazid-logo.png') no-repeat right center / contain;
  opacity: .5;
}
*/

/*
body.page { position: relative; }
body.page:not(.home)::before { content: '';
  position: absolute; z-index: 500; 
  top: 0; right: 0; left: 0; 
  width: 200px; height: 200px; margin: -75px auto 0;  
  background: url('assets/img/chelsea-wolfe-srots-type.png') no-repeat right center / contain;
  opacity: .25;
}
*/ 

/*
.site-footer:after { content: '';
  position: absolute; z-index: 500; 
  bottom: var(--preset--spacing--40); right: var(--preset--spacing--40); 
  width: 300px; height: 300px; 
  background: url('assets/img/chelsea-wolfe-srots-type.png') no-repeat right center / contain;
  opacity: .25;
} 
*/

.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4 {
  color: var(--color-white);
}
 
.site-footer ul li.current-menu-ancestor ul li a,
.site-footer ul li.current-menu-ancestor ul li a:first-of-type {
  color: var(--color-white);
}
.site-footer ul li.current_page_item a,
.site-footer ul li.current-menu-ancestor a:first-of-type,
.site-footer ul li.current-menu-ancestor ul li.current-menu-item a {
  color: var(--color-accent-dark);
}

.site-footer ul li.current-menu-ancestor ul li a:hover,
.site-footer ul li.current-menu-ancestor ul li a:first-of-type:hover {
  color: var(--color-accent-dark);
}

.site-info { text-align: right; }
.site-info a { display: flex; }
.site-info a:hover { color: var(--color-accent-dark); }

.site-footer .site-credit { display: flex; 
  justify-content: end; align-items: center;
  font-size: var(--font-size-label); text-transform: uppercase; 
  letter-spacing: 1px;
}

/* Socials */
ul.social-icons { display: grid; grid-gap: 1em;
  grid-auto-columns: min-content; grid-auto-flow: column;
  align-items: center; justify-content: center;
  margin-left: 2em; margin-bottom: 0; padding: 0;
}
ul.social-icons li { list-style-type: none; }
ul.social-icons li:last-child { margin-right: 0; }
ul.social-icons .sr-only { font-size: 0; }

.site-footer ul.social-icons {
  display: flex; justify-content: flex-end; width: 100%; 
  margin-top: var(--preset--spacing--40)!important; margin-bottom: var(--preset--spacing--30); 
  margin-right: 0; margin-left: 0; padding: 0;
}

.site-footer .social-icons i { color: var(--color-gray);
  transition: color 0.35s;
}
.site-footer .social-icons i:hover { color: var(--color-white); }

#colophon .column-wrapper { display: grid; grid-gap: 20px;
    grid-template-columns: max-content min-content; justify-content: end; 
}
#colophon .column-wrapper a img { width: 120px; transition: opacity 0.35s; }
#colophon .column-wrapper a:hover img { opacity: .5; }

/* --------------------------------------------------------------------------
   ## Pages
   -------------------------------------------------------------------------- */

/* Background Noise Texture 
body.page-music { 
  background: var(--color-accent) url('assets/img/cw-background-noise.jpg') no-repeat center center fixed; 
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

body.page-music .has-accent-background-color.has-background { background-color: var(--color-transparent)!important; }
*/

/* Background Cover + Video */
.video-cover,
.video-background { 
  height: 100vh; 
}
.page-template-background-video #masthead,
.page-template-background-video #colophon {
    position: relative; z-index: 9000;
}
.page-template-background-cover #content,
.page-template-background-video #content { 
  padding: 0; 
}
.page-template-background-cover { min-height: max-content; }
.page-template-background-cover #content { height: min-content; overflow: visible; }
.page-template-background-cover #masthead,
.page-template-background-cover #colophon,
.page-template-background-cover .has-background,
.page-template-background-video #masthead,
.page-template-background-video #colophon { 
    background: none!important; 
}

.page-template-background-video .site-header,
.page-template-background-video .site-footer {
    display: grid; 
}
.page-template-background-video .site-header { grid-template-columns: minmax(200px, 400px) 1fr; }
.page-template-background-video .site-footer { grid-template-columns: min-content 1fr; justify-content: right; }
.page-template-background-video .custom-logo-link { width: 100%; }

@keyframes shimmerGlowRandom {
    0%, 100% {
        opacity: .95;
    }
    15% {
        opacity: 0.5;
    }
    30% {
        opacity: 0.95;
    }
    45% {
        opacity: 0.8;
    }
    60% {
        opacity: .95;
    }
    80% {
        opacity: 0.75;
    }
}

@keyframes shimmerGlow {
    0%, 100% {
    opacity: 1;
    }
    50% {
        opacity: .50;
    }

}

.glow { animation: shimmerGlow 2s infinite; }

.wp-block-cover.splash img:hover { opacity: 1; }
.wp-block-cover.splash .wp-block-cover__inner-container { overflow: hidden; }

.menu--top-right .cta a { color: var(--color-white); }

/* Listen */
.wp-block-group.bandcamp .wp-block-column { background: #222; }
.wp-block-group.bandcamp .wp-block-column.empty { background: none; }
.wp-block-group.bandcamp .wp-block-column,
.wp-block-group.bandcamp .wp-block-column iframe {
  width: 100%!important;    
}

/* Reset default list styles and center text */
.hover-effect {
  overflow: hidden;
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  position: relative; /* Add position relative to maintain overlay position */
}

.hover-effect a {
  position: relative;
  display: block;
}

.hover-effect img {
  max-width: 100%;
  height: auto;
  transition: transform 0.33s ease-in-out;
}

.hover-effect:hover img {
  transform: scale(1.05);
}

/* Pseudo-element for the overlay */
.hover-effect a::before {
  content: "STREAM | BUY";
  opacity: 0;
  position: absolute;
  z-index: 1;
  top: 50%; /* Center vertically */
  left: 50%; /* Center horizontally */
  transform: translate(-50%, -50%); /* Center the text */
  background: rgba(0, 0, 0, 0.25);
  transition: opacity 0.33s ease-in-out;
  display: flex;
  flex-direction: column;
  font-size: var(--font-size-default);
  font-family: var(--font-headlines);
  text-transform: uppercase;
  text-align: center;
  width: 100%;
  height: 100%;
  justify-content: center;
}

/* Pseudo-element for the "Listen" text */
.hover-effect a::after {
  position: absolute;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  color: var(--color-white);
  opacity: 0;
  transition: opacity 0.33s ease-in-out;
}

.hover-effect:hover a::before,
.hover-effect:hover a::after {
  opacity: 1;
}

@media (max-width: 600px) {
  .hover-effect a::before,
  .hover-effect a::after {
    opacity: 1; z-index: 500;
  }
}
  
/* Video */
.wp-block-columns .wp-block-column.video-container { position: relative;
    height: 0; padding-bottom: 56.25%; /* For 16:9 aspect ratio */
    overflow: hidden;
}

.wp-block-columns .wp-block-column.video-container iframe { position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
}
.wp-block-group.video-posts iframe:not(:last-of-type) { margin-bottom: var(--preset--spacing--80); }

/* Lyrics */
.lyric-content .post-content {
    display: none;
    transition: all 0.35s ease-in-out;
}
.lyric-content .entry-title { cursor: pointer; color: var(--color-gray); 
    font-size: var(--font-size-h6); line-height: 1.25;
    transition: all 0.35s ease-in-out;
}
.lyric-content .entry-title:hover { color: var(--color-white); } 

.wp-block-group.lyrics { grid-gap: 2em; }
.wp-block-group.lyrics:first-of-type { padding-top: 0; }
.wp-block-group.lyrics:last-of-type { margin-bottom: 0; padding-bottom: 0; }
.wp-block-group.lyrics .lyric-content:not(:last-of-type) { margin-bottom: var(--preset--spacing--40); border-bottom: 1px solid var(--color-gray-dark); }
.wp-block-group.lyrics p { font-size: 1em; line-height: 1.8; color: var(--color-gray-light); }

.wp-block-group.lyrics:nth-of-type(even) { display: grid; }

body.single-lyric main { padding-top: var(--preset--spacing--90); padding-bottom: var(--preset--spacing--90); }

/* Contact */
.entry-content .contact-list a i { text-decoration: underline; }
.entry-content .contact-list a:hover { color: var(--color-gray); }

/* Dusk Video Submission */
body.page-dusk-video-submission { background: var(--color-gray-dark); }
.page-dusk-video-submission p.gta-expanded-black { font-size: .889ren; }
.page-dusk-video-submission .site-footer { background: var(--color-black); }

.page-dusk-video-submission .page-section li[data-type=control_button],
.page-dusk-video-submission .page-section li[data-type=control_button] button{ 
  font-family: var(--font-cta); text-transform: uppercase; 
}
.page-dusk-video-submission .page-section li.form-line-active label { color: #795d59; }
.page-dusk-video-submission .form-buttons-wrapper button.submit-button { text-transform: uppercase; }

/* 404 */
.error-404 {
  padding-top: var(--preset--spacing--50);
  padding-bottom: var(--preset--spacing--50);
}
.search-form {
  display: grid;
  grid-template-columns: 1fr max-content;
  grid-gap: 0;
  width: 420px;
  max-width: 100%;
}
.search-form input[type="search"] {
  width: 100%; text-indent: 0.5em;
}

/* --------------------------------------------------------------------------
   ## Blog
   -------------------------------------------------------------------------- */

header.header--cover {
  margin-bottom: var(--preset--spacing--90);
  padding: var(--preset--spacing--50);
  background: var(--color-accent);
}
header.header--cover h1 { margin: 0; margin-bottom: 0; }
header.header--cover.blog { margin-bottom: var(--preset--spacing--50); text-align: center; }

.blog article { max-width: 800px; margin-right: auto; margin-left: auto; }

.blog .post-wrapper { margin-bottom: var(--preset--spacing--50); }
.blog .post:first-child {
  padding-top: var(--preset--spacing-50); padding-bottom: var(--preset--spacing--50);
}
.blog .post:not(:last-child) { padding-bottom: var(--preset--spacing--50); }
.blog .post .entry-header { margin-top: 0; }
.blog .post .entry-header a { margin-top: 8px; }
.blog .post { color: var(--color-accent); border-color: var(--color-accent); }

.post-content h1:first-child,
.post-content h2:first-child,
.post-content h3:first-child,
.post-content h4:first-child,
.post-content h5:first-child,
.post-content h6:first-child {
  margin-top: 0;
}
.entry-content .post-content { margin-top: 0; margin-bottom: 0; }
.entry-content .post-content :last-child { margin-bottom: 0; }

.blog .entry-meta { margin-bottom: var(--preset--spacing--20); }

.blog .post .entry-title,
.single .post .entry-title {
  margin-bottom: var(--preset--spacing--20);
}

.cat-links {
  margin-right: 10px; padding-right: 10px;
  border-right: 1px solid var(--border-color);
}

.cat-links a,
.tags-links a {
  color: var(--color-accent);
}
.cat-links a:hover,
.tags-links a:hover {
  color: var(--color-black);
}
.comments-link { display: none; }

.posted-on { color: var(--color-gray); }
.posts-navigation { padding-right: var(--preset--spacing--40); padding-left: var(--preset--spacing--40); }

article:focus {
  outline: none;
}

/* Archive, Category */
.archive article .entry-content h1,
.archive article .entry-content h2,
.archive article .entry-content h3,
.archive article .entry-content h4,
.archive article .entry-content h5,
.archive article .entry-content h6 {
  text-transform: capitalize;
  color: #505050;
}

.archive .page-content p,
.category .page-content p {
  color: #6d706f;
}

.archive article,
.category article {
  margin-bottom: var(--preset--spacing--40);
  padding-bottom: var(--preset--spacing--40);
}

.archive article:last-child,
.category article:last-child {
  border-bottom: 0;
}

.archive article h2.entry-title,
.category article h2.entry-title {
  margin-bottom: 0;
}

.archive article .entry-footer,
.category article .entry-footer {
  border-top: 1px solid #efefef;
}

.entry-meta .byline { display: none; }

/* Single Post */
.post h1.entry-title { margin-top: 10px; margin-bottom: 0; }
.post .entry-content a { color: var(--color-black); }
.post .entry-content a:hover { color: var(--color-black); }
.post .entry-footer {
  margin-top: var(--preset--spacing--40); margin-bottom: var(--preset--spacing--40); padding-top: 10px;
  border-top: 1px solid var(--border-color);
}

.single .post > * { padding-right: 0; padding-left: 0; }
.single .post .entry-header {  margin-top: 0; }
.single .site-main .post-navigation {
  margin-top: var(--preset--spacing--30);
  margin-bottom: var(--preset--spacing--30);
  padding: 0;
}

.single-post #comments,
.single-post #primary article {
  max-width: 900px; margin: auto; padding-right: 2em; padding-left: 2em;
}
.single-post #primary article,
.single-post #primary article p { 
  color: var(--color-gray);
}

.single-post #primary { margin-top: var(--preset--spacing--80); margin-bottom: var(--preset--spacing--80); }
.single-post .entry-header .entry-title { color: var(--color-white); }

.entry-footer a.post-edit-link { margin-left: 10px; }
.entry-footer a.post-edit-link:hover { color: var(--color-black); }
a.post-edit-link:focus { outline: 0; }

/* ==========================================================================
   12.0 # Components
   ========================================================================== */

/* Component -- Accordion */
.accordion .entry-header i { display: flex; font-size: .8rem;
    justify-content: center; align-items: center; color: var(--color-gray); opacity: .5; 
    transition: opacity 0.3s ease-in-out; /* Added transition */
}
.accordion .entry-header:hover i { cursor: pointer; opacity: 1; }

.accordion .entry-header { display: grid; 
    grid-template-columns: 1fr max-content;
}
.accordion article .post-content { display: none;
    opacity: 0;
}
.accordion article.active p { opacity: .8; }
.accordion article.active .entry-title,
.accordion article.active .entry-header i { 
    color: var(--color-white); opacity: 1;
}

/* Component -- Audio */
 .component.audio { 
     display: flex; justify-content: flex-end; grid-gap: 12px; 
 }
 .component.audio button { 
     display: flex; justify-content: center; align-items: center;
     margin: 0; padding: 0; border: 0; background: none; 
 }
 .component.audio button span { width: 30px; height: 30px; font-size: 30px; }

/* Component -- Overlay */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
.fullscreen-overlay.fade-in { opacity: 0;
    display: flex; 
    animation: fadeIn 0.5s forwards; /* 0.5s is the duration; adjust as necessary */
}
.fullscreen-overlay.fade-out { opacity: 0;
    transition: opacity 0.5s; 
}
.fullscreen-overlay { display: none;
    position: fixed; z-index: 1000;
    top: 0; left: 0; right: 0; bottom: 0;
    flex-direction: column; justify-content: center; align-items: center;
    width: 100%; height: 100%; background-color: rgba(24, 39, 86, 0.95);  
}
.fullscreen-overlay .wrapper { 
    display: flex; flex-direction: column; grid-gap: 50px;
    max-width: 600px; width: 100%; 
    margin-right: auto; margin-left: auto; padding: 2em;  
}
.fullscreen-overlay .block { width: 100%; text-align: center; }
.fullscreen-overlay .social-icons { margin-left: 0; }
.fullscreen-overlay .social-icons i { font-size: 1.77rem; }

/* Component -- Preloader */
@keyframes flip {
  0% { transform: rotateY(0deg); }
  100% { transform: rotateY(360deg); }
}

@keyframes dissolve {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}	

@keyframes rotateSpinner {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
#preloader { position: fixed; z-index: 9999;
  top: 0; right: 0; bottom: 0; left: 0;
  background-color: var(--color-accent-dark);
  opacity: 1; visibility: visible;
  transition: opacity 0.3s, visibility 0.3s; 
}

.loader { 
    position: absolute; top: 50%; left: 50%; 
    display: flex; flex-direction: column; align-items: center; 
    max-width: 400px; width: 100%;
    transform: translate(-50%, -50%); text-align: center;
}
.loader img { max-width: 400px; width: 100%; margin-bottom: 20px; }
.loader p,
.loader i,
.loader .dashicons {
    margin-bottom: 4px; color: var(--color-gray);
}

.loader .wp-block-group { display: flex; flex-direction: column; align-items: center; grid-gap: 16px; }

.loader .card { position: relative;
  width: 64px; height: 64px; margin: 0 auto 24px;
  transform-style: preserve-3d;
  animation: flip 4s linear infinite, dissolve 4s linear infinite;
}

.loader #card1 {
  background-image: url('assets/img/cw-sro-preloader.gif');
  background-size: cover;
}
/*
#card2 {
  background-image: url('wp-content/themes/chelseawolfe/assets/img/cw-preloader-card-front.jpg');
  background-size: cover;
}
*/

.loader i,
.loader .dashicons { 
    font-size: 24px; width: 24px; height: 24px; 
    animation: rotateSpinner 3.33s linear infinite;
}

/* ==========================================================================
   13.0 # Gutenberg
   ========================================================================== */

/* --------------------------------------------------------------------------
     ##  Blocks 
   -------------------------------------------------------------------------- */

/* Shared */
.wp-block-columns:last-of-type,
.wp-block-cover > * :last-child {
  margin-bottom: 0;
}

/* Block Buttons  */
.wp-block-buttons { column-gap: 1em; }

.wpcf7 input[type="submit"],
.wp-block-button__link,
.wp-block-button__link.is-style-outline,
.is-style-outline > .wp-block-button__link {
  display: flex;
  justify-content: center; align-items: center;
  width: max-content; min-width: max-content; min-height: 70px; 
  border: 1px solid transparent;  border-radius: 4px;
  transition: all 0.35s;
  -moz-transition: all 0.35s;
  -webkit-transition: all 0.35s;
}

.wp-block-button__link:hover {
  background: none;
  color: var(--color-accent);
  border-color: var(--color-accent);
}
.wp-block-button__link.has-accent-light-background-color:hover {
  color: var(--color-white);
}

.wp-block-button__link.has-accent-background-color:hover,
.wp-block-button__link.has-accent-dark-background-color:hover,
.wp-block-button__link.has-light-gray-background-color:hover,
.wp-block-button__link.has-dark-gray-background-color:hover {
  background: none !important;
}

.wp-block-button__link.has-accent-background-color:hover {
  color: var(--color-accent) !important;
  border-color: var(--color-accent);
}
.wp-block-button__link.has-dark-gray-background-color:hover {
  color: var(--color-gray-dark);
  border-color: var(--color-gray-dark);
}
.wp-block-button__link.has-light-gray-background-color:hover {
  color: var(--color-gray-dark);
  border-color: var(--color-gray-light);
}

.wp-block-button.is-style-outline a {
  border-color: var(--color-accent);
}
.wp-block-button.is-style-outline a:hover {
  background: var(--color-accent);
  color: var(--color-white) !important;
}
.wp-block-button.is-style-outline a.has-accent-background-color:hover {
  background: none !important;
  color: var(--color-accent) !important;
  border-color: var(--color-accent);
}

/* Block Code */
.wp-block-code {
  background: none;
  padding: 0;
  border: 0;
}
.wp-block-code code {
  display: flex;
  width: 100%;
  margin: 0; padding: 20px;
  background: var(--color-gray-light);
  color: #23282d;
  border: 1px solid var(--border-color-light);
  border-radius: 2px;
  overflow: hidden;
}

/* Block Columns */
.wp-block-columns {
  grid-gap: var(--preset--spacing--40);
  padding-top: var(--preset--spacing--50);
  padding-bottom: var(--preset--spacing--50);
}
.wp-block-columns .wp-block-column { margin-left: 0; }

.wp-block-columns.max-content { width: max-content; align-self: center; }

.has-2-columns,
.has-3-columns,
.has-4-columns,
.has-5-columns,
.has-6-columns {
  display: grid;
  grid-gap: 2em;
  margin: auto;
}

.has-2-columns { grid-template-columns: 1fr 1fr; }
.has-3-columns { grid-template-columns: 1fr 1fr 1fr; }
.has-4-columns { grid-template-columns: 1fr 1fr 1fr 1fr; }
.has-5-columns { grid-template-columns: 1fr 1fr 1fr 1fr 1fr; }
.has-6-columns { grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; }

.has-1-column,
.wp-block-columns.has-1-columns {
  width: 800px !important;
  max-width: 100% !important;
  margin-right: auto;
  margin-left: auto;
}

.wp-block-column p:last-of-type,
.wp-block-column :last-child:not(.blocks-gallery-item),
.entry-content
  .wp-block-group__inner-container
  :last-child:not(.blocks-gallery-item) {
  margin-bottom: 0;
}

.wp-block-columns .wp-block-column .wp-block-group.alignfull {
  width: 100%; padding-right: 0; padding-left: 0;
}

/* 2 Col - Shared */
.has-2-columns.sidebar-content,
.has-2-columns.content-sidebar {
  grid-template-columns: repeat(6, 1fr);
}

/* 2 Col - Sidebar, Content */
.has-2-columns.sidebar-content .wp-block-column:first-child {
  grid-column: 1 / span 2;
}
.has-2-columns.sidebar-content .wp-block-column:last-child {
  grid-column: 3 / span 4;
}
.has-2-columns.sidebar-content .wp-block-column:not(:first-child) {
  margin-left: 0;
}

/* 2 Col - Content, Sidebar */
.has-2-columns.content-sidebar .wp-block-column:first-child {
  grid-column: 1/5;
}
.has-2-columns.content-sidebar .wp-block-column:last-child {
  grid-column: 5 / 7;
}
.has-2-columns.content-sidebar .wp-block-column:not(:first-child) {
  margin-left: 0;
}

/* 2 Col - Custom Layouts */
.wp-block-columns {
  width: 100%;
}
.wp-block-columns.has-2-columns--25-75,
.wp-block-columns.has-2-columns--30-70,
.wp-block-columns.has-2-columns--40-60,
.wp-block-columns.has-2-columns--50-50,
.wp-block-columns.has-2-columns--60-40,
.wp-block-columns.has-2-columns--65-40,
.wp-block-columns.has-2-columns--70-30,
.wp-block-columns.has-2-columns--75-25 {
  display: grid;
}
.wp-block-columns.has-2-columns--20-80 {
  grid-template-columns: minmax(min-content, 2fr) 8fr;
}
.wp-block-columns.has-2-columns--25-75 {
  grid-template-columns: minmax(min-content, 1fr) 3fr;
}
.wp-block-columns.has-2-columns--30-70 {
  grid-template-columns: minmax(min-content, 3fr) 7fr;
}
.wp-block-columns.has-2-columns--35-65 {
  grid-template-columns: minmax(min-content, 3.5fr) 6.5fr;
}
.wp-block-columns.has-2-columns--40-60 {
  grid-template-columns: minmax(min-content, 2fr) 3fr;
}
.wp-block-columns.has-2-columns--50-50 {
  grid-template-columns: 1fr 1fr;
}
.wp-block-columns.has-2-columns--60-40 {
  grid-template-columns: minmax(min-content, 3fr) 2fr;
}
.wp-block-columns.has-2-columns--65-35 {
  grid-template-columns: minmax(min-content, 3.5fr) 3.5fr;
}
.wp-block-columns.has-2-columns--70-30 {
  grid-template-columns: minmax(min-content, 7fr) 3fr;
}
.wp-block-columns.has-2-columns--75-25 {
  grid-template-columns: minmax(min-content, 9fr) 3fr;
}

.wp-block-columns.has-2-columns--40-60.overlap > .wp-block-column:first-child {
  grid-column: 1 / 2;
  grid-row: 1;
}
.wp-block-columns.has-2-columns--40-60.overlap > .wp-block-column:last-child {
  grid-column: span 2 / -1;
  grid-row: 1;
  z-index: 2;
  margin-left: 0;
}
.wp-block-columns.has-2-columns--40-60.overlap .wp-block-column .has-3-columns {
  max-width: 80%; margin-right: 0;
}

.wp-block-columns.has-2-columns--80-20 {
  grid-template-columns: 8fr minmax(min-content, 2fr);
}

.wp-block-columns.has-2-columns--20-80 .has-2-columns,
.wp-block-columns.has-2-columns--20-80 .has-3-columns,
.wp-block-columns.has-2-columns--20-80 .has-4-columns,
.wp-block-columns.has-2-columns--20-80 .has-5-columns,
.wp-block-columns.has-2-columns--20-80 .has-6-columns {
  width: 100%;
}

.wp-block-columns.has-2-columns--20-80 .wp-block-column {
  display: grid;
}

.wp-block-columns.has-2-columns--75-25.alignfull,
.wp-block-columns.has-2-columns--25-75.alignfull,
.wp-block-columns.has-2-columns--60-40.alignfull,
.wp-block-columns.has-2-columns--40-60.alignfull,
.wp-block-columns.has-2-columns--30-70.alignfull,
.wp-block-columns.has-2-columns--70-30.alignfull {
  margin-right: 0; margin-left: 0;
}
.wp-block-columns.has-2-columns--75-25 .wp-block-column .wp-block-cover {
  padding: 50px;
}
.wp-block-columns.has-2-columns--75-25 .wp-block-column:nth-child(2n) {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.wp-block-columns.has-2-columns--75-25
  .wp-block-column:nth-child(2n)
  .wp-block-group {
  padding: 2em;
}

.wp-block-columns.has-2-columns--40-60,
.wp-block-columns.has-2-columns--60-40 {
  margin-bottom: 4em;
}

.has-2-columns--40-60 .wp-block-column:nth-child(1n) .wp-block-group,
.has-2-columns--40-60 .wp-block-column:not(:last-child) .wp-block-group,
.has-2-columns--60-40 .wp-block-column:nth-child(2n) .wp-block-group,
.has-2-columns--60-40 .wp-block-column:not(:first-child) .wp-block-group {
  padding-right: 100px; padding-left: 100px;
}

/* Block Cover */
.entry-content > .wp-block-cover { padding-right: var(--preset--spacing--40);  padding-left: var(--preset--spacing--40); }

.wp-block-cover h1,
.wp-block-cover h2,
.wp-block-cover h3,
.wp-block-cover h4,
.wp-block-cover h5,
.wp-block-cover h6 {
  margin-top: 0;
  margin-bottom: 0;
}

.wp-block-cover .wp-block-button { margin-top: var(--preset--spacing--50); }
.wp-block-cover p.has-small-font-size {
  margin-left: var(--preset--spacing--30all);
  opacity: 0.8;
}

.wp-block-cover-text p { padding: 1.5em 1em; }

.wp-block-cover.tsw-cover .has-2-columns--60-40 .wp-block-column:first-of-type {
  display: flex; align-items: center;
}

/* Block Embed */
.wp-block-embed.type-video > .wp-block-embed__wrapper { position: relative;
  width: 100%; height: 0;
  padding-top: 56.25%;
}

.wp-block-embed.type-video > .wp-block-embed__wrapper > iframe { position: absolute;
  top: 0; left: 0; bottom: 0; right: 0;
  width: 100%; height: 100%;
}

/* Block Gallery */
.wp-block-gallery.grid-gap {
  --wp--style--unstable-gallery-gap: 1.25em !important;
  gap: 1.25em !important;
}

/* Block Image */
.white-fill-svg,
.white-fill-svg img {
  fill: var(--color-white);
}

.wp-block-image img { display: block; }
.wp-block-image.svg-icon img { width: 64px; height: 64px; }
.wp-block-image figcaption {
  margin-top: 0; padding-top: 8px; padding-bottom: 8px;
}
.wp-block-image.container-width img { width: 100%; }

.wp-block-image.has-text-align-right figcaption { text-align: right; }

.wp-block-image.overlay-black--25,
.wp-block-image.overlay-black--33,
.wp-block-image.overlay-black--40,
.wp-block-image.overlay-black--50,
.wp-block-image.overlay-black--66,
.wp-block-image.overlay-black--75,
.wp-block-image.overlay-black--80 {
  position: relative;
}
.wp-block-image.overlay-black--25 img,
.wp-block-image.overlay-black--33 img,
.wp-block-image.overlay-black--40 img,
.wp-block-image.overlay-black--50 img,
.wp-block-image.overlay-black--66 img,
.wp-block-image.overlay-black--75 img,
.wp-block-image.overlay-black--80 img {
  width: 100%;
}
.wp-block-image.overlay-black--25:before,
.wp-block-image.overlay-black--33:before,
.wp-block-image.overlay-black--40:before,
.wp-block-image.overlay-black--50:before,
.wp-block-image.overlay-black--66:before,
.wp-block-image.overlay-black--75:before,
.wp-block-image.overlay-black--80:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
}
.wp-block-image.overlay-black--25:before { background: var(--overlay-black--25); }
.wp-block-image.overlay-black--33:before { background: var(--overlay-black--33); }
.wp-block-image.overlay-black--40:before { background: var(--overlay-black--40); }
.wp-block-image.overlay-black--50:before { background: var(--overlay-black--50); }
.wp-block-image.overlay-black--66:before { background: var(--overlay-black--66); }
.wp-block-image.overlay-black--75:before { background: var(--overlay-black--75); }
.wp-block-image.overlay-black--80:before { background: var(--overlay-black--80); }

/* Block Gallery */
.wp-block-gallery { margin: 30px auto; }
.wp-block-gallery .blocks-gallery-grid { margin-top: 0; padding-left: 0; }

.blocks-gallery-grid figure { overflow: hidden; }
.blocks-gallery-grid a img {
  backface-visibility: hidden;
  transition: all 0.35s ease-in-out;
}
.blocks-gallery-grid a:hover img {
  opacity: 0.875;
  transform: scale(1.01);
}

/* Block Latest Posts */
ul.wp-block-latest-posts.alignwide,
ul.wp-block-latest-posts.alignfull,
ul.wp-block-latest-posts.is-grid.alignwide,
ul.wp-block-latest-posts.is-grid.alignwide {
  padding: 0 0.5em;
}
.wp-block-latest-posts__list a.wp-block-latest-posts__post-title {
  color: var(--color-accent-dark);
  font-weight: 500;
}

/* Block Pullquote  */
.entry-content .wp-block-quote { padding-left: 2em; }
.wp-block-pullquote > p:first-child { margin-top: 0; }
.wp-block-pullquote.is-style-solid-color blockquote { max-width: 80%; }

/* Block Quote  */
.wp-block-quote { border-left: 0.25em solid; }

/* Block Separator */
.wp-block-separator {
  width: 100%;
  border-color: var(--border-color-light);
  background-color: 1px solid var(--border-color-light);
}
.wp-block-separator.is-style-wide { margin: 0 auto; }

/* Block Table */
.wp-block-table { display: block; overflow-x: auto; }
.wp-block-table table {
  border-collapse: collapse;
  width: 100%;
}
.wp-block-table td,
.wp-block-table th {
  padding: 0.5em;
}

/* --------------------------------------------------------------------------
  ## Blocks Custom 
   -------------------------------------------------------------------------- */

/* ==========================================================================
   14.0 # Plugins, Overrides
   ========================================================================== */

/* --------------------------------------------------------------------------
   ## Seated
   -------------------------------------------------------------------------- */

.entry-content .seated-event-date-cell,
.entry-content .seated-event-venue-name,
.entry-content .seated-event-venue-location {
  font-family: var(--font-headlines); 
}

.entry-content .seated-follow-text,
.entry-content .seated-event-venue-location { 
  font-family: var(--font-primary); font-weight: 400; 
}
.entry-content .seated-event-link-cells .seated-event-link { border-radius: 0;
  font-family: var(--font-cta); font-weight: 700; font-size: var(--font-size-label); 
  line-height: 1; letter-spacing: 2px;
}
.entry-content .seated-follow-link { font-family: var(--font-headlines);
  font-size: var(--font-size-default); font-weight: 600;
}

.entry-content .seated-event-venue-name,
.entry-content .seated-event-venue-location { 
  text-transform: uppercase; 
}
.entry-content .seated-event-venue-name { letter-spacing: 1px; }

.entry-content .seated-events-table { border: 0; }

.entry-content .seated-follow-text,
.entry-content .seated-event-date-cell,
.entry-content .seated-event-row .seated-event-venue-name { 
  color: var(--color-white);
}
.entry-content .seated-event-venue-location { margin-left: var(--preset--spacing--20); }
.entry-content .seated-event-date-cell { font-family: var(--font-primary); font-weight: 500; }
.entry-content .seated-event-row .seated-event-venue-name { font-weight: 600; 
  transition: all 0.35s ease-in-out;
}
.entry-content .seated-event-details-cell,
.entry-content .seated-events-table div,
.entry-content .seated-events-table div a,
.entry-content .seated-event-venue-name:hover { 
  color: var(--color-gray);  
}
.entry-content .seated-event-row { padding: var(--preset--spacing--40); }
.entry-content .seated-event-row:hover { background: rgba(0, 0, 0, 0.15); }

.entry-content .seated-event-row:last-of-type { border-bottom: 0; }
.entry-content .seated-event-link1, 
.entry-content .seated-event-link1:visited, 
.entry-content .seated-event-link2, 
.entry-content .seated-event-link2:visited {
  color: var(--color-accent);
}
.entry-content .seated-event-link-cells .seated-event-link { 
    background: var(--color-accent); color: var(--color-white); 
    margin: 0; padding: 1em; border: 2px solid var(--color-white);

}
.entry-content .seated-event-link-cells .seated-event-link:hover { background: var(--color-white); color: var(--color-accent); }

.entry-content .seated-follow-box { margin-bottom: 0; padding-bottom: 0; }

.entry-content .seated-follow-link,
.entry-content .seated-follow-link:visited {
  margin-top: 40px; background: none;
  border-radius: 0; border-color: var(--color-gray);
  color: var(--color-gray);
}

.entry-content .seated-follow-link:hover {
  background: var(--color-gray); color: var(--color-accent);
  border-color: var(--color-gray);
}

@media screen and (max-width: 768px) {
  .entry-content .seated-follow-link, 
  .entry-content .seated-follow-link:visited {
    width: 100%;
    font-size: var(--wp--preset--font-size--normal);
  }
  .entry-content .seated-event-description-cells { text-align: left; }
  .entry-content .seated-event-venue-cell { align-items: flex-start; }
  .entry-content .seated-event-row .seated-event-link-cells { padding-top: 10px; }
  
  .entry-content .seated-event-date-cell,
  .entry-content .seated-event-venue-cell, 
  .entry-content .seated-event-details-cell {
    margin-bottom: 2.5px!important;
  }
  
  .entry-content .seated-event-row { padding-right: 0; padding-left: 0; }
  .entry-content .seated-event-row:hover { background: none; }
}

@media screen and (max-width: 414px) {
  .entry-content .seated-event-row .seated-event-link-cell { width: 100%; } 
}

/* --------------------------------------------------------------------------
   ## MailChimp
   -------------------------------------------------------------------------- */
   
#mc_embed_signup_scroll {
  display: grid; grid-gap: 20px;
  grid-template-columns: 1fr min-content;
}
#mc_embed_signup_scroll input {
  min-height: 50px;
  color: var(--color-accent);
  border: 2px solid var(--color-white);
}
#mc_embed_signup_scroll input[type="email"] {
  text-indent: 10px; font-weight: 600;
}
#mc_embed_signup_scroll input[type="submit"] {
  background: var(--color-accent); color: var(--color-white);
  font-weight: 700;
}
#mc_embed_signup_scroll input[type="submit"]:hover { cursor: pointer;
  background: var(--color-white); color: var(--color-accent);
}
#mc_embed_signup_scroll input::placeholder { color: var(--color-gray-dark); }

.link,
.link i { 
  display: flex; 
}
.link { justify-content: flex-start; grid-gap: 8px; color: var(--color-white); font-size: var(--font-size-label); }
.link:hover { color: var(--color-gray); }
.link i { align-items: center; margin-top: -2px; }

.site-footer #mc_embed_signup h3 { font-size: var(--font-h4); } 
.site-footer #mc_embed_signup input[type="submit"] {  }

@media only screen and (max-width: 600px) {
  #mc_embed_signup_scroll {
    grid-template-columns: 1fr;
  }
}

/* --------------------------------------------------------------------------
   ## SEO Yoast 
   https://yoast.com/
   -------------------------------------------------------------------------- */

#yoast-breadcrumbs span a { color: var(--color-accent-light); }
#yoast-breadcrumbs span a:hover { color: var(--color-accent); }
#yoast-breadcrumbs span i { margin-right: 8px; margin-left: 8px; }

.single #breadcrumbs .breadcrumb_last { display: none; }
.single #breadcrumbs span span span span i { display: none; }

/* ==========================================================================
   15.0 # Media Queries
   ========================================================================== */

@media screen and (max-width: 1440px) {
  /* Custom Layouts */

  .has-2-columns--40-60 .wp-block-column:nth-child(1n) .wp-block-group,
  .has-2-columns--40-60 .wp-block-column:not(:last-child) .wp-block-group,
  .has-2-columns--60-40 .wp-block-column:nth-child(2n) .wp-block-group,
  .has-2-columns--60-40 .wp-block-column:not(:first-child) .wp-block-group {
    padding-left: var(--preset--spacing--50);
    padding-right: var(--preset--spacing--50);
  }

  .wp-block-columns.has-2-columns--60-40 {
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (max-width: 1220px) {
  .page-template-background-cover.page-contact .wp-block-columns { 
    display: grid; padding-top: var(--preset--spacing--80)!important;
    grid-template-columns: 1fr; 
  }
}

@media screen and (max-width: 1024px) {
  .wp-block-columns.has-2-columns--20-80 { grid-template-columns: 1fr; }

  .has-5-columns,
  .has-6-columns {
    grid-template-columns: repeat(3, 1fr);
  }
}

.custom-menu.menu--top-right .menu-mobile-menu-container,
.custom-menu.menu--top-right .menu-mobile-menu-container ul.sub-menu,
.custom-menu.menu--top-right .menu-splash-menu-container,
.custom-menu.menu--top-right .menu-splash-menu-container ul.sub-menu { 
  display: none; 
}


.home .custom-menu.menu--top-right .menu-splash-menu-container,
.home .custom-menu.menu--top-right .menu-mobile-menu-container { 
  display: flex; 
}

@media screen and (max-width: 1050px) {
  /* Responsive Menu */
  .custom-menu.menu--top-right .menu-top-right-container { 
    display: none; 
  }
  .custom-menu.menu--top-right .menu-splash-menu-container,
  .custom-menu.menu--top-right .menu-mobile-menu-container { 
    display: flex; 
  }
}

@media screen and (max-width: 960px) {
  
  #masthead .custom-logo-link { justify-content: center; }
  #masthead .site-header { grid-gap: 16px; }
     
  .site-footer .wp-block-columns { grid-template-columns: 1fr; }
  
  .wp-block-columns.has-2-columns--25-75,
  .wp-block-columns.has-2-columns--75-25,
  .wp-block-columns.has-2-columns--70-30,
  .wp-block-columns.has-2-columns--30-70,
  .wp-block-columns.has-2-columns--60-40,
  .wp-block-columns.has-2-columns--40-60 {
    grid-template-columns: 1fr;
  }

  .has-2-columns,
  .has-3-columns,
  .has-4-columns,
  .has-5-columns,
  .has-6-columns {
    grid-gap: 1.5em;
  }
  .has-3-columns {
    grid-template-columns: 1fr 1fr;
  }
  .has-3-columns--30-30-40 {
    grid-template-columns: 33% 33% 33%;
  }
}

@media screen and (max-width: 800px) {

  .has-2-columns.sidebar-content .wp-block-column,
  .has-2-columns.content-sidebar .wp-block-column {
    grid-column: 1;
  }
  .entry-content .has-2-columns.content-sidebar {
    grid-template-columns: 1fr;
    padding-bottom: 0;
  }
  .entry-content .has-2-columns.content-sidebar .wp-block-column,
  .entry-content .has-2-columns.sidebar-content .wp-block-column {
    grid-column: 1;
  }

  .wp-block-columns .wp-block-column {
    flex-basis: 100% !important;
    margin-left: 0;
  }

  /* Custom Block Layouts */
  .has-3-columns,
  .has-2-columns.sidebar-content,
  .has-2-columns.content-sidebar {
    grid-template-columns: 1fr;
  }

  .has-2-columns.sidebar-content .wp-block-column:last-of-type { order: 1; }
  .has-2-columns.sidebar-content .wp-block-column:first-of-type { order: 2; }

  .has-2-columns-image-overlay .wp-block-column:last-of-type { max-width: 100%; }
  .has-2-columns--70-30 .wp-block-column:first-child .wp-block-cover { padding: 3em; }
  .has-2-columns--70-30 .wp-block-column:last-of-type .wp-block-group { padding-top: 3em; }

  .wp-block-cover-text p { padding: 1.5em 0; }
  
}

@media screen and (max-width: 600px) {
  .hide-mobile {
    display: none !important;
  }
  .custom-menu.menu--top-right .menu-mobile-menu-container .cta,
  .custom-menu.menu--top-right .menu-splash-menu-container .cta { 
    display: none; 
  }

  /* Typography  */
  :root {
    --font-h1: 3.052rem;
    --font-h2: 2.441rem;
    --font-h3: 1.953rem;
    --font-h4: 1.563rem;
    --font-h5: 1.25rem;
    --font-h6: 1rem;

    --font-size-huge: 4.209rem;
    --font-size-large: 3.157rem;
    --font-size-medium: 1.444rem;
    --font-size-default: 1.205rem;
    --font-size-small: 0.75rem;
    --font-size-label: 0.8rem;
  }

  h1 { font-size: var(--font-h2); }
  h1.site-title { font-size: var(--font-size-default); }

  h2 { font-size: var(--font-h3); }
  h3 { font-size: var(--font-h4); }
  h4 { font-size: var(--font-h5); }

  h5,
  h6 {
    font-size: var(--font-size-default);
    line-height: 1.3;
  }

  .custom-menu ul.menu li a { font-size: var(--font-size-label); }
  .custom-menu ul.menu li.cta a { font-size: var(--font-size-default); }
  .custom-menu ul.menu li.envelope { display: none; }
  
  .site-main .has-x-large-font-size {
    font-size: var(--font-size-huge) !important;
  }
    
  .has-large-font-size,
  .has-large-font-size a { 
    font-size: var(--font-h4)!important; 
  }
  
  .site-main .has-medium-font-size,
  .site-main p.has-medium-font-size,
  .site-main .has-medium-font-size > * {
    font-size: var(--font-size-default) !important;
  }
  .site-footer .site-credit { font-size: var(--font-size-label); }

  .wp-block-buttons
    > .wp-block-button.has-custom-font-size
    .wp-block-button__link {
    font-size: var(--font-size-label);
  }

  .has-huge-font-size,
  .site-main .has-huge-font-size {
    font-size: var(--font-size-large) !important;
  }

  .main-navigation .wp-block-button a {
    font-size: var(--font-h4);
  }

  .wp-block-image .alignleft,
  .wp-block-image .alignright {
    margin-right: 0;
    margin-left: 0;
  }

  .wp-block-quote cite,
  .wp-block-quote .has-large-font-size {
    font-size: var(--font-h4) !important;
    line-height: 1.4;
  }
  .wp-block-quote .has-large-font-size {
    margin-bottom: var(--preset--spacing--30) !important;
  }

  .wp-block-cover:is(h1, h2, h3, h4, h5, h6),
  .wp-block-cover-image:is(h1, h2, h3, h4, h5, h6) {
    text-align: left;
  }

  .wp-block-cover h1,
  .wp-block-cover-image h1 {
    text-align: left;
  }

  .entry-content .wp-block-quote,
  .entry-content .wp-block-quote.branded {
    width: 100%;
    padding-left: 1em;
  }
  .entry-content .wp-block-quote {
    padding: 0;
    border: 0;
  }

  p,
  ul,
  ol,
  ul li,
  ol li,
  figcaption {
    font-size: 1rem;
    line-height: 1.4;
  }

  pre,
  code,
  kbd,
  tt,
  var,
  .wp-block-code {
    font-size: 0.75em;
    line-height: 20px;
  }

  .p-all-4 {
    padding-right: 2em !important;
    padding-left: 2em !important;
  }

  /* Content */
  .menu-modal__close { top: 30px; right: 20px; }

  .has-2-columns,
  .has-3-columns,
  .has-3-columns--30-30-40,
  .has-3-columns--33-33-33 {
    grid-template-columns: 1fr;
  }
  .has-3-columns--30-30-40 {
    display: flex;
    flex-wrap: wrap;
  }
  .has-3-columns--30-30-40 > .column:nth-child(1),
  .has-3-columns--30-30-40 > .column:nth-child(2) {
    flex: 0 0 50%; /* Set the first two columns to half the container width */
  }

  .has-3-columns--30-30-40 > .column:nth-child(3) {
    flex: 0 0 100%; /* Set the third column to full width */
  }

}

@media screen and (max-width: 414px) {
  /* Typography */
  .copyright,
  .copyright a,
  .site-info a,
  .cat-links,
  .cat-links a,
  .tags-links,
  .tags-links a,
  .comments-link a {
    font-size: 0.75rem;
  }
  
  .site-header,
  .site-footer,
  .page-template-background-video .site-header,
  .page-template-background-video .site-footer {
    padding-right: var(--preset--spacing--40); padding-left: var(--preset--spacing--40);
  }
  
  .entry-content > * {
    padding-right: var(--preset--spacing--30);
    padding-left: var(--preset--spacing--30);
  }
  .entry-content .wp-block-code { padding: var(--preset--spacing--30); }
  .entry-content .wp-block-cover {
    min-height: 320px;
    padding: 0 var(--preset--spacing--30);
  }
}

@media screen and (max-width: 320px) {
  body #page {
    overflow-x: hidden;
  }
}