@charset "UTF-8";
/*
Theme Name:     Viva 2025
Author:         H9 Design
Version:        1.0
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@700&display=swap");
*, *::before, *::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

html {
  --viewport-width: 100vw;
  --viewport-height: 100vh;
  --viewport-min-height: 100vh;
  --viewport-min-height: 100svh;
  --viewport-max-height: 100vh;
  --viewport-max-height: 100lvh;
  --viewport-dynamic-height: 100vh;
  --viewport-visible-height: 100vh;
  --viewport-offset-x: 0px;
  --viewport-offset-y: 0px;
  --screen-width: 100vw;
  --screen-height: 100vh;
  --screen-scrollbar: 0px;
}

html {
  --breakpoint-phone: 640px;
}

@media screen and (max-width: 640px) {
  html {
    --breakpoint: phone;
  }
}
html {
  --breakpoint-tablet: 768px;
}

@media screen and (min-width: 641px) and (max-width: 768px) {
  html {
    --breakpoint: tablet;
  }
}
html {
  --breakpoint-laptop: 1024px;
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  html {
    --breakpoint: laptop;
  }
}
html {
  --breakpoint-desktop: 1440px;
}

@media screen and (min-width: 1025px) {
  html {
    --breakpoint: desktop;
  }
}
html {
  --column-count: 12;
  --column-gap: 15px;
  --column-padding: 15px;
  --column-width: 100%;
}

@media screen and (max-width: 640px) {
  html {
    --column-count: 12;
    --column-gap: 15px;
    --column-padding: 15px;
  }
}
html {
  --screen-column-width: calc(var(--inner-width) - (var(--column-padding) * 2));
  --screen-column-gap: var(--column-gap);
}

html {
  font-family: Tonal, "Noto Sans TC", sans-serif;
  font-size: 25px;
  line-height: 1;
}

html {
  --lh: 1em;
}

html {
  font-weight: normal;
}

html {
  margin: 0;
  overflow-anchor: none;
  position: relative;
  --margin-top: var(--lh);
  --margin-bottom: var(--lh);
  --first-margin-top: 0;
  --last-margin-bottom: 0;
}

body {
  margin: 0;
  color: #000;
  background: #FFF;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

:where(h1, h2, h3, h4, h5, h6, p, ul, ol, figure, canvas, iframe, table, fieldset, summary, form) {
  margin-top: var(--margin-top, 0);
  margin-bottom: var(--margin-bottom);
  overflow-wrap: break-word;
}

:where(:where(h1, h2, h3, h4, h5, h6, p, ul, ol, figure, canvas, iframe, table, fieldset, summary, form):first-child) {
  margin-top: var(--first-margin-top, 0);
}

:where(:where(h1, h2, h3, h4, h5, h6, p, ul, ol, figure, canvas, iframe, table, fieldset, summary, form):last-child) {
  margin-bottom: var(--last-margin-bottom, var(--margin-bottom));
}

h1, h2, h3, h4, h5, h6 {
  color: inherit;
}

h1 {
  font-size: 1.6rem;
}

h2 {
  font-size: 0.96rem;
}

h3 {
  font-size: 0.8rem;
}

h4 {
  font-size: 0.72rem;
}

h5 {
  font-size: 0.56rem;
}

h6 {
  font-size: 0.48rem;
}

small {
  font-size: 0.8em;
}

strong, b {
  font-weight: 600;
}

em, i {
  font-style: italic;
}

sup, sub {
  font-size: 0.8em;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.45em;
}

sub {
  bottom: -0.25em;
}

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

a {
  color: inherit;
  text-decoration: underline;
}

@media (hover: hover) {
  a:hover {
    text-decoration: none;
  }
}
:where(a) {
  outline: none;
}

:where(a):focus-visible {
  outline-color: var(--focus-color, #007BFF);
  outline-style: var(--focus-style, solid);
  outline-width: var(--focus-size, );
  outline-offset: var(--focus-offset, );
}

:where(a):focus-visible *:focus {
  outline: none;
  box-shadow: none;
}

:where(ul, ol) {
  margin: 0px 1.2em 0px 1.2em;
}

:where(ul, ol) {
  padding: 0px;
}

:where(ul, ol) {
  list-style-position: outside;
}

:where(ul, ol) :where(ul, ol) {
  margin-top: 0px;
  margin-bottom: 0px;
}

ul.is-clear, ul:where([unstyled]), ol.is-clear, ol:where([unstyled]) {
  list-style: none;
}

ul.is-clear, ul:where([unstyled]), ol.is-clear, ol:where([unstyled]) {
  margin: 0px;
}

ul.is-clear, ul:where([unstyled]), ol.is-clear, ol:where([unstyled]) {
  padding: 0px;
}

ul.is-inline, ol.is-inline {
  list-style: none;
}

ul.is-inline, ol.is-inline {
  margin: 0px;
}

ul.is-inline, ol.is-inline {
  padding: 0px;
}

ul.is-inline, ol.is-inline {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--gap, 0.5em);
}

ul {
  list-style-type: disc;
}

ol {
  list-style-type: decimal;
}

ul:where([unstyled]), ol:where([unstyled]) {
  list-style: none;
}

ul:where([unstyled]), ol:where([unstyled]) {
  margin: 0px;
}

ul:where([unstyled]), ol:where([unstyled]) {
  padding: 0px;
}

menu {
  list-style: none;
}

menu {
  margin: 0px;
}

menu {
  padding: 0px;
}

img {
  border: 0;
  height: auto;
  vertical-align: top;
}

button img {
  vertical-align: middle;
}

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

img[unstyled], picture[unstyled], video[unstyled], canvas[unstyled], svg[unstyled] {
  max-width: none;
}

svg, canvas, iframe {
  vertical-align: top;
}

table {
  border-collapse: collapse;
  color: inherit;
  font: inherit;
  width: 100%;
}

table {
  font-family: inherit;
}

th, td {
  border: 1px solid #000;
  padding: 0.5em;
  text-align: left;
}

:where(fieldset) {
  border: none;
  padding: 0;
  min-width: 0;
}

:where(fieldset) :where(input), :where(fieldset) textarea, :where(fieldset) select {
  width: 100%;
}

:where(fieldset) :where([type=checkbox], [type=radio]) {
  width: auto;
}

label, legend {
  padding: 0;
  display: block;
  font: inherit;
}

label[for], label:has(input, select, textarea) {
  cursor: pointer;
}

button, input, optgroup, select, textarea, [contenteditable] {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
}

button, [href], input, select, textarea, [contenteditable], :where([tabindex]:not([tabindex="-1"])) {
  outline: none;
}

button:focus-visible, [href]:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [contenteditable]:focus-visible, :where([tabindex]:not([tabindex="-1"])):focus-visible {
  outline-color: var(--focus-color, #007BFF);
  outline-style: var(--focus-style, solid);
  outline-width: var(--focus-size, );
  outline-offset: var(--focus-offset, );
}

button:focus-visible *:focus, [href]:focus-visible *:focus, input:focus-visible *:focus, select:focus-visible *:focus, textarea:focus-visible *:focus, [contenteditable]:focus-visible *:focus, :where([tabindex]:not([tabindex="-1"])):focus-visible *:focus {
  outline: none;
  box-shadow: none;
}

button, [type=checkbox], [type=radio], [type=button], [type=reset], [type=submit], [role=button], select {
  cursor: pointer;
}

button, [type=checkbox], [type=radio], [type=button], [type=reset], [type=submit], [role=button], select {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

button[unstyled] {
  appearance: none;
  -webkit-appearance: none;
}

:where(button[unstyled]) {
  font-weight: inherit;
  color: inherit;
  border: none;
  border-radius: 0;
  background: none;
  padding: 0;
  margin: 0;
  text-align: inherit;
}

input[type=search]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
}

textarea,
:where(input:not([type=radio], [type=checkbox])),
:where([contenteditable]:not([contenteditable=false])) {
  -webkit-appearance: none;
}

textarea {
  resize: none;
}

.input-wrap:focus-within {
  outline-color: var(--focus-color, #007BFF);
  outline-style: var(--focus-style, solid);
  outline-width: var(--focus-size, );
  outline-offset: var(--focus-offset, );
}

.input-wrap:focus-within *:focus {
  outline: none;
  box-shadow: none;
}

.input-wrap {
  display: inline-flex;
  gap: 0.5em;
}

.input-wrap > :where(*) {
  font: inherit;
  border: none;
  padding: 0;
}

hr {
  background-color: #000;
  height: 1px;
  border: none;
}

summary {
  cursor: pointer;
}

summary[unstyled] {
  display: block;
  -webkit-appearance: none;
}

summary[unstyled]::-webkit-details-marker {
  display: none;
}

details[unstyled] summary {
  display: block;
  -webkit-appearance: none;
}

dialog {
  padding: 0;
  border: none;
}

dialog:not([open]) {
  display: none;
}

[hidden] {
  display: none !important;
}

[hidden=opacity], [hidden=visibility] {
  display: revert !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

[hidden=size], [invisible] {
  display: revert !important;
  height: 0 !important;
  width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  pointer-events: none !important;
}

[invisible] {
  position: absolute !important;
}

[pointer] {
  cursor: pointer;
}

[disabled] {
  pointer-events: none;
  opacity: 0.5;
}

::-moz-selection {
  color: var(--text-selection-fg);
  background: var(--text-selection-bg, #b3d4fc);
  text-shadow: none;
}

::selection {
  color: var(--text-selection-fg);
  background: var(--text-selection-bg, #b3d4fc);
  text-shadow: none;
}

::placeholder {
  font: inherit;
  color: rgba(0, 0, 0, 0.4);
  opacity: 0.8;
}

[placeholder]:empty::before {
  content: attr(placeholder);
  pointer-events: none;
  color: rgba(0, 0, 0, 0.4);
}

[debug=columns] {
  opacity: 0.5;
  pointer-events: none;
}

[debug=columns] {
  position: fixed;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  width: 100%;
  height: 100%;
}

[debug=columns] {
  z-index: 999999;
}

[debug=columns]::before {
  display: block;
  content: "";
  height: 100%;
  background: no-repeat var(--bg-column-padding, var(--column-padding)) 0/calc(100% - var(--bg-column-padding, var(--column-padding)) * 2 + var(--bg-column-gap, var(--column-gap))) 100% repeating-linear-gradient(to right, var(--bg-column-color, rgba(255, 0, 0, 0.2)), var(--bg-column-color, rgba(255, 0, 0, 0.2)) calc(100% / var(--bg-column-count, var(--column-count)) - var(--bg-column-gap, var(--column-gap)) - 1px), transparent calc(100% / var(--bg-column-count, var(--column-count)) - var(--bg-column-gap, var(--column-gap))), transparent calc(100% / var(--bg-column-count, var(--column-count)))), repeat-y 0 0/100% var(--bg-column-baseline, var(--lh)) linear-gradient(0deg, transparent 95%, rgba(56, 255, 255, 0.9) 100%);
}

[debug=breakpoints] {
  background: linear-gradient(to right, rgba(255, 0, 0, 0.2) 10px, transparent 10px, transparent) 355px top, linear-gradient(to right, red 1px, transparent 1px, transparent) 360px top, linear-gradient(to right, rgba(128, 128, 128, 0.2) 10px, transparent 10px, transparent) 635px top, linear-gradient(to right, gray 1px, transparent 1px, transparent) 640px top, linear-gradient(to right, rgba(0, 0, 0, 0.2) 10px, transparent 10px, transparent) 763px top, linear-gradient(to right, black 1px, transparent 1px, transparent) 768px top, linear-gradient(to right, rgba(0, 0, 255, 0.2) 10px, transparent 10px, transparent) 1019px top, linear-gradient(to right, blue 1px, transparent 1px, transparent) 1024px top, linear-gradient(to right, rgba(0, 128, 0, 0.2) 10px, transparent 10px, transparent) 1435px top, linear-gradient(to right, green 1px, transparent 1px, transparent) 1440px top;
  background-repeat: no-repeat;
  pointer-events: none;
}

[debug=breakpoints] {
  position: fixed;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  width: 100%;
  height: 100%;
}

[debug=breakpoints] {
  z-index: 999999;
}

[debug=breakpoints]::after {
  position: absolute;
  top: auto;
  right: 0;
  bottom: 0;
  left: auto;
}

[debug=breakpoints]::after {
  content: "-";
  color: #FFF;
  background: black;
  font-size: 14px;
  font-weight: bold;
  font-family: monospace;
  padding: 0.2em 0.7em;
  display: block;
  opacity: 0.8;
  text-align: center;
}

@media screen and (max-width: 640px) {
  [debug=breakpoints]::after {
    background: gray;
    content: "PHONE (640px and less)";
  }
}
@media screen and (min-width: 641px) and (max-width: 768px) {
  [debug=breakpoints]::after {
    background: black;
    content: "TABLET (640px to 768px)";
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  [debug=breakpoints]::after {
    background: blue;
    content: "LAPTOP (768px to 1024px)";
  }
}
@media screen and (min-width: 1025px) {
  [debug=breakpoints]::after {
    content: "DESKTOP (1024px to 1440px)";
    background: green;
  }
}
@media screen and (max-width: 360px) {
  [debug=breakpoints]::after {
    background: red;
    content: "MINI (360px and less)";
  }
}
@media screen and (min-width: 1441px) {
  [debug=breakpoints]::after {
    background: purple;
    content: "WIDESCREEN (more than 1440px)";
  }
}
.clearfix:after {
  content: "";
  clear: both;
  display: table;
}

.float-left {
  float: left;
}

.float-right {
  float: right;
}

.children-left {
  display: flex;
  justify-content: flex-start;
}

.children-center {
  display: flex;
  justify-content: center;
}

.children-right {
  display: flex;
  justify-content: flex-end;
}

.children-spaced {
  display: flex;
  justify-content: space-between;
}

.children-stacked {
  display: grid;
}

.children-stacked > * {
  grid-area: 1/1;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-overflow {
  display: inline-block;
  text-overflow: ellipsis;
  overflow-x: hidden;
  overflow-y: hidden;
  white-space: nowrap;
  max-width: 100%;
}

.text-hyphens {
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
  max-width: 100%;
  word-wrap: break-word;
  max-width: 100%;
}

.text-upper {
  text-transform: uppercase;
}

.text-lower {
  text-transform: lowercase;
}

.text-middle {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.text-bottom {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.text-nowrap {
  white-space: nowrap;
}

.img-left {
  float: left;
  margin: 0 var(--lh) var(--lh) 0;
}

.img-right {
  float: right;
  margin: 0 0 var(--lh) var(--lh);
}

.no-select {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.no-drag {
  -webkit-user-drag: none;
}

.no-scrollbar {
  scrollbar-width: none;
}

.no-scrollbar::-webkit-scrollbar {
  display: none;
}

.no-animation, .no-animation *,
[animation=off], [animation=off] * {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
  transition: none !important;
}

.no-touch {
  pointer-events: none;
}

.no-touch .has-touch {
  pointer-events: all;
}

html[lang] {
  margin-top: 0 !important;
}

div#wpadminbar {
  transition: all 0.2s;
}
div#wpadminbar:not(:hover) {
  transform: translateY(calc(-100% + 3px));
}
div#wpadminbar:after {
  position: absolute;
  top: 100%;
  right: auto;
  bottom: auto;
  left: 50%;
}
div#wpadminbar:after {
  transform: translateX(-50%);
}
div#wpadminbar:after {
  content: "\f111";
  font-family: dashicons;
  font-size: 10px;
  border-radius: 0 0 3px 3px;
  line-height: 1;
  display: block;
  background: inherit;
  color: white;
  width: 28px;
  text-align: center;
  padding: 2px 0 5px;
}
@media screen and (min-width: 783px) {
  body.is-env-local div#wpadminbar #wp-admin-bar-wp-logo, body.is-env-local div#wpadminbar #wp-admin-bar-updates {
    display: none;
  }
}
@media screen and (max-width: 782px) {
  body.is-env-local div#wpadminbar {
    display: none;
  }
}

#wp-admin-bar-my-account, #wp-admin-bar-search {
  display: none;
}

.is-layout-flex {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--column-gap, 1em);
  row-gap: var(--row-gap, 0.2em);
}
.is-layout-flex.is-horizontal {
  flex-direction: row;
}
.is-layout-flex.is-vertical {
  flex-direction: column;
}
.is-layout-flex.is-content-justification-left {
  justify-content: flex-start;
}
.is-layout-flex.is-content-justification-center {
  justify-content: center;
}
.is-layout-flex.is-content-justification-space-between {
  justify-content: space-between;
}
.is-layout-flex.is-content-justification-right {
  justify-content: flex-end;
}
.is-layout-flex.is-nowrap {
  flex-wrap: nowrap;
}

.wp-block-buttons .wp-block-button {
  margin-left: 0;
  margin-right: 0;
}

@font-face {
  font-family: "Tonal";
  src: url("assets/fonts/tonal/OTTonal-Medium.woff2") format("woff2"), url("assets/fonts/tonal/OTTonal-Medium.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Tonal";
  src: url("assets/fonts/tonal/OTTonal-MediumItalic.woff2") format("woff2"), url("assets/fonts/tonal/OTTonal-MediumItalic.woff") format("woff");
  font-weight: normal;
  font-style: italic;
}
.btn, .site-privacy-cookies button, .site-privacy-consent__overlay-close, .gform_wrapper button, .gform_confirmation_wrapper button, form button, gform button {
  background: none;
  color: #590FFA;
  border: none;
  padding: 0;
}
@media (hover: hover) {
  .btn:hover, .site-privacy-cookies button:hover, .site-privacy-consent__overlay-close:hover, .gform_wrapper button:hover, .gform_confirmation_wrapper button:hover, form button:hover, gform button:hover {
    text-decoration: underline;
    text-underline-offset: var(--underline-offset, 2.5px);
    text-decoration-thickness: var(--underline-width, 3px);
    text-decoration-color: var(--underline-color, currentColor);
  }
}

/* ----------------------------------------------------------------––––––-------
Layout 
----------------------------------------------------------------––––––------- */
@font-face {
  font-family: "Tonal";
  src: url("assets/fonts/tonal/OTTonal-Medium.woff2") format("woff2"), url("assets/fonts/tonal/OTTonal-Medium.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Tonal";
  src: url("assets/fonts/tonal/OTTonal-MediumItalic.woff2") format("woff2"), url("assets/fonts/tonal/OTTonal-MediumItalic.woff") format("woff");
  font-weight: normal;
  font-style: italic;
}
body {
  font-size: 1rem;
  line-height: 1;
  letter-spacing: -0.02em;
}

* {
  font-weight: normal;
}

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: normal;
}

figcaption, .wp-block-image figcaption {
  margin-top: -2px;
}

a:where([href]) {
  --text: #590FFA;
  color: #590FFA;
  text-decoration: none;
}
@media (hover: hover) {
  a:where([href]):hover {
    text-decoration: underline;
    text-underline-offset: var(--underline-offset, 2.5px);
    text-decoration-thickness: var(--underline-width, 3px);
    text-decoration-color: var(--underline-color, currentColor);
  }
}

table td, table th {
  border: 0;
  padding: 0;
  vertical-align: top;
}

main ul:where(:not([unstyled])),
main ol:where(:not([unstyled])) {
  padding: 0;
  list-style-position: outside;
}
main ul:where(:not([unstyled])),
main ol:where(:not([unstyled])) {
  margin: 0 0 1em calc(((var(--screen-column-width, 100%) + var(--screen-column-gap, 15px)) * var(--screen-column-ratio, (1/12)) - var(--screen-column-gap, 15px) + (var(--screen-column-gap, 15px) * 1)) * 1);
}
main ul:where(:not([unstyled])) ul, main ul:where(:not([unstyled])) ol,
main ol:where(:not([unstyled])) ul,
main ol:where(:not([unstyled])) ol {
  margin-bottom: 0;
}
main ol:where(:not([unstyled])) {
  counter-reset: ol;
  list-style-type: none;
}
main ol:where(:not([unstyled])) > li {
  position: relative;
  counter-increment: ol;
}
main ol:where(:not([unstyled])) > li::before {
  content: counters(ol, ".");
  margin-right: var(--column-gap);
}
main ol:where(:not([unstyled])) > li::before {
  position: absolute;
  top: 0;
  right: 100%;
  bottom: auto;
  left: auto;
}

form :where(input:not([type], [unstyled]), input:not([type=color], [type=radio], [type=checkbox], [unstyled]), textarea, [contenteditable], .input-wrap, select), gform :where(input:not([type], [unstyled]), input:not([type=color], [type=radio], [type=checkbox], [unstyled]), textarea, [contenteditable], .input-wrap, select) {
  color: var(--input-color, #FFF);
  background: var(--input-background, #590FFA);
  border: var(--input-border-size, 1px) var(--input-border-style, solid) var(--input-border-color, currentColor);
}
form :where(input:not([type], [unstyled]), input:not([type=color], [type=radio], [type=checkbox], [unstyled]), textarea, [contenteditable], .input-wrap, select), gform :where(input:not([type], [unstyled]), input:not([type=color], [type=radio], [type=checkbox], [unstyled]), textarea, [contenteditable], .input-wrap, select) {
  padding: var(--input-padding, 0px 0px 0.9em 0px);
}
form :where(input:not([type], [unstyled]), input:not([type=color], [type=radio], [type=checkbox], [unstyled]), textarea, [contenteditable], .input-wrap, select).placeholder, form :where(input:not([type], [unstyled]), input:not([type=color], [type=radio], [type=checkbox], [unstyled]), textarea, [contenteditable], .input-wrap, select)::placeholder, gform :where(input:not([type], [unstyled]), input:not([type=color], [type=radio], [type=checkbox], [unstyled]), textarea, [contenteditable], .input-wrap, select).placeholder, gform :where(input:not([type], [unstyled]), input:not([type=color], [type=radio], [type=checkbox], [unstyled]), textarea, [contenteditable], .input-wrap, select)::placeholder {
  color: var(--placeholder-color, #D4C5F4);
}
form :where(input:not([type], [unstyled]), input:not([type=color], [type=radio], [type=checkbox], [unstyled]), textarea, [contenteditable], .input-wrap, select):focus-within, gform :where(input:not([type], [unstyled]), input:not([type=color], [type=radio], [type=checkbox], [unstyled]), textarea, [contenteditable], .input-wrap, select):focus-within {
  outline-color: var(--focus-color, #007BFF);
  outline-style: var(--focus-style, solid);
  outline-width: var(--focus-size, );
  outline-offset: var(--focus-offset, 1px);
}
form :where(input:not([type], [unstyled]), input:not([type=color], [type=radio], [type=checkbox], [unstyled]), textarea, [contenteditable], .input-wrap, select):focus-within *:focus, gform :where(input:not([type], [unstyled]), input:not([type=color], [type=radio], [type=checkbox], [unstyled]), textarea, [contenteditable], .input-wrap, select):focus-within *:focus {
  outline: none;
  box-shadow: none;
}
form :where(input:not([type], [unstyled]), input:not([type=color], [type=radio], [type=checkbox], [unstyled]), textarea, [contenteditable], .input-wrap, select), gform :where(input:not([type], [unstyled]), input:not([type=color], [type=radio], [type=checkbox], [unstyled]), textarea, [contenteditable], .input-wrap, select) {
  font: var(--input-font, inherit);
  line-height: var(--input-lineheight, inherit);
  border-radius: 0;
  margin: 0;
  width: 100%;
  vertical-align: top;
}
form .input-wrap, gform .input-wrap {
  display: inline-flex;
}
form select, gform select {
  appearance: none;
}
form, gform {
  --form-row-gap:0.95em;
}
form input:not([type], [unstyled]), form input:not([type=color], [type=radio], [type=checkbox], [unstyled]), form textarea, form [contenteditable], gform input:not([type], [unstyled]), gform input:not([type=color], [type=radio], [type=checkbox], [unstyled]), gform textarea, gform [contenteditable] {
  clip-path: inset(5px 0 0 0);
  margin-top: -5px;
}
form .gfield_error, gform .gfield_error {
  --form-checkbox-border:#FA0F0F;
  --form-checkbox-background:#FA0F0F;
  --input-error-color:#FA0F0F;
  --input-background:#FA0F0F;
}
form .ginput_complex, gform .ginput_complex {
  align-items: flex-end;
}
form .ginput_container_consent, gform .ginput_container_consent {
  position: relative;
  padding-left: 0.85em;
}
form .ginput_container_consent input, gform .ginput_container_consent input {
  position: absolute;
  top: 0.1em;
  right: auto;
  bottom: auto;
  left: 0;
}
.gform_body input:not([type], [unstyled]), .gform_body input:not([type=color], [type=radio], [type=checkbox], [unstyled]), .gform_body textarea, .gform_body [contenteditable], .gform_body select {
  margin: 0;
  width: 100%;
}
.gform_description {
  display: block;
}
.gform_description {
  margin: var(--form-description-margin, 0.5em 0px 1em 0px);
}
.gform_validation_errors {
  display: none;
}

.gsection_description {
  font-size: inherit;
  margin-bottom: 1px;
}
.gsection:not(:first-child) .gsection_title {
  margin-top: 1.2em;
}

.gform_fields {
  list-style: none;
}
.gform_fields {
  margin: 0px;
}
.gform_fields {
  padding: 0px;
}
.gform_fields {
  --field-gap: var(--form-column-gap, var(--column-gap, 0.5em));
  --field-ratio: 1;
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--field-gap);
  row-gap: var(--form-row-gap, 0.5em);
  width: 100%;
}

.gfield {
  flex: 0 0 calc((100% + var(--field-gap)) * var(--column-ratio, var(--field-ratio)) - var(--field-gap));
  flex-direction: column;
}
.gfield--width-eleven-twelfths {
  --field-ratio:11/12;
}
.gfield--width-five-sixths {
  --field-ratio:10/12;
}
.gfield--width-three-quarter {
  --field-ratio:9/12;
}
.gfield--width-two-thirds {
  --field-ratio:8/12;
}
.gfield--width-seven-twelfths {
  --field-ratio:7/12;
}
.gfield--width-half {
  --field-ratio:6/12;
}
.gfield--width-five-twelfths {
  --field-ratio:5/12;
}
.gfield--width-third {
  --field-ratio:4/12;
}
.gfield--width-quarter {
  --field-ratio:3/12;
}
.gfield--width-one-sixth {
  --field-ratio:2/12;
}
.gfield--width-one-twelfth {
  --field-ratio:1/12;
}
.gfield input.small, .gfield select.small {
  width: calc(((var(--column-width, 100%) + --field-gap) * var(--column-ratio, (4/12)) - --field-gap) * 1);
}
.gfield input.medium, .gfield select.medium {
  width: calc(((var(--column-width, 100%) + --field-gap) * var(--column-ratio, (1/2)) - --field-gap) * 1);
}
.gfield {
  position: relative;
  margin: 0;
  max-width: 100%;
}
.gfield_visibility_hidden, .hidden_label .gfield_label {
  display: none !important;
}
.gfield .spacer {
  display: none !important;
}
.gfield_label {
  display: block;
  font-size: inherit;
  margin-bottom: 1px;
}
.gfield .gform-field-label--type-inline {
  display: inline-block;
}
.gfield .gform-field-label--type-sub {
  font-size: inherit;
  margin-bottom: 1px;
}
.gfield_description {
  font-size: 0.7em;
}
.gfield_required {
  display: inline-block;
  position: relative;
  overflow: hidden;
  text-indent: -800vw;
  font-size: 0.7em;
  height: 1em;
  width: 1em;
  vertical-align: top;
}
.gfield_required::after {
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
}
.gfield_required::after {
  text-indent: 0;
  content: "*";
}
.gfield_error {
  --input-border-color: var(--input-error-color);
  color: var(--input-error-color);
}
.gfield_validation_message {
  display: block;
  font-size: 0.7em;
  color: #FA0F0F;
}

.ginput_complex {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--form-column-gap, var(--column-gap, 0.5em));
  row-gap: var(--form-row-gap, 0.5em);
  flex-direction: row;
}
.ginput_complex > * {
  flex: 0 0 auto;
}
.ginput_complex > * {
  width: calc(((var(--column-width, 100%) + var(--form-column-gap, var(--column-gap, 0.5em))) * var(--column-ratio, (1/2)) - var(--form-column-gap, var(--column-gap, 0.5em))) * 1);
}
.ginput_complex .ginput_full {
  --column-ratio:1;
}
.ginput_container input, .ginput_container select {
  margin-bottom: 0;
}

.gf_clear {
  display: none;
}

.screen-reader-text {
  display: revert !important;
  height: 0 !important;
  width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  pointer-events: none !important;
  position: absolute !important;
}

.gfield_checkbox, .gfield_radio {
  display: flex;
  flex-direction: column;
  row-gap: var(--form-choice-row-gap, 0);
}

.gchoice {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.gchoice > * {
  order: 3;
}
.gchoice input[type=radio], .gchoice input[type=checkbox] {
  order: 1;
  flex: 0 0 auto;
  margin-right: var(--form-choice-gap, 0.2em);
}
.gchoice label {
  order: 2;
  cursor: pointer;
  flex: 1 1 auto;
  width: min-content;
}
.gchoice_other_control[disabled] {
  display: none;
}

.gfield_choice_all_toggle {
  margin-top: 1em;
}

.gfield_list_groups {
  display: flex;
  row-gap: var(--form-list-row-gap, 0.5em);
  flex-direction: column;
}
.gfield_list_group {
  display: flex;
  column-gap: var(--form-column-gap, var(--column-gap, 0.5em));
}
.gfield_list_group_item {
  flex: 1 1 auto;
}
.gfield_list_icons {
  display: flex;
  column-gap: var(--form-column-gap, var(--column-gap, 0.5em));
}
.gfield_list_icons button {
  margin-bottom: 0;
}

.ginput_container_fileupload {
  overflow: hidden;
}

.gform_fileupload_rules {
  display: block;
  margin-top: 0.5em;
  font-size: 0.7em;
}

.gfield--type-time input {
  height: 100%;
}
.gfield--type-time .ginput_complex {
  column-gap: 0;
  align-items: stretch;
}
.gfield--type-time .ginput_container_time {
  flex: 0 0 auto;
  width: 4.7em;
}
.gfield--type-time .hour_minute_colon {
  flex: 0 0 auto;
  width: var(--form-column-gap, var(--column-gap, 0.5em));
  text-align: center;
}
.gfield--type-time .gfield_time_minute {
  margin-left: 0;
}
.gfield--type-time .gfield_time_ampm {
  margin-left: var(--form-column-gap, var(--column-gap, 0.5em));
}

.ginput_container_date {
  display: inline-block;
  max-width: 11em;
}

.gfield--type-honeypot {
  display: none;
}

.gform_footer {
  display: flex;
  flex-direction: column;
  gap: var(--form-column-gap, var(--column-gap, 0.5em));
  margin-top: 1em;
  margin-bottom: 1em;
}
.gform_button, .gform_footer button {
  display: flex !important;
  gap: 0.5em;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-bottom: 0;
}
.gform_ajax_spinner, .gform-loader {
  display: none !important;
}
.gform_wrapper.is-loading .gform_footer .gform_button {
  opacity: 0.4;
  pointer-events: none;
}

.gform_wrapper, .gform_confirmation_wrapper {
  --form-row-gap:0.95em;
}
.gform_wrapper input:not([type], [unstyled]), .gform_wrapper input:not([type=color], [type=radio], [type=checkbox], [unstyled]), .gform_wrapper textarea, .gform_wrapper [contenteditable], .gform_confirmation_wrapper input:not([type], [unstyled]), .gform_confirmation_wrapper input:not([type=color], [type=radio], [type=checkbox], [unstyled]), .gform_confirmation_wrapper textarea, .gform_confirmation_wrapper [contenteditable] {
  clip-path: inset(5px 0 0 0);
  margin-top: -5px;
}
.gform_wrapper .gfield_error, .gform_confirmation_wrapper .gfield_error {
  --form-checkbox-border:#FA0F0F;
  --form-checkbox-background:#FA0F0F;
  --input-error-color:#FA0F0F;
  --input-background:#FA0F0F;
}
.gform_wrapper .ginput_complex, .gform_confirmation_wrapper .ginput_complex {
  align-items: flex-end;
}
.gform_wrapper .ginput_container_consent, .gform_confirmation_wrapper .ginput_container_consent {
  position: relative;
  padding-left: 0.85em;
}
.gform_wrapper .ginput_container_consent input, .gform_confirmation_wrapper .ginput_container_consent input {
  position: absolute;
  top: 0.1em;
  right: auto;
  bottom: auto;
  left: 0;
}
[type=checkbox] {
  color: var(--form-checkbox-color, #000);
  border: 3px solid var(--form-checkbox-border, #590FFA);
  appearance: none;
  position: relative;
  min-width: 0;
  -webkit-appearance: none;
}
[type=checkbox] {
  padding: 3px;
}
[type=checkbox]::after {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
}
[type=checkbox]:where(:not(:checked))::after {
  opacity: 0;
}
[type=checkbox] {
  border-radius: 0;
}
[type=checkbox] {
  display: inline-block;
  width: 19px;
  height: 19px;
  overflow: hidden;
}
[type=checkbox]::after {
  color: var(--form-checkbox-dot, #000);
  line-height: 0;
  background: none;
  display: flex;
  align-items: center;
  justify-content: center;
  content: "×";
}
[type=checkbox]::after {
  position: absolute;
  top: -1.3px;
  right: auto;
  bottom: auto;
  left: -0.3px;
}
[type=checkbox]:checked {
  background-color: var(--form-checkbox-background, #590FFA);
}

.gform_footer {
  align-items: flex-start;
}
.gform_footer button {
  display: inline-block;
}

z {
  background-color: #FFF;
  padding-right: 0.5px;
  margin-right: -0.5px;
}
z {
  background-color: #FFF;
  background: repeating-linear-gradient(transparent, transparent 5px, #FFF 5px, #FFF calc(5px + 25px), transparent calc(5px + 25px), transparent 100%);
}

@media (hover: hover) {
  [w]:hover {
    cursor: pointer;
    color: var(--text, #979797);
  }
}

.site-back {
  position: fixed;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
}
.site-back {
  z-index: 1;
}
.site-back > * {
  mix-blend-mode: multiply;
  opacity: 0.75;
  transition: opacity 0.3s;
}
.site-back > * {
  position: absolute;
  top: 0;
  right: 0;
  bottom: auto;
  left: 0;
}
.site-back > * source, .site-back > * img {
  width: 100%;
}
.site-back__reset {
  position: fixed;
  top: auto;
  right: auto;
  bottom: 0;
  left: 0;
}
.site-back__reset {
  z-index: 150;
}
.site-back__reset {
  padding: 0.9rem var(--column-padding, 15px);
}
body:not([has-reset]) .site-back__reset {
  display: none;
}

.site-main {
  position: relative;
  z-index: 2;
}
.site-main {
  padding: 0 var(--column-padding, 15px) 5em var(--column-padding, 15px);
}

.site-head {
  pointer-events: none;
  margin-bottom: 3rem;
}
.site-head {
  display: flex;
  column-gap: var(--column-gap, 15px);
  flex-direction: row;
  align-items: flex-start;
}
.site-head > * {
  flex: 0 0 auto;
}
.site-head > *:nth-child(3n-2) {
  width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (3/12)) - var(--column-gap, 15px)) * 1);
}
.site-head > *:nth-child(3n-1) {
  width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (3/12)) - var(--column-gap, 15px)) * 1);
}
.site-head > *:nth-child(3n) {
  width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (6/12)) - var(--column-gap, 15px)) * 1);
}
.site-head {
  position: sticky;
  top: 0;
  right: 0;
  bottom: auto;
  left: 0;
}
.site-head {
  padding: 0.45rem var(--column-padding, 15px) 1rem;
}
.site-head {
  z-index: 151;
}
.site-head > * {
  pointer-events: all;
}
.site-head__brand {
  position: relative;
  z-index: 3;
}
.site-head__menu {
  justify-content: space-between;
  align-items: flex-start;
}
.site-head__menu {
  display: flex;
  column-gap: var(--column-gap, 15px);
  flex-direction: row;
}
.site-head__menu > * {
  width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio) - var(--column-gap, 15px)) * 1);
}
.site-head__menu nav > button {
  margin-bottom: 1em;
}
.site-head__main {
  height: 1em;
  z-index: 3;
  position: relative;
}
.site-head__main > menu {
  position: absolute;
  top: 100%;
  right: auto;
  bottom: auto;
  left: 0;
}
.site-head__main menu {
  white-space: nowrap;
}
.site-head__info {
  display: flex;
  flex-direction: column;
}
.site-head__privacy {
  display: flex;
  flex-direction: column;
}
.site-head[is-open=main] .site-head__quick z {
  color: #000;
  background: none;
}
.site-head__quick {
  text-align: right;
  position: relative;
}
.site-head__quick > menu {
  text-align: right;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 90vw;
  pointer-events: none;
}
.site-head__quick > menu {
  position: absolute;
  top: 100%;
  right: 0;
  bottom: auto;
  left: auto;
}
.site-head__quick > menu > li > a {
  pointer-events: all;
}
.site-head[is-open=quick] .site-head__brand z, .site-head[is-open=quick] .site-head__address z, .site-head[is-open=quick] .site-head__main z {
  color: #000;
  background: none;
}
.site-head[is-open=quick] .site-head__menu menu .btn, .site-head[is-open=quick] .site-head__menu menu .site-privacy-cookies button, .site-privacy-cookies .site-head[is-open=quick] .site-head__menu menu button, .site-head[is-open=quick] .site-head__menu menu .site-privacy-consent__overlay-close, .site-head[is-open=quick] .site-head__menu menu form button, form .site-head[is-open=quick] .site-head__menu menu button, .site-head[is-open=quick] .site-head__menu menu gform button, gform .site-head[is-open=quick] .site-head__menu menu button, .site-head[is-open=quick] .site-head__menu menu .gform_wrapper button, .gform_wrapper .site-head[is-open=quick] .site-head__menu menu button, .site-head[is-open=quick] .site-head__menu menu .gform_confirmation_wrapper button, .gform_confirmation_wrapper .site-head[is-open=quick] .site-head__menu menu button {
  color: #000;
}
.site-head__anchors {
  overflow: auto;
  max-height: var(--max-height);
}
.site-head__anchors {
  scrollbar-width: none;
}
.site-head__anchors::-webkit-scrollbar {
  display: none;
}
.site-head__overlay {
  display: contents;
}
.site-head__overlay-backdrop {
  mix-blend-mode: multiply;
  background: #590FFA;
}
.site-head__overlay-backdrop {
  position: absolute;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.site-head__overlay-backdrop {
  z-index: 150;
}
.site-head__overlay-content {
  padding: 0.9rem var(--column-padding, 15px);
}
.site-head__overlay-content {
  position: absolute;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.site-head__overlay-content {
  z-index: 150;
}
@media screen and (min-width: 769px) {
  .site-head__overlay-content {
    display: flex;
    flex-wrap: wrap;
    column-gap: var(--column-gap, 15px);
    flex-direction: row;
    align-items: flex-end;
  }
  .site-head__overlay-content > * {
    flex: 0 0 auto;
  }
  .site-head__overlay-content > * {
    width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (1/2)) - var(--column-gap, 15px)) * 1);
  }
}
@media screen and (max-width: 768px) {
  .site-head__overlay-content {
    display: flex;
    flex-wrap: wrap;
    column-gap: var(--column-gap, 15px);
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }
  .site-head__overlay-content > * {
    width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio) - var(--column-gap, 15px)) * 1);
  }
  .site-head__overlay-content {
    align-content: flex-end;
  }
}
@media screen and (max-width: 1024px) {
  .site-head__brand {
    --column-ratio:1/2;
  }
  .site-head__address {
    display: none;
  }
  .site-head__menu {
    text-align: right;
    align-items: flex-end;
    justify-content: flex-start;
    flex-direction: column;
  }
  .site-head__main > menu {
    right: 0;
    left: auto;
  }
}
@media screen and (max-width: 768px) {
  .site-head__privacy {
    text-align: right;
    margin-left: auto;
  }
}

.site-privacy-consent__backdrop {
  content: "";
  mix-blend-mode: multiply;
  background: #590FFA;
}
.site-privacy-consent__backdrop {
  position: absolute;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.site-privacy-consent__backdrop {
  z-index: 150;
}
.site-privacy-consent__backdrop {
  z-index: 151;
}
.site-privacy-consent__banner {
  margin: 0;
}
.site-privacy-consent__banner {
  position: fixed;
  top: auto;
  right: 0;
  bottom: 0;
  left: 0;
}
.site-privacy-consent__banner {
  z-index: 152;
}
.site-privacy-consent__banner {
  padding: 1.15rem var(--column-padding, 15px);
}
.site-privacy-consent__banner-content {
  margin-bottom: 1em;
}
.site-privacy-consent__banner-options {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.site-privacy-consent__overlay-backdrop {
  background: #590FFA;
  opacity: 0.5;
}
.site-privacy-consent__overlay-backdrop {
  position: absolute;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.site-privacy-consent__overlay-backdrop {
  z-index: 150;
}
.site-privacy-consent__overlay-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background-color: #FFF;
  padding: 1px 0;
  max-height: 100%;
}
.site-privacy-consent__overlay-wrap {
  width: calc(((var(--screen-column-width, 100vw) + var(--column-gap, 15px)) * var(--column-ratio, (6/12)) - var(--column-gap, 15px)) * 1);
}
.site-privacy-consent__overlay-wrap {
  overflow-y: auto;
  overflow-x: hidden;
}
.site-privacy-consent__overlay-wrap {
  scrollbar-width: none;
}
.site-privacy-consent__overlay-wrap::-webkit-scrollbar {
  display: none;
}
.site-privacy-consent__overlay-wrap {
  position: absolute;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
}
.site-privacy-consent__overlay-wrap {
  transform: translateX(-50%) translateY(-50%);
}
.site-privacy-consent__overlay-wrap {
  z-index: 150;
}
@media screen and (max-width: 1024px) {
  .site-privacy-consent__overlay-wrap {
    width: calc(((var(--screen-column-width, 100vw) + var(--column-gap, 15px)) * var(--column-ratio, (10/12)) - var(--column-gap, 15px)) * 1);
  }
}
.site-privacy-consent__overlay-close {
  order: 2;
}
.site-privacy-consent__overlay .site-privacy-cookies__title {
  margin-top: 0;
  margin-left: 0;
}

.site-privacy-cookies table {
  margin-left: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (1/12)) - var(--column-gap, 15px) + (var(--column-gap, 15px) * 1)) * 1);
}
.site-privacy-cookies tbody:not(:first-child) tr:first-child > * {
  padding-top: 1em;
}
.site-privacy-cookies__title {
  margin-top: 3em;
  margin-bottom: 1em;
}
.site-privacy-cookies__title {
  margin-left: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (1/12)) - var(--column-gap, 15px) + (var(--column-gap, 15px) * 1)) * 1);
}
.site-privacy-cookies__category-heading {
  display: block;
  -webkit-appearance: none;
  margin: 0;
}
.site-privacy-cookies__category-heading::before {
  content: "+";
}
.site-privacy-cookies__category[open] .site-privacy-cookies__category-heading::before {
  content: "−";
}
.site-privacy-cookies__category-content {
  margin-bottom: 1em;
}

/* ----------------------------------------------------------------––––––-------
Items 
----------------------------------------------------------------––––––------- */
.wp-block-image {
  margin-top: 2px;
}
.wp-block-image .image--wrap {
  position: relative;
}
@media screen and (min-width: 769px) {
  .wp-block-image .image--wrap {
    width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (1/2)) - var(--column-gap, 15px)) * 1);
  }
}
.wp-block-image .image--wrap::after {
  content: "";
  width: 5px;
  background-color: var(--border, #FFF);
}
.wp-block-image .image--wrap::after {
  position: absolute;
  top: 0;
  right: auto;
  bottom: 0;
  left: 100%;
}
.wp-block-image img {
  width: 100%;
}
.wp-block-image figcaption {
  margin-left: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (1/12)) - var(--column-gap, 15px) + (var(--column-gap, 15px) * 1)) * 1);
}
p + .wp-block-image, .wp-block-image + .wp-block-image {
  margin-top: calc(-1em + 2px);
}

.block-section {
  font-size: 1em;
  min-height: 1em;
}
.block-section {
  width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (11/12)) - var(--column-gap, 15px)) * 1);
}
.block-section {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--column-gap, 15px);
  flex-direction: row;
}
.block-section > * {
  flex: 0 0 auto;
}
.block-section > *:nth-child(3n-2) {
  width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (5/11)) - var(--column-gap, 15px)) * 1);
}
.block-section > *:nth-child(3n-1) {
  width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (6/11)) - var(--column-gap, 15px)) * 1);
}
.block-section > *:nth-child(3n) {
  width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (11/11)) - var(--column-gap, 15px)) * 1);
}
.block-section {
  margin: 0px 0px 1em auto;
}
.block-section h2 {
  margin: 0;
}
.block-section:not(:first-child) {
  margin-top: 3em;
}
.wp-block-group:not(:first-child) .block-section:first-child {
  margin-top: 3em;
}
.is-big-section-spacing .block-section:not(:first-child) {
  margin-top: 7em;
}
.block-gallery {
  margin-bottom: 3.2em;
}
.block-gallery {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--column-gap, 15px);
  row-gap: 0.55em;
  flex-direction: row;
}
.block-gallery > * {
  flex: 0 0 auto;
}
.block-gallery > * {
  width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (2/12)) - var(--column-gap, 15px)) * 1);
}
@media screen and (max-width: 1024px) {
  .block-gallery {
    --column-ratio:1/3;
  }
}
@media screen and (max-width: 640px) {
  .block-gallery {
    --column-ratio:1/2;
  }
}
.block-gallery .media {
  position: relative;
  background-color: #D4C5F4;
}
.block-gallery .media a {
  --r: calc((1 / (var(--aspect-ratio))) * 100%);
  position: relative;
  overflow: hidden;
}
.block-gallery .media a:before {
  content: "";
  display: block;
  width: 100%;
  padding-bottom: var(--r, 66.2162162162%);
}
.block-gallery .media__label {
  position: absolute;
  top: -2px;
  right: auto;
  bottom: auto;
  left: 0;
}
.block-gallery a {
  position: relative;
}
@media (hover: hover) {
  .block-gallery a:hover {
    --border:#590FFA;
  }
}
.block-gallery a::after {
  content: "";
  width: 5px;
  background-color: var(--border, #FFF);
}
.block-gallery a::after {
  position: absolute;
  top: 0;
  right: auto;
  bottom: 0;
  left: 100%;
}
p + .block-gallery {
  margin-top: calc(-1em + 2px);
}

.admin-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
}
.admin-gallery figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  background-color: #590FFA;
  height: 30px;
  width: 30px;
}
.admin-gallery span {
  color: white;
}
.admin-gallery span {
  position: absolute;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
}
.admin-gallery span {
  transform: translateX(-50%) translateY(-50%);
}
.admin-gallery a {
  pointer-events: none;
}
.admin-gallery img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}

.block-list-partners {
  margin-top: 1em;
  margin-bottom: 1.4em;
}
.block-list-partners__title {
  margin: 0;
}
.block-list-partners__list {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--column-gap, 15px);
  row-gap: 1em;
  flex-direction: row;
}
.block-list-partners__list > * {
  flex: 0 0 auto;
}
.block-list-partners__list > * {
  width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (2/12)) - var(--column-gap, 15px)) * 1);
}
.block-list-partners__item {
  --r: calc((1 / (var(--aspect-ratio))) * 100%);
  position: relative;
  overflow: hidden;
}
.block-list-partners__item:before {
  content: "";
  display: block;
  width: 100%;
  padding-bottom: var(--r, 46.1883408072%);
}
.block-list-partners__item > * {
  position: absolute;
  top: 0;
  left: 0;
}
.block-list-partners__item > * {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.block-list-partners.is-big-size .block-list-partners__item {
  --column-ratio:3/12;
}
@media screen and (max-width: 1024px) {
  .block-list-partners {
    --column-ratio:3/12;
  }
  .block-list-partners.is-big-size .block-list-partners__item {
    --column-ratio:4/12;
  }
}
@media screen and (max-width: 640px) {
  .block-list-partners {
    --column-ratio:1/2;
  }
  .block-list-partners.is-big-size .block-list-partners__item {
    --column-ratio:9/12;
  }
}
.block-list-partners .image--figure {
  margin: 0;
}
.block-list-partners .image--wrap {
  padding-right: 10%;
}
.block-list-partners .image--source {
  object-fit: contain;
  object-position: center left;
  height: 100%;
  width: 100%;
}

.item-page-anchors {
  display: flex;
  flex-direction: column;
  margin-bottom: 3em;
}
.item-page-anchors__spacer {
  display: block;
  height: 1em;
}

.block-list-artists {
  display: flex;
  flex-direction: column;
  gap: 3.2em;
}
.block-list-artists__heading {
  width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (11/12)) - var(--column-gap, 15px)) * 1);
}
.block-list-artists__heading {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--column-gap, 15px);
  flex-direction: row;
}
.block-list-artists__heading > * {
  flex: 0 0 auto;
}
.block-list-artists__heading > *:nth-child(3n-2) {
  width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (5/11)) - var(--column-gap, 15px)) * 1);
}
.block-list-artists__heading > *:nth-child(3n-1) {
  width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (3/11)) - var(--column-gap, 15px)) * 1);
}
.block-list-artists__heading > *:nth-child(3n) {
  width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (3/11)) - var(--column-gap, 15px)) * 1);
}
.block-list-artists__heading {
  margin: 0px 0px 1em auto;
}
.block-list-artists__heading h2 {
  margin: 0;
}
@media screen and (min-width: 641px) and (max-width: 768px) {
  .block-list-artists__name {
    --column-ratio:4/11;
  }
  .block-list-artists__provenance {
    --column-ratio:4/11;
  }
  .block-list-artists__wesbite {
    --column-ratio:3/11;
  }
}
@media screen and (max-width: 640px) {
  .block-list-artists__heading {
    flex-wrap: wrap;
    row-gap: 1em;
  }
  .block-list-artists__name {
    --column-ratio:10/11;
  }
  .block-list-artists__provenance {
    --column-ratio:7/11;
  }
  .block-list-artists__wesbite {
    --column-ratio:4/11;
  }
}
.block-list-artists__description {
  margin: 1em 0 0.02em;
}
.block-list-artists__gallery .block-gallery {
  margin-top: 2px;
  margin-bottom: 0;
}

.block-list-events table {
  display: block;
  width: auto;
}
.block-list-events tbody {
  display: contents;
}
.block-list-events__spacer {
  height: 2em;
}
.block-list-events__site p {
  display: inline;
}
.block-list-events z {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 1025px) {
  .block-list-events tr {
    display: flex;
    column-gap: var(--column-gap, 15px);
    flex-direction: row;
  }
  .block-list-events tr > * {
    flex: 0 0 auto;
  }
  .block-list-events tr > *:nth-child(5n-4) {
    width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (2/12)) - var(--column-gap, 15px)) * 1);
  }
  .block-list-events tr > *:nth-child(5n-3) {
    width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (2/12)) - var(--column-gap, 15px)) * 1);
  }
  .block-list-events tr > *:nth-child(5n-2) {
    width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (2/12)) - var(--column-gap, 15px)) * 1);
  }
  .block-list-events tr > *:nth-child(5n-1) {
    width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (4/12)) - var(--column-gap, 15px)) * 1);
  }
  .block-list-events tr > *:nth-child(5n) {
    width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (2/12)) - var(--column-gap, 15px)) * 1);
  }
  .block-list-events .desktop-line {
    position: relative;
  }
  .block-list-events .desktop-line::before {
    content: "";
    height: 25px;
    width: calc(100% + var(--column-gap));
    background: #FFF;
  }
  .block-list-events .desktop-line::before {
    position: absolute;
    top: 2px;
    right: auto;
    bottom: auto;
    left: 0;
  }
}
@media screen and (max-width: 1024px) {
  .block-list-events tr {
    display: flex;
    flex-wrap: wrap;
    column-gap: var(--column-gap, 15px);
    flex-direction: row;
  }
  .block-list-events tr > * {
    width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--r) - var(--column-gap, 15px)) * 1);
  }
  .block-list-events tr {
    --margin-left: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (1/12)) - var(--column-gap, 15px) + (var(--column-gap, 15px) * 1)) * 1);
  }
  .block-list-events__spacer {
    height: 1em;
  }
  .block-list-events__day {
    --r:1;
    order: 1;
  }
  .block-list-events__artists {
    --r:11/12;
    order: 2;
    margin-left: var(--margin-left);
  }
  tr:not(:first-child) .block-list-events__artists.add-space {
    margin-top: 1em;
  }
  .block-list-events__type {
    --r:3/12;
    order: 3;
    margin-left: var(--margin-left);
  }
  .block-list-events__dates {
    --r:5/12;
    order: 4;
  }
  .block-list-events__site {
    --r:3/12;
    order: 5;
  }
  .block-list-events__site.is-empty {
    display: none;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .block-list-events .tablet-line {
    position: relative;
  }
  .block-list-events .tablet-line::before {
    content: "";
    height: 25px;
    width: calc(100% + var(--column-gap));
    background: #FFF;
  }
  .block-list-events .tablet-line::before {
    position: absolute;
    top: 2px;
    right: auto;
    bottom: auto;
    left: 0;
  }
}
@media screen and (min-width: 641px) and (max-width: 768px) {
  .block-list-events .tablet-line {
    position: relative;
  }
  .block-list-events .tablet-line::before {
    content: "";
    height: 25px;
    width: calc(100% + var(--column-gap));
    background: #FFF;
  }
  .block-list-events .tablet-line::before {
    position: absolute;
    top: 2px;
    right: auto;
    bottom: auto;
    left: 0;
  }
}
@media screen and (max-width: 640px) {
  .block-list-events__type {
    --r:5/12;
  }
  .block-list-events__dates {
    --r:6/12;
  }
  .block-list-events__site {
    --r:11/12;
    margin-left: var(--margin-left);
  }
  .block-list-events .phone-line {
    position: relative;
  }
  .block-list-events .phone-line::before {
    content: "";
    height: 25px;
    width: calc(100% + var(--column-gap));
    background: #FFF;
  }
  .block-list-events .phone-line::before {
    position: absolute;
    top: 2px;
    right: auto;
    bottom: auto;
    left: 0;
  }
}

.block-list-blog {
  display: flex;
  flex-direction: column;
  gap: 3.2em;
}
.block-list-blog__heading {
  width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (11/12)) - var(--column-gap, 15px)) * 1);
}
.block-list-blog__heading {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--column-gap, 15px);
  flex-direction: row;
}
.block-list-blog__heading > * {
  flex: 0 0 auto;
}
.block-list-blog__heading > *:nth-child(3n-2) {
  width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (5/11)) - var(--column-gap, 15px)) * 1);
}
.block-list-blog__heading > *:nth-child(3n-1) {
  width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (3/11)) - var(--column-gap, 15px)) * 1);
}
.block-list-blog__heading > *:nth-child(3n) {
  width: calc(((var(--column-width, 100%) + var(--column-gap, 15px)) * var(--column-ratio, (3/11)) - var(--column-gap, 15px)) * 1);
}
.block-list-blog__heading {
  margin: 0px 0px 1em auto;
}
.block-list-blog__heading h2 {
  margin: 0;
}
@media screen and (min-width: 641px) and (max-width: 768px) {
  .block-list-blog__artist {
    --column-ratio:4/11;
  }
  .block-list-blog__author {
    --column-ratio:4/11;
  }
  .block-list-blog__date {
    --column-ratio:3/11;
  }
}
@media screen and (max-width: 640px) {
  .block-list-blog__heading {
    flex-wrap: wrap;
    row-gap: 1em;
  }
  .block-list-blog__artist {
    --column-ratio:10/11;
  }
  .block-list-blog__author {
    --column-ratio:6/11;
  }
  .block-list-blog__date {
    --column-ratio:5/11;
  }
}
.block-list-blog__content {
  margin: 1em 0;
}

.item-list-words__list {
  column-count: 6;
  column-gap: var(--column-gap);
}
@media screen and (min-width: 3001px) {
  .item-list-words__list {
    column-count: 10;
  }
}
@media screen and (min-width: 2000px) and (max-width: 3000px) {
  .item-list-words__list {
    column-count: 8;
  }
}
@media screen and (max-width: 1024px) {
  .item-list-words__list {
    column-count: 3;
  }
}
@media screen and (max-width: 640px) {
  .item-list-words__list {
    column-count: 2;
  }
}

.block-indent {
  --left: calc(var(--indent-left) / 12);
  margin-bottom: 1em;
}
.block-indent {
  margin-left: calc(((var(--screen-column-width, 100%) + var(--screen-column-gap, 15px)) * var(--left, (0/12)) - var(--screen-column-gap, 15px) + (var(--screen-column-gap, 15px) * 1)) * 1);
}
@media screen and (max-width: 768px) {
  .block-indent {
    --left:0;
  }
}

/* ----------------------------------------------------------------––––––-------
Pages 
----------------------------------------------------------------––––––------- */