/*!
Theme Name: Fondant Blocks by House of Cakes
Theme URI: http://underscores.me/
Author: e. james ford
Author URI: http://web.ejimford.com
Description: Custom theme for Fondant Blocks by House of Cakes
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: fondant-blocks
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

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

Fondant Blocks by House of Cakes is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
        ### Menu Button
# Accessibility
# Alignments
# Clearings
# Widgets
# Header
# Content
	## Posts and pages
	## Comments
# Footer
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

a {
    background-color: transparent;
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
}

b,
strong {
    font-weight: bolder;
}

pre,
code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

small {
    font-size: 80%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

img {
    border-style: none;
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}

button,
input {
    overflow: visible;
}

button,
select {
    /* 1 */
    text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
    appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

fieldset {
    padding: 0.35em 0.75em 0.625em;
}

legend {
    box-sizing: border-box;
    /* 1 */
    color: inherit;
    /* 2 */
    display: table;
    /* 1 */
    max-width: 100%;
    /* 1 */
    padding: 0;
    /* 3 */
    white-space: normal;
    /* 1 */
}

progress {
    vertical-align: baseline;
}

textarea {
    overflow: auto;
}

[type="checkbox"],
[type="radio"] {
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

[type="search"] {
    -webkit-appearance: textfield;
    appearance: textfield;
    outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

details {
    display: block;
}

summary {
    display: list-item;
}

template {
    display: none;
}

[hidden] {
    display: none;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
optgroup,
textarea {
    color: #fff;
    font-family: "Nunito Sans", "Helvetica", "Arial", sans-serif;
    font-size: 33px;
    font-style: normal;
    font-weight: 400;
    line-height: 130%;
    /* 44.2px */
    letter-spacing: -1.02px;
    transition: all 0.5s ease-in-out;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
    margin: 36px 0 0 0;
    /* 72px */
}

h1 {
    font-size: 72px;
    letter-spacing: -2.16px;
}

h1>span {
    font-size: 18px;
    padding: 6px 0px;
    font-weight: 700;
    display: block;
}

h2 {
    font-size: 62px;
    letter-spacing: -1.86px;
}

h3 {
    font-size: 60px;
    line-height: 120%;
    font-weight: 800;
    letter-spacing: -1.8px;
}

h4 {
    font-size: 48px;
    letter-spacing: -1.44px;
}

h5 {
    font-size: 27px;
    font-weight: 800;
    line-height: 120%;
    /* 33.6px */
    letter-spacing: -0.84px;
}

h6 {
    font-size: 22px;
    font-weight: 800;
    line-height: 100%;
    /* 33.6px */
    letter-spacing: -0.66px;
}

p.nospace {
    margin-bottom: 0 !important;
}

dfn,
cite,
em,
i {
    font-style: italic;
}

blockquote {
    margin: 0 1.5em;
}

address {
    margin: 0 0 1.5em;
}

pre {
    background: #eee;
    font-family: "Courier 10 Pitch", Courier, monospace;
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 1.6em;
    max-width: 100%;
    overflow: auto;
    padding: 1.6em;
}

code,
kbd,
tt,
var {
    font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
    font-size: 15px;
}

abbr,
acronym {
    border-bottom: 1px dotted #666;
    cursor: help;
}

mark,
ins {
    background: #fff9c0;
    text-decoration: none;
}

big {
    font-size: 125%;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
    box-sizing: border-box;
}

*,
*:before,
*:after {
    /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
    box-sizing: inherit;
}

body {
    background: #0E1E3F;
    background: linear-gradient(143deg, rgba(14, 30, 63, 1) 0%, rgba(14, 30, 63, 1) 36%, rgba(37, 80, 167, 0.8) 100%);
}

hr {
    background-color: var(--fondant-hue-grey-dark);
    border: 0;
    height: 10px;
    margin-bottom: 1.5em;
}

ul,
ol {
    margin: 0 0 1.5em 3em;
}

ul {
    list-style: disc;
}

ol {
    list-style: decimal;
}

li>ul,
li>ol {
    margin-bottom: 0;
    margin-left: 1.5em;
}

dt {
    font-weight: bold;
}

dd {
    margin: 0 1.5em 1.5em;
}

img {
    height: auto;
    /* Make sure images are scaled correctly. */
    max-width: 100%;
    /* Adhere to container width. */
}

figure {
    margin: 1em 0;
    /* Extra wide images within figure tags don't overflow the content area. */
}

table {
    margin: 0 0 1.5em;
    width: 100%;
}

.hide-mobile {
    display: none;
}

.fondant-element-reveal-on-load {
    opacity: 1 !important;
    transition: all 0.75s ease-in-out;
}

.site {
    min-height: 100vh;
    position: relative;
}

.background-overlay {
    position: fixed;
    top: 0px;
    right: 0px;
    width: 100%;
    background-position: top right;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
    min-height: 100vh;
    opacity: 1;
    z-index: 3;
    transition: all 250ms ease-out;
}

@media only screen and (min-width: 1300px) {
    .site {
        margin: 0px auto;
    }

    .background-overlay {
        width: 100%;
        background-position: top center;
        background-size: 100% auto;
        background-repeat: repeat-x;
        max-height: none;
        height: 100%;
    }
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
.wp-block-button {
    text-align: center;
}

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 {
    color: var(--fondant-hue-grey-lite);
    border: 1px solid var(--fondant-hue-grey-lite);
    border-radius: 0px;
    padding: 4px;
}

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: var(--fondant-hue-grey-black);
}

select {
    border: 1px solid var(--fondant-hue-grey-lite);
}

textarea {
    width: 100%;
}

/*--------------------------------------------------------------
# Site Header
--------------------------------------------------------------*/
.site-header {
    margin: 0 auto;
    padding: 0px;
    width: 100%;
    position: relative;
    z-index: 5;
    max-width: 1440px;
}

.site-header-inner {
    margin: 0px auto;
    padding: 0px 60px;
}

.site-title {
    font-size: 24px;
}

.site-title a {
    font-size: 24px;
}

.site-branding {
    max-width: 300px;
    float: left;
    padding-top: 36px;
}

.site-tagline {
    max-width: 458px;
    display: none;
    float: right;
    text-transform: uppercase;
    text-align: right;
    margin: 0 0;
    padding-top: 80px;
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
    color: #fff;
}

a:focus {
    outline: thin dotted;
}

a:hover,
a:active {
    outline: 0;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-rßeader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
    /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

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

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

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
    display: inline;
    float: left;
    margin-right: 1.5em;
}

.alignright {
    display: inline;
    float: right;
    margin-left: 1.5em;
}

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

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
    content: "";
    display: table;
    table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
    clear: both;
}

/*--------------------------------------------------------------
# Inactivity Message
--------------------------------------------------------------*/
.widget ul {
    margin: 0px;
    padding: 0px;
    list-style-type: none;
}

#inactivity-message {
    position: fixed;
    bottom: 0;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.8);
    color: var(--fondant-hue-1);
    text-align: center;
    padding: 10px;
    z-index: 1000;
    font-size: 75%;
}

span#countdown {
    display: inline-block;
    width: 28px;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
    display: block;
}

.updated:not(.published) {
    display: none;
}

.site-content {
    padding: 0;
    margin: 32px auto 0px;
    position: relative;
    z-index: 5;
}

.page-header,
.entry-header {
    margin: 0;
    padding: 24px 0px;
}

.entry-header.fixed-entry-header {
    position: fixed;
    top: 0;
    width: 100%;
    background-color: var(--fondant-hue-1);
    /* Add your desired background color here */
    z-index: 1000000;
    /* Ensure it stays on top */
    transition: all 250ms ease-in-out;
}

body.admin-bar .entry-header.fixed-entry-header {
    transform: translateY(32px);
}

.entry-header-placeholder {
    display: none;
}

.page-title,
.entry-title {
    padding: 0;
    margin: 0;
}

.entry-header-inner {
    display: block;
    max-width: 1440px;
    margin: 0px auto;
}

.page-title a,
.entry-title a {
    text-decoration: none;
    background-image: url(images/back.svg);
    background-position: left 60px center;
    background-size: 22px auto;
    background-repeat: no-repeat;
    padding: 0px 60px 0px 120px;
    animation: back-arrow 500ms ease-out 1 forwards;
}

.page-content,
.entry-content,
.entry-summary {
    width: 74%;
    max-width: 795px;
    margin: 0px auto;
}

/* ## Glossary and Definitions  */





.page-template-page-glossary .entry-content {
    width: 90%;
    max-width: 964px;
}

.definition-list {
    margin-bottom: 120px;
    padding: 0 0 12px 2px;
}

.definition-list .definition-row {
    display: grid;
    grid-template-columns: 24% 60% 10%;
    column-gap: 3%;
    align-items: center;
    border-top: 1px solid #ddd;
    cursor: pointer;
    padding: 18px 0px 18px;
}

.definition-list .definition-row h6,
.definition-list .definition-row .excerpt {
    margin: 0;
}

.definition-list .excerpt {
    margin-left: 10px;
    overflow: hidden;
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    /* Show up to 2 lines */
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
    /* 20px */
    letter-spacing: -0.6px;
    color: var(--fondant-hue-grey-lite);
    max-height: 40px;
}

.definition-list .excerpt p {
    margin: 0;
    color: var(--fondant-hue-grey-lite);
}

.definition-list .full-content.expanded {
    white-space: normal;
    overflow: visible;
    display: block;
    max-height: 300px;
    transition: all 500ms ease-in-out;
}

.definition-list .full-content.expanded p {
    margin: 0 0 12px 0;
}

.definition-list .full-content.expanded p:first-child {
    margin: 12px 0 12px 0;
}

.definition-list .full-content.expanded .text-excerpt {
    display: none;
}

.definition-list .excerpt .text-full {
    max-height: 40px;
    overflow: hidden;
    display: block;
    opacity: 0;
}

.definition-list .full-content.expanded .text-full {
    max-height: 300px;
    opacity: 1;
    transition: all 500ms ease-in-out;
}

.definition-list .toggle-content {
    font-size: 20px;
    line-height: 20px;
    color: transparent;
    background-image: url(images/expand.svg);
    background-size: 11px auto;
    background-position: right center;
    background-repeat: no-repeat;
    transition: all 400ms ease-in-out;
}

.definition-list .toggle-content.expanded {
    background-image: url(images/close.svg);
    background-size: 14px auto;
}

.page-template-page-collecting .entry-content {
    width: 90%;
    max-width: 960px;
}

/* ## Video Pages  */
.thumbnail-video-wrapper {
    width: 100%;
    max-width: 1200px;
    margin: 72px auto 36px;
}

.thumbnail-video-wrapper img,
.thumbnail-video-wrapper video {
    width: 100%;
}

video::-webkit-media-text-track-container {
    padding: 10px;
}

video::-webkit-media-text-track-display,
video::cue {
    font-size: 36px;
}

.video-posts .first-post {
    text-align: center;
    margin: 0 auto;
}

.video-posts .remaining-post {
    display: inline-block;
    width: calc(50% - 10px);
    /* Adjust width to fit two posts per row */
    margin-bottom: 0px;
}

.video-posts {
    display: flex;
    flex-wrap: wrap;
    gap: 30px 20px;
    /* row gap and column gap */
    justify-content: center;
    margin-top: 100px;
}

.video-posts .first-post img {
    display: block;
    margin: 0 auto;
    border-radius: 20px;
}

.video-posts .remaining-post img {
    display: block;
    width: 100%;
    /* Adjust image width to fit the container */
    height: auto;
    border-radius: 16px;
}

.link-to-glossary a {
    font-size: 62px;
    margin-bottom: 24px;
}

.video-nav {
    text-align: center;
    width: 100%;
    margin: 100px 0 48px;
}

.video-nav a {
    padding: 0px 4px;
    display: inline-block;
    width: 66px;
    height: 66px;
    overflow: hidden;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    transition: all 250ms ease-in-out;
    text-indent: -9999999999999999px;
}

.video-nav a.video-next {
    background-image: url(images/next.svg);
    margin-left: 20px;
}

.video-nav a.video-prev {
    background-image: url(images/previous.svg);
    margin-right: 20px;
}

.video-nav a:hover {
    transform: scale(1.05);
}

/* ## Brand Pages  */
.content-secondary {
    border: 1px solid var(--Grey-2, #A9B4BF);
    background: rgba(169, 180, 191, 0.20);
    padding: 40px 30px;
}

.content-secondary p:last-of-type {
    margin-bottom: 0;
}

.content-secondary p {
    margin: 0 0 18px 0;
}

.brand-posts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin: 40px 0 0 0;
    padding: 0;
    transform: translateX(-30px);
}

.brand-posts li {
    display: block;
}

.brand-posts li a {
    border-radius: 21.239px;
    background: var(--fondant-hue-grey-lite);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    aspect-ratio: 1 /1;
    transition: all 250ms ease-in-out;
}

.brand-posts li a:hover {
    transform: scale(1.05);
}

.brand-posts li a img {
    width: 100%;
    max-width: 200px;
    height: auto;
}

/* ### Cover   */
.brand-cover {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    /* Adjust as needed */
    height: 564px;
    /* Adjust as needed */
    background-size: 120%;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    margin: 12px auto 24px;
    animation: backgroundSizeAnimation 8s ease-out 1 forwards;
}

.brand-logo {
    width: auto;
    height: 464px;
    display: block;
    z-index: 200;
    animation: singleImageSizeAnimation 8s ease-out 1 forwards;
}

.brand-cover-overlay {
    width: 100%;
    height: 540px;
    flex-shrink: 0;
    border-radius: 1086px;
    background: rgba(0, 0, 0, 0.70);
    filter: blur(150px);
    position: absolute;
    top: 0;
    left: 0;
}

.brand-content-primary {
    width: 51%;
    float: left;
    padding-top: 40px;
}

.brand-content-secondary {
    width: 38%;
    float: right;
    font-size: 20px;
    line-height: 100%;
    letter-spacing: -0.6px;
    padding-top: 0px;
    margin-right: 4px;
    margin-top: 40px;
}

.brand-content-secondary p {
    margin: 0 0 18px 0;
}

.content-xtra {
    border: 1px solid var(--fondant-hue-grey-lite, #A9B4BF);
    background: rgba(169, 180, 191, 0.20);
}

.brand-content-primary :is(em, i) {
    display: block;
    font-size: 48px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
    /* 48px */
    letter-spacing: -1.44px;
    padding-bottom: 24px;
}

.brand-content-primary p {
    margin: 0 0 18px 0;
}

.brand-content-secondary :is(em, i) {
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
    /* 28px */
    letter-spacing: -0.84px;
    display: inline-block;
    padding-bottom: 8px;
    padding-top: 20px;
}

.brand-facts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    /* 3 equal columns */
    column-gap: 80px;
    /* Space between columns */
}

.brand-facts h5 {
    margin-top: 0;
}

.brand-facts p {
    font-size: 20px;
}

/* ## Events */
.event-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin: 24px 0;
}

.event {
    border-radius: 36px;
    background: #D9D9D9;
    padding: 0px;
    display: block;
    align-items: center;
    background-color: #f9f9f9;
    position: relative;
}

.event .event-image {
    border-radius: 36px 36px 0px 0px;
    background-position: top center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 240px;
    overflow: hidden;
}

.event-content {
    padding: 30px 40px;
}

.event h2 {
    color: #000;
    font-size: 18px;
    font-style: normal;
    font-weight: 800;
    line-height: 100%;
    /* 18px */
    letter-spacing: -0.54px;
    margin: 0;
}

.event p {
    color: #000;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 110%;
    letter-spacing: -0.54px;
}

.time-label {
    border-radius: 80px;
    padding: 8px 20px;
    color: #FFF;
    text-align: center;
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
    line-height: 80%;
    /* 9.6px */
    text-transform: uppercase;
    letter-spacing: -0.36px;
    position: absolute;
    top: 40px;
    left: 40px;
}

.time-label.today {
    background-color: var(--fondant-hue-4);
    /* Red */
}

.time-label.this-week {
    background-color: var(--fondant-hue-1);
    /* Blue */
}

.time-label.next-week {
    background-color: #D9D9D9;
    color: #000;
    /* Yellow */
}

/* ## Releases and News  */
.releases {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 18px;
    grid-row-gap: 20px;
    margin: 24px 0;
}

.release-single {
    border-radius: 20px;
    background: var(--fondant-hue-grey-lite);
    display: flex;
    width: 307px;
    height: 400px;
    padding: 20px;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-shrink: 0;
    font-size: 18px;
    color: #000;
    line-height: 110%;
    /* 18px */
    letter-spacing: -0.54px;
}

.release-single a {
    color: #000;
    text-decoration: none;
}

.release-single .release-content {
    min-height: 140px;
    padding-top: 20px;
}

.release-single .release-date {
    font-size: 14px;
    margin-top: 4px;
}

.page-template-page-releases .entry-title {
    background-position: left 30px center;
    padding: 0px 60px 0px 20px;
}

.page-template-page-releases .entry-content {
    max-width: 960px;
    width: 98%;
}

.release-thumbnail img {
    height: 200px;
    width: auto;
    display: block;
    margin: 0 auto;
    position: relative;
    box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.8);
}

h6.release-title {
    margin: 0px;
    font-size: 18px;
}

/* ## QR Codes  */
.release-single .qr-code-link {
    border-radius: 50%;
    overflow: hidden;
    border: 4px solid var(--fondant-hue-4);
    width: 70px;
    height: 72px;
    background-color: #fff;
    background-image: url(images/qr-bg.webp);
    background-size: cover;
    display: block;
}

.release-single .qr-code-link img {
    width: 48px;
    height: auto;
    transform: translate(7px, 8px);
    margin: 0 auto;
    border: 1px solid rgba(255, 255, 255, 0.5);
}

.shop-this-brand-qr {
    position: absolute;
    top: 52px;
    right: 0px;
    border-radius: 50px 0px 0px 50px;
    background: rgba(18, 18, 18, 0.5);
    color: #fff;
    width: 249px;
    height: 98px;
    padding: 0 0 0 18px;
    z-index: 9999999999;
}

.shop-this-brand-qr.brand-parent .brand-qr-code-link-image {
    animation: fadeInRight 750ms ease 250ms 1 forwards;
    opacity: 0;
}

.shop-this-brand-qr.brand-parent .brand-qr-code-link-text {
    animation: fadeInRight 1050ms ease 350ms 1 forwards;
    opacity: 0;
}

.shop-this-brand-qr-inner {
    display: flex;
    width: 249px;
    height: 98px;
    border-radius: 50px 0px 0px 50px;
    align-items: center;
    justify-content: flex-start;
}

.shop-this-brand-qr .brand-qr-code-link-image {
    border-radius: 50%;
    overflow: hidden;
    border: 4px solid var(--fondant-hue-4);
    width: 70px;
    height: 72px;
    background-color: #fff;
    background-image: url(images/qr-bg.webp);
    background-size: cover;
    display: block;
}

.shop-this-brand-qr .brand-qr-code-link-image img {
    width: 48px;
    height: auto;
    transform: translate(7px, 8px);
    margin: 0 auto;
    border: 1px solid rgba(255, 255, 255, 0.5);
}

.shop-this-brand-qr .brand-qr-code-link-text {
    text-transform: uppercase;
    color: #fff;
    font-weight: 900;
    font-size: 16px;
    display: inline-block;
    padding-left: 18px;
    letter-spacing: 0.22px;
}

.fanatics-lighbox-fade-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--fondant-hue-1);
    z-index: 9999996;
    display: none;
    transition: all 150ms ease-in-out;
}

.fanatics-lighbox-fade-overlay.vizzyble {
    display: block;
    opacity: 0.3;
    transition: all 150ms ease-in-out;
}

.fanatics-lightbox,
.qr-code-lightbox {
    position: fixed;
    top: 30vh;
    left: 36vw;
    z-index: 9999999;
    justify-content: flex-start;
    align-items: center;
    background-color: var(--fondant-hue-1);
    width: 32vw;
    transition: all 5000ms ease;
    display: none;
    flex-direction: column;
    border-radius: 40px;
    box-shadow: 0px 0px 60px 2px rgba(0, 0, 0, 0.4);
    transform: scale(0);
    opacity: 0;
    animation: qrLightboxEnter 250ms ease-in-out 1 forwards;
}

.iframe-lightbox {
    top: 10vh;
    left: 5vw;
    width: 88vw;
}

.qr-code-lightbox.qr-code-page {
    animation: qrLightboxEnter 250ms ease-in-out 1500ms 1 forwards;
}

.fanatics-lightbox.flex-visible {
    display: flex !important;
}

.qr-code-lightbox img.qr-code-img {
    width: 142px;
    height: auto;
    transform: translate(0px, 24px);
    border: 1px solid rgba(255, 255, 255, 0.5);
}

.qr-code-lightbox p {
    opacity: 0;
    width: 320px;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.96px;
    text-align: center;
    line-height: 140%;
    margin: 0 0 12px 0;
    color: #FFF;
    animation: qrCodePgEntry 950ms ease-in-out 450ms 1 forwards;
    transform-origin: bottom;
}

.qr-code-lightbox p.qr-code-img-container {
    animation: qrCodeEntry 750ms ease-in-out 200ms 1 forwards;
    transform-origin: center;
    border-radius: 50%;
    overflow: hidden;
    border: 4px solid var(--fondant-hue-4);
    width: 200px;
    height: 200px;
    background-color: #fff;
    background-image: url(images/qr-bg.webp);
    background-size: cover;
}

.fanatics-lightbox p.close {
    text-align: right;
    opacity: 0;
    animation: qrCodeEntry 750ms ease-in-out 50ms 1 forwards;
    width: 54px;
    height: 54px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.9);
    position: relative;
    right: -15.5vw;
    top: -14px;
    cursor: pointer;
}

.iframe-lightbox p.close {
    right: -45vw;
    margin: 0;
}

.fanatics-lightbox p.close img {
    width: 24px;
    display: inline;
    filter: brightness(0.3);
}

.qr-code-lightbox p.qr-code-text-container {
    padding: 24px 0 36px;
}

.lightbox-visible {
    opacity: 0.3 !important;
    transition: all 150ms ease-in-out;
}

.background-overlay.lightbox-visible {
    opacity: 0.01 !important;
}

.lightbox-visible .brand-cover {
    opacity: 0.4 !important;
}

.release-single.lightbox-visible-opaque {
    background: #a9b4bf57 !important;
}

@keyframes throb {
    0% {
        transform: scale(1);
    }

    10% {
        transform: scale(0.97);
    }

    15% {
        transform: scale(1, 1);
    }

    100% {
        transform: scale(1, 1);
    }
}

@keyframes pulse {
    0% {
        transform: scale(0.97);
    }

    9% {
        transform: scale(1, 1);
        opacity: 0.3;
    }

    90% {
        transform: scale(1.5);
        opacity: 0;
    }

    100% {
        transform: scale(1.5);
        opacity: 0;
    }
}

@keyframes backgroundSizeAnimation {
    from {
        background-size: 120%;
    }

    to {
        background-size: 110%;
    }
}

@keyframes singleImageSizeAnimation {
    from {
        transform: scale(0.95);
    }

    to {
        transform: scale(1.05);
    }
}

@keyframes qrLightboxEnter {
    0% {
        opacity: 0;
        transform: scale(0);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes qrCodePgEntry {
    from {
        opacity: 0;
        transform: translateY(40px);
    }

    to {
        opacity: 1;
        transform: translateY(0px);
    }
}

@keyframes qrCodeEntry {
    0% {
        animation-timing-function: ease-in;
        opacity: 0;
        transform: scale(0);
    }

    38% {
        animation-timing-function: ease-out;
        opacity: 1;
        transform: scale(1);
    }

    55% {
        animation-timing-function: ease-in;
        transform: scale(0.7);
    }

    72% {
        animation-timing-function: ease-out;
        transform: scale(1);
    }

    81% {
        animation-timing-function: ease-in;
        transform: scale(0.84);
    }

    89% {
        animation-timing-function: ease-out;
        transform: scale(1);
    }

    95% {
        animation-timing-function: ease-in;
        transform: scale(0.95);
    }

    100% {
        animation-timing-function: ease-out;
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes fadeInRight {
    0% {
        opacity: 0;
        transform: translateX(50px);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

/*--------------------------------------------------------------
## Blog and Archive
--------------------------------------------------------------*/
body:is(.blog, .archive) .site-main .posts-and-sidebar {
    margin: 0px auto;
}

body:is(.blog, .archive) .site-main article {
    border-bottom: 1px solid var(--fondant-hue-grey-lite);
    padding: 20px 0px;
}

body:is(.blog, .archive) .site-main article:first-of-type {
    border-top: none;
    margin-top: 20px;
}

body:is(.blog, .archive) .entry-header {
    height: auto;
    max-height: none;
    background-color: transparent;
    padding: unset;
    background-image: unset;
}

body:is(.blog, .archive) .site-main article .entry-header a {
    text-decoration: none;
}

body:is(.blog, .archive) .site-main article .entry-header a:hover {
    text-decoration: underline;
}

body:is(.blog, .archive) .entry-title {
    text-transform: none;
    margin-bottom: 4px;
}

body:is(.blog, .archive) .entry-title a {
    color: var(--fondant-hue-1);
}

body:is(.blog, .archive) .entry-content {
    padding: 0;
}

body:is(.blog, .archive) .entry-content>* {
    margin-bottom: 4px;
}

body:is(.blog, .archive) .entry-content> :first-child,
body:is(.blog, .archive) .entry-content> :nth-child(2) {
    margin-bottom: 8px;
}

body:is(.blog, .archive) .entry-content>p:last-child {
    margin-bottom: 4px;
}

.navigation.pagination {
    padding: 20px 0px;
    text-align: center;
}

/*--------------------------------------------------------------
## Front Page
--------------------------------------------------------------*/
body.home .site-header {
    display: none;
}

body.home .site-content {
    padding: 0;
    margin: 0;
    position: relative;
    z-index: 5;
}

body.home .entry-content {
    width: 100vw;
    max-width: 100vw;
    margin: 0;
    padding: 0;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

body.home .entry-content .wp-block-cover {
    min-height: 100vh;
    width: 100%;
    transform: scale(1.03);
}

body.home .entry-content .wp-block-button {
    position: relative;
    transition: all 250ms ease-in-out;
    animation: throb 4s ease-in infinite;
}

body.home .entry-content .wp-block-button:hover,
body.home .entry-content .wp-block-button:focus {
    transform: scale(0.9);
    animation: none;
}

body.home .entry-content .wp-block-button::before {
    background-color: #e20713;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 99999px;
    animation: pulse 4s ease-out infinite;
    width: 100%;
    height: 100%;
    content: " ";
    z-index: 0;
}

body.home .entry-content .wp-block-button__link {
    position: relative;
    z-index: 5;
}

body.page-template-page-portal .site-header {
    background-color: transparent;
}

body.page-template-page-portal .site-header .site-branding {
    padding-top: 24px;
}

body.page-template-page-portal .site-content {
    margin-top: 24px
}

body.page-template-page-portal .site-tagline {
    display: block;
}

body.page-template-page-portal {
    margin: 0;
}

body.page-template-page-portal .entry-content {
    width: 100%;
    max-width: 1440px;
}

.front-button-container {
    position: relative;
    overflow: hidden;
    line-height: 0;
}

.front-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    color: white;
    font-size: 24px;
    font-family: "Nunito Sans", "Helvetica", "Arial", sans-serif;
    pointer-events: none;
}

.front-overlay h2 {
    padding: 111px 0px 69px 40px;
    flex-grow: 1;
    margin: 0;
    transform: translateY(1px);
    font-size: 58px;
    letter-spacing: -0.86px;
}

.front-overlay.front-overlay-news {
    align-items: stretch;
}

.front-overlay.front-overlay-news h2 {
    padding: 220px 0px 69px 40px;
}

.front-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: auto;
    display: block;
}

.front-button-full {
    width: 100%;
    clear: both;
}

.front-button-half {
    width: 50%;
    float: left;
}

.front-button-container img {
    width: 102%;
    margin: 0 0 0 -1%;
    max-width: none;
}

.entry-content.button-3 .front-button-container {
    height: 47vh;
    min-height: 640px;
}

.entry-content.button-3 .front-button-container:first-child {
    height: 42.1vh;
}

@media only screen and (min-width: 1280px) {
    body.page-template-page-portal .entry-content.button-3 img {
        height: auto;
        width: 102%;
    }
}

.entry-content.button-3 .front-button-container:nth-child(4),
.entry-content.button-3 .front-button-container:nth-child(4) img,
.entry-content.button-3 .front-button-container:nth-child(4) .front-overlay {
    display: none !important;
}

/*--------------------------------------------------------------
## Slick Slider
--------------------------------------------------------------*/
div:is(.site) button:is(.slick-arrow, .slick-next, .slick-prev) {
    display: block;
    overflow: hidden;
    text-indent: -999999px;
    font-size: 0;
    line-height: 0;
    padding: 0;
    background-image: url(images/next.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    background-color: transparent;
    width: 62px;
    height: 62px;
    z-index: 20;
    border: none;
    top: 40%;
}

div:is(.site) button.slick-next {
    right: 16px;
    top: 42%;
    transform: none !important;
}

div:is(.site) button.slick-prev {
    left: 16px;
    right: unset;
    transform: rotate(180deg);
    transform-origin: center;
}

.slick-prev:before,
.slick-next:before {
    display: none;
}

div:is(.site) button.slick-disabled {
    opacity: 0.2;
}

/*--------------------------------------------------------------
# Site Footer
--------------------------------------------------------------*/
.site-footer {
    background-color: var(--fondant-hue-2);
}

.site-footer-inner {
    margin: 0px auto;
    font-size: 14px;
}

/*--------------------------------------------------------------
# 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%;
}

.wp-block-embed iframe {
    display: block;
    margin: 0px auto;
}

.wp-block-embed.wp-embed-aspect-4-5 iframe {
    aspect-ratio: 4 / 5;
    max-width: 560px;
}

.wp-block-embed.wp-embed-aspect-16-9 iframe {
    aspect-ratio: 16 / 9;
    max-width: 960px;
}

.wp-block-embed.wp-embed-aspect-9-16 iframe {
    aspect-ratio: 9 / 16;
    max-width: 360px;
}

.wp-block-embed.wp-embed-aspect-1-1 iframe {
    aspect-ratio: 1 / 1;
    max-width: 640px;
}

.wp-block-embed .wp-element-caption {
    text-align: center;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
    display: inline-block;
    transition: all 150ms linear;
    transform-origin: center;
}

.custom-logo-link:active {
    transform: scale(.85);
}

@media only screen and (max-width: 925px) {
    h1 {
        font-size: 54px;
        letter-spacing: -0.82px;
    }
}

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

    body,
    button,
    input,
    select,
    optgroup,
    textarea {
        font-size: 22px;
    }

    .site-content {
        margin-top: 52px;
    }

    h1 {
        font-size: 40px;
        letter-spacing: -0.82px;
    }

    h1>span {
        font-size: 18px;
        padding: 6px 0px;
        font-weight: 700;
        display: block;
    }

    h2 {
        font-size: 36px;
        letter-spacing: -1.22px;
    }

    h3 {
        font-size: 32px;
        letter-spacing: -1.2px;
    }

    h4 {
        font-size: 28px;
        letter-spacing: -0.95px;
    }

    h5 {
        font-size: 16px;
        letter-spacing: -0.54px;
    }

    h6 {
        font-size: 14px;
        letter-spacing: -0.66px;
    }

    .site-header-inner {
        padding: 48px 40px;
    }

    .site-tagline {
        margin: 20px 0 0;
        float: left;
        text-align: left;
        max-width: 100%;
        padding-left: 60px;
        padding-right: 20px;
    }

    body:not(.page-template-page-portal) .site-tagline {
        display: none;
    }

    .front-overlay h2 {
        padding: 111px 0px 48px 30px;
        font-size: 28px;
    }

    .page-title a,
    .entry-title a {
        background-position: left 30px top 10px;
        background-size: 20px auto;
        padding: 0px 20px 0px 76px;
    }

    body.admin-bar .entry-header.fixed-entry-header {
        transform: translateY(0);
    }

    .entry-content {
        width: 90%;
    }

    .video-posts .first-post {
        max-width: 70%;
    }

    .link-to-glossary a {
        font-size: 36px;
    }

    .definition-list .excerpt {
        line-height: 142%;
    }

    .thumbnail-video-wrapper {
        margin: 42px auto 16px;
    }

    .video-nav {
        margin-top: 50px;
    }

    .brand-navigation button,
    .brand-menu li a,
    .definition-list .excerpt {
        font-size: 14px;
    }

    .brand-navigation button,
    .brand-menu li a {
        padding: 11px 18px;
        font-weight: 500;
        letter-spacing: 0px;
        border-width: 1px !important
    }

    .brand-menu li a .long-title {
        display: none;
    }

    .brand-menu li a .short-title {
        display: inline;
    }

    .brand-cover,
    .brand-cover-overlay {
        background-size: cover;
        height: 450px;
        padding: 21px 0px !important;
    }

    .brand-logo {
        height: auto;
        width: 45%;
    }

    .brand-cover.cover-type-image .brand-logo {
        height: auto;
        width: 33%;
    }

    .brand-content-primary :is(em, i) {
        font-size: 32px;
    }

    .brand-content-primary {
        width: 52%;
        font-size: 18px;
        padding-top: 0;
    }

    .brand-content-secondary {
        width: 40%;
        font-size: 14px;
        line-height: 120%;
    }

    .brand-content-secondary {
        margin: 0 0 18px 0;
    }

    .brand-content-secondary :is(em, i) {
        font-size: 18px
    }

    .event .event-image {
        border-radius: 36px 36px 0px 0px;
        background-size: cover;
        height: 125px;
    }

    .event-content {
        padding: 15px 15px;
    }

    .event h2 {
        font-size: 16px;
        line-height: 110%;
        letter-spacing: -0.34px;
        margin: 0;
    }

    .event p {
        font-size: 16px;
        font-weight: 300;
        line-height: 115%;
        letter-spacing: -0.34px;
    }

    .time-label {
        top: 20px;
        left: 20px;
    }

    #wpadminbar {
        position: absolute !important
    }

    .rss-feed-section {
        grid-template-rows: 300px 300px
    }

    .rss-feed-item .rss-feed-image {
        height: 64%;
    }

    .rss-feed-section .rss-feed-item:nth-child(3n-2) .rss-feed-image {
        height: 60%;
    }
}

@media only screen and (max-width: 600px) {
    .rss-feed-section {
        grid-template-columns: repeat(1, 1fr);
        gap: 20px;
        grid-template-rows: 540px 300px 300px;
    }

    .rss-feed-section .rss-feed-item:nth-child(3n-2) {
        grid-row: span 1;
    }
}