/*
    Theme Name: NFO Song Cycle
    Theme URI: www.allhangseparately.com
    Author: Meyocks
    Author URI: https://meyocks.com
    Description: A custom WordPress theme for NFO Song Cycle by Meyocks
    Version: 1.1.0
    Requires at least: 6.0
    Tested up to: 6.8.2
    Requires PHP: 8.0
    Text Domain: nfosongcycle
*/
/*
	CSS reset
	Based on: <https://www.joshwcomeau.com/css/custom-css-reset/>

	@package nfo-song-cycle
*/
*, *::before, *::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

@media (prefers-reduced-motion: no-preference) {
  html {
    interpolate-size: allow-keywords;
  }
}
html {
  scroll-behavior: smooth;
}

body {
  -webkit-font-smoothing: antialiased;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

p {
  text-wrap: stable;
}

h1, h2, h3, h4, h5, h6 {
  text-wrap: balance;
}

/*
	Site-wide typography

	Veneer (display) for H1/H2 and eyebrows, Montserrat for everything else.
	Sizes come from config/_typography.scss, which mirrors the Figma text styles.

	@package nfo-song-cycle
*/
/*
	Font Styles and Mixins

	@package nfo-song-cycle
 */
/*
	Theme font families

	Both families are served by the Adobe Fonts (Typekit) project defined by
	ADOBE_FONTS_PROJECT_ID in inc/config.php and enqueued in inc/fonts-enqueue.php.

	- veneer     : distressed display face, used for H1/H2 and the eyebrow, always uppercase
	- montserrat : body face, used for everything else
*/
/*
	Font Awesome - ::before & ::after styles
	Advanced method of including Font Awesome icons, use sparingly:
	https://docs.fontawesome.com/web/add-icons/pseudo-elements

	For the recommended method of adding icons inline, see here:
	https://docs.fontawesome.com/web/add-icons/how-to#basics
	https://docs.fontawesome.com/web/style/style-cheatsheet

	Example implementation: https://gist.github.com/ianleckie-meyocks/a9a68251c450412c23d8ef057df3dc1c
 */
/*
	Typography scale

	Values are taken directly from the Figma text styles for the site
	(H1, H2, H3, large paragraph, paragraph, Small Paragraph). The design is drawn
	at a 1600px artboard width, so the fluid middle value of each clamp() is the
	design size expressed as a percentage of 1600px - i.e. each style hits its
	exact design size at a 1600px viewport and never grows beyond it.

	@package nfo-song-cycle
*/
/*
	Theme Sass Functions
    https://sass-lang.com/documentation/at-rules/function/

	@package nfo-song-cycle
*/
/*
	Theme Mixins
	https://sass-lang.com/documentation/at-rules/mixin/

	@package nfo-song-cycle
*/
/* For Mobile-First Breakpoints */
/* For Desktop-First Breakpoints */
/* For Hybrid Breakpoints */
/* Aspect ration with fallback */
/*
	Color Palette Sass Variables
	https://sass-lang.com/documentation/variables/

	@package nfo-song-cycle
*/
/*
	Theme Sass Variables
	https://sass-lang.com/documentation/variables/

	@package nfo-song-cycle
*/
/*
	Spacing scale

	Derived from the spacing used in the Figma layouts: 8 / 16 / 24 / 32 / 48 / 60 / 120.
*/
/*
	Vertical rhythm between page sections - 60px at the 1600px design width,
	stepped down on tablet and mobile, where 60px above and below every band
	leaves a short viewport mostly empty.

	These are the source values. Everything that owns section spacing reads
	the --section-spacing custom property base/_theme.scss publishes from
	them, so sections, the footer and the hero intro always agree.
*/
body.wp-theme-nfo-song-cycle {
  font-family: "montserrat", sans-serif;
  font-weight: 400;
  font-size: clamp(1.0625rem, 1.25vw, 1.25rem);
  line-height: 1.6;
  color: #FFFFFF;
  /*
  	Headings
  */
}
body.wp-theme-nfo-song-cycle h1, body.wp-theme-nfo-song-cycle .h1, body.wp-theme-nfo-song-cycle .display-1,
body.wp-theme-nfo-song-cycle h2, body.wp-theme-nfo-song-cycle .h2, body.wp-theme-nfo-song-cycle .display-2 {
  font-family: "veneer", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
  margin-bottom: 2rem;
}
body.wp-theme-nfo-song-cycle h3, body.wp-theme-nfo-song-cycle .h3,
body.wp-theme-nfo-song-cycle h4, body.wp-theme-nfo-song-cycle .h4,
body.wp-theme-nfo-song-cycle h5, body.wp-theme-nfo-song-cycle .h5,
body.wp-theme-nfo-song-cycle h6, body.wp-theme-nfo-song-cycle .h6 {
  font-family: "montserrat", sans-serif;
  font-weight: 600;
  margin-bottom: 1rem;
}
body.wp-theme-nfo-song-cycle h1, body.wp-theme-nfo-song-cycle .h1, body.wp-theme-nfo-song-cycle .display-1 {
  font-size: clamp(2.75rem, 4.5vw, 4.5rem);
}
body.wp-theme-nfo-song-cycle h2, body.wp-theme-nfo-song-cycle .h2, body.wp-theme-nfo-song-cycle .display-2 {
  font-size: clamp(2.25rem, 3.75vw, 3.75rem);
}
body.wp-theme-nfo-song-cycle h3, body.wp-theme-nfo-song-cycle .h3 {
  font-size: clamp(1.375rem, 1.5vw, 1.5rem);
  line-height: 1.2;
}
body.wp-theme-nfo-song-cycle h4, body.wp-theme-nfo-song-cycle .h4 {
  font-size: 1.25rem;
  line-height: 1.3;
}
body.wp-theme-nfo-song-cycle h5, body.wp-theme-nfo-song-cycle .h5 {
  font-size: 1.125rem;
  line-height: 1.3;
}
body.wp-theme-nfo-song-cycle h6, body.wp-theme-nfo-song-cycle .h6 {
  font-size: 1rem;
  line-height: 1.3;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
body.wp-theme-nfo-song-cycle h1:last-child, body.wp-theme-nfo-song-cycle h2:last-child, body.wp-theme-nfo-song-cycle h3:last-child, body.wp-theme-nfo-song-cycle h4:last-child, body.wp-theme-nfo-song-cycle h5:last-child, body.wp-theme-nfo-song-cycle h6:last-child {
  margin-bottom: 0;
}
body.wp-theme-nfo-song-cycle {
  /*
  	Eyebrow - small Veneer label above a heading or logo lockup
  	e.g. "FEATURING THE WEARY RAMBLERS"
  */
}
body.wp-theme-nfo-song-cycle .eyebrow {
  font-family: "veneer", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(1.125rem, 1.5vw, 1.5rem);
  line-height: 1;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
body.wp-theme-nfo-song-cycle {
  /*
  	Body copy
  */
}
body.wp-theme-nfo-song-cycle p {
  margin-bottom: 1rem;
}
body.wp-theme-nfo-song-cycle p:last-child {
  margin-bottom: 0;
}
body.wp-theme-nfo-song-cycle .lead {
  font-family: "montserrat", sans-serif;
  font-weight: 500;
  font-size: clamp(1.25rem, 1.75vw, 1.75rem);
  line-height: 1.2;
}
body.wp-theme-nfo-song-cycle .text-large {
  font-family: "montserrat", sans-serif;
  font-weight: 500;
  font-size: clamp(1.25rem, 2vw, 2rem);
}
body.wp-theme-nfo-song-cycle .text-large p {
  margin-bottom: 2rem;
}
body.wp-theme-nfo-song-cycle .text-small {
  font-size: clamp(1rem, 1.125vw, 1.125rem);
}
body.wp-theme-nfo-song-cycle .text-caption {
  font-family: "montserrat", sans-serif;
  font-weight: 500;
  font-size: 1rem;
}
body.wp-theme-nfo-song-cycle strong, body.wp-theme-nfo-song-cycle b {
  font-weight: 600;
}
body.wp-theme-nfo-song-cycle {
  /*
  	Lists
  */
}
body.wp-theme-nfo-song-cycle ul, body.wp-theme-nfo-song-cycle ol {
  margin-bottom: 1rem;
  padding-left: 1.5rem;
}
body.wp-theme-nfo-song-cycle ul li, body.wp-theme-nfo-song-cycle ol li {
  margin-bottom: 0.5rem;
}
body.wp-theme-nfo-song-cycle ul:last-child, body.wp-theme-nfo-song-cycle ol:last-child {
  margin-bottom: 0;
}
body.wp-theme-nfo-song-cycle {
  /*
  	Quotes
  */
}
body.wp-theme-nfo-song-cycle blockquote {
  font-family: "montserrat", sans-serif;
  font-weight: 500;
  font-size: clamp(1.25rem, 2vw, 2rem);
  line-height: 1.6;
  margin-bottom: 2rem;
}
body.wp-theme-nfo-song-cycle {
  /*
  	Standalone text link CTA - e.g. "VIEW ALL UPDATES"
  */
}
body.wp-theme-nfo-song-cycle .link-cta {
  font-family: "montserrat", sans-serif;
  font-weight: 600;
  font-size: clamp(1rem, 1.125vw, 1.125rem);
  line-height: 1.6;
  display: inline-block;
  text-decoration: underline;
  text-underline-position: from-font;
}
body.wp-theme-nfo-song-cycle {
  /*
  	Utility alignment classes used by the components
  */
}
body.wp-theme-nfo-song-cycle .text-uppercase {
  text-transform: uppercase;
}
body.wp-theme-nfo-song-cycle main a:not(.page-hero__logo-link), body.wp-theme-nfo-song-cycle footer a:not(.page-hero__logo-link) {
  text-decoration-thickness: 1px !important;
  transition: all 0.2s;
  box-shadow: 0 0 0 1em transparent inset;
}
body.wp-theme-nfo-song-cycle main a:not(.page-hero__logo-link):hover, body.wp-theme-nfo-song-cycle footer a:not(.page-hero__logo-link):hover {
  box-shadow: 0 0 0 1em #E7E6E4 inset;
  color: #4F4641 !important;
  text-decoration: none !important;
}

/*
	Form styles
	TODO: cleanup - keep any?

	@package nfo-song-cycle
*/
body.wp-theme-nfo-song-cycle h2.gform_submission_error {
  line-height: 1.5rem;
  font-size: 1rem !important;
  width: 100% !important;
  text-transform: none;
  color: var(--bs-danger) !important;
}
body.wp-theme-nfo-song-cycle h2.gform_submission_error::before {
  display: inline-block;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font: var(--fa-font-solid);
  content: "\f06a";
}
body.wp-theme-nfo-song-cycle h2.gform_submission_error {
  text-wrap-mode: auto;
}
body.wp-theme-nfo-song-cycle h2.gform_submission_error:before {
  padding-right: 0.25rem;
}
body.wp-theme-nfo-song-cycle .gform_hidden {
  margin-top: -1rem;
}
body.wp-theme-nfo-song-cycle .gform_required_legend, body.wp-theme-nfo-song-cycle .gfield_required {
  display: none;
}
body.wp-theme-nfo-song-cycle .gform-body label, body.wp-theme-nfo-song-cycle .gform-body legend {
  text-transform: none;
  font-size: 1rem;
  color: #E7E6E4;
  margin-bottom: 0.5rem;
}
body.wp-theme-nfo-song-cycle .gform-body .hidden_label {
  margin-top: 2rem;
}
body.wp-theme-nfo-song-cycle .gform-body .hidden_label > legend {
  display: none;
}
body.wp-theme-nfo-song-cycle .gform-body input, body.wp-theme-nfo-song-cycle .gform-body textarea, body.wp-theme-nfo-song-cycle .gform-body select {
  background-color: rgba(9.0588235294%, 9.0196078431%, 8.9411764706%, 0.4) !important;
}
body.wp-theme-nfo-song-cycle .gform-body input:focus, body.wp-theme-nfo-song-cycle .gform-body textarea:focus, body.wp-theme-nfo-song-cycle .gform-body select:focus {
  background-color: rgba(9.0588235294%, 9.0196078431%, 8.9411764706%, 0.666) !important;
}
body.wp-theme-nfo-song-cycle .gform-body .gfield--width-full {
  padding: 0 2rem 1rem 0;
}
body.wp-theme-nfo-song-cycle .gform-body .gfield--width-half {
  width: 50% !important;
  float: left;
  padding: 0 2rem 1rem 0;
}
body.wp-theme-nfo-song-cycle .gform-body .gfield--width-half.gfield--type-textarea {
  float: right;
}
body.wp-theme-nfo-song-cycle .gform-body .gfield--width-quarter {
  width: 25% !important;
  float: left;
  padding: 0 2rem 1rem 0;
}
body.wp-theme-nfo-song-cycle .gform-body .gfield--width-three-quarters {
  width: 75% !important;
  float: left;
  padding: 0 2rem 1rem 0;
}
body.wp-theme-nfo-song-cycle .gform-body .gfield--width-one-sixth {
  float: left;
  width: 16.6666666667%;
  padding: 1rem 2rem 1rem 0;
}
body.wp-theme-nfo-song-cycle .gform-body .gfield--width-five-sixths {
  display: block;
  float: left;
  width: 83.3333333333%;
  padding: 1rem 0;
}
body.wp-theme-nfo-song-cycle .gform-body .gfield--type-html {
  vertical-align: baseline;
  line-height: 2em;
  color: rgb(54.3529411765%, 54.1176470588%, 53.6470588235%);
  text-align: right;
}
body.wp-theme-nfo-song-cycle .gform-body .gfield--type-html em {
  margin-right: -3.5rem;
}
body.wp-theme-nfo-song-cycle .gform-body .gfield--type-submit {
  text-align: right;
  vertical-align: baseline;
}
body.wp-theme-nfo-song-cycle legend {
  text-transform: uppercase;
  margin: 0;
}
body.wp-theme-nfo-song-cycle input, body.wp-theme-nfo-song-cycle select, body.wp-theme-nfo-song-cycle textarea {
  border-radius: 0.3rem;
  border-color: rgb(54.3529411765%, 54.1176470588%, 53.6470588235%);
  padding: 0.7rem 1rem;
}
body.wp-theme-nfo-song-cycle textarea:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=text]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=password]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=datetime]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=datetime-local]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=date]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=month]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=time]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=week]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=number]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=email]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=url]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=search]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=tel]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=color]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=radio]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=checkbox]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=radio]:not(.is-valid):not(.is-invalid):checked,
body.wp-theme-nfo-song-cycle input[type=checkbox]:not(.is-valid):not(.is-invalid):checked,
body.wp-theme-nfo-song-cycle .uneditable-input:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle select:focus {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 0 0.25rem rgba(170, 167, 227, 0.4);
  outline: 0 none;
}
body.wp-theme-nfo-song-cycle textarea:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=text]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=password]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=datetime]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=datetime-local]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=date]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=month]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=time]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=week]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=number]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=email]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=url]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=search]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=tel]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=color]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle .uneditable-input:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle select:focus {
  border-color: rgba(170, 167, 227, 0.9);
}
body.wp-theme-nfo-song-cycle input[type=radio]:not(.is-valid):not(.is-invalid):focus,
body.wp-theme-nfo-song-cycle input[type=checkbox]:not(.is-valid):not(.is-invalid):focus {
  border-color: #4F4641;
}
body.wp-theme-nfo-song-cycle .dark input.is-valid:focus, body.wp-theme-nfo-song-cycle .dark select.is-valid:focus, body.wp-theme-nfo-song-cycle .dark textarea.is-valid:focus {
  box-shadow: 0 1px 1px rgba(255, 255, 255, 0.075) inset, 0 0 0 0.25rem rgba(213, 228, 42, 0.4);
}
body.wp-theme-nfo-song-cycle .dark input.is-invalid:focus, body.wp-theme-nfo-song-cycle .dark select.is-invalid:focus, body.wp-theme-nfo-song-cycle .dark textarea.is-invalid:focus {
  box-shadow: 0 1px 1px rgba(255, 255, 255, 0.075) inset, 0 0 0 0.25rem rgba(255, 58, 0, 0.4);
}
body.wp-theme-nfo-song-cycle .form-control .is-valid {
  border-color: green;
}
body.wp-theme-nfo-song-cycle .form-control .is-invalid {
  border-color: #E7E6E4;
}
body.wp-theme-nfo-song-cycle .form-control .valid-feedback {
  color: #4F4641;
}
body.wp-theme-nfo-song-cycle .form-control .invalid-feedback {
  color: #E7E6E4;
}
body.wp-theme-nfo-song-cycle input[type=file]::file-selector-button {
  border: none;
  margin: -2rem 1rem -2rem -1rem;
  padding: 2rem 1rem;
  border-right: 1px solid #d4d4d4;
  background-color: #4F4641;
  color: #E7E6E4;
}
body.wp-theme-nfo-song-cycle input:hover[type=file]::file-selector-button {
  background-color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle input:active[type=file]::file-selector-button {
  background-color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle .form-check-input:checked {
  --bs-form-check-bg-image: none !important;
}
body.wp-theme-nfo-song-cycle .form-check {
  padding-left: 0.25rem;
}
body.wp-theme-nfo-song-cycle .form-check-label {
  display: inline;
}
body.wp-theme-nfo-song-cycle .form-check:not(.form-switch) input[type=radio], body.wp-theme-nfo-song-cycle .form-check:not(.form-switch) input[type=checkbox] {
  appearance: none;
  background-color: #fff;
  margin: 0 0.3rem 0 0;
  font: inherit;
  color: #4F4641;
  width: 1.125rem;
  height: 1.125rem;
  border: 0.125rem solid #4F4641;
  border-radius: 50%;
  transform: translateY(0.25rem);
  padding: 0.125rem;
  display: grid;
  place-content: center;
}
body.wp-theme-nfo-song-cycle .form-check:not(.form-switch) input[type=checkbox] {
  border-radius: 0.25rem;
}
body.wp-theme-nfo-song-cycle .form-check:not(.form-switch) input[type=radio]::before, body.wp-theme-nfo-song-cycle .form-check:not(.form-switch) input[type=checkbox]::before {
  font-size: 0.6rem !important;
  transition: transform 0.4s ease-in-out;
  transform: scale(0);
}
body.wp-theme-nfo-song-cycle .form-check:not(.form-switch) input[type=radio]:checked::before {
  display: inline-block;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font: var(--fa-font-solid);
  content: "\f111";
}
body.wp-theme-nfo-song-cycle .form-check:not(.form-switch) input[type=radio]:checked::before {
  transform: scale(1);
}
body.wp-theme-nfo-song-cycle .form-check:not(.form-switch) input[type=checkbox]::before {
  font-size: 0.9rem !important;
  translate: 0;
}
body.wp-theme-nfo-song-cycle .form-check:not(.form-switch) input[type=checkbox]:checked::before {
  display: inline-block;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font: var(--fa-font-solid);
  content: "\f00c";
}
body.wp-theme-nfo-song-cycle .form-check:not(.form-switch) input[type=checkbox]:checked::before {
  transform: scale(1);
}
body.wp-theme-nfo-song-cycle .form-switch input[type=checkbox] {
  --bs-form-switch-bg: none;
  appearance: none;
  background-color: #fff;
  margin: 0 0.4rem 0 0;
  font: inherit;
  color: #4F4641;
  width: 2.5rem;
  height: 1rem;
  border: 0.125rem solid #4F4641;
  border-radius: 0.5625rem;
  padding: 0.125rem;
  translate: 0 0.25rem;
  display: grid;
  place-content: center;
}
body.wp-theme-nfo-song-cycle .form-switch input[type=checkbox]::before {
  content: "";
  background-color: white;
  display: block;
  height: 1.25rem !important;
  width: 1.25rem !important;
  border-radius: 1rem;
  border: 2px solid #4F4641;
  translate: -0.8rem 0;
  transition: translate 0.4s ease-in-out;
}
body.wp-theme-nfo-song-cycle .form-switch input[type=checkbox]:checked {
  background-color: #4F4641;
}
body.wp-theme-nfo-song-cycle .form-switch input[type=checkbox]:checked::before {
  translate: 0.8rem 0;
}
body.wp-theme-nfo-song-cycle .btn {
  line-height: 1;
  padding: 0.7rem 1.5rem 0.6rem;
  border-radius: 50vh;
}
body.wp-theme-nfo-song-cycle .btn-lg {
  padding-top: 0.8rem;
}
body.wp-theme-nfo-song-cycle .btn i {
  margin: 0 0.3em 0 -0.2em;
  font-size: 1em !important;
}
body.wp-theme-nfo-song-cycle .btn i.right {
  margin: 0 -0.3em 0 0.2em;
}
body.wp-theme-nfo-song-cycle .input-group .btn {
  border-radius: 0.25rem;
  margin: 0;
}
body.wp-theme-nfo-song-cycle .btn-group .btn {
  padding: 0.8rem 1.5rem 0.6rem;
}
body.wp-theme-nfo-song-cycle .btn-group .btn:not([class*=dropdown]):not([class*=outline]):not(:last-child) {
  border-right: 1px solid rgba(255, 255, 255, 0.5) !important;
}
body.wp-theme-nfo-song-cycle .btn-group-vertical * {
  border-radius: 1.25rem;
}
body.wp-theme-nfo-song-cycle .btn-group-vertical .btn:not([class*=outline]):not(:first-of-type) {
  border-top: 1px solid rgba(255, 255, 255, 0.5) !important;
}
body.wp-theme-nfo-song-cycle .dark label {
  color: #E7E6E4;
}
body.wp-theme-nfo-song-cycle .dark .form-text {
  color: rgb(72.4705882353%, 72.1568627451%, 71.5294117647%) !important;
}
body.wp-theme-nfo-song-cycle .dark input, body.wp-theme-nfo-song-cycle .dark select, body.wp-theme-nfo-song-cycle .dark textarea {
  border-color: #E7E6E4;
  background-color: #4F4641;
  color: rgb(72.4705882353%, 72.1568627451%, 71.5294117647%) !important;
}
body.wp-theme-nfo-song-cycle .dark input.is-valid, body.wp-theme-nfo-song-cycle .dark select.is-valid, body.wp-theme-nfo-song-cycle .dark textarea.is-valid {
  border-color: green;
}
body.wp-theme-nfo-song-cycle .dark input.is-invalid, body.wp-theme-nfo-song-cycle .dark select.is-invalid, body.wp-theme-nfo-song-cycle .dark textarea.is-invalid {
  border-color: #E7E6E4 !important;
}
body.wp-theme-nfo-song-cycle .dark input::placeholder, body.wp-theme-nfo-song-cycle .dark select::placeholder, body.wp-theme-nfo-song-cycle .dark textarea::placeholder {
  color: rgb(72.4705882353%, 72.1568627451%, 71.5294117647%) !important;
  opacity: 0.55;
}
body.wp-theme-nfo-song-cycle .dark input:disabled, body.wp-theme-nfo-song-cycle .dark select:disabled, body.wp-theme-nfo-song-cycle .dark textarea:disabled {
  background-color: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.5);
}
body.wp-theme-nfo-song-cycle .dark .valid-feedback {
  color: green !important;
}
body.wp-theme-nfo-song-cycle .dark input[type=file]::file-selector-button {
  background-color: #E7E6E4;
  color: #4F4641;
}
body.wp-theme-nfo-song-cycle .dark input:hover[type=file]::file-selector-button {
  color: #E7E6E4 !important;
}
body.wp-theme-nfo-song-cycle .dark .input-group-text {
  background-color: #4F4641;
  border-color: #E7E6E4;
  color: #E7E6E4;
}
body.wp-theme-nfo-song-cycle .dark .form-floating input::placeholder {
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle .dark .form-floating input:focus::placeholder {
  color: rgb(72.4705882353%, 72.1568627451%, 71.5294117647%) !important;
  opacity: 0.55;
}
body.wp-theme-nfo-song-cycle .dark .form-switch input {
  border-color: #E7E6E4 !important;
  background-color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle .dark .form-switch input::before {
  border-color: #E7E6E4 !important;
  background-color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle .dark .form-switch input:checked {
  background-color: #E7E6E4 !important;
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle .dark .form-check:not(.form-switch) input[type=radio], body.wp-theme-nfo-song-cycle .dark .form-check:not(.form-switch) input[type=checkbox] {
  border-color: #E7E6E4 !important;
  color: #4F4641 !important;
  background-color: #4F4641 !important;
  --bs-form-check-bg-img: none !important;
}
body.wp-theme-nfo-song-cycle .dark .form-check:not(.form-switch) input[type=radio]::before, body.wp-theme-nfo-song-cycle .dark .form-check:not(.form-switch) input[type=checkbox]::before {
  color: #E7E6E4 !important;
}

@media (max-width: 1399px) {
  .wp-theme-nfo-song-cycle .gform-body .gfield--type-html em, .wp-theme-nfo-song-cycle .gform-body .gfield--type-submit em {
    margin-right: -2rem;
  }
}
@media (max-width: 1199px) {
  .wp-theme-nfo-song-cycle .gform-body .gfield--type-html em, .wp-theme-nfo-song-cycle .gform-body .gfield--type-submit em {
    margin-right: 0;
  }
}
@media (max-width: 991px) {
  .wp-theme-nfo-song-cycle .gform-body .gfield--width-full,
  .wp-theme-nfo-song-cycle .gform-body .gfield--width-half,
  .wp-theme-nfo-song-cycle .gform-body .gfield--width-one-sixth,
  .wp-theme-nfo-song-cycle .gform-body .gfield--width-five-sixths {
    width: 100% !important;
    float: none;
    padding: 0 0 1rem 0;
  }
  .wp-theme-nfo-song-cycle .gform-body .gfield--width-quarter {
    width: 50% !important;
    padding: 0 0 1rem 0;
  }
  .wp-theme-nfo-song-cycle .gform-body .gfield--type-html, .wp-theme-nfo-song-cycle .gform-body .gfield--type-submit {
    text-align: center !important;
  }
  .wp-theme-nfo-song-cycle .gform-body .gfield--type-html .stla-bootstrap, .wp-theme-nfo-song-cycle .gform-body .gfield--type-submit .stla-bootstrap {
    display: block;
    text-align: center !important;
  }
  .wp-theme-nfo-song-cycle .gform_footer {
    text-align: center;
  }
}
@media (max-width: 767px) {
  .wp-theme-nfo-song-cycle .gform-body .gfield--width-quarter {
    width: 100% !important;
    float: none;
    padding: 0 0 1rem 0;
  }
  .wp-theme-nfo-song-cycle .gform-body .hidden_label {
    margin-top: -1rem;
  }
}
/*
	Theme colors - translates color palette to section backgrounds, utlity classes and buttons

	@package nfo-song-cycle
*/
body.wp-theme-nfo-song-cycle section.primary {
  background-color: #4F4641 !important;
  color: #FFFFFF !important;
}
body.wp-theme-nfo-song-cycle section.secondary {
  background-color: #E7E6E4 !important;
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle section.dark {
  background-color: #4F4641 !important;
  color: #FFFFFF !important;
}
body.wp-theme-nfo-song-cycle section.light {
  background-color: #E7E6E4 !important;
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle section.white {
  background-color: #FFFFFF !important;
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle section.gray-100 {
  background-color: #E7E6E4 !important;
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle section.gray-200 {
  background-color: rgb(72.4705882353%, 72.1568627451%, 71.5294117647%) !important;
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle section.gray-300 {
  background-color: rgb(63.4117647059%, 63.137254902%, 62.5882352941%) !important;
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle section.gray-400 {
  background-color: rgb(54.3529411765%, 54.1176470588%, 53.6470588235%) !important;
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle section.gray-500 {
  background-color: rgb(45.2941176471%, 45.0980392157%, 44.7058823529%) !important;
  color: #FFFFFF !important;
}
body.wp-theme-nfo-song-cycle section.gray-600 {
  background-color: rgb(36.2352941176%, 36.0784313725%, 35.7647058824%) !important;
  color: #FFFFFF !important;
}
body.wp-theme-nfo-song-cycle section.gray-700 {
  background-color: rgb(27.1764705882%, 27.0588235294%, 26.8235294118%) !important;
  color: #FFFFFF !important;
}
body.wp-theme-nfo-song-cycle section.gray-800 {
  background-color: rgb(18.1176470588%, 18.0392156863%, 17.8823529412%) !important;
  color: #FFFFFF !important;
}
body.wp-theme-nfo-song-cycle section.gray-900 {
  background-color: rgb(9.0588235294%, 9.0196078431%, 8.9411764706%) !important;
  color: #FFFFFF !important;
}
body.wp-theme-nfo-song-cycle section.grey-100 {
  background-color: #E7E6E4 !important;
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle section.grey-200 {
  background-color: rgb(72.4705882353%, 72.1568627451%, 71.5294117647%) !important;
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle section.grey-300 {
  background-color: rgb(63.4117647059%, 63.137254902%, 62.5882352941%) !important;
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle section.grey-400 {
  background-color: rgb(54.3529411765%, 54.1176470588%, 53.6470588235%) !important;
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle section.grey-500 {
  background-color: rgb(45.2941176471%, 45.0980392157%, 44.7058823529%) !important;
  color: #FFFFFF !important;
}
body.wp-theme-nfo-song-cycle section.grey-600 {
  background-color: rgb(36.2352941176%, 36.0784313725%, 35.7647058824%) !important;
  color: #FFFFFF !important;
}
body.wp-theme-nfo-song-cycle section.grey-700 {
  background-color: rgb(27.1764705882%, 27.0588235294%, 26.8235294118%) !important;
  color: #FFFFFF !important;
}
body.wp-theme-nfo-song-cycle section.grey-800 {
  background-color: rgb(18.1176470588%, 18.0392156863%, 17.8823529412%) !important;
  color: #FFFFFF !important;
}
body.wp-theme-nfo-song-cycle section.grey-900 {
  background-color: rgb(9.0588235294%, 9.0196078431%, 8.9411764706%) !important;
  color: #FFFFFF !important;
}
body.wp-theme-nfo-song-cycle .text-bg-primary {
  background-color: #4F4641 !important;
  color: #FFFFFF !important;
}
body.wp-theme-nfo-song-cycle .text-primary {
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle .text-bg-secondary {
  background-color: #E7E6E4 !important;
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle .text-secondary {
  color: #E7E6E4 !important;
}
body.wp-theme-nfo-song-cycle .text-bg-dark {
  background-color: #4F4641 !important;
  color: #FFFFFF !important;
}
body.wp-theme-nfo-song-cycle .text-dark {
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle .text-bg-light {
  background-color: #E7E6E4 !important;
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle .text-light {
  color: #E7E6E4 !important;
}
body.wp-theme-nfo-song-cycle .text-bg-white {
  background-color: #FFFFFF !important;
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle .text-white {
  color: #FFFFFF !important;
}
body.wp-theme-nfo-song-cycle .text-bg-gray-100 {
  background-color: #E7E6E4 !important;
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle .text-gray-100 {
  color: #E7E6E4 !important;
}
body.wp-theme-nfo-song-cycle .text-bg-gray-200 {
  background-color: rgb(72.4705882353%, 72.1568627451%, 71.5294117647%) !important;
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle .text-gray-200 {
  color: rgb(72.4705882353%, 72.1568627451%, 71.5294117647%) !important;
}
body.wp-theme-nfo-song-cycle .text-bg-gray-300 {
  background-color: rgb(63.4117647059%, 63.137254902%, 62.5882352941%) !important;
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle .text-gray-300 {
  color: rgb(63.4117647059%, 63.137254902%, 62.5882352941%) !important;
}
body.wp-theme-nfo-song-cycle .text-bg-gray-400 {
  background-color: rgb(54.3529411765%, 54.1176470588%, 53.6470588235%) !important;
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle .text-gray-400 {
  color: rgb(54.3529411765%, 54.1176470588%, 53.6470588235%) !important;
}
body.wp-theme-nfo-song-cycle .text-bg-gray-500 {
  background-color: rgb(45.2941176471%, 45.0980392157%, 44.7058823529%) !important;
  color: #FFFFFF !important;
}
body.wp-theme-nfo-song-cycle .text-gray-500 {
  color: rgb(45.2941176471%, 45.0980392157%, 44.7058823529%) !important;
}
body.wp-theme-nfo-song-cycle .text-bg-gray-600 {
  background-color: rgb(36.2352941176%, 36.0784313725%, 35.7647058824%) !important;
  color: #FFFFFF !important;
}
body.wp-theme-nfo-song-cycle .text-gray-600 {
  color: rgb(36.2352941176%, 36.0784313725%, 35.7647058824%) !important;
}
body.wp-theme-nfo-song-cycle .text-bg-gray-700 {
  background-color: rgb(27.1764705882%, 27.0588235294%, 26.8235294118%) !important;
  color: #FFFFFF !important;
}
body.wp-theme-nfo-song-cycle .text-gray-700 {
  color: rgb(27.1764705882%, 27.0588235294%, 26.8235294118%) !important;
}
body.wp-theme-nfo-song-cycle .text-bg-gray-800 {
  background-color: rgb(18.1176470588%, 18.0392156863%, 17.8823529412%) !important;
  color: #FFFFFF !important;
}
body.wp-theme-nfo-song-cycle .text-gray-800 {
  color: rgb(18.1176470588%, 18.0392156863%, 17.8823529412%) !important;
}
body.wp-theme-nfo-song-cycle .text-bg-gray-900 {
  background-color: rgb(9.0588235294%, 9.0196078431%, 8.9411764706%) !important;
  color: #FFFFFF !important;
}
body.wp-theme-nfo-song-cycle .text-gray-900 {
  color: rgb(9.0588235294%, 9.0196078431%, 8.9411764706%) !important;
}
body.wp-theme-nfo-song-cycle .text-bg-grey-100 {
  background-color: #E7E6E4 !important;
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle .text-grey-100 {
  color: #E7E6E4 !important;
}
body.wp-theme-nfo-song-cycle .text-bg-grey-200 {
  background-color: rgb(72.4705882353%, 72.1568627451%, 71.5294117647%) !important;
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle .text-grey-200 {
  color: rgb(72.4705882353%, 72.1568627451%, 71.5294117647%) !important;
}
body.wp-theme-nfo-song-cycle .text-bg-grey-300 {
  background-color: rgb(63.4117647059%, 63.137254902%, 62.5882352941%) !important;
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle .text-grey-300 {
  color: rgb(63.4117647059%, 63.137254902%, 62.5882352941%) !important;
}
body.wp-theme-nfo-song-cycle .text-bg-grey-400 {
  background-color: rgb(54.3529411765%, 54.1176470588%, 53.6470588235%) !important;
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle .text-grey-400 {
  color: rgb(54.3529411765%, 54.1176470588%, 53.6470588235%) !important;
}
body.wp-theme-nfo-song-cycle .text-bg-grey-500 {
  background-color: rgb(45.2941176471%, 45.0980392157%, 44.7058823529%) !important;
  color: #FFFFFF !important;
}
body.wp-theme-nfo-song-cycle .text-grey-500 {
  color: rgb(45.2941176471%, 45.0980392157%, 44.7058823529%) !important;
}
body.wp-theme-nfo-song-cycle .text-bg-grey-600 {
  background-color: rgb(36.2352941176%, 36.0784313725%, 35.7647058824%) !important;
  color: #FFFFFF !important;
}
body.wp-theme-nfo-song-cycle .text-grey-600 {
  color: rgb(36.2352941176%, 36.0784313725%, 35.7647058824%) !important;
}
body.wp-theme-nfo-song-cycle .text-bg-grey-700 {
  background-color: rgb(27.1764705882%, 27.0588235294%, 26.8235294118%) !important;
  color: #FFFFFF !important;
}
body.wp-theme-nfo-song-cycle .text-grey-700 {
  color: rgb(27.1764705882%, 27.0588235294%, 26.8235294118%) !important;
}
body.wp-theme-nfo-song-cycle .text-bg-grey-800 {
  background-color: rgb(18.1176470588%, 18.0392156863%, 17.8823529412%) !important;
  color: #FFFFFF !important;
}
body.wp-theme-nfo-song-cycle .text-grey-800 {
  color: rgb(18.1176470588%, 18.0392156863%, 17.8823529412%) !important;
}
body.wp-theme-nfo-song-cycle .text-bg-grey-900 {
  background-color: rgb(9.0588235294%, 9.0196078431%, 8.9411764706%) !important;
  color: #FFFFFF !important;
}
body.wp-theme-nfo-song-cycle .text-grey-900 {
  color: rgb(9.0588235294%, 9.0196078431%, 8.9411764706%) !important;
}
body.wp-theme-nfo-song-cycle .btn {
  font-family: "montserrat", sans-serif;
  font-weight: 600;
  font-size: clamp(1rem, 1.125vw, 1.125rem);
  line-height: 1.6;
  padding: 0.5rem 1.5rem;
  border-width: 2px;
  border-radius: 0;
  text-decoration: none;
}
body.wp-theme-nfo-song-cycle .btn-primary {
  background-color: #E7E6E4 !important;
  border-color: #E7E6E4 !important;
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle .btn-primary:hover, body.wp-theme-nfo-song-cycle .btn-primary.hover, body.wp-theme-nfo-song-cycle .btn-primary:focus-visible {
  background-color: transparent !important;
  border-color: #E7E6E4 !important;
  color: #E7E6E4 !important;
}
body.wp-theme-nfo-song-cycle .btn-outline-primary {
  background-color: transparent !important;
  border-color: #E7E6E4 !important;
  color: #E7E6E4 !important;
}
body.wp-theme-nfo-song-cycle .btn-outline-primary:hover, body.wp-theme-nfo-song-cycle .btn-outline-primary.hover, body.wp-theme-nfo-song-cycle .btn-outline-primary:focus-visible {
  background-color: #E7E6E4 !important;
  border-color: #E7E6E4 !important;
  color: #4F4641 !important;
}

/*
	Theme-specific base styles

	@package nfo-song-cycle
*/
/*
	The site has one palette and no dark variant, so it opts out of any the
	browser might apply for it. Samsung Internet's Webview in particular
	re-maps page colours when the device is in dark mode, which turns the pale
	sky of the full-screen menu near-black and takes the dark logo with it.
*/
:root {
  color-scheme: only light;
  /*
  	The section rhythm, published as a custom property.

  	Every band of the page reads this rather than the Sass variable, so
  	the three places that own section spacing - <section>, the footer and
  	the hero intro - step down together at the breakpoints below. It is
  	declared on :root so it inherits everywhere, including the footer,
  	which sits outside <main>.
  */
  --section-spacing: 3.75rem;
}

@media (max-width: 991px) {
  :root {
    --section-spacing: 2.5rem;
  }
}
@media (max-width: 767px) {
  :root {
    --section-spacing: 2rem;
  }
}
body.wp-theme-nfo-song-cycle {
  background-color: #4F4641;
}
body.wp-theme-nfo-song-cycle main {
  background-color: #4F4641;
}
body.wp-theme-nfo-song-cycle .offcanvas {
  z-index: 9999;
  width: 900px;
  max-height: unset;
  height: auto;
}
body.wp-theme-nfo-song-cycle .offcanvas-backdrop {
  z-index: 9998;
}
body.wp-theme-nfo-song-cycle .zoom-link:hover {
  cursor: pointer !important;
}
body.wp-theme-nfo-song-cycle section, body.wp-theme-nfo-song-cycle footer {
  position: relative;
  z-index: 900;
  overflow: hidden;
}
body.wp-theme-nfo-song-cycle section {
  padding: var(--section-spacing) 0;
}
body.wp-theme-nfo-song-cycle hls-video,
body.wp-theme-nfo-song-cycle videojs-video,
body.wp-theme-nfo-song-cycle youtube-video,
body.wp-theme-nfo-song-cycle vimeo-video {
  aspect-ratio: 16/9;
  display: block;
  max-height: 100%;
  margin: auto;
}
body.wp-theme-nfo-song-cycle .below-animation {
  z-index: auto !important;
}
body.wp-theme-nfo-song-cycle .above-animation, body.wp-theme-nfo-song-cycle .above-animation * {
  z-index: 999 !important;
}
body.wp-theme-nfo-song-cycle .figure {
  width: 100%;
}
body.wp-theme-nfo-song-cycle .figure img {
  max-width: 100%;
}
body.wp-theme-nfo-song-cycle .img-placeholder {
  aspect-ratio: calc(4 / 3);
  position: relative;
  padding-bottom: calc(3 / 4 * 100%);
  height: 0;
  overflow: hidden;
  position: relative;
  background-color: #E7E6E4;
}
body.wp-theme-nfo-song-cycle .img-placeholder::after {
  display: inline-block;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font: var(--fa-font-solid);
  content: "\f03e";
}
body.wp-theme-nfo-song-cycle .img-placeholder:after {
  color: rgba(72.4705882353%, 72.1568627451%, 71.5294117647%, 0.3);
  font-size: 4rem;
  position: absolute;
  top: calc(50% - 4rem);
  left: calc(50% - 4rem);
  translate: 50% 50%;
}
body.wp-theme-nfo-song-cycle a {
  color: #FFFFFF;
  text-decoration: underline;
  text-underline-position: from-font;
}
body.wp-theme-nfo-song-cycle a:hover, body.wp-theme-nfo-song-cycle a:focus-visible {
  color: rgba(255, 255, 255, 0.7);
}
body.wp-theme-nfo-song-cycle a {
  transition: color 0.4s, background-color 0.4s, border-color 0.4s;
}
body.wp-theme-nfo-song-cycle a .underline {
  transition: border-color 0.4s ease-in-out;
}
body.wp-theme-nfo-song-cycle .link-group-card {
  position: relative;
}
body.wp-theme-nfo-song-cycle .link-overlay {
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9999 !important;
}
body.wp-theme-nfo-song-cycle .image-zoom {
  overflow: hidden;
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: calc(4 / 3);
  position: relative;
  padding-bottom: calc(3 / 4 * 100%);
  height: 0;
  overflow: hidden;
}
body.wp-theme-nfo-song-cycle .image-zoom > img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition: transform 0.4s ease-in-out;
}
body.wp-theme-nfo-song-cycle .image-zoom:hover > img, body.wp-theme-nfo-song-cycle .image-zoom.hover > img {
  transform: scale(1.03);
}
body.wp-theme-nfo-song-cycle .hover .image-zoom > img {
  transform: scale(1.03);
}
body.wp-theme-nfo-song-cycle .os-scrollbar-handle {
  --os-handle-bg: #E7E6E4;
  --os-handle-bg-active: #E7E6E4;
  --os-handle-bg-hover: #E7E6E4;
}
body.wp-theme-nfo-song-cycle .os-scrollbar-track {
  --os-track-bg: rgb(18.1176470588%, 18.0392156863%, 17.8823529412%);
  --os-handle-bg-active: rgb(18.1176470588%, 18.0392156863%, 17.8823529412%);
  --os-handle-bg-hover: rgb(18.1176470588%, 18.0392156863%, 17.8823529412%);
}
body.wp-theme-nfo-song-cycle .white .os-scrollbar-track {
  --os-track-bg: #E7E6E4;
  --os-handle-bg-active: #E7E6E4;
  --os-handle-bg-hover: #E7E6E4;
}
body.wp-theme-nfo-song-cycle .fallback {
  display: none;
}
/*
	Header-specific styles

	A fixed bar carrying the logo and the menu toggle, plus the full-screen
	menu the toggle opens.

	Measurements come from the Figma frames. The bar is sized by its logo -
	160px tall on desktop, 120px on tablet and 100px on mobile - with 8px of
	padding above and below, which is what makes the scrolled bar 176/136/116
	tall. The horizontal inset is the page gutter at each width: 80/22/16.

	Three states, all set on .site-header from
	resources/js/main/nfo-song-cycle-navigation.js:

	- (default)   transparent bar, logo hidden - the hero carries the lockup
	- .is-scrolled  light background and logo faded in, once the page has
	                scrolled past the hero logo
	- .is-open      the full-screen menu is open and the toggle is an X

	@package nfo-song-cycle
*/
/*
	The height of the fixed bar, published as a custom property.

	Everything that has to clear the bar reads this rather than working it out
	again: the overlay's top padding, the top of a page with no hero, and the
	offset the browser applies when it lands on an anchor. Without that last
	one a same-page link - the menu's Screenplay item, say - scrolls its
	target up underneath the bar.

	It is declared on :root because scroll-padding has to be set on the
	scrolling element, which is <html>, and custom properties only inherit
	downwards.
*/
:root {
  --header-height: 11rem;
}

html {
  scroll-padding-top: var(--header-height);
}

@media (max-width: 991px) {
  :root {
    --header-height: 8.5rem;
  }
}
@media (max-width: 767px) {
  :root {
    --header-height: 7.25rem;
  }
}
body.wp-theme-nfo-song-cycle .site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  color: #4F4641;
  pointer-events: none;
}
body.wp-theme-nfo-song-cycle .site-header__bar {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.5rem 5rem;
  background-color: transparent;
  transition: background-color 0.3s ease-in-out;
}
body.wp-theme-nfo-song-cycle .site-header__logo,
body.wp-theme-nfo-song-cycle .site-header .nav-toggle,
body.wp-theme-nfo-song-cycle .site-header .nav-overlay {
  pointer-events: auto;
}
body.wp-theme-nfo-song-cycle .site-header__logo {
  display: block;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}
body.wp-theme-nfo-song-cycle .site-header__logo img {
  display: block;
  height: 10rem;
  width: auto;
}
body.wp-theme-nfo-song-cycle .site-header.is-scrolled .site-header__bar {
  background-color: #E7E6E4;
  pointer-events: auto;
}
body.wp-theme-nfo-song-cycle .site-header.is-scrolled .site-header__logo {
  opacity: 1;
  visibility: visible;
}
body.wp-theme-nfo-song-cycle .site-header.is-open .site-header__logo {
  opacity: 1;
  visibility: visible;
}
body.wp-theme-nfo-song-cycle .site-header.is-open .site-header__bar {
  background-color: transparent;
  pointer-events: auto;
}
body.wp-theme-nfo-song-cycle .site-header.is-open .nav-overlay {
  opacity: 1;
  visibility: visible;
}
body.wp-theme-nfo-song-cycle {
  /*
  	Menu toggle

  	Two 44x4 bars, 12px apart, that rotate into an X on open. The bars are
  	absolutely positioned inside the 44x48 hit area so they can move to
  	the centre and rotate from the same origin.
  */
}
body.wp-theme-nfo-song-cycle .nav-toggle {
  flex-shrink: 0;
  display: block;
  position: relative;
  width: 2.75rem;
  height: 3rem;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  cursor: pointer;
}
body.wp-theme-nfo-song-cycle .nav-toggle__bars {
  display: block;
  position: absolute;
  inset: 0;
}
body.wp-theme-nfo-song-cycle .nav-toggle__bar {
  position: absolute;
  left: 0;
  width: 100%;
  height: 0.25rem;
  background-color: currentColor;
  transition: top 0.3s ease-in-out, transform 0.3s ease-in-out;
}
body.wp-theme-nfo-song-cycle .nav-toggle__bar:nth-child(1) {
  top: 1rem;
}
body.wp-theme-nfo-song-cycle .nav-toggle__bar:nth-child(2) {
  top: 1.75rem;
}
body.wp-theme-nfo-song-cycle .nav-toggle__label-close {
  display: none;
}
body.wp-theme-nfo-song-cycle .nav-toggle[aria-expanded=true] .nav-toggle__bar {
  top: calc(50% - 0.125rem);
}
body.wp-theme-nfo-song-cycle .nav-toggle[aria-expanded=true] .nav-toggle__bar:nth-child(1) {
  transform: rotate(45deg);
}
body.wp-theme-nfo-song-cycle .nav-toggle[aria-expanded=true] .nav-toggle__bar:nth-child(2) {
  transform: rotate(-45deg);
}
body.wp-theme-nfo-song-cycle .nav-toggle[aria-expanded=true] .nav-toggle__label-open {
  display: none;
}
body.wp-theme-nfo-song-cycle .nav-toggle[aria-expanded=true] .nav-toggle__label-close {
  display: block;
}
body.wp-theme-nfo-song-cycle {
  /*
  	Full-screen menu

  	Covers the viewport beneath the bar. The links take the space left
  	between the bar and the contact block and centre themselves in it.
  */
}
body.wp-theme-nfo-song-cycle .nav-overlay {
  position: fixed;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  background-color: #E7E6E4;
  color: #4F4641;
  padding-top: var(--header-height);
  padding-bottom: 5rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  overflow-y: auto;
  overscroll-behavior: contain;
}
body.wp-theme-nfo-song-cycle .nav-overlay__nav {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.wp-theme-nfo-song-cycle .nav-overlay {
  /*
  	wp_nav_menu puts .nav-overlay__menu on the <ul> itself; the page
  	list WordPress falls back to when no menu is assigned to the
  	location wraps that <ul> in a <div> and puts the class there. Both
  	shapes are styled so the menu does not depend on which one renders
  	- and so the breakpoint overrides below, which key off the link
  	alone, are not outweighed by a selector naming the <ul>.
  */
}
body.wp-theme-nfo-song-cycle .nav-overlay__menu,
body.wp-theme-nfo-song-cycle .nav-overlay__menu ul {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.75rem;
  width: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
  list-style: none;
}
body.wp-theme-nfo-song-cycle .nav-overlay__menu li {
  margin: 0;
}
body.wp-theme-nfo-song-cycle .nav-overlay__menu a {
  font-family: "veneer", sans-serif;
  font-weight: 400;
  font-style: normal;
  display: inline-block;
  font-size: 4.5rem;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;
  color: inherit;
  transition: opacity 0.4s ease-in-out;
}
body.wp-theme-nfo-song-cycle .nav-overlay__menu a:hover, body.wp-theme-nfo-song-cycle .nav-overlay__menu a:focus-visible {
  color: inherit;
  opacity: 0.65;
}
body.wp-theme-nfo-song-cycle .nav-overlay__menu .is-current > a,
body.wp-theme-nfo-song-cycle .nav-overlay__menu .current-menu-item > a,
body.wp-theme-nfo-song-cycle .nav-overlay__menu .current_page_item > a {
  text-decoration: underline;
  text-underline-position: from-font;
}
body.wp-theme-nfo-song-cycle .nav-overlay__footer {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  text-align: center;
}
body.wp-theme-nfo-song-cycle .nav-overlay__email {
  font-family: "veneer", sans-serif;
  font-weight: 400;
  font-style: normal;
  margin: 0;
  font-size: 2.25rem;
  line-height: 1;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}
body.wp-theme-nfo-song-cycle .nav-overlay__email a {
  color: inherit;
  text-decoration: none;
}
body.wp-theme-nfo-song-cycle .nav-overlay__email a:hover, body.wp-theme-nfo-song-cycle .nav-overlay__email a:focus-visible {
  color: inherit;
  text-decoration: underline;
  text-underline-position: from-font;
}
body.wp-theme-nfo-song-cycle.nav-open {
  overflow: hidden;
}
body.wp-theme-nfo-song-cycle {
  /*
  	The bar is fixed, so it sits over the top of the page. A hero is drawn
  	for that - the artwork runs up behind the bar by design. Anything else
  	(the blog, search, 404) needs to start below it.
  */
}
body.wp-theme-nfo-song-cycle .site-main:not(:has(.page-hero)) {
  padding-top: var(--header-height);
}
@media (max-width: 1199px) {
  body.wp-theme-nfo-song-cycle .site-header__bar {
    padding-inline: 2.5rem;
  }
}
@media (max-width: 991px) {
  body.wp-theme-nfo-song-cycle .site-header__bar {
    padding-inline: 1.375rem;
  }
  body.wp-theme-nfo-song-cycle .site-header__logo img {
    height: 7.5rem;
  }
  body.wp-theme-nfo-song-cycle .nav-overlay {
    padding-bottom: 3.75rem;
  }
  body.wp-theme-nfo-song-cycle .nav-overlay__menu,
  body.wp-theme-nfo-song-cycle .nav-overlay__menu ul {
    gap: 1.4375rem;
  }
  body.wp-theme-nfo-song-cycle .nav-overlay__menu a {
    font-size: 3.75rem;
  }
  body.wp-theme-nfo-song-cycle .nav-overlay__email {
    font-size: 1.5rem;
  }
}
@media (max-width: 767px) {
  body.wp-theme-nfo-song-cycle .site-header__bar {
    padding-inline: 1rem;
  }
  body.wp-theme-nfo-song-cycle .site-header__logo img {
    height: 6.25rem;
  }
  body.wp-theme-nfo-song-cycle .nav-overlay {
    padding-bottom: 2.5rem;
  }
  body.wp-theme-nfo-song-cycle .nav-overlay__menu,
  body.wp-theme-nfo-song-cycle .nav-overlay__menu ul {
    gap: 1.6875rem;
  }
  body.wp-theme-nfo-song-cycle .nav-overlay__menu a {
    font-size: 3rem;
  }
}
@media (max-width: 575px) {
  body.wp-theme-nfo-song-cycle .nav-overlay__email {
    font-size: 1.25rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.wp-theme-nfo-song-cycle .site-header__bar,
  body.wp-theme-nfo-song-cycle .site-header__logo,
  body.wp-theme-nfo-song-cycle .nav-overlay,
  body.wp-theme-nfo-song-cycle .nav-toggle__bar {
    transition: none;
  }
}

/*
	Footer-specific styles

	The footer is a centred two-line block - a contact email set in Veneer at
	the H2 size, and a copyright line in Montserrat beneath it - on the same
	dark brown as the rest of the page.

	Measurements come from the Figma frames: desktop 60px email / 18px
	copyright with a 32px gap and 120px of space above and below; mobile 24px
	email / 14px copyright with a 24px gap.

	@package nfo-song-cycle
*/
body.wp-theme-nfo-song-cycle .site-footer {
  background-color: #4F4641;
  color: #FFFFFF;
  padding: var(--section-spacing) 0;
}
body.wp-theme-nfo-song-cycle .site-footer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}
body.wp-theme-nfo-song-cycle .site-footer__email {
  font-size: 2.25rem;
  margin-bottom: 0;
  overflow-wrap: anywhere;
}
body.wp-theme-nfo-song-cycle .site-footer__email a {
  color: inherit;
  text-decoration: none;
}
body.wp-theme-nfo-song-cycle .site-footer__email a:hover, body.wp-theme-nfo-song-cycle .site-footer__email a:focus-visible {
  color: inherit;
  text-decoration: underline;
  text-underline-position: from-font;
}
body.wp-theme-nfo-song-cycle .site-footer__copyright {
  margin-bottom: 0;
  line-height: 1.6;
}
@media (max-width: 991px) {
  body.wp-theme-nfo-song-cycle .site-footer {
    padding-bottom: 2.5rem;
  }
}
@media (max-width: 575px) {
  body.wp-theme-nfo-song-cycle .site-footer__inner {
    gap: 1.5rem;
  }
  body.wp-theme-nfo-song-cycle .site-footer__email {
    font-size: 1.5rem;
  }
  body.wp-theme-nfo-song-cycle .site-footer__copyright {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

/*
	Bootstrap Carousel partial styles

	@package nfo-song-cycle
*/
div.carousel .carousel-caption {
  bottom: 0;
  right: 0;
  left: 0;
  padding-bottom: 2.5rem;
  --bs-bg-opacity: .5;
}

/*
	Search Form styles

	@package nfo-song-cycle
*/
/*
	Social icon links

	Rendered by template-parts/partial-social-links.php from the Social Links
	repeater on the Site Options page. Currently used at the bottom of the
	full-screen menu; the styles are kept here rather than in the header so
	the partial can be dropped in anywhere.

	The icons are inlined SVGs drawing in currentColor, so they take the
	colour of whatever they sit in. They are sized by height rather than
	width so marks with different aspect ratios - the tall Facebook "f"
	against the near-square X - sit on the same optical line, which is what
	the design does.

	@package nfo-song-cycle
*/
body.wp-theme-nfo-song-cycle .social-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.125rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
body.wp-theme-nfo-song-cycle .social-links__item {
  margin: 0;
}
body.wp-theme-nfo-song-cycle .social-links__link {
  display: block;
  color: inherit;
  transition: opacity 0.4s ease-in-out;
}
body.wp-theme-nfo-song-cycle .social-links__link:hover, body.wp-theme-nfo-song-cycle .social-links__link:focus-visible {
  color: inherit;
  opacity: 0.65;
}
body.wp-theme-nfo-song-cycle .social-links__icon {
  display: block;
}
body.wp-theme-nfo-song-cycle .social-links__icon svg, body.wp-theme-nfo-song-cycle .social-links__icon img {
  display: block;
  height: 2.1875rem;
  width: auto;
}

/*
	Content Block component styles
	TODO: cleanup - keep any?

	@package nfo-song-cycle
*/
body.wp-theme-nfo-song-cycle .content-block {
  background-color: #E7E6E4;
  color: #4F4641;
  padding: 3.75rem 0;
}
body.wp-theme-nfo-song-cycle .content-block h1 {
  font-size: 4rem;
  text-transform: none;
}
body.wp-theme-nfo-song-cycle .content-block h2, body.wp-theme-nfo-song-cycle .content-block h3, body.wp-theme-nfo-song-cycle .content-block h4, body.wp-theme-nfo-song-cycle .content-block h5, body.wp-theme-nfo-song-cycle .content-block h6 {
  font-size: 1.75rem !important;
  text-transform: none;
}
body.wp-theme-nfo-song-cycle .content-block h3 {
  font-size: 1.5rem !important;
}
body.wp-theme-nfo-song-cycle .content-block h4 {
  font-size: 1.25rem !important;
}
body.wp-theme-nfo-song-cycle .content-block h5 {
  font-size: 1.125rem !important;
}
body.wp-theme-nfo-song-cycle .content-block h6 {
  font-size: 1rem !important;
}
/*
	Content with Accordion component styles
	TODO: cleanup - keep any?

	@package nfo-song-cycle
*/
body.wp-theme-nfo-song-cycle .content-with-accordion {
  background-color: #4F4641;
  color: rgb(72.4705882353%, 72.1568627451%, 71.5294117647%);
  padding: 3.75rem 0;
}
body.wp-theme-nfo-song-cycle .content-with-accordion .eyebrow {
  color: #E7E6E4;
}
body.wp-theme-nfo-song-cycle .content-with-accordion .accordion, body.wp-theme-nfo-song-cycle .content-with-accordion .accordion-item, body.wp-theme-nfo-song-cycle .content-with-accordion .accordion-button, body.wp-theme-nfo-song-cycle .content-with-accordion .accordion-collapse {
  background-color: transparent;
  border: none;
  --bs-accordion-border-color: transparent;
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
}
body.wp-theme-nfo-song-cycle .content-with-accordion .accordion {
  border-bottom: 1px solid #E7E6E4;
}
body.wp-theme-nfo-song-cycle .content-with-accordion .accordion .accordion-item {
  border-top: 1px solid #E7E6E4;
}
body.wp-theme-nfo-song-cycle .content-with-accordion .accordion .accordion-item .accordion-header {
  margin: 0;
}
body.wp-theme-nfo-song-cycle .content-with-accordion .accordion .accordion-item .accordion-header .accordion-button {
  font-size: 1.125rem;
  color: rgb(72.4705882353%, 72.1568627451%, 71.5294117647%);
  padding: 1.5rem 1.5rem 1.4rem;
}
body.wp-theme-nfo-song-cycle .content-with-accordion .accordion .accordion-item .accordion-header .accordion-button.collapsed {
  color: #E7E6E4;
}
body.wp-theme-nfo-song-cycle .content-with-accordion .accordion .accordion-item .accordion-header .accordion-button {
  /* COLLAPSED (down arrow) */
}
body.wp-theme-nfo-song-cycle .content-with-accordion .accordion .accordion-item .accordion-header .accordion-button::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23E7E6E4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
}
body.wp-theme-nfo-song-cycle .content-with-accordion .accordion .accordion-item .accordion-header .accordion-button {
  /* EXPANDED (rotated arrow, pointing up) */
}
body.wp-theme-nfo-song-cycle .content-with-accordion .accordion .accordion-item .accordion-header .accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23B9B8B6'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
}
body.wp-theme-nfo-song-cycle .content-with-accordion .accordion .accordion-item .accordion-header .accordion-button:hover {
  color: rgb(72.4705882353%, 72.1568627451%, 71.5294117647%);
}
body.wp-theme-nfo-song-cycle .content-with-accordion .accordion .accordion-item .accordion-header .accordion-button:hover::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23B9B8B6'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
}
body.wp-theme-nfo-song-cycle .content-with-accordion .accordion .accordion-item .accordion-body {
  padding: 0 1.5rem 1.5rem;
}
body.wp-theme-nfo-song-cycle .content-with-accordion .accordion .accordion-item .accordion-body p {
  margin: 0;
  line-height: 1.5em;
}
@media (max-width: 991px) {
  body.wp-theme-nfo-song-cycle .content-with-accordion {
    padding: 2rem 0;
  }
  body.wp-theme-nfo-song-cycle .content-with-accordion .accordion .accordion-item .accordion-header .accordion-button {
    padding: 1.5rem 0.5rem 1.4rem;
  }
  body.wp-theme-nfo-song-cycle .content-with-accordion .accordion .accordion-item .accordion-body {
    padding: 0 0.5rem 1.5rem !important;
  }
}
/*
	Content With Image component base styles

	Two equal columns with a 60px gutter at the 1600px design width - a
	photograph on one side, a column of copy on the other. In the design the
	copy column measures 690px against a 690px image inside the 1440px content
	area, so the split is an even 50/50 either way round.

	Modifiers:

	- --image-left / --image-right : which side the photograph sits on
	- --top / --center             : how the two columns align to one another

	The copy column comes first in the markup so the stacked layout reads
	heading, copy, image without any DOM reordering. Which column the image
	lands in on the wide layout is set explicitly on the grid.

	@package nfo-song-cycle
*/
body.wp-theme-nfo-song-cycle .content-with-image__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.75rem;
  max-width: 1200px;
  margin-inline: auto;
}
body.wp-theme-nfo-song-cycle .content-with-image__content, body.wp-theme-nfo-song-cycle .content-with-image__media {
  grid-row: 1;
}
body.wp-theme-nfo-song-cycle .content-with-image {
  /*
  	Copy column
  */
}
body.wp-theme-nfo-song-cycle .content-with-image__content {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
body.wp-theme-nfo-song-cycle .content-with-image__heading {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
body.wp-theme-nfo-song-cycle .content-with-image__eyebrow, body.wp-theme-nfo-song-cycle .content-with-image__headline {
  margin-bottom: 0;
}
body.wp-theme-nfo-song-cycle .content-with-image__heading--lockup {
  align-items: center;
  text-align: center;
}
body.wp-theme-nfo-song-cycle .content-with-image__logo {
  display: block;
  width: clamp(240px, 25vw, 400px);
  max-width: 100%;
  height: auto;
}
body.wp-theme-nfo-song-cycle .content-with-image {
  /*
  	Image column
  */
}
body.wp-theme-nfo-song-cycle .content-with-image__media {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-self: start;
}
body.wp-theme-nfo-song-cycle .content-with-image__image {
  display: block;
  width: 100%;
  height: auto;
}
body.wp-theme-nfo-song-cycle .content-with-image__credit {
  text-align: left;
  margin-bottom: 0;
}
body.wp-theme-nfo-song-cycle {
  /*
  	Image position
  */
}
body.wp-theme-nfo-song-cycle .content-with-image--image-left .content-with-image__media {
  grid-column: 1;
}
body.wp-theme-nfo-song-cycle .content-with-image--image-left .content-with-image__content {
  grid-column: 2;
}
body.wp-theme-nfo-song-cycle .content-with-image--image-right .content-with-image__content {
  grid-column: 1;
}
body.wp-theme-nfo-song-cycle .content-with-image--image-right .content-with-image__media {
  grid-column: 2;
}
body.wp-theme-nfo-song-cycle {
  /*
  	Column alignment
  */
}
body.wp-theme-nfo-song-cycle .content-with-image--top .content-with-image__inner {
  align-items: start;
}
body.wp-theme-nfo-song-cycle .content-with-image--center .content-with-image__inner {
  align-items: center;
}
@media (max-width: 991px) {
  body.wp-theme-nfo-song-cycle .content-with-image__inner {
    gap: 2rem;
  }
}
@media (max-width: 767px) {
  body.wp-theme-nfo-song-cycle .content-with-image__inner {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  body.wp-theme-nfo-song-cycle .content-with-image__logo {
    width: 100%;
  }
  body.wp-theme-nfo-song-cycle .content-with-image__heading {
    gap: 1rem;
  }
  body.wp-theme-nfo-song-cycle .content-with-image__content.text-center {
    text-align: left !important;
  }
  body.wp-theme-nfo-song-cycle .content-with-image__content.text-center .content-with-image__heading--lockup {
    text-align: center !important;
  }
  body.wp-theme-nfo-song-cycle .content-with-image--image-left .content-with-image__content,
  body.wp-theme-nfo-song-cycle .content-with-image--image-left .content-with-image__media,
  body.wp-theme-nfo-song-cycle .content-with-image--image-right .content-with-image__content,
  body.wp-theme-nfo-song-cycle .content-with-image--image-right .content-with-image__media {
    grid-column: 1;
    grid-row: auto;
  }
  body.wp-theme-nfo-song-cycle .content-with-image--top .content-with-image__inner,
  body.wp-theme-nfo-song-cycle .content-with-image--center .content-with-image__inner {
    align-items: stretch;
  }
}
/*
	Content with Media component styles
	TODO: cleanup - keep any?

	@package nfo-song-cycle
*/
body.wp-theme-nfo-song-cycle .content-with-media {
  background-color: #4F4641;
  color: rgb(72.4705882353%, 72.1568627451%, 71.5294117647%);
  padding: 3.75rem 0;
}
body.wp-theme-nfo-song-cycle .content-with-media.primary .eyebrow, body.wp-theme-nfo-song-cycle .content-with-media.dark .eyebrow {
  color: #fff;
}
@media (max-width: 991px) {
  body.wp-theme-nfo-song-cycle .content-with-media {
    padding: 2rem 0;
  }
  body.wp-theme-nfo-song-cycle .content-with-media .eyebrow {
    margin-top: 1.5rem;
  }
}
/*
 	Error Page component styles
	TODO: cleanup - keep any?

	@package nfo-song-cycle
*/
body.wp-theme-nfo-song-cycle .error-page {
  background-color: #4F4641;
  color: rgb(72.4705882353%, 72.1568627451%, 71.5294117647%);
  padding: 12rem 0;
}
body.wp-theme-nfo-song-cycle .error-page .ae-anim {
  position: fixed;
  width: 600px;
  transform: translate(0, -50%) rotate(200deg) rotateX(180deg);
  top: 300px;
  right: -5%;
  z-index: 100 !important;
  opacity: 0.6;
}
body.wp-theme-nfo-song-cycle .error-page .ae-anim svg {
  z-index: 110 !important;
}
body.wp-theme-nfo-song-cycle .error-page .ae-anim svg * {
  z-index: 120 !important;
}
body.wp-theme-nfo-song-cycle .error-page .ae-anim svg * * {
  z-index: 130 !important;
}
body.wp-theme-nfo-song-cycle .error-page h2 {
  font-size: 4rem;
  text-transform: none;
  color: #E7E6E4;
  margin: 0;
}
body.wp-theme-nfo-song-cycle .error-page p {
  font-size: 1.25rem;
}
@media (max-width: 767px) {
  body.wp-theme-nfo-song-cycle .error-page {
    padding: 2.5rem 1.875rem;
  }
  body.wp-theme-nfo-song-cycle .error-page .ae-anim {
    width: 400px;
    top: 300px;
    right: -10%;
  }
}
/*
	Gravity Forms Embed component styles
	TODO: cleanup - keep any?

	@package nfo-song-cycle
*/
body.wp-theme-nfo-song-cycle .gravity-forms-embed {
  background-color: #4F4641;
  color: rgb(72.4705882353%, 72.1568627451%, 71.5294117647%);
  padding: 2.5rem 0;
  min-height: 48rem;
}
body.wp-theme-nfo-song-cycle .gravity-forms-embed h2 {
  font-size: 6rem;
  color: #E7E6E4;
}
body.wp-theme-nfo-song-cycle .gravity-forms-embed button {
  background-color: #E7E6E4 !important;
  border-color: #E7E6E4 !important;
  color: #4F4641 !important;
}
body.wp-theme-nfo-song-cycle .gravity-forms-embed button:hover, body.wp-theme-nfo-song-cycle .gravity-forms-embed button.hover {
  background-color: #4F4641 !important;
  border-color: #E7E6E4 !important;
  color: #E7E6E4 !important;
}
@media (max-width: 1199px) {
  body.wp-theme-nfo-song-cycle .gravity-forms-embed .contact-text {
    text-align: center;
    margin-right: 0 !important;
  }
}
@media (max-width: 767px) {
  body.wp-theme-nfo-song-cycle .gravity-forms-embed {
    padding: 2.5rem 1.875rem;
  }
  body.wp-theme-nfo-song-cycle .gravity-forms-embed .contact-text {
    font-weight: 300 !important;
    font-size: 1.875rem;
  }
}
/*
	Latest Posts component base styles

	The "Project Updates" block - a display heading over a centred row of the
	three most recent posts, closed by an underlined "View All Updates" link.

	Almost all of the type in this component is already the theme's scale: the
	heading is a plain H2 (Veneer, uppercase, up to 60px), the post titles are
	plain H3s (Montserrat SemiBold 24/1.2) and the excerpts are the default
	paragraph (17-20px/1.6, which covers the design's 18px). So this file only
	handles the row layout and the three vertical gaps the design calls for.

	Unlike most components this one is not constrained to the 1200px text
	column - in the design the card row spans the full content area, so it
	takes the Bootstrap container's width and the columns divide that.

	@package nfo-song-cycle
*/
body.wp-theme-nfo-song-cycle .latest-posts__headline {
  margin-bottom: 3.75rem;
}
body.wp-theme-nfo-song-cycle .latest-posts__list {
  --bs-gutter-x: 1.875rem;
  row-gap: 3rem;
}
body.wp-theme-nfo-song-cycle .latest-posts__item {
  display: flex;
  flex-direction: column;
}
body.wp-theme-nfo-song-cycle .latest-posts__item-link {
  color: inherit;
  text-decoration: none;
}
body.wp-theme-nfo-song-cycle .latest-posts__item-link:hover, body.wp-theme-nfo-song-cycle .latest-posts__item-link:focus-visible {
  text-decoration: underline;
}
body.wp-theme-nfo-song-cycle .latest-posts__view-all {
  font-family: "montserrat", sans-serif;
  font-weight: 600;
  display: inline-block;
  margin-top: 3.75rem;
  line-height: 1.6;
  text-transform: uppercase;
  text-decoration: underline;
  color: inherit;
}
body.wp-theme-nfo-song-cycle .latest-posts__view-all:hover, body.wp-theme-nfo-song-cycle .latest-posts__view-all:focus-visible {
  text-decoration: none;
}
@media (max-width: 991px) {
  body.wp-theme-nfo-song-cycle .latest-posts__list {
    row-gap: 3rem;
  }
}
@media (max-width: 767px) {
  body.wp-theme-nfo-song-cycle .latest-posts__inner.text-center {
    text-align: left !important;
  }
  body.wp-theme-nfo-song-cycle .latest-posts__headline {
    margin-bottom: 3rem;
  }
  body.wp-theme-nfo-song-cycle .latest-posts__list {
    row-gap: 2rem;
  }
}

/*
	Page Content component styles

	@package nfo-song-cycle
*/
/*
	Page Hero component base styles

	Two variants, toggled per page in ACF:

	- .page-hero--tall  : 1600x800 (2:1) artwork with the full 582x369 logo lockup
	- .page-hero--short : 1600x533 (3:1) artwork with the smaller 350x222 logo lockup

	Both sit on the dark brown page background with the H1 (and optional
	description) centred directly beneath the artwork.

	@package nfo-song-cycle
*/
body.wp-theme-nfo-song-cycle .page-hero {
  padding: 0;
  background-color: #4F4641;
  color: #FFFFFF;
}
body.wp-theme-nfo-song-cycle .page-hero__media {
  position: relative;
  width: 100%;
  overflow: hidden;
}
body.wp-theme-nfo-song-cycle .page-hero picture {
  display: contents;
}
body.wp-theme-nfo-song-cycle .page-hero__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
body.wp-theme-nfo-song-cycle .page-hero__logo-link {
  position: absolute;
  top: 0;
  left: clamp(1.5rem, 5vw, 5rem);
  z-index: 2;
  display: block;
  line-height: 0;
  text-decoration: none;
}
body.wp-theme-nfo-song-cycle .page-hero__logo {
  display: block;
  width: 100%;
  height: auto;
}
body.wp-theme-nfo-song-cycle .page-hero__intro {
  padding-top: 1rem;
  padding-bottom: var(--section-spacing);
  text-align: center;
}
body.wp-theme-nfo-song-cycle .page-hero__content {
  max-width: 1200px;
  margin-inline: auto;
}
body.wp-theme-nfo-song-cycle .page-hero__heading {
  margin-bottom: 0;
}
body.wp-theme-nfo-song-cycle .page-hero__description {
  font-family: "montserrat", sans-serif;
  font-weight: 500;
  font-size: clamp(1.25rem, 1.75vw, 1.75rem);
  line-height: 1.2;
  margin-top: 1rem;
  margin-bottom: 0;
}
body.wp-theme-nfo-song-cycle .page-hero--tall .page-hero__media {
  aspect-ratio: 13/6;
}
body.wp-theme-nfo-song-cycle .page-hero--tall .page-hero__image {
  object-position: center bottom;
}
body.wp-theme-nfo-song-cycle .page-hero--tall .page-hero__logo-link {
  width: clamp(220px, 36.375vw, 582px);
}
body.wp-theme-nfo-song-cycle .page-hero--short .page-hero__media {
  aspect-ratio: 3/1;
}
body.wp-theme-nfo-song-cycle .page-hero--short .page-hero__logo-link {
  width: clamp(180px, 21.875vw, 350px);
}
body.wp-theme-nfo-song-cycle .page-hero--media-only {
  padding-bottom: 0;
}
@media (max-width: 767px) {
  body.wp-theme-nfo-song-cycle .page-hero__intro {
    text-align: left;
  }
  body.wp-theme-nfo-song-cycle .page-hero__logo {
    width: auto;
    height: 100%;
  }
  body.wp-theme-nfo-song-cycle .page-hero--tall {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100svh;
  }
  body.wp-theme-nfo-song-cycle .page-hero--tall .page-hero__media {
    aspect-ratio: auto;
    flex: 1 1 auto;
    min-height: 45vh;
  }
  body.wp-theme-nfo-song-cycle .page-hero--tall .page-hero__intro {
    flex: 0 0 auto;
    padding-top: 0;
  }
  body.wp-theme-nfo-song-cycle .page-hero--tall .page-hero__heading {
    font-size: clamp(2.75rem, 84.6px - 5.29vw, 4rem);
  }
  body.wp-theme-nfo-song-cycle .page-hero--tall .page-hero__description {
    font-size: clamp(1.25rem, 36.25px - 2.12vw, 1.75rem);
    font-weight: 600;
    line-height: 1.3;
  }
  body.wp-theme-nfo-song-cycle .page-hero--tall .page-hero__logo-link {
    width: auto;
    height: 6.25rem;
  }
  body.wp-theme-nfo-song-cycle .page-hero--short .page-hero__media {
    aspect-ratio: 3/2;
  }
  body.wp-theme-nfo-song-cycle .page-hero--short .page-hero__logo-link {
    width: auto;
    height: 6.25rem;
  }
}

/*
	Text Content component base styles

	A single centred column of body copy - the "Introduction" block in the
	design. The copy is one step larger than the default paragraph (Montserrat
	Medium 32/1.6 at the 1600px design width), which the shared .text-large
	class already provides, so this file only handles the column width and the
	alignment.

	The block keeps the section padding every other block has, including where
	it follows the hero - it stands as its own section, with the same 120px of
	air above it that sits between it and Weary Ramblers.

	@package nfo-song-cycle
*/
body.wp-theme-nfo-song-cycle .text-content__inner {
  max-width: 1200px;
  margin-inline: auto;
}
body.wp-theme-nfo-song-cycle .text-content__headline {
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  body.wp-theme-nfo-song-cycle .text-content__inner.text-center {
    text-align: left !important;
  }
}
/*
	Project update posts - tokens and styles shared by the listing and the post

	The design draws these two screens on the same 1600px artboard as the rest
	of the site, but the text column is narrower than the 1200px used elsewhere
	(950px), so the widths and the few type sizes that are specific to posts are
	kept here rather than in config/.

	@package nfo-song-cycle
*/
body.wp-theme-nfo-song-cycle {
  /*
  	Byline - Montserrat SemiBold, 18px in the listing and 20px on the post.
  	inline-flex keeps the separator spacing under CSS control while still
  	letting the parent's text-align place the whole byline.
  */
}
body.wp-theme-nfo-song-cycle .post-meta {
  font-family: "montserrat", sans-serif;
  font-weight: 600;
  font-size: clamp(1rem, 1.125vw, 1.125rem);
  line-height: 1.1;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.75rem;
  margin-bottom: 0;
}

/*
	Project updates listing styles

	A single centred 950px column of post summaries beneath the short hero.
	Everything in the listing is centre-aligned in the design - title, byline,
	excerpt and the "Read more" link - on the dark page background.

	@package nfo-song-cycle
*/
body.wp-theme-nfo-song-cycle .post-archive__inner {
  max-width: 950px;
  margin-inline: auto;
  text-align: center;
}
body.wp-theme-nfo-song-cycle .post-archive__list {
  display: flex;
  flex-direction: column;
  gap: clamp(3rem, 5vw, 5rem);
}
body.wp-theme-nfo-song-cycle .post-archive__pagination {
  margin-top: 7.5rem;
}
body.wp-theme-nfo-song-cycle .post-archive__pagination .page-numbers {
  font-family: "montserrat", sans-serif;
  font-weight: 600;
  font-size: clamp(1rem, 1.125vw, 1.125rem);
  display: inline-block;
  padding: 0 0.5rem;
  text-decoration: none;
}
body.wp-theme-nfo-song-cycle .post-archive__pagination .page-numbers.current {
  text-decoration: underline;
  text-underline-position: from-font;
}
body.wp-theme-nfo-song-cycle .post-archive__empty {
  font-size: clamp(1.25rem, 2vw, 2rem);
}
body.wp-theme-nfo-song-cycle {
  /*
  	One listing entry - a 32px gap between the title/byline block and the
  	excerpt, and 16px between the title and the byline inside it.
  */
}
body.wp-theme-nfo-song-cycle .post-summary {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
body.wp-theme-nfo-song-cycle .post-summary__header {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
body.wp-theme-nfo-song-cycle .post-summary__title {
  font-family: "montserrat", sans-serif;
  font-weight: 600;
  font-size: clamp(1.75rem, 2.25vw, 2.25rem);
  line-height: 1.1;
  text-transform: none;
  letter-spacing: 0;
  margin-bottom: 0;
}
body.wp-theme-nfo-song-cycle .post-summary__title a {
  text-decoration: none;
}
body.wp-theme-nfo-song-cycle .post-summary__title a:hover, body.wp-theme-nfo-song-cycle .post-summary__title a:focus-visible {
  text-decoration: underline;
  text-underline-position: from-font;
}
body.wp-theme-nfo-song-cycle .post-summary__more {
  margin-bottom: 0;
}
body.wp-theme-nfo-song-cycle .post-summary .link-cta {
  font-family: "montserrat", sans-serif;
  font-weight: 400;
  font-size: clamp(1.0625rem, 1.25vw, 1.25rem);
  text-transform: none;
}
body.wp-theme-nfo-song-cycle .page-hero + .post-archive {
  padding-top: 0;
}
@media (max-width: 767px) {
  body.wp-theme-nfo-song-cycle .post-summary__body {
    text-align: left;
  }
}
@media (max-width: 575px) {
  body.wp-theme-nfo-song-cycle .post-archive__pagination {
    margin-top: 3.75rem;
  }
}

/*
	Single project update post styles

	A left-aligned 950px column beneath the media-only hero band: back link,
	Veneer H1, byline, then body copy. The hero carries no heading on this
	screen, so the column supplies its own top spacing.

	@package nfo-song-cycle
*/
body.wp-theme-nfo-song-cycle .post-single {
  padding-top: 1rem;
}
body.wp-theme-nfo-song-cycle .post-single__inner {
  max-width: 950px;
  margin-inline: auto;
  text-align: left;
}
body.wp-theme-nfo-song-cycle .post-single__back {
  margin-bottom: 2rem;
}
body.wp-theme-nfo-song-cycle .post-single__back-link {
  font-family: "montserrat", sans-serif;
  font-weight: 600;
  font-size: 1.25rem;
  display: inline-flex;
  align-items: baseline;
  gap: 0.5rem;
  text-decoration: none;
}
body.wp-theme-nfo-song-cycle .post-single__back-link:hover, body.wp-theme-nfo-song-cycle .post-single__back-link:focus-visible {
  text-decoration: underline;
  text-underline-position: from-font;
}
body.wp-theme-nfo-song-cycle .post-single__back-link i {
  font-size: clamp(1rem, 1.125vw, 1.125rem);
}
body.wp-theme-nfo-song-cycle .post-single__header {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 3rem;
}
body.wp-theme-nfo-song-cycle .post-single__title {
  margin-bottom: 0;
}
body.wp-theme-nfo-song-cycle .post-single .post-meta {
  font-size: 1.25rem;
}
body.wp-theme-nfo-song-cycle .post-single__body a {
  text-decoration: underline;
  text-underline-position: from-font;
}
body.wp-theme-nfo-song-cycle .post-single__body img {
  max-width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  body.wp-theme-nfo-song-cycle .post-single__back {
    margin-bottom: 1.5rem;
  }
  body.wp-theme-nfo-song-cycle .post-single__header {
    margin-bottom: 2rem;
  }
}
/*
    Home Page specific styles

	@package nfo-song-cycle
*/
/*
    Styleguide specific styles

	@package nfo-song-cycle
*/
body.wp-theme-nfo-song-cycle .styleguide .section-nav {
  position: fixed;
  top: 105px;
  right: 10px;
  text-align: right;
  padding: 1rem 1.1rem 0.5rem;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  border-radius: 1rem;
}
body.wp-theme-nfo-song-cycle .styleguide .section-nav a {
  margin-bottom: 0.5rem;
}
body.wp-theme-nfo-song-cycle .styleguide.dark .section-nav {
  background-color: rgba(255, 255, 255, 0.1);
}
body.wp-theme-nfo-song-cycle .styleguide .desc {
  font-style: italic !important;
}
body.wp-theme-nfo-song-cycle .styleguide p.info {
  background-color: rgba(0, 0, 0, 0.85);
  padding: 0.75rem 1.25rem;
  width: auto;
  display: inline-block;
  border-radius: 0.75rem;
  color: lightblue;
  margin-bottom: 2rem;
  margin-right: 1rem;
  font-size: 0.9rem;
  border: 1px solid rgba(0, 0, 0, 0.6);
}
body.wp-theme-nfo-song-cycle .styleguide p.info.hide {
  display: none;
}
body.wp-theme-nfo-song-cycle .styleguide p.info strong {
  color: white;
}
body.wp-theme-nfo-song-cycle .styleguide p.info em {
  color: plum;
}
body.wp-theme-nfo-song-cycle .styleguide p.info b {
  color: darkorange;
}
body.wp-theme-nfo-song-cycle .styleguide.dark p.info {
  border: 1px solid rgba(255, 255, 255, 0.6);
}
body.wp-theme-nfo-song-cycle .styleguide .bs-component .btn {
  margin-right: 1rem;
}
body.wp-theme-nfo-song-cycle .styleguide .bs-component .btn-group .btn {
  margin: 0;
}
body.wp-theme-nfo-song-cycle .styleguide .colors .col-1 {
  min-width: 7rem;
}
body.wp-theme-nfo-song-cycle .styleguide .colors .col-1 div {
  border-radius: 50vh !important;
  width: 8rem;
  height: 8rem;
  padding: 2.8em 0 !important;
  font-weight: bold;
  border: 2px solid rgba(0, 0, 0, 0.3);
  line-height: 1.2;
}
body.wp-theme-nfo-song-cycle .styleguide .colors .col-1 div small {
  display: block;
  font-weight: normal;
  font-style: italic;
}
body.wp-theme-nfo-song-cycle .styleguide.dark .colors .col-1 div {
  border-color: rgba(255, 255, 255, 0.6);
}
body.wp-theme-nfo-song-cycle .styleguide .example {
  font-size: 2.5rem;
  padding-bottom: 0.125rem;
  border-bottom: 2px solid #d7d7d7;
}
body.wp-theme-nfo-song-cycle .styleguide .button-styles :not(label).btn {
  margin-bottom: 0.5rem;
}

/*
	Global overrides for accessibility

	@package nfo-song-cycle
*/
/*
	Visually hidden, still announced

	The accessible name of anything that reads as an icon rather than as text -
	the menu toggle, the social links - is carried by a span with this class.
	Clipping rather than display: none keeps it in the accessibility tree.

	Anything focusable that uses it - the skip link - comes back into view on
	focus.
*/
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.screen-reader-text:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip-path: none;
  white-space: normal;
}

.skip-link {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.skip-link:focus {
  position: static;
  width: auto;
  height: auto;
}

/*
	Global overrides for states such as light mode/dark mode, etc.

	@package nfo-song-cycle
*/
/*# sourceMappingURL=style.css.map */
