@charset "UTF-8";
/*<!-- QuantaLumin Generator by Henry Sheehy at QuantaLumin © 2025
The System to Simplify Science -->*/
/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
@import url("https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap");
@import url("https://fonts.googleapis.com/css?family=Shrikhand:300,300i,400,400i");
@import url("https://fonts.googleapis.com/css?family=Forum:300,300i,400,400i");
@import url("https://fonts.googleapis.com/css2?family=Google+Sans+Code:ital,wght@0,300..800;1,300..800");
@import url("https://fonts.googleapis.com/css2?family=Red+Hat+Display:ital,wght@0,300..900;1,300..900&display=swap");
@keyframes tilt-shaking {
  0% {
    transform: rotate(0deg); }
  25% {
    transform: rotate(5deg); }
  50% {
    transform: rotate(0deg); }
  /* Fixed typo: was "0eg" */
  75% {
    transform: rotate(-5deg); }
  100% {
    transform: rotate(0deg); } }

@keyframes shake {
  0% {
    transform: translateX(0); }
  25% {
    transform: translateY(-9px); }
  35% {
    transform: translateY(-9px) rotate(17deg); }
  55% {
    transform: translateY(-9px) rotate(-17deg); }
  65% {
    transform: translateY(-9px) rotate(17deg); }
  75% {
    transform: translateY(-9px) rotate(-17deg); }
  100% {
    transform: translateY(0) rotate(0); } }

.shake svg {
  animation: shake 0.83s 0s; }

.icon-tilt-shake-on-hover:hover svg {
  animation: tilt-shaking 0.28s 0s;
  animation-iteration-count: 1.5; }

.icon-shake-on-hover:hover svg {
  animation: shake 0.83s 0s; }

.onload-fade-in {
  animation: fadeInAnimation ease 3s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; }

.onload-content-fade-in .content {
  animation: fadeInAnimation ease 3s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; }

.onload-figure-fade-in figure, .onload-figure-fade-in canvas {
  animation: fadeInAnimation ease 3s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; }

@keyframes fadeInAnimation {
  0% {
    opacity: 0; }
  100% {
    opacity: var(--misc_overlay_opacity); } }

.fade-in {
  animation: fadeInAnimation ease 3s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; }

.span-gentle-hover-shake:hover {
  animation: tilt-shaking 0.25s infinite; }

/* Put square brackets around indices in the reference list */
ol.hugo-simplecite-vancouver > li, ol.hugo-simplecite-reference-list > li {
  list-style: none;
  counter-increment: list; }

ol.hugo-simplecite-vancouver > li::marker, ol.hugo-simplecite-reference-list > li::marker {
  content: "[" counter(list) "]  "; }

/* Break long strings of text (especially in hyperlinks) */
.hugo-simplecite-break-words, .hugo-simplecite-doi-hyperlink, .hugo-simplecite-url-hyperlink {
  overflow-wrap: break-word;
  word-wrap: break-word;
  -ms-word-break: break-all;
  word-break: break-word;
  -ms-hyphens: auto;
  -moz-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto; }

.cite-missing {
  border: 1px dashed #c33;
  padding: .1em .35em;
  border-radius: .25rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  background: rgba(204, 51, 51, 0.06); }

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
main p, main li, main td {
  color: var(--fg); }

main input, main select, main textarea {
  color: var(--fg_bold); }

main a {
  color: var(--fg_bold); }
  main a:hover {
    color: var(--accent); }
    main a:hover i, main a:hover em, main a:hover b, main a:hover strong, main a:hover h1, main a:hover h2, main a:hover h3, main a:hover h4, main a:hover h5, main a:hover h6, main a:hover p, main a:hover span {
      color: var(--accent); }
  main a h1, main a h2, main a h3, main a h4, main a h5, main a h6, main a span, main a b, main a strong, main a em, main a i, main a p, main a span {
    transition: color var(--duration_transition) ease-in-out;
    color: var(--fg_bold); }

main h1, main h2, main h3, main h4, main h5, main h6, main span, main b, main strong, main em, main i {
  color: var(--fg_bold); }

main blockquote {
  border-left-color: var(--border); }

main code {
  background: var(--border_bg);
  border-color: var(--border); }

main hr {
  border-bottom-color: var(--border); }

header p, header li, header td {
  color: var(--header_fg); }

header input, header select, header textarea {
  color: var(--header_fg_bold); }

header a {
  color: var(--header_fg_bold); }
  header a:hover {
    color: var(--header_accent); }
    header a:hover i, header a:hover em, header a:hover b, header a:hover strong, header a:hover h1, header a:hover h2, header a:hover h3, header a:hover h4, header a:hover h5, header a:hover h6, header a:hover p, header a:hover span {
      color: var(--header_accent); }
  header a h1, header a h2, header a h3, header a h4, header a h5, header a h6, header a span, header a b, header a strong, header a em, header a i, header a p, header a span {
    transition: color var(--duration_transition) ease-in-out;
    color: var(--header_fg_bold); }

header h1, header h2, header h3, header h4, header h5, header h6, header span, header b, header strong, header em, header i {
  color: var(--header_fg_bold); }

header blockquote {
  border-left-color: var(--header_border); }

header code {
  background: var(--header_border_bg);
  border-color: var(--header_border); }

header hr {
  border-bottom-color: var(--header_border); }

#aside p, #aside li, #aside td {
  color: var(--aside_fg); }

#aside input, #aside select, #aside textarea {
  color: var(--aside_fg_bold); }

#aside a {
  color: var(--aside_fg_bold); }
  #aside a:hover {
    color: var(--aside_accent); }
    #aside a:hover i, #aside a:hover em, #aside a:hover b, #aside a:hover strong, #aside a:hover h1, #aside a:hover h2, #aside a:hover h3, #aside a:hover h4, #aside a:hover h5, #aside a:hover h6, #aside a:hover p, #aside a:hover span {
      color: var(--aside_accent); }
  #aside a h1, #aside a h2, #aside a h3, #aside a h4, #aside a h5, #aside a h6, #aside a span, #aside a b, #aside a strong, #aside a em, #aside a i, #aside a p, #aside a span {
    transition: color var(--duration_transition) ease-in-out;
    color: var(--aside_fg_bold); }

#aside h1, #aside h2, #aside h3, #aside h4, #aside h5, #aside h6, #aside span, #aside b, #aside strong, #aside em, #aside i {
  color: var(--aside_fg_bold); }

#aside blockquote {
  border-left-color: var(--aside_border); }

#aside code {
  background: var(--aside_border_bg);
  border-color: var(--aside_border); }

#aside hr {
  border-bottom-color: var(--aside_border); }

#article-nav p, #article-nav li, #article-nav td {
  color: var(--article-nav_fg); }

#article-nav input, #article-nav select, #article-nav textarea {
  color: var(--article-nav_fg_bold); }

#article-nav a {
  color: var(--article-nav_fg_bold); }
  #article-nav a:hover {
    color: var(--article-nav_accent); }
    #article-nav a:hover i, #article-nav a:hover em, #article-nav a:hover b, #article-nav a:hover strong, #article-nav a:hover h1, #article-nav a:hover h2, #article-nav a:hover h3, #article-nav a:hover h4, #article-nav a:hover h5, #article-nav a:hover h6, #article-nav a:hover p, #article-nav a:hover span {
      color: var(--article-nav_accent); }
  #article-nav a h1, #article-nav a h2, #article-nav a h3, #article-nav a h4, #article-nav a h5, #article-nav a h6, #article-nav a span, #article-nav a b, #article-nav a strong, #article-nav a em, #article-nav a i, #article-nav a p, #article-nav a span {
    transition: color var(--duration_transition) ease-in-out;
    color: var(--article-nav_fg_bold); }

#article-nav h1, #article-nav h2, #article-nav h3, #article-nav h4, #article-nav h5, #article-nav h6, #article-nav span, #article-nav b, #article-nav strong, #article-nav em, #article-nav i {
  color: var(--article-nav_fg_bold); }

#article-nav blockquote {
  border-left-color: var(--article-nav_border); }

#article-nav code {
  background: var(--article-nav_border_bg);
  border-color: var(--article-nav_border); }

#article-nav hr {
  border-bottom-color: var(--article-nav_border); }

footer p, footer li, footer td {
  color: var(--footer_fg); }

footer input, footer select, footer textarea {
  color: var(--footer_fg_bold); }

footer a {
  color: var(--footer_fg_bold); }
  footer a:hover {
    color: var(--footer_accent); }
    footer a:hover i, footer a:hover em, footer a:hover b, footer a:hover strong, footer a:hover h1, footer a:hover h2, footer a:hover h3, footer a:hover h4, footer a:hover h5, footer a:hover h6, footer a:hover p, footer a:hover span {
      color: var(--footer_accent); }
  footer a h1, footer a h2, footer a h3, footer a h4, footer a h5, footer a h6, footer a span, footer a b, footer a strong, footer a em, footer a i, footer a p, footer a span {
    transition: color var(--duration_transition) ease-in-out;
    color: var(--footer_fg_bold); }

footer h1, footer h2, footer h3, footer h4, footer h5, footer h6, footer span, footer b, footer strong, footer em, footer i {
  color: var(--footer_fg_bold); }

footer blockquote {
  border-left-color: var(--footer_border); }

footer code {
  background: var(--footer_border_bg);
  border-color: var(--footer_border); }

footer hr {
  border-bottom-color: var(--footer_border); }

/* -------------------------------------------------------------------
# Layout:Breakpoints/SCSS
Enhanced breakpoint system compatible with CSS custom properties
Supports <=, >=, <, >, !, and exact matches.
------------------------------------------------------------------- */
/*
# Fonts:Fonts/SCSS
TODO examples
*/
/*
# Mixins:All/SCSS
TODO explain
*/
/*
  QuantaLumin SCSS
  SCSS bode for scientific research and communication
  Copyright © QuantaLumin 2025
*/
html, body, div, span, applet, object,
iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite,
code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b,
u, i, center, dl, dt, dd, ol, ul, li, fieldset,
form, label, legend, table, caption, tbody,
tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }
  blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

body {
  -webkit-text-size-adjust: none; }

mark {
  background-color: transparent;
  color: inherit; }

input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/*
  QuantaLumin SCSS
  SCSS bode for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Basic */
@-ms-viewport {
  width: device-width; }

body {
  -ms-overflow-style: scrollbar; }

@media screen and (max-width: 480px) {
  html, body {
    min-width: 320px; } }

html {
  box-sizing: border-box; }

*, *:before, *:after {
  box-sizing: inherit; }

html {
  scroll-behavior: smooth; }

body {
  padding: var(--page-margin); }

/*
  QuantaLumin SCSS
  SCSS bode for scientific research and communication
  Copyright © QuantaLumin 2025
*/
html {
  background: var(--bg);
  font-size: 100%;
  /* 16px */
  /* Breakpoints */
  /* Portrait orientation */ }
  html header .text, html footer .text {
    font-size: calc(1.4 * 100%); }
  @media screen and (max-width: 1680px) {
    html {
      font-size: 90%; }
      html header .text, html footer .text {
        font-size: calc(1.3 * 100%); } }
  @media screen and (max-width: 1280px) {
    html {
      font-size: 90%;
      font-size: 87.5%; }
      html header .text, html footer .text {
        font-size: calc(1.5 * 90%); } }
  @media screen and (max-width: 736px) {
    html {
      font-size: 81.25%; }
      html header .text, html footer .text {
        font-size: calc(1.5 * 87.5%); } }
  @media screen and (max-width: 360px) {
    html {
      font-size: 75%; }
      html header .text, html footer .text {
        font-size: calc(1.5 * 81.25%); } }
  @media (orientation: portrait) {
    html header .text, html footer .text {
      font-size: calc(1.3 * 100%); } }
body,
input,
select,
textarea {
  font-family: var(--font_family), var(--font_fallback), sans-serif;
  font-size: var(--font_size);
  font-weight: var(--font_weight);
  line-height: 1.65; }

h1, h2, h3 {
  font-family: var(--font_header-family), var(--font_header-fallback), sans-serif;
  font-weight: var(--font_header-weight);
  line-height: 1.65; }

code {
  border-radius: var(--size_border_radius);
  font-size: 0.9em;
  margin: 0 0.25rem;
  padding: 0.25rem 0.325rem;
  text-align: left; }

pre {
  -webkit-overflow-scrolling: touch;
  font-size: 0.9em;
  margin: 0 0 var(--size_element_margin) 0; }
  pre code {
    display: block;
    line-height: 1.5;
    padding: 0.75rem 1rem;
    overflow-x: auto;
    font-size: 1em; }
    pre code span {
      margin: calc(var(--size_element_margin) * 0.1) 0; }

body a {
  transition: color var(--duration_transition) ease-in-out;
  text-decoration: underline; }
  body a:hover {
    text-decoration: none; }

body strong, body b, body .active, body .active span {
  font-weight: var(--font_weight_bold); }

body h1 strong, body h1 b, body h1 .active, body h1 .active span, body h2 strong, body h2 b, body h2 .active, body h2 .active span, body h3 strong, body h3 b, body h3 .active, body h3 .active span {
  font-weight: var(--font_header-weight_bold); }

body em, body i {
  font-style: italic; }

body p {
  margin: 0 0 var(--size_element_margin) 0; }
  body p.major {
    font-size: 1.25rem; }

body h1, body h2, body h3 {
  font-weight: var(--font_weight);
  line-height: 1.375;
  letter-spacing: 0.05em;
  /* font_kerning */ }

body h4, body h5, body h6, body span {
  font-weight: var(--font_header-weight);
  line-height: 1.375;
  letter-spacing: 0.05em;
  /* font_header-kerning */ }

body h1, body h2, body h3, body h4, body h5, body h6 {
  margin: 0 0 calc(var(--size_element_margin) * 0.5) 0; }
  body h1.center, body h2.center, body h3.center, body h4.center, body h5.center, body h6.center {
    text-align: center; }
  body h1.pad, body h2.pad, body h3.pad, body h4.pad, body h5.pad, body h6.pad {
    padding: 1.5rem; }
  body h1 a, body h2 a, body h3 a, body h4 a, body h5 a, body h6 a {
    color: inherit;
    text-decoration: none; }

body h1 {
  font-size: 250%; }

body h2 {
  font-size: 200%; }

body h3 {
  font-size: 150%; }

body h4 {
  font-size: 110%; }

body h5 {
  font-size: 90%; }

body h6 {
  font-size: 70%; }

body sub {
  font-size: 0.8rem;
  position: relative;
  top: 0.5rem; }

body sup {
  font-size: 0.8rem;
  position: relative;
  top: -0.5rem; }

body blockquote {
  border-left: solid calc(var(--size_border_width) * 4);
  font-style: italic;
  margin: 0 0 var(--size_element_margin) 0;
  padding: calc(var(--size_element_margin) / 4) 0 calc(var(--size_element_margin) / 4) var(--size_element_margin); }

body hr {
  border: 0;
  border-bottom: solid var(--size_border_width);
  margin: calc(var(--size_element_margin) * 1.25) 0; }
  body hr.major {
    margin: calc(var(--size_element_margin) * 1.75) 0; }

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

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

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

body .footerspacer {
  padding-left: 15px;
  padding-right: 15px; }

@media screen and (max-width: 736px) {
  body p.major {
    font-size: 1.1rem; }
  body h1 {
    font-size: 2.5rem; }
  body h2 {
    font-size: 2rem; }
  body h3 {
    font-size: 1.25rem; }
  body h4 {
    font-size: 1rem; } }

body .katex .mathnormal, body .katex .mathrm, body .katex .custom-Regular, body .katex .amsrm {
  font-family: KaTeX_Math; }

body kbd {
  background-color: #eee;
  border-radius: 3px;
  border: 1px solid #b4b4b4;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), 0 2px 0 0 rgba(255, 255, 255, 0.7) inset;
  color: #333;
  display: inline-block;
  font-size: 0.85em;
  font-weight: 700;
  line-height: 1;
  padding: 2px 4px;
  white-space: nowrap; }

/*
  QuantaLumin SCSS
  SCSS bode for scientific research and communication
  Copyright © QuantaLumin 2025
*/
footer .copyright a {
  text-decoration: none; }

@media screen and (min-width: 1680px) {
  footer .rows {
    margin: 0 1.5rem; }
    footer .rows ul {
      margin: 0.5rem; } }

@media screen and (min-width: 980px) {
  footer .rows {
    margin: 0.5rem 0.5rem; }
    footer .rows ul {
      margin: 0.5rem; } }

footer .rows ul {
  height: 100%; }

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
.newsletter {
  z-index: 100000;
  padding: 0.2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center; }
  .newsletter h2 {
    order: 0;
    margin-bottom: 0.1rem;
    font-size: 1.45em; }
  .newsletter p {
    margin: 0.5rem 0; }
  .newsletter form {
    order: 2;
    width: 100%;
    max-width: 500px; }
    .newsletter form input[type="email"],
    .newsletter form input[type="text"] {
      width: 100%;
      padding: 0.6375rem 0.75rem;
      border-radius: 0.45rem;
      font-size: 0.95rem;
      transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
      border: solid 1px;
      border-color: rgba(1, 1, 1, 0.2);
      background-color: _palette(bg);
      color: _palette(fg);
      /* Optional: Add gentle pulse animation on hover (like checkboxes) */ }
      .newsletter form input[type="email"]:hover,
      .newsletter form input[type="text"]:hover {
        border-color: #4A90E2;
        box-shadow: 0 0 8px 2px rgba(74, 144, 226, 0.4);
        transform: scale(1.01);
        animation: gentlePulse 1.5s infinite; }
      .newsletter form input[type="email"]:focus,
      .newsletter form input[type="text"]:focus {
        border-color: #4A90E2;
        box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.3);
        outline: none;
        transform: scale(1.02); }
      .newsletter form input[type="email"]:hover,
      .newsletter form input[type="text"]:hover {
        animation: gentlePulseInputs 1.5s infinite; }

@keyframes gentlePulseInputs {
  0% {
    box-shadow: 0 0 8px 2px rgba(74, 144, 226, 0.4); }
  50% {
    box-shadow: 0 0 12px 3px rgba(74, 144, 226, 0.5); }
  100% {
    box-shadow: 0 0 8px 2px rgba(74, 144, 226, 0.4); } }
    .newsletter form .h-captcha {
      margin: 0.75rem 0;
      display: flex;
      justify-content: center; }
  @media screen and (max-width: 736px) {
    .newsletter {
      padding: 1.5rem 0.75rem; }
      .newsletter h2 {
        font-size: 1.05rem; }
      .newsletter input[type="submit"] {
        width: 100%; } }
.newsletter {
  z-index: 100;
  padding: 0.2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center; }
  .newsletter h2 {
    order: 0;
    margin-bottom: 0.1rem;
    font-size: 1.25em; }
  .newsletter p {
    margin: 0.5rem 0; }
  .newsletter form {
    order: 2;
    width: 100%;
    max-width: 500px; }
    .newsletter form input[type="email"],
    .newsletter form input[type="text"] {
      width: 100%;
      padding: 0.6375rem 0.75rem;
      border-radius: 0.45rem;
      font-size: 0.75rem;
      transition: border-color 0.2s, box-shadow 0.2s;
      border: solid 1px;
      border-color: rgba(1, 1, 1, 0.2); }
    .newsletter form input[type="email"]:focus,
    .newsletter form input[type="text"]:focus {
      border-color: #4A90E2;
      /* Change to your desired focus color */
      box-shadow: 0 0 0 2px rgba(74, 144, 226, 0.2);
      /* Optional subtle glow */
      outline: none;
      /* Remove default focus outline */ }
    .newsletter form .checkboxes {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 0.375rem;
      margin: 0.75rem 0; }
      .newsletter form .checkboxes p {
        display: flex;
        align-items: center;
        gap: 0.375rem;
        margin: 0;
        /* When checkbox is focused via keyboard */
        /* When checkbox is checked */
        /* Checked + hover */ }
        .newsletter form .checkboxes p label {
          font-size: 0.675rem;
          color: _palette(text);
          text-align: left;
          cursor: pointer;
          transition: filter 0.2s ease, transform 0.15s ease; }
          .newsletter form .checkboxes p label::before {
            content: '';
            display: inline-block;
            width: 0.825rem;
            height: 0.825rem;
            border: 2px solid rgba(1, 1, 1, 0.2);
            border-radius: 4px;
            margin-right: 0.375rem;
            vertical-align: middle;
            transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.15s ease; }
          .newsletter form .checkboxes p label:hover::before {
            box-shadow: 0 0 8px 2px rgba(74, 144, 226, 0.4);
            border-color: #4A90E2;
            transform: scale(1.05);
            animation: gentlePulse 1.5s infinite; }

@keyframes gentlePulse {
  0% {
    box-shadow: 0 0 8px 2px rgba(74, 144, 226, 0.4); }
  50% {
    box-shadow: 0 0 12px 3px rgba(74, 144, 226, 0.5); }
  100% {
    box-shadow: 0 0 8px 2px rgba(74, 144, 226, 0.4); } }
          .newsletter form .checkboxes p label:hover {
            color: #4A90E2; }
          .newsletter form .checkboxes p label span {
            display: block;
            font-size: 0.6rem;
            color: _palette(text-muted);
            transition: color 0.2s ease; }
          .newsletter form .checkboxes p label:hover span {
            color: #4A90E2; }
        .newsletter form .checkboxes p input[type="checkbox"] {
          display: none;
          width: 0.825rem;
          height: 0.825rem; }
        .newsletter form .checkboxes p input[type="checkbox"]:focus + label::before {
          box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.3);
          outline: none; }
        .newsletter form .checkboxes p input[type="checkbox"]:checked + label::before {
          background-color: #4A90E2;
          border-color: #4A90E2; }
        .newsletter form .checkboxes p input[type="checkbox"]:checked + label:hover::before {
          box-shadow: 0 0 8px 2px rgba(74, 144, 226, 0.6);
          background-color: #3a7bc8; }
    .newsletter form .h-captcha {
      margin: 0.75rem 0;
      display: flex;
      justify-content: center; }
  @media screen and (max-width: 736px) {
    .newsletter {
      padding: 1.5rem 0.75rem; }
      .newsletter h2 {
        font-size: 1.05rem; }
      .newsletter input[type="submit"] {
        width: 100%; } }
.newsletter {
  /* Passive waves */
  /* Ripple effect */
  /* Keyframes */
  /* Press down effect on hover */ }
  .newsletter .button-wrapper {
    position: relative;
    display: inline-block;
    border-radius: 10%; }
  .newsletter .button-wrapper .button {
    position: relative;
    z-index: 2;
    overflow: hidden;
    transition: background-color 0.3s ease;
    background-color: #000 !important;
    /* default black background */
    color: #fff; }
  .newsletter .button-wrapper::before,
  .newsletter .button-wrapper::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 120%;
    height: 120%;
    border-radius: inherit;
    background-color: rgba(255, 255, 255, 0.8);
    /* subtle for black bg */
    transform: translate(-50%, -50%) scale(0.5);
    animation: passiveWave 6s linear infinite;
    z-index: 0; }
  .newsletter .button-wrapper::after {
    animation-duration: 9s; }
  .newsletter .button::before,
  .newsletter .button::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 10%;
    background-color: rgba(255, 255, 255, 0.65);
    /* works well on black */
    transform: translate(-50%, -50%);
    pointer-events: none; }
  .newsletter .button:hover::before {
    animation: ripple 1.8s ease-out; }
  .newsletter .button:hover::after {
    animation: ripple 1.8s ease-out 0.2s; }

@keyframes passiveWave {
  0% {
    transform: translate(-50%, -50%) scale(0.5);
    opacity: 0; }
  50% {
    transform: translate(-50%, -50%) scale(1.5);
    opacity: 0.3; }
  100% {
    transform: translate(-50%, -50%) scale(2);
    opacity: 0; } }

@keyframes ripple {
  0% {
    width: 0;
    height: 0;
    opacity: 0.4; }
  100% {
    width: 300%;
    height: 300%;
    opacity: 0; } }
  .newsletter .button-wrapper .button {
    position: relative;
    z-index: 2;
    overflow: hidden;
    transition: background-color 0.3s ease,  transform 0.1s ease;
    /* add transform for press effect */
    background-color: #000 !important;
    /* default black background */
    color: #fff;
    font-family: _font(family);
    font-weight: _font(weight);
    line-height: 1.65; }
  .newsletter .button-wrapper .button:hover {
    transform: scale(0.95);
    /* slightly shrink to simulate press */ }

.modal {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px); }
  .modal .modal-content {
    margin: 15% auto;
    padding: 2rem;
    border: 1px solid #888;
    width: 90%;
    max-width: 600px;
    border-radius: 0.5rem;
    position: relative;
    background: var(--bg); }
    .modal .modal-content .close {
      color: #aaa;
      float: right;
      font-size: 2rem;
      font-weight: bold;
      cursor: pointer; }
      .modal .modal-content .close:hover, .modal .modal-content .close:focus {
        color: black;
        text-decoration: none; }

.modal {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.5); }
  .modal .modal-content {
    margin: 15% auto;
    padding: 2rem;
    border: 1px solid #888;
    width: 90%;
    max-width: 600px;
    border-radius: 0.5rem;
    position: relative; }
    .modal .modal-content .close {
      color: #aaa;
      float: right;
      font-size: 2rem;
      font-weight: bold;
      cursor: pointer; }
      .modal .modal-content .close:hover, .modal .modal-content .close:focus {
        color: black;
        text-decoration: none; }

.newsletter.bounce-in {
  animation: bounceIn 0.6s cubic-bezier(0.22, 1, 0.36, 1); }

@keyframes bounceIn {
  0% {
    transform: translateY(-20px);
    opacity: 0; }
  70% {
    transform: translateY(5px);
    opacity: 1; }
  100% {
    transform: translateY(0); } }

.newsletter .button-wrapper {
  position: relative;
  display: inline-block;
  border-radius: 10%;
  /* waves on hover */ }
  .newsletter .button-wrapper:hover::before, .newsletter .button-wrapper:hover::after {
    background-color: rgba(74, 144, 226, 0.2); }
  .newsletter .button-wrapper .button {
    position: relative;
    z-index: 2;
    overflow: hidden;
    transition: background-color 0.3s ease, transform 0.1s ease;
    background-color: #000 !important;
    color: #fff;
    /* ripple waves on hover */ }
    .newsletter .button-wrapper .button:hover::before, .newsletter .button-wrapper .button:hover::after {
      background-color: rgba(74, 144, 226, 0.95); }

.newsletter {
  /* Smooth slide-in for captcha */ }
  .newsletter #captchaContainer {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.6s ease, opacity 0.6s ease, margin-top 0.6s ease;
    margin-top: 0;
    display: flex;
    justify-content: center;
    /* horizontal center */
    align-items: center;
    /* vertical center within container */ }
  .newsletter #captchaContainer.show {
    max-height: 200px;
    /* Adjust if your captcha is taller */
    opacity: 1;
    margin-top: 20px; }
  .newsletter #captchaContainer {
    /* Initial state of the captcha */
    /* Verified animation */ }
    .newsletter #captchaContainer .altcha {
      transition: transform 0.5s ease, opacity 0.5s ease, background-color 0.5s ease, max-height 0.5s ease, margin 0.5s ease, padding 0.5s ease;
      opacity: 0.8;
      background-color: rgba(74, 144, 226, 0.1);
      box-shadow: 0 0 15px rgba(74, 144, 226, 0.2);
      max-height: 100px;
      /* adjust to your captcha height */
      overflow: hidden; }
    .newsletter #captchaContainer .altcha[data-state="verified"] {
      transition: transform 1s ease, opacity 1s ease 0.5s, background-color 1s ease, max-height 1s ease 0.5s, margin 0.5s ease, padding 0.5s ease;
      opacity: 0;
      background: rgba(0, 128, 0, 0.5);
      box-shadow: none;
      max-height: 0;
      /* expanded state */ }

#thankYouMessage {
  display: none;
  /* keeps it hidden initially */
  max-width: 400px;
  margin: 20px auto;
  /* center horizontally */
  padding: 20px 30px;
  border: 2px solid rgba(74, 144, 226, 0.5);
  /* blue border */
  border-radius: 12px;
  background-color: rgba(74, 144, 226, 0.1);
  /* light translucent blue */
  box-shadow: 0 4px 15px rgba(74, 144, 226, 0.3);
  /* subtle blue glow */
  text-align: center;
  transition: transform 0.5s ease, opacity 0.5s ease; }

#thankYouMessage h2 {
  margin-top: 0;
  color: rgba(74, 144, 226, 0.8);
  /* darker blue for heading */ }

#thankYouMessage h4 a {
  color: rgba(74, 144, 226, 0.8);
  text-decoration: none;
  font-weight: bold; }

#thankYouMessage h4 a:hover {
  text-decoration: underline; }

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Row */
.row {
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
  align-items: stretch; }
  .row > * {
    box-sizing: border-box; }
  .row.gtr-uniform > * > :last-child {
    margin-bottom: 0; }
  .row.aln-left {
    justify-content: flex-start; }
  .row.aln-center {
    justify-content: center; }
  .row.aln-right {
    justify-content: flex-end; }
  .row.aln-top {
    align-items: flex-start; }
  .row.aln-middle {
    align-items: center; }
  .row.aln-bottom {
    align-items: flex-end; }
  .row > .imp {
    order: -1; }
  .row > .col-1 {
    width: 8.33333333%; }
  .row > .off-1 {
    margin-left: 8.33333333%; }
  .row > .col-2 {
    width: 16.66666667%; }
  .row > .off-2 {
    margin-left: 16.66666667%; }
  .row > .col-3 {
    width: 25%; }
  .row > .off-3 {
    margin-left: 25%; }
  .row > .col-4 {
    width: 33.33333333%; }
  .row > .off-4 {
    margin-left: 33.33333333%; }
  .row > .col-5 {
    width: 41.66666667%; }
  .row > .off-5 {
    margin-left: 41.66666667%; }
  .row > .col-6 {
    width: 50%; }
  .row > .off-6 {
    margin-left: 50%; }
  .row > .col-7 {
    width: 58.33333333%; }
  .row > .off-7 {
    margin-left: 58.33333333%; }
  .row > .col-8 {
    width: 66.66666667%; }
  .row > .off-8 {
    margin-left: 66.66666667%; }
  .row > .col-9 {
    width: 75%; }
  .row > .off-9 {
    margin-left: 75%; }
  .row > .col-10 {
    width: 83.33333333%; }
  .row > .off-10 {
    margin-left: 83.33333333%; }
  .row > .col-11 {
    width: 91.66666667%; }
  .row > .off-11 {
    margin-left: 91.66666667%; }
  .row > .col-12 {
    width: 100%; }
  .row > .off-12 {
    margin-left: 100%; }
  .row.gtr-0 {
    margin-top: 0;
    margin-left: 0rem; }
    .row.gtr-0 > * {
      padding: 0 0 0 0rem; }
    .row.gtr-0.gtr-uniform {
      margin-top: 0rem; }
      .row.gtr-0.gtr-uniform > * {
        padding-top: 0rem; }
  .row.gtr-25 {
    margin-top: 0;
    margin-left: -0.5rem; }
    .row.gtr-25 > * {
      padding: 0 0 0 0.5rem; }
    .row.gtr-25.gtr-uniform {
      margin-top: -0.5rem; }
      .row.gtr-25.gtr-uniform > * {
        padding-top: 0.5rem; }
  .row.gtr-50 {
    margin-top: 0;
    margin-left: -1rem; }
    .row.gtr-50 > * {
      padding: 0 0 0 1rem; }
    .row.gtr-50.gtr-uniform {
      margin-top: -1rem; }
      .row.gtr-50.gtr-uniform > * {
        padding-top: 1rem; }
  .row {
    margin-top: 0;
    margin-left: -2rem; }
    .row > * {
      padding: 0 0 0 2rem; }
    .row.gtr-uniform {
      margin-top: -2rem; }
      .row.gtr-uniform > * {
        padding-top: 2rem; }
  .row.gtr-150 {
    margin-top: 0;
    margin-left: -3rem; }
    .row.gtr-150 > * {
      padding: 0 0 0 3rem; }
    .row.gtr-150.gtr-uniform {
      margin-top: -3rem; }
      .row.gtr-150.gtr-uniform > * {
        padding-top: 3rem; }
  .row.gtr-200 {
    margin-top: 0;
    margin-left: -4rem; }
    .row.gtr-200 > * {
      padding: 0 0 0 4rem; }
    .row.gtr-200.gtr-uniform {
      margin-top: -4rem; }
      .row.gtr-200.gtr-uniform > * {
        padding-top: 4rem; }
  @media screen and (max-width: 1680px) {
    .row {
      display: flex;
      flex-wrap: wrap;
      box-sizing: border-box;
      align-items: stretch; }
      .row > * {
        box-sizing: border-box; }
      .row.gtr-uniform > * > :last-child {
        margin-bottom: 0; }
      .row.aln-left {
        justify-content: flex-start; }
      .row.aln-center {
        justify-content: center; }
      .row.aln-right {
        justify-content: flex-end; }
      .row.aln-top {
        align-items: flex-start; }
      .row.aln-middle {
        align-items: center; }
      .row.aln-bottom {
        align-items: flex-end; }
      .row > .imp-xlarge {
        order: -1; }
      .row > .col-1-xlarge {
        width: 8.33333333%; }
      .row > .off-1-xlarge {
        margin-left: 8.33333333%; }
      .row > .col-2-xlarge {
        width: 16.66666667%; }
      .row > .off-2-xlarge {
        margin-left: 16.66666667%; }
      .row > .col-3-xlarge {
        width: 25%; }
      .row > .off-3-xlarge {
        margin-left: 25%; }
      .row > .col-4-xlarge {
        width: 33.33333333%; }
      .row > .off-4-xlarge {
        margin-left: 33.33333333%; }
      .row > .col-5-xlarge {
        width: 41.66666667%; }
      .row > .off-5-xlarge {
        margin-left: 41.66666667%; }
      .row > .col-6-xlarge {
        width: 50%; }
      .row > .off-6-xlarge {
        margin-left: 50%; }
      .row > .col-7-xlarge {
        width: 58.33333333%; }
      .row > .off-7-xlarge {
        margin-left: 58.33333333%; }
      .row > .col-8-xlarge {
        width: 66.66666667%; }
      .row > .off-8-xlarge {
        margin-left: 66.66666667%; }
      .row > .col-9-xlarge {
        width: 75%; }
      .row > .off-9-xlarge {
        margin-left: 75%; }
      .row > .col-10-xlarge {
        width: 83.33333333%; }
      .row > .off-10-xlarge {
        margin-left: 83.33333333%; }
      .row > .col-11-xlarge {
        width: 91.66666667%; }
      .row > .off-11-xlarge {
        margin-left: 91.66666667%; }
      .row > .col-12-xlarge {
        width: 100%; }
      .row > .off-12-xlarge {
        margin-left: 100%; }
      .row.gtr-0 {
        margin-top: 0;
        margin-left: 0rem; }
        .row.gtr-0 > * {
          padding: 0 0 0 0rem; }
        .row.gtr-0.gtr-uniform {
          margin-top: 0rem; }
          .row.gtr-0.gtr-uniform > * {
            padding-top: 0rem; }
      .row.gtr-25 {
        margin-top: 0;
        margin-left: -0.5rem; }
        .row.gtr-25 > * {
          padding: 0 0 0 0.5rem; }
        .row.gtr-25.gtr-uniform {
          margin-top: -0.5rem; }
          .row.gtr-25.gtr-uniform > * {
            padding-top: 0.5rem; }
      .row.gtr-50 {
        margin-top: 0;
        margin-left: -1rem; }
        .row.gtr-50 > * {
          padding: 0 0 0 1rem; }
        .row.gtr-50.gtr-uniform {
          margin-top: -1rem; }
          .row.gtr-50.gtr-uniform > * {
            padding-top: 1rem; }
      .row {
        margin-top: 0;
        margin-left: -2rem; }
        .row > * {
          padding: 0 0 0 2rem; }
        .row.gtr-uniform {
          margin-top: -2rem; }
          .row.gtr-uniform > * {
            padding-top: 2rem; }
      .row.gtr-150 {
        margin-top: 0;
        margin-left: -3rem; }
        .row.gtr-150 > * {
          padding: 0 0 0 3rem; }
        .row.gtr-150.gtr-uniform {
          margin-top: -3rem; }
          .row.gtr-150.gtr-uniform > * {
            padding-top: 3rem; }
      .row.gtr-200 {
        margin-top: 0;
        margin-left: -4rem; }
        .row.gtr-200 > * {
          padding: 0 0 0 4rem; }
        .row.gtr-200.gtr-uniform {
          margin-top: -4rem; }
          .row.gtr-200.gtr-uniform > * {
            padding-top: 4rem; } }
  @media screen and (max-width: 1280px) {
    .row {
      display: flex;
      flex-wrap: wrap;
      box-sizing: border-box;
      align-items: stretch; }
      .row > * {
        box-sizing: border-box; }
      .row.gtr-uniform > * > :last-child {
        margin-bottom: 0; }
      .row.aln-left {
        justify-content: flex-start; }
      .row.aln-center {
        justify-content: center; }
      .row.aln-right {
        justify-content: flex-end; }
      .row.aln-top {
        align-items: flex-start; }
      .row.aln-middle {
        align-items: center; }
      .row.aln-bottom {
        align-items: flex-end; }
      .row > .imp-large {
        order: -1; }
      .row > .col-1-large {
        width: 8.33333333%; }
      .row > .off-1-large {
        margin-left: 8.33333333%; }
      .row > .col-2-large {
        width: 16.66666667%; }
      .row > .off-2-large {
        margin-left: 16.66666667%; }
      .row > .col-3-large {
        width: 25%; }
      .row > .off-3-large {
        margin-left: 25%; }
      .row > .col-4-large {
        width: 33.33333333%; }
      .row > .off-4-large {
        margin-left: 33.33333333%; }
      .row > .col-5-large {
        width: 41.66666667%; }
      .row > .off-5-large {
        margin-left: 41.66666667%; }
      .row > .col-6-large {
        width: 50%; }
      .row > .off-6-large {
        margin-left: 50%; }
      .row > .col-7-large {
        width: 58.33333333%; }
      .row > .off-7-large {
        margin-left: 58.33333333%; }
      .row > .col-8-large {
        width: 66.66666667%; }
      .row > .off-8-large {
        margin-left: 66.66666667%; }
      .row > .col-9-large {
        width: 75%; }
      .row > .off-9-large {
        margin-left: 75%; }
      .row > .col-10-large {
        width: 83.33333333%; }
      .row > .off-10-large {
        margin-left: 83.33333333%; }
      .row > .col-11-large {
        width: 91.66666667%; }
      .row > .off-11-large {
        margin-left: 91.66666667%; }
      .row > .col-12-large {
        width: 100%; }
      .row > .off-12-large {
        margin-left: 100%; }
      .row.gtr-0 {
        margin-top: 0;
        margin-left: 0rem; }
        .row.gtr-0 > * {
          padding: 0 0 0 0rem; }
        .row.gtr-0.gtr-uniform {
          margin-top: 0rem; }
          .row.gtr-0.gtr-uniform > * {
            padding-top: 0rem; }
      .row.gtr-25 {
        margin-top: 0;
        margin-left: -0.5rem; }
        .row.gtr-25 > * {
          padding: 0 0 0 0.5rem; }
        .row.gtr-25.gtr-uniform {
          margin-top: -0.5rem; }
          .row.gtr-25.gtr-uniform > * {
            padding-top: 0.5rem; }
      .row.gtr-50 {
        margin-top: 0;
        margin-left: -1rem; }
        .row.gtr-50 > * {
          padding: 0 0 0 1rem; }
        .row.gtr-50.gtr-uniform {
          margin-top: -1rem; }
          .row.gtr-50.gtr-uniform > * {
            padding-top: 1rem; }
      .row {
        margin-top: 0;
        margin-left: -2rem; }
        .row > * {
          padding: 0 0 0 2rem; }
        .row.gtr-uniform {
          margin-top: -2rem; }
          .row.gtr-uniform > * {
            padding-top: 2rem; }
      .row.gtr-150 {
        margin-top: 0;
        margin-left: -3rem; }
        .row.gtr-150 > * {
          padding: 0 0 0 3rem; }
        .row.gtr-150.gtr-uniform {
          margin-top: -3rem; }
          .row.gtr-150.gtr-uniform > * {
            padding-top: 3rem; }
      .row.gtr-200 {
        margin-top: 0;
        margin-left: -4rem; }
        .row.gtr-200 > * {
          padding: 0 0 0 4rem; }
        .row.gtr-200.gtr-uniform {
          margin-top: -4rem; }
          .row.gtr-200.gtr-uniform > * {
            padding-top: 4rem; } }
  @media screen and (max-width: 980px) {
    .row {
      display: flex;
      flex-wrap: wrap;
      box-sizing: border-box;
      align-items: stretch; }
      .row > * {
        box-sizing: border-box; }
      .row.gtr-uniform > * > :last-child {
        margin-bottom: 0; }
      .row.aln-left {
        justify-content: flex-start; }
      .row.aln-center {
        justify-content: center; }
      .row.aln-right {
        justify-content: flex-end; }
      .row.aln-top {
        align-items: flex-start; }
      .row.aln-middle {
        align-items: center; }
      .row.aln-bottom {
        align-items: flex-end; }
      .row > .imp-medium {
        order: -1; }
      .row > .col-1-medium {
        width: 8.33333333%; }
      .row > .off-1-medium {
        margin-left: 8.33333333%; }
      .row > .col-2-medium {
        width: 16.66666667%; }
      .row > .off-2-medium {
        margin-left: 16.66666667%; }
      .row > .col-3-medium {
        width: 25%; }
      .row > .off-3-medium {
        margin-left: 25%; }
      .row > .col-4-medium {
        width: 33.33333333%; }
      .row > .off-4-medium {
        margin-left: 33.33333333%; }
      .row > .col-5-medium {
        width: 41.66666667%; }
      .row > .off-5-medium {
        margin-left: 41.66666667%; }
      .row > .col-6-medium {
        width: 50%; }
      .row > .off-6-medium {
        margin-left: 50%; }
      .row > .col-7-medium {
        width: 58.33333333%; }
      .row > .off-7-medium {
        margin-left: 58.33333333%; }
      .row > .col-8-medium {
        width: 66.66666667%; }
      .row > .off-8-medium {
        margin-left: 66.66666667%; }
      .row > .col-9-medium {
        width: 75%; }
      .row > .off-9-medium {
        margin-left: 75%; }
      .row > .col-10-medium {
        width: 83.33333333%; }
      .row > .off-10-medium {
        margin-left: 83.33333333%; }
      .row > .col-11-medium {
        width: 91.66666667%; }
      .row > .off-11-medium {
        margin-left: 91.66666667%; }
      .row > .col-12-medium {
        width: 100%; }
      .row > .off-12-medium {
        margin-left: 100%; }
      .row.gtr-0 {
        margin-top: 0;
        margin-left: 0rem; }
        .row.gtr-0 > * {
          padding: 0 0 0 0rem; }
        .row.gtr-0.gtr-uniform {
          margin-top: 0rem; }
          .row.gtr-0.gtr-uniform > * {
            padding-top: 0rem; }
      .row.gtr-25 {
        margin-top: 0;
        margin-left: -0.5rem; }
        .row.gtr-25 > * {
          padding: 0 0 0 0.5rem; }
        .row.gtr-25.gtr-uniform {
          margin-top: -0.5rem; }
          .row.gtr-25.gtr-uniform > * {
            padding-top: 0.5rem; }
      .row.gtr-50 {
        margin-top: 0;
        margin-left: -1rem; }
        .row.gtr-50 > * {
          padding: 0 0 0 1rem; }
        .row.gtr-50.gtr-uniform {
          margin-top: -1rem; }
          .row.gtr-50.gtr-uniform > * {
            padding-top: 1rem; }
      .row {
        margin-top: 0;
        margin-left: -2rem; }
        .row > * {
          padding: 0 0 0 2rem; }
        .row.gtr-uniform {
          margin-top: -2rem; }
          .row.gtr-uniform > * {
            padding-top: 2rem; }
      .row.gtr-150 {
        margin-top: 0;
        margin-left: -3rem; }
        .row.gtr-150 > * {
          padding: 0 0 0 3rem; }
        .row.gtr-150.gtr-uniform {
          margin-top: -3rem; }
          .row.gtr-150.gtr-uniform > * {
            padding-top: 3rem; }
      .row.gtr-200 {
        margin-top: 0;
        margin-left: -4rem; }
        .row.gtr-200 > * {
          padding: 0 0 0 4rem; }
        .row.gtr-200.gtr-uniform {
          margin-top: -4rem; }
          .row.gtr-200.gtr-uniform > * {
            padding-top: 4rem; } }
  @media screen and (max-width: 736px) {
    .row {
      display: flex;
      flex-wrap: wrap;
      box-sizing: border-box;
      align-items: stretch; }
      .row > * {
        box-sizing: border-box; }
      .row.gtr-uniform > * > :last-child {
        margin-bottom: 0; }
      .row.aln-left {
        justify-content: flex-start; }
      .row.aln-center {
        justify-content: center; }
      .row.aln-right {
        justify-content: flex-end; }
      .row.aln-top {
        align-items: flex-start; }
      .row.aln-middle {
        align-items: center; }
      .row.aln-bottom {
        align-items: flex-end; }
      .row > .imp-small {
        order: -1; }
      .row > .col-1-small {
        width: 8.33333333%; }
      .row > .off-1-small {
        margin-left: 8.33333333%; }
      .row > .col-2-small {
        width: 16.66666667%; }
      .row > .off-2-small {
        margin-left: 16.66666667%; }
      .row > .col-3-small {
        width: 25%; }
      .row > .off-3-small {
        margin-left: 25%; }
      .row > .col-4-small {
        width: 33.33333333%; }
      .row > .off-4-small {
        margin-left: 33.33333333%; }
      .row > .col-5-small {
        width: 41.66666667%; }
      .row > .off-5-small {
        margin-left: 41.66666667%; }
      .row > .col-6-small {
        width: 50%; }
      .row > .off-6-small {
        margin-left: 50%; }
      .row > .col-7-small {
        width: 58.33333333%; }
      .row > .off-7-small {
        margin-left: 58.33333333%; }
      .row > .col-8-small {
        width: 66.66666667%; }
      .row > .off-8-small {
        margin-left: 66.66666667%; }
      .row > .col-9-small {
        width: 75%; }
      .row > .off-9-small {
        margin-left: 75%; }
      .row > .col-10-small {
        width: 83.33333333%; }
      .row > .off-10-small {
        margin-left: 83.33333333%; }
      .row > .col-11-small {
        width: 91.66666667%; }
      .row > .off-11-small {
        margin-left: 91.66666667%; }
      .row > .col-12-small {
        width: 100%; }
      .row > .off-12-small {
        margin-left: 100%; }
      .row.gtr-0 {
        margin-top: 0;
        margin-left: 0rem; }
        .row.gtr-0 > * {
          padding: 0 0 0 0rem; }
        .row.gtr-0.gtr-uniform {
          margin-top: 0rem; }
          .row.gtr-0.gtr-uniform > * {
            padding-top: 0rem; }
      .row.gtr-25 {
        margin-top: 0;
        margin-left: -0.5rem; }
        .row.gtr-25 > * {
          padding: 0 0 0 0.5rem; }
        .row.gtr-25.gtr-uniform {
          margin-top: -0.5rem; }
          .row.gtr-25.gtr-uniform > * {
            padding-top: 0.5rem; }
      .row.gtr-50 {
        margin-top: 0;
        margin-left: -1rem; }
        .row.gtr-50 > * {
          padding: 0 0 0 1rem; }
        .row.gtr-50.gtr-uniform {
          margin-top: -1rem; }
          .row.gtr-50.gtr-uniform > * {
            padding-top: 1rem; }
      .row {
        margin-top: 0;
        margin-left: -2rem; }
        .row > * {
          padding: 0 0 0 2rem; }
        .row.gtr-uniform {
          margin-top: -2rem; }
          .row.gtr-uniform > * {
            padding-top: 2rem; }
      .row.gtr-150 {
        margin-top: 0;
        margin-left: -3rem; }
        .row.gtr-150 > * {
          padding: 0 0 0 3rem; }
        .row.gtr-150.gtr-uniform {
          margin-top: -3rem; }
          .row.gtr-150.gtr-uniform > * {
            padding-top: 3rem; }
      .row.gtr-200 {
        margin-top: 0;
        margin-left: -4rem; }
        .row.gtr-200 > * {
          padding: 0 0 0 4rem; }
        .row.gtr-200.gtr-uniform {
          margin-top: -4rem; }
          .row.gtr-200.gtr-uniform > * {
            padding-top: 4rem; } }
  @media screen and (max-width: 480px) {
    .row {
      display: flex;
      flex-wrap: wrap;
      box-sizing: border-box;
      align-items: stretch; }
      .row > * {
        box-sizing: border-box; }
      .row.gtr-uniform > * > :last-child {
        margin-bottom: 0; }
      .row.aln-left {
        justify-content: flex-start; }
      .row.aln-center {
        justify-content: center; }
      .row.aln-right {
        justify-content: flex-end; }
      .row.aln-top {
        align-items: flex-start; }
      .row.aln-middle {
        align-items: center; }
      .row.aln-bottom {
        align-items: flex-end; }
      .row > .imp-xsmall {
        order: -1; }
      .row > .col-1-xsmall {
        width: 8.33333333%; }
      .row > .off-1-xsmall {
        margin-left: 8.33333333%; }
      .row > .col-2-xsmall {
        width: 16.66666667%; }
      .row > .off-2-xsmall {
        margin-left: 16.66666667%; }
      .row > .col-3-xsmall {
        width: 25%; }
      .row > .off-3-xsmall {
        margin-left: 25%; }
      .row > .col-4-xsmall {
        width: 33.33333333%; }
      .row > .off-4-xsmall {
        margin-left: 33.33333333%; }
      .row > .col-5-xsmall {
        width: 41.66666667%; }
      .row > .off-5-xsmall {
        margin-left: 41.66666667%; }
      .row > .col-6-xsmall {
        width: 50%; }
      .row > .off-6-xsmall {
        margin-left: 50%; }
      .row > .col-7-xsmall {
        width: 58.33333333%; }
      .row > .off-7-xsmall {
        margin-left: 58.33333333%; }
      .row > .col-8-xsmall {
        width: 66.66666667%; }
      .row > .off-8-xsmall {
        margin-left: 66.66666667%; }
      .row > .col-9-xsmall {
        width: 75%; }
      .row > .off-9-xsmall {
        margin-left: 75%; }
      .row > .col-10-xsmall {
        width: 83.33333333%; }
      .row > .off-10-xsmall {
        margin-left: 83.33333333%; }
      .row > .col-11-xsmall {
        width: 91.66666667%; }
      .row > .off-11-xsmall {
        margin-left: 91.66666667%; }
      .row > .col-12-xsmall {
        width: 100%; }
      .row > .off-12-xsmall {
        margin-left: 100%; }
      .row.gtr-0 {
        margin-top: 0;
        margin-left: 0rem; }
        .row.gtr-0 > * {
          padding: 0 0 0 0rem; }
        .row.gtr-0.gtr-uniform {
          margin-top: 0rem; }
          .row.gtr-0.gtr-uniform > * {
            padding-top: 0rem; }
      .row.gtr-25 {
        margin-top: 0;
        margin-left: -0.5rem; }
        .row.gtr-25 > * {
          padding: 0 0 0 0.5rem; }
        .row.gtr-25.gtr-uniform {
          margin-top: -0.5rem; }
          .row.gtr-25.gtr-uniform > * {
            padding-top: 0.5rem; }
      .row.gtr-50 {
        margin-top: 0;
        margin-left: -1rem; }
        .row.gtr-50 > * {
          padding: 0 0 0 1rem; }
        .row.gtr-50.gtr-uniform {
          margin-top: -1rem; }
          .row.gtr-50.gtr-uniform > * {
            padding-top: 1rem; }
      .row {
        margin-top: 0;
        margin-left: -2rem; }
        .row > * {
          padding: 0 0 0 2rem; }
        .row.gtr-uniform {
          margin-top: -2rem; }
          .row.gtr-uniform > * {
            padding-top: 2rem; }
      .row.gtr-150 {
        margin-top: 0;
        margin-left: -3rem; }
        .row.gtr-150 > * {
          padding: 0 0 0 3rem; }
        .row.gtr-150.gtr-uniform {
          margin-top: -3rem; }
          .row.gtr-150.gtr-uniform > * {
            padding-top: 3rem; }
      .row.gtr-200 {
        margin-top: 0;
        margin-left: -4rem; }
        .row.gtr-200 > * {
          padding: 0 0 0 4rem; }
        .row.gtr-200.gtr-uniform {
          margin-top: -4rem; }
          .row.gtr-200.gtr-uniform > * {
            padding-top: 4rem; } }
  @media screen and (max-width: 360px) {
    .row {
      display: flex;
      flex-wrap: wrap;
      box-sizing: border-box;
      align-items: stretch; }
      .row > * {
        box-sizing: border-box; }
      .row.gtr-uniform > * > :last-child {
        margin-bottom: 0; }
      .row.aln-left {
        justify-content: flex-start; }
      .row.aln-center {
        justify-content: center; }
      .row.aln-right {
        justify-content: flex-end; }
      .row.aln-top {
        align-items: flex-start; }
      .row.aln-middle {
        align-items: center; }
      .row.aln-bottom {
        align-items: flex-end; }
      .row > .imp-xxsmall {
        order: -1; }
      .row > .col-1-xxsmall {
        width: 8.33333333%; }
      .row > .off-1-xxsmall {
        margin-left: 8.33333333%; }
      .row > .col-2-xxsmall {
        width: 16.66666667%; }
      .row > .off-2-xxsmall {
        margin-left: 16.66666667%; }
      .row > .col-3-xxsmall {
        width: 25%; }
      .row > .off-3-xxsmall {
        margin-left: 25%; }
      .row > .col-4-xxsmall {
        width: 33.33333333%; }
      .row > .off-4-xxsmall {
        margin-left: 33.33333333%; }
      .row > .col-5-xxsmall {
        width: 41.66666667%; }
      .row > .off-5-xxsmall {
        margin-left: 41.66666667%; }
      .row > .col-6-xxsmall {
        width: 50%; }
      .row > .off-6-xxsmall {
        margin-left: 50%; }
      .row > .col-7-xxsmall {
        width: 58.33333333%; }
      .row > .off-7-xxsmall {
        margin-left: 58.33333333%; }
      .row > .col-8-xxsmall {
        width: 66.66666667%; }
      .row > .off-8-xxsmall {
        margin-left: 66.66666667%; }
      .row > .col-9-xxsmall {
        width: 75%; }
      .row > .off-9-xxsmall {
        margin-left: 75%; }
      .row > .col-10-xxsmall {
        width: 83.33333333%; }
      .row > .off-10-xxsmall {
        margin-left: 83.33333333%; }
      .row > .col-11-xxsmall {
        width: 91.66666667%; }
      .row > .off-11-xxsmall {
        margin-left: 91.66666667%; }
      .row > .col-12-xxsmall {
        width: 100%; }
      .row > .off-12-xxsmall {
        margin-left: 100%; }
      .row.gtr-0 {
        margin-top: 0;
        margin-left: 0rem; }
        .row.gtr-0 > * {
          padding: 0 0 0 0rem; }
        .row.gtr-0.gtr-uniform {
          margin-top: 0rem; }
          .row.gtr-0.gtr-uniform > * {
            padding-top: 0rem; }
      .row.gtr-25 {
        margin-top: 0;
        margin-left: -0.5rem; }
        .row.gtr-25 > * {
          padding: 0 0 0 0.5rem; }
        .row.gtr-25.gtr-uniform {
          margin-top: -0.5rem; }
          .row.gtr-25.gtr-uniform > * {
            padding-top: 0.5rem; }
      .row.gtr-50 {
        margin-top: 0;
        margin-left: -1rem; }
        .row.gtr-50 > * {
          padding: 0 0 0 1rem; }
        .row.gtr-50.gtr-uniform {
          margin-top: -1rem; }
          .row.gtr-50.gtr-uniform > * {
            padding-top: 1rem; }
      .row {
        margin-top: 0;
        margin-left: -2rem; }
        .row > * {
          padding: 0 0 0 2rem; }
        .row.gtr-uniform {
          margin-top: -2rem; }
          .row.gtr-uniform > * {
            padding-top: 2rem; }
      .row.gtr-150 {
        margin-top: 0;
        margin-left: -3rem; }
        .row.gtr-150 > * {
          padding: 0 0 0 3rem; }
        .row.gtr-150.gtr-uniform {
          margin-top: -3rem; }
          .row.gtr-150.gtr-uniform > * {
            padding-top: 3rem; }
      .row.gtr-200 {
        margin-top: 0;
        margin-left: -4rem; }
        .row.gtr-200 > * {
          padding: 0 0 0 4rem; }
        .row.gtr-200.gtr-uniform {
          margin-top: -4rem; }
          .row.gtr-200.gtr-uniform > * {
            padding-top: 4rem; } }
/*
  QuantaLumin SCSS
  SCSS bode for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Box */
.box {
  border-radius: var(--size-border-radius);
  border: solid var(--size-border-width);
  margin-bottom: var(--size-element-margin);
  padding: 1.5rem;
  border-color: var(--palette-border, var(--border));
  /* default border color */ }
  .box > :last-child,
  .box > :last-child > :last-child,
  .box > :last-child > :last-child > :last-child {
    margin-bottom: 0; }
  .box.alt {
    border: 0;
    border-radius: 0;
    padding: 0; }
  .box.collapse {
    cursor: pointer;
    position: relative;
    padding: 10px 20px;
    border-top-right-radius: 10px;
    border-bottom-left-radius: 10px;
    transition: all 1s; }
    .box.collapse .content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.5s ease-out; }
    .box.collapse:after, .box.collapse:before {
      content: "";
      width: 10px;
      height: 10px;
      position: absolute;
      border: 0 solid #fff;
      transition: all 1s;
      pointer-events: none; }
    .box.collapse:after {
      top: -1px;
      left: -1px;
      border-top: 5px solid black;
      border-left: 5px solid black; }
    .box.collapse:before {
      bottom: -1px;
      right: -1px;
      border-bottom: 5px solid black;
      border-right: 5px solid black; }
    .box.collapse:hover:before, .box.collapse:hover:after {
      width: 100%;
      height: 100%;
      border-color: var(--palette-accent, var(--accent)) !important;
      transition: all 0.7s; }

details {
  user-select: none; }

summary {
  display: inline;
  cursor: pointer; }

summary::-webkit-details-marker {
  display: none; }

details[open] .box-heading svg {
  transform: rotate(90deg); }

/* Example usage: override variables per box */
.box.accent {
  --palette-border: var(--accent); }

.box.alt-color {
  --palette-border: var(--article_nav_accent); }

.box.collapse.accent-hover {
  --palette-accent: var(--article_nav_accent); }

/*
  QuantaLumin SCSS
  SCSS bode for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Button */
/* Buttons */
input[type="submit"],
input[type="reset"],
input[type="button"],
button,
.button,
.button span {
  appearance: none;
  transition: background-color var(--duration_transition) ease-in-out, box-shadow var(--duration_transition) ease-in-out, color var(--duration_transition) ease-in-out;
  border: 0;
  cursor: pointer;
  display: inline-block;
  font-weight: var(--font_weight_bold);
  letter-spacing: var(--font_kerning_alt);
  line-height: 1.65;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  font-size: 0.8rem !important;
  max-width: 20rem;
  height: 3.5em;
  line-height: 3.5em;
  border-radius: var(--size_button_radius);
  padding: 0 1em;
  text-overflow: ellipsis;
  overflow: hidden;
  min-width: 0;
  /* important inside flex */ }

header .button span {
  font-size: 0.9rem !important; }

.button .icon-wrapper,
button .icon-wrapper {
  padding: 0; }

.button span .nav-text {
  display: table-cell;
  vertical-align: middle;
  padding: 0;
  min-width: 0;
  /* critical! */ }

.button span .text {
  text-overflow: ellipsis;
  vertical-align: middle;
  padding: 0 5px; }

.button.icon:before {
  margin-right: 0.5rem; }

.button.fit {
  width: 100%; }

.button:hover {
  border-radius: var(--size_button_radius_hover); }

/* Small buttons */
.button.small {
  height: calc(0.8 * var(--size_button_radius));
  line-height: calc(0.8 * var(--size_button_radius));
  border-radius: calc(0.8 * var(--size_button_radius));
  padding: 0 2em; }

.button.small:hover {
  border-radius: calc(0.8 * var(--size_button_radius_hover)); }

/* Large buttons */
.button.large {
  height: calc(2.2 * var(--size_button_radius));
  line-height: calc(2.2 * var(--size_button_radius));
  border-radius: calc(2.2 * var(--size_button_radius));
  padding: 0 2em; }

.button.large:hover {
  border-radius: calc(2.2 * var(--size_button_radius_hover)); }

/* Wide buttons */
.button.wide {
  min-width: 14em; }

/* Disabled */
.button.disabled,
.button:disabled {
  pointer-events: none;
  opacity: 0.25; }

/* Layout-specific color buttons */
header button,
header .button {
  background-color: transparent;
  box-shadow: inset 0 0 0 var(--size_border_width) var(--header_border);
  color: var(--header_fg_bold); }

header button:hover,
header .button:hover,
header button:active,
header .button:active {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--header_accent);
  color: var(--header_accent) !important; }

/* Primary style */
header .button.primary,
header button.primary {
  background-color: var(--header_fg_bold);
  box-shadow: none;
  color: var(--header_bg) !important; }
  header .button.primary span,
  header button.primary span {
    background-color: var(--header_fg_bold);
    box-shadow: none;
    color: var(--header_bg) !important; }

header .button.primary:hover,
header button.primary:hover {
  background-color: var(--header_accent); }
  header .button.primary:hover span,
  header button.primary:hover span {
    background-color: var(--header_accent); }

/* Repeat for other layouts: main, #aside, #article-nav, footer */
main button,
main .button {
  background-color: transparent;
  box-shadow: inset 0 0 0 var(--size_border_width) var(--border);
  color: var(--fg_bold); }

main button:hover,
main .button:hover,
main button:active,
main .button:active {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--accent);
  color: var(--accent) !important; }

main .button.primary,
main button.primary {
  background-color: var(--fg_bold);
  box-shadow: none;
  color: var(--bg) !important; }
  main .button.primary span,
  main button.primary span {
    background-color: var(--fg_bold);
    box-shadow: none;
    color: var(--bg) !important; }

main .button.primary:hover,
main button.primary:hover {
  background-color: var(--accent); }
  main .button.primary:hover span,
  main button.primary:hover span {
    background-color: var(--accent); }

.carousel-buttons .button:hover {
  background-color: transparent; }
  .carousel-buttons .button:hover span {
    background-color: transparent; }

#aside button,
#aside .button {
  background-color: transparent;
  box-shadow: inset 0 0 0 var(--size_border_width) var(--aside_border);
  color: var(--aside_fg_bold); }

#aside button:hover,
#aside .button:hover,
#aside button:active,
#aside .button:active {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--aside_accent);
  color: var(--aside_accent) !important; }

#article-nav button,
#article-nav .button {
  background-color: transparent;
  box-shadow: inset 0 0 0 var(--size_border_width) var(--article_nav_border);
  color: var(--article_nav_fg_bold); }

#article-nav button:hover,
#article-nav .button:hover,
#article-nav button:active,
#article-nav .button:active {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--article_nav_accent);
  color: var(--article_nav_accent) !important; }

footer button,
footer .button {
  background-color: transparent;
  box-shadow: inset 0 0 0 var(--size_border_width) var(--footer_border);
  color: var(--footer_fg_bold); }

footer button:hover,
footer .button:hover,
footer button:active,
footer .button:active {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--footer_accent);
  color: var(--footer_accent) !important; }

/* Primary style */
footer .button.primary,
footer button.primary {
  background-color: var(--footer_fg_bold);
  box-shadow: none;
  color: var(--footer_bg) !important; }
  footer .button.primary span,
  footer button.primary span {
    background-color: var(--footer_fg_bold);
    box-shadow: none;
    color: var(--footer_bg) !important; }

footer .button.primary:hover,
footer button.primary:hover {
  background-color: var(--footer_accent); }
  footer .button.primary:hover span,
  footer button.primary:hover span {
    background-color: var(--footer_accent); }

/* #special 3D effect button with remote cursor support */
a#special {
  position: relative;
  width: 150px;
  height: 50px;
  transition: transform 4s ease-in-out;
  transform-style: preserve-3d;
  transform: perspective(1000px) rotateX(0deg);
  cursor: pointer; }

/* Local hover */
a#special:hover,
a#special.hover {
  transform: perspective(1000px) rotateX(360deg); }

a#special span {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
  color: white;
  text-transform: uppercase;
  letter-spacing: 2px;
  transition: 0.5s;
  border: 2px solid #000;
  box-sizing: border-box;
  box-shadow: inset 0 20px 50px rgba(0, 0, 0, 0.2);
  font-weight: var(--font_weight_bold);
  letter-spacing: var(--font_kerning_alt); }

a#special:hover span,
a#special.hover span {
  color: #fff;
  background: rgba(0, 0, 0, 0.7); }

a#special span:nth-child(1) {
  transform: rotateX(360deg) translateZ(25px); }

a#special span:nth-child(2) {
  transform: rotateX(270deg) translateZ(25px); }

a#special span:nth-child(3) {
  transform: rotateX(180deg) translateZ(25px); }

a#special span:nth-child(4) {
  transform: rotateX(90deg) translateZ(25px); }

.button {
  display: flex;
  align-items: center;
  overflow: hidden;
  /* clip text if needed */ }

.button span {
  flex: 1 1 auto;
  /* text takes remaining space */
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

.button .icon {
  flex-shrink: 0;
  /* keep chevron visible */ }

.button {
  min-width: 5rem; }

/*
  QuantaLumin SCSS
  SCSS bode for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Form */
form {
  margin: 0 0 var(--size_element_margin) 0;
  /* Responsive for xsmall */
  /* Hidden anti-spam field */ }
  form > :last-child {
    margin-bottom: 0; }
  form > .fields {
    display: flex;
    flex-wrap: wrap;
    --gutter: calc(var(--size_element_margin) * 0.75);
    width: calc(100% + var(--gutter) * 2);
    margin: calc(var(--gutter) * -1) 0 var(--size_element_margin) calc(var(--gutter) * -1); }
    form > .fields > .field {
      flex-grow: 0;
      flex-shrink: 0;
      padding: var(--gutter) 0 0 var(--gutter);
      width: calc(100% - var(--gutter)); }
      form > .fields > .field.half {
        width: calc(50% - calc(var(--gutter) * 0.5)); }
      form > .fields > .field.third {
        width: calc(33.3333% - calc(var(--gutter) * 0.3333)); }
      form > .fields > .field.quarter {
        width: calc(25% - calc(var(--gutter) * 0.25)); }
  @media screen and (min-width: 480px) {
    form > .fields {
      width: calc(100% + var(--gutter) * 2);
      margin: calc(var(--gutter) * -1) 0 var(--size_element_margin) calc(var(--gutter) * -1); }
      form > .fields > .field {
        padding: var(--gutter) 0 0 var(--gutter);
        width: calc(100% - var(--gutter)); }
        form > .fields > .field.half, form > .fields > .field.third, form > .fields > .field.quarter {
          width: calc(100% - var(--gutter)); } }
  form .firstname {
    display: none;
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important; }

/* Labels */
label {
  display: block;
  font-size: 0.9rem;
  font-weight: var(--font_weight_bold);
  margin: 0 0 calc(var(--size_element_margin) * 0.5) 0; }

/* Inputs, selects, textarea */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
select,
textarea {
  appearance: none;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: var(--size_border_radius);
  border: solid var(--size_border_width) var(--border);
  color: var(--fg);
  display: block;
  outline: 0;
  padding: 0 0.825rem;
  text-decoration: none;
  width: 100%; }

input:invalid {
  box-shadow: none; }

/* Height for inputs/selects */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
select {
  height: var(--size_element_height); }

textarea {
  padding: 0.75rem 1rem; }

/* Select styling */
select {
  background-size: 1.25rem;
  background-repeat: no-repeat;
  background-position: calc(100% - 1rem) center;
  padding-right: var(--size_element_height);
  text-overflow: ellipsis; }

select:focus::-ms-value {
  background-color: transparent; }

select::-ms-expand {
  display: none; }

/* Checkbox & Radio */
input[type="checkbox"],
input[type="radio"] {
  display: none; }

input[type="checkbox"] + label,
input[type="radio"] + label {
  user-select: none;
  cursor: pointer;
  display: inline-block;
  font-size: 1rem;
  font-weight: var(--font_weight);
  position: relative;
  padding-left: calc(var(--size_element_height) * 0.6 + 0.75rem);
  padding-right: 0.75rem;
  margin-bottom: 0; }

input[type="checkbox"] + label:before,
input[type="radio"] + label:before {
  content: '';
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
  width: calc(var(--size_element_height) * 0.6);
  height: calc(var(--size_element_height) * 0.6);
  line-height: calc(var(--size_element_height) * 0.6);
  font-size: 0.8rem;
  border-radius: var(--size_border_radius);
  /* radio overridden later */
  border: solid var(--size_border_width) var(--border);
  text-align: center; }

input[type="radio"] + label:before {
  border-radius: 100%; }

input:checked + label:before {
  content: '\f00c';
  background-color: var(--fg_bold);
  border-color: var(--fg_bold);
  color: var(--bg); }

/* Focus state */
input:focus + label:before {
  border-color: var(--accent);
  box-shadow: 0 0 0 var(--size_border_width) var(--accent); }

/* Placeholder */
::placeholder {
  color: var(--fg_light) !important;
  opacity: 1 !important; }

/* Checkboxes container */
.checkboxes {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.375rem;
  margin: 0.75rem 0; }

.checkboxes p {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  margin: 0; }

.checkboxes label {
  color: var(--fg);
  text-align: left; }

.checkboxes label span {
  display: block;
  font-size: 0.6rem;
  color: var(--fg_light); }

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* List */
ol, ul > li > p {
  margin: 0; }

ol {
  list-style: decimal;
  /* margin: 0 0 var(--size_element_margin) 0; */
  padding-left: 1.25rem;
  list-style-position: inside; }
  ol li {
    padding-left: 0.25rem; }

ul {
  text-align: left;
  list-style: disc;
  margin: 0 0 var(--size_element_margin) 0;
  padding-left: 1rem; }
  ul ul {
    margin-bottom: 0; }
  ul li {
    padding-left: 0.5rem; }
  ul.alt {
    list-style: none;
    padding-left: 0; }
    ul.alt li {
      border-top: solid var(--size_border_width);
      padding: 0.5rem 0; }
      ul.alt li:first-child {
        border-top: 0;
        padding-top: 0; }

dl {
  margin: 0 0 var(--size_element_margin) 0; }
  dl dt {
    display: block;
    font-weight: var(--font_weight_bold);
    margin: 0 0 calc(var(--size_element_margin) * 0.5) 0; }
  dl dd {
    margin-left: var(--size_element_margin); }
  dl.style2 dt {
    width: 25%;
    float: left; }
  dl.style2 dd {
    width: 70%;
    float: left; }
  dl.style2:after {
    content: '';
    display: block;
    clear: both; }

ul.alt li {
  border-top-color: var(--border); }

/*
  QuantaLumin SCSS
  SCSS bode for scientific research and communication
  Copyright © QuantaLumin 2025
*/
ul.actions {
  display: flex;
  cursor: default;
  list-style: none;
  margin-left: calc(var(--size_element-margin) * -0.5);
  padding-left: 0;
  justify-content: center; }
  ul.actions li {
    padding: 0 0 0 calc(var(--size_element-margin) * 0.5);
    vertical-align: middle; }
  ul.actions.special {
    display: flex;
    align-items: center;
    width: 100%;
    margin-left: 0; }
  ul.actions.stacked {
    display: flex;
    flex-direction: column;
    margin-left: 0; }
    ul.actions.stacked li {
      padding: calc(var(--size_element-margin) * 0.65) 0 0 0; }
      ul.actions.stacked li:first-child {
        padding-top: 0; }
  ul.actions.fit {
    width: calc(100% + var(--size_element-margin) * 0.5); }
    ul.actions.fit li {
      flex-grow: 1;
      flex-shrink: 1;
      width: 100%; }
      ul.actions.fit li > * {
        width: 100%; }
    ul.actions.fit.stacked {
      width: 100%; }

@media screen and (max-width: 1680px) {
  ul.actions .nav-text {
    font-size: calc(1.3 * 100%); } }

@media screen and (max-width: 1280px) {
  ul.actions .nav-text {
    font-size: calc(1.5 * 90%); } }

@media screen and (max-width: 736px) {
  ul.actions .nav-text {
    font-size: calc(1.5 * 87.5%); } }

@media screen and (max-width: 360px) {
  ul.actions .nav-text {
    font-size: calc(1.5 * 81.25%); } }

@media screen and (max-width: 736px) {
  ul.actions:not(.fixed) {
    display: flex;
    flex-direction: column;
    margin-left: 0;
    width: 100% !important; }
    ul.actions:not(.fixed) li {
      display: flex;
      flex-grow: 1;
      flex-shrink: 1;
      justify-content: center;
      padding: calc(var(--size_element-margin) * 0.5) 0 0 0;
      text-align: center;
      width: 100%; }
      ul.actions:not(.fixed) li > * {
        display: flex;
        justify-content: center;
        width: 100%; }
      ul.actions:not(.fixed) li:first-child {
        padding-top: 0; }
      ul.actions:not(.fixed) li input[type="submit"],
      ul.actions:not(.fixed) li input[type="reset"],
      ul.actions:not(.fixed) li input[type="button"],
      ul.actions:not(.fixed) li button,
      ul.actions:not(.fixed) li .button {
        width: 100%; }
      ul.actions:not(.fixed) li input[type="submit"].icon:before,
      ul.actions:not(.fixed) li input[type="reset"].icon:before,
      ul.actions:not(.fixed) li input[type="button"].icon:before,
      ul.actions:not(.fixed) li button.icon:before,
      ul.actions:not(.fixed) li .button.icon:before {
        margin-left: -0.5rem; } }

.actions.special.equal {
  display: flex;
  gap: 0.75rem; }

.actions.special.equal > li {
  flex: 1 1 0;
  min-width: 0; }

.actions.special.equal > li > .button {
  width: 100%;
  max-width: none; }

.actions.special.equal > li > .button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem; }

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Icon */
.icon.small svg {
  font-size: 3.25rem !important;
  min-width: 3.25rem;
  height: 3.25rem; }

.icon.medium svg {
  font-size: 4.25rem !important;
  min-width: 4.25rem;
  height: 4.25rem; }

.icon.large svg {
  font-size: 5.25rem !important;
  min-width: 5.25rem;
  height: 5.25rem; }

.icon.xlarge svg {
  font-size: 7.25rem !important;
  min-width: 7.25rem;
  height: 7.25rem; }

.icon.xxlarge svg {
  font-size: 8.25rem !important;
  min-width: 8.25rem;
  height: 8.25rem; }

.icon svg {
  border-bottom: none;
  position: relative;
  text-align: center;
  line-height: inherit; }
  .icon svg > .label {
    display: none; }

.icon.style1 svg {
  padding: 0 0.3em;
  display: inline-block;
  line-height: 2.5em; }

.icon.style2 svg {
  outline-offset: 0.4rem;
  display: inline-block;
  line-height: 1.75em; }

.icon.style3 svg {
  border: 0.15em solid;
  padding: 0.25em;
  display: inline-block;
  line-height: 3em;
  width: 3em; }
  .icon.style3 svg.major {
    display: block;
    margin: 0 0 calc(var(--size_element_margin) * 0.5) 0;
    font-size: 1.25rem; }

.icon.style2 span svg,
.icon.style1 span svg {
  transition: background-color var(--duration_transition) ease-in-out, box-shadow var(--duration_transition) ease-in-out, color var(--duration_transition) ease-in-out; }

header .icon {
  color: var(--header_icon); }
  header .icon span svg {
    color: var(--header_icon); }
  header .icon a {
    color: var(--header_icon); }

header .icon {
  color: var(--header_invert_icon); }
  header .icon span svg {
    color: var(--header_invert_icon); }
  header .icon a {
    color: var(--header_invert_icon); }

header .icon.style1:hover {
  color: var(--header_invert_accent); }
  header .icon.style1:hover svg path {
    transition: all var(--duration_transition) ease-in-out;
    color: var(--header_invert_accent); }
  header .icon.style1:hover span .nav-text {
    transition: all var(--duration_transition) ease-in-out;
    color: var(--header_invert_accent); }

header .icon.style1:active {
  background-color: rgba(0, 0, 0, 0.1);
  color: var(--header_invert_accent); }

header .icon.style2:hover {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--header_invert_accent);
  color: var(--header_invert_accent);
  transition: all var(--duration_transition) ease-in-out; }
  header .icon.style2:hover svg path {
    transition: all var(--duration_transition) ease-in-out;
    color: var(--header_invert_accent); }
  header .icon.style2:hover span .nav-text {
    transition: all var(--duration_transition) ease-in-out;
    color: var(--header_invert_accent); }

header .icon.style2:active {
  background-color: rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 0 0 var(--size_border_width) var(--header_invert_accent);
  color: var(--header_invert_accent); }

header .icon.style3 svg:hover {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--header_invert_accent);
  transition: all var(--duration_transition) ease-in-out; }

main .icon {
  color: var(--icon); }
  main .icon span svg {
    color: var(--icon); }
  main .icon a {
    color: var(--icon); }

main .icon.style1:hover {
  color: var(--_accent); }
  main .icon.style1:hover svg path {
    transition: all var(--duration_transition) ease-in-out;
    color: var(--_accent); }
  main .icon.style1:hover span .nav-text {
    transition: all var(--duration_transition) ease-in-out;
    color: var(--_accent); }

main .icon.style1:active {
  background-color: rgba(0, 0, 0, 0.1);
  color: var(--_accent); }

main .icon.style2:hover {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--_accent);
  color: var(--_accent);
  transition: all var(--duration_transition) ease-in-out; }
  main .icon.style2:hover svg path {
    transition: all var(--duration_transition) ease-in-out;
    color: var(--_accent); }
  main .icon.style2:hover span .nav-text {
    transition: all var(--duration_transition) ease-in-out;
    color: var(--_accent); }

main .icon.style2:active {
  background-color: rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 0 0 var(--size_border_width) var(--_accent);
  color: var(--_accent); }

main .icon.style3 svg:hover {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--_accent);
  transition: all var(--duration_transition) ease-in-out; }

#aside .icon {
  color: var(--aside_icon); }
  #aside .icon span svg {
    color: var(--aside_icon); }
  #aside .icon a {
    color: var(--aside_icon); }

#aside .icon {
  color: var(--aside_invert_icon); }
  #aside .icon span svg {
    color: var(--aside_invert_icon); }
  #aside .icon a {
    color: var(--aside_invert_icon); }

#aside .icon.style1:hover {
  color: var(--aside_invert_accent); }
  #aside .icon.style1:hover svg path {
    transition: all var(--duration_transition) ease-in-out;
    color: var(--aside_invert_accent); }
  #aside .icon.style1:hover span .nav-text {
    transition: all var(--duration_transition) ease-in-out;
    color: var(--aside_invert_accent); }

#aside .icon.style1:active {
  background-color: rgba(0, 0, 0, 0.1);
  color: var(--aside_invert_accent); }

#aside .icon.style2:hover {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--aside_invert_accent);
  color: var(--aside_invert_accent);
  transition: all var(--duration_transition) ease-in-out; }
  #aside .icon.style2:hover svg path {
    transition: all var(--duration_transition) ease-in-out;
    color: var(--aside_invert_accent); }
  #aside .icon.style2:hover span .nav-text {
    transition: all var(--duration_transition) ease-in-out;
    color: var(--aside_invert_accent); }

#aside .icon.style2:active {
  background-color: rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 0 0 var(--size_border_width) var(--aside_invert_accent);
  color: var(--aside_invert_accent); }

#aside .icon.style3 svg:hover {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--aside_invert_accent);
  transition: all var(--duration_transition) ease-in-out; }

#article-nav .icon {
  color: var(--article_nav_icon); }
  #article-nav .icon span svg {
    color: var(--article_nav_icon); }
  #article-nav .icon a {
    color: var(--article_nav_icon); }

#article-nav .icon {
  color: var(--article_nav_invert_icon); }
  #article-nav .icon span svg {
    color: var(--article_nav_invert_icon); }
  #article-nav .icon a {
    color: var(--article_nav_invert_icon); }

#article-nav .icon.style1:hover {
  color: var(--article_nav_invert_accent); }
  #article-nav .icon.style1:hover svg path {
    transition: all var(--duration_transition) ease-in-out;
    color: var(--article_nav_invert_accent); }
  #article-nav .icon.style1:hover span .nav-text {
    transition: all var(--duration_transition) ease-in-out;
    color: var(--article_nav_invert_accent); }

#article-nav .icon.style1:active {
  background-color: rgba(0, 0, 0, 0.1);
  color: var(--article_nav_invert_accent); }

#article-nav .icon.style2:hover {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--article_nav_invert_accent);
  color: var(--article_nav_invert_accent);
  transition: all var(--duration_transition) ease-in-out; }
  #article-nav .icon.style2:hover svg path {
    transition: all var(--duration_transition) ease-in-out;
    color: var(--article_nav_invert_accent); }
  #article-nav .icon.style2:hover span .nav-text {
    transition: all var(--duration_transition) ease-in-out;
    color: var(--article_nav_invert_accent); }

#article-nav .icon.style2:active {
  background-color: rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 0 0 var(--size_border_width) var(--article_nav_invert_accent);
  color: var(--article_nav_invert_accent); }

#article-nav .icon.style3 svg:hover {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--article_nav_invert_accent);
  transition: all var(--duration_transition) ease-in-out; }

footer .icon {
  color: var(--footer_icon); }
  footer .icon span svg {
    color: var(--footer_icon); }
  footer .icon a {
    color: var(--footer_icon); }

footer .icon {
  color: var(--footer_invert_icon); }
  footer .icon span svg {
    color: var(--footer_invert_icon); }
  footer .icon a {
    color: var(--footer_invert_icon); }

footer .icon.style1:hover {
  color: var(--footer_invert_accent); }
  footer .icon.style1:hover svg path {
    transition: all var(--duration_transition) ease-in-out;
    color: var(--footer_invert_accent); }
  footer .icon.style1:hover span .nav-text {
    transition: all var(--duration_transition) ease-in-out;
    color: var(--footer_invert_accent); }

footer .icon.style1:active {
  background-color: rgba(0, 0, 0, 0.1);
  color: var(--footer_invert_accent); }

footer .icon.style2:hover {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--footer_invert_accent);
  color: var(--footer_invert_accent);
  transition: all var(--duration_transition) ease-in-out; }
  footer .icon.style2:hover svg path {
    transition: all var(--duration_transition) ease-in-out;
    color: var(--footer_invert_accent); }
  footer .icon.style2:hover span .nav-text {
    transition: all var(--duration_transition) ease-in-out;
    color: var(--footer_invert_accent); }

footer .icon.style2:active {
  background-color: rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 0 0 var(--size_border_width) var(--footer_invert_accent);
  color: var(--footer_invert_accent); }

footer .icon.style3 svg:hover {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--footer_invert_accent);
  transition: all var(--duration_transition) ease-in-out; }

.inline-icon {
  width: 1rem;
  height: 1rem; }

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Icons */
ul.icons {
  cursor: default;
  list-style: none;
  padding-left: 0;
  margin-bottom: 1vw; }
  ul.icons li {
    display: inline-block;
    padding: 0 0.75rem 0 0; }
    ul.icons li:last-child {
      padding-right: 0; }

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Section/Article */
section.special, article.special {
  text-align: center; }

header p {
  position: relative;
  margin: calc(var(--size_element_margin) * -0.325) 0 calc(var(--size_element_margin) * 0.75) 0;
  font-style: italic; }

header h1 + p {
  font-size: 1.375rem; }

header h2 + p {
  font-size: 1.25rem; }

header h3 + p {
  font-size: 1.1rem; }

header h4 + p,
header h5 + p,
header h6 + p {
  font-size: 0.9rem; }

header p {
  color: var(--fg_light); }

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Table */
.table-wrapper {
  -webkit-overflow-scrolling: touch;
  margin: 0 0 var(--size_element_margin) 0;
  overflow-x: auto; }
  .table-wrapper > table {
    margin-bottom: 0; }

table {
  margin: 0 0 var(--size_element_margin) 0;
  width: 100%; }
  table tbody tr {
    border: solid var(--size_border_width);
    border-left: 0;
    border-right: 0; }
  table td {
    padding: 0.75rem 0.75rem; }
  table th {
    font-size: 0.9rem;
    font-weight: var(--font_weight_bold);
    padding: 0 0.75rem 0.75rem 0.75rem;
    text-align: left; }
  table thead {
    border-bottom: solid calc(var(--size_border_width) * 2); }
  table tfoot {
    border-top: solid calc(var(--size_border_width) * 2); }
  table.alt {
    border-collapse: separate; }
    table.alt tbody tr td {
      border: solid var(--size_border_width);
      border-left-width: 0;
      border-top-width: 0; }
      table.alt tbody tr td:first-child {
        border-left-width: var(--size_border_width); }
    table.alt tbody tr:first-child td {
      border-top-width: var(--size_border_width); }
    table.alt thead {
      border-bottom: 0; }
    table.alt tfoot {
      border-top: 0; }
  table.fixed {
    table-layout: fixed; }

table tbody tr {
  border-color: var(--border); }
  table tbody tr:nth-child(2n + 1) {
    background-color: var(--border_bg); }
  table tbody tr.alt {
    background-color: var(--border_bg) !important; }

table th {
  color: var(--fg_bold); }

table thead {
  border-bottom-color: var(--border); }

table tfoot {
  border-top-color: var(--border); }

table.alt tbody tr td {
  border-color: var(--border); }

table.uniform tbody tr:nth-child(2n + 1) {
  background-color: transparent; }

/* Responsive Table */
.responsive-columns {
  /* container */
  display: flex;
  flex-wrap: wrap;
  /* columns */ }
  .responsive-columns > * {
    width: 100%;
    padding: 1rem; }
  @media screen and (min-width: 736px) {
    .responsive-columns > * {
      width: 50%; } }
  @media screen and (min-width: 1280px) {
    .responsive-columns > * {
      width: 33%; } }
  @media screen and (min-width: 1680px) {
    .responsive-columns > * {
      width: 25%; } }
.highlight-wrapper {
  display: block; }

.highlight {
  position: relative;
  z-index: 0;
  padding: 0;
  margin: 0;
  border-radius: 4px; }

.copy-code-button {
  position: absolute;
  z-index: 2;
  right: 0;
  top: 0;
  font-weight: 700;
  line-height: 14px;
  letter-spacing: 0.5px;
  width: 65px;
  border-top-left-radius: 0;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 4px;
  white-space: nowrap;
  padding: 4px 4px 5px 4px;
  cursor: pointer;
  opacity: 0.6; }

.copyable-text-area {
  position: absolute;
  height: 0;
  z-index: -1;
  opacity: .01; }

/* SOURCE CODE BLOCKS */
/* --- Collapsible source block --- */
.method-source {
  border-radius: 6px;
  overflow: hidden;
  margin-top: 8px;
  transition: box-shadow 0.2s ease; }

/* Header bar ("View source code") */
.method-source .method-header {
  background: #2d3748;
  color: #e2e8f0;
  padding: 6px 10px;
  font-family: monospace;
  font-weight: 600;
  cursor: pointer;
  user-select: none;
  transition: background-color 0.2s ease, color 0.2s ease; }

.method-source .method-header:hover {
  background-color: #4a5568;
  color: #fff; }

/* Collapsible code area */
.method-source .method-body {
  color: #e2e8f0;
  font-family: "Fira Code", "Consolas", monospace;
  padding: 12px 16px;
  border-top: 1px solid #2d3748;
  max-height: 0;
  opacity: 0;
  transform: scaleY(0);
  transform-origin: top;
  transition: all 0.3s ease;
  overflow: hidden; }

/* When open */
.method-source.open .method-body {
  max-height: none;
  opacity: 1;
  transform: scaleY(1); }

/* Optional: method heading styling */
.pydoc-method h3 {
  font-family: monospace;
  background: #edf2f7;
  padding: 4px 8px;
  border-left: 8px solid #9a1111;
  border-radius: 4px; }

/* Optional: method heading styling */
.pydoc-property h3 {
  font-family: monospace;
  background: #edf2f7;
  padding: 4px 8px;
  border-left: 8px solid #4a5568;
  border-radius: 4px; }

/* Optional: method doc styling */
.pydoc-method .pydoc-doc {
  font-family: "Inter", sans-serif;
  color: #2d3748;
  margin: 6px 0 10px 0; }

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Banner (transitions) */
.banner {
  overflow: hidden;
  display: block; }
  .banner figcaption {
    padding-top: 1.5rem; }
  .banner iframe {
    -ms-zoom: 0.5;
    -moz-transform: scale(0.5);
    -moz-transform-origin: 0 0;
    -o-transform: scale(0.5);
    -o-transform-origin: 0 0;
    -webkit-transform: scale(0.5);
    -webkit-transform-origin: 0 0;
    transform: scale(0.5);
    transform-origin: 0 0; }
  .banner figure div iframe {
    width: 200% !important;
    height: 200% !important;
    margin-bottom: -180%; }
  .banner > figure {
    overflow: hidden;
    z-index: 100; }
    .banner > figure p {
      display: none; }
    .banner > figure svg {
      width: 100%;
      height: 100%; }
  .banner canvas {
    z-index: 500;
    width: 100% !important;
    height: 100% !important; }
  .banner.onload-content-fade-up .content {
    transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out;
    z-index: 1; }
  body.is-preload .banner.onload-content-fade-up .content {
    transform: translateY(1rem);
    opacity: 0; }
  .banner.onload-content-fade-down .content {
    transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out;
    z-index: 1; }
  body.is-preload .banner.onload-content-fade-down .content {
    transform: translateY(-1rem);
    opacity: 0; }
  .banner.onload-content-fade-left .content {
    transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out;
    z-index: 1; }
  body.is-preload .banner.onload-content-fade-left .content {
    transform: translateX(1rem);
    opacity: 0; }
  .banner.onload-content-fade-right .content {
    transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out;
    z-index: 1; }
  body.is-preload .banner.onload-content-fade-right .content {
    transform: translateX(-1rem);
    opacity: 0; }
  .banner.onload-content-fade-in .content {
    transition: opacity var(--duration_on_load) ease-in-out; }
  body.is-preload .banner.onload-content-fade-in .content {
    opacity: 0; }
  .banner.onload-figure-fade-up figure {
    transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out;
    z-index: 100; }
    .banner.onload-figure-fade-up figure img, .banner.onload-figure-fade-up figure canvas, .banner.onload-figure-fade-up figure iframe {
      transition: opacity var(--duration_on_load) ease-in-out;
      transition-delay: calc(var(--duration_on_load) * 0.75); }
  body.is-preload .banner.onload-figure-fade-up figure {
    transform: translateY(1rem);
    opacity: 0; }
    body.is-preload .banner.onload-figure-fade-up figure img, body.is-preload .banner.onload-figure-fade-up figure canvas, body.is-preload .banner.onload-figure-fade-up figure iframe {
      opacity: 0; }
  .banner.onload-figure-fade-down figure {
    transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out;
    z-index: 100; }
    .banner.onload-figure-fade-down figure img, .banner.onload-figure-fade-down figure canvas, .banner.onload-figure-fade-down figure iframe {
      transition: opacity var(--duration_on_load) ease-in-out;
      transition-delay: calc(var(--duration_on_load) * 0.75); }
  body.is-preload .banner.onload-figure-fade-down figure {
    transform: translateY(-1rem);
    opacity: 0; }
    body.is-preload .banner.onload-figure-fade-down figure img, body.is-preload .banner.onload-figure-fade-down figure canvas, body.is-preload .banner.onload-figure-fade-down figure iframe {
      opacity: 0; }
  .banner.onload-figure-fade-left figure {
    transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out;
    z-index: 100; }
    .banner.onload-figure-fade-left figure img, .banner.onload-figure-fade-left figure canvas, .banner.onload-figure-fade-left figure iframe {
      transition: opacity var(--duration_on_load) ease-in-out;
      transition-delay: calc(var(--duration_on_load) * 0.75); }
  body.is-preload .banner.onload-figure-fade-left figure {
    transform: translateX(1rem);
    opacity: 0; }
    body.is-preload .banner.onload-figure-fade-left figure img, body.is-preload .banner.onload-figure-fade-left figure canvas, body.is-preload .banner.onload-figure-fade-left figure iframe {
      opacity: 0; }
  .banner.onload-figure-fade-right figure {
    transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out;
    z-index: 100; }
    .banner.onload-figure-fade-right figure img, .banner.onload-figure-fade-right figure canvas, .banner.onload-figure-fade-right figure iframe {
      transition: opacity var(--duration_on_load) ease-in-out;
      transition-delay: calc(var(--duration_on_load) * 0.75); }
  body.is-preload .banner.onload-figure-fade-right figure {
    transform: translateX(-1rem);
    opacity: 0; }
    body.is-preload .banner.onload-figure-fade-right figure img, body.is-preload .banner.onload-figure-fade-right figure canvas, body.is-preload .banner.onload-figure-fade-right figure iframe {
      opacity: 0; }
  .banner.onload-figure-fade-in figure img, .banner.onload-figure-fade-in figure canvas, .banner.onload-figure-fade-in figure iframe {
    transition: opacity var(--duration_on_load) ease-in-out; }
  body.is-preload .banner.onload-figure-fade-in figure img, body.is-preload .banner.onload-figure-fade-in figure canvas, body.is-preload .banner.onload-figure-fade-in figure iframe {
    opacity: 0; }
  .banner.onscroll-content-fade-up .content {
    transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out;
    z-index: 1; }
  .banner.onscroll-content-fade-up.is-inactive .content {
    transform: translateY(1rem);
    opacity: 0; }
  .banner.onscroll-content-fade-down .content {
    transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out;
    z-index: 1; }
  .banner.onscroll-content-fade-down.is-inactive .content {
    transform: translateY(-1rem);
    opacity: 0; }
  .banner.onscroll-content-fade-left .content {
    transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out;
    z-index: 1; }
  .banner.onscroll-content-fade-left.is-inactive .content {
    transform: translateX(1rem);
    opacity: 0; }
  .banner.onscroll-content-fade-right .content {
    transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out;
    z-index: 1; }
  .banner.onscroll-content-fade-right.is-inactive .content {
    transform: translateX(-1rem);
    opacity: 0; }
  .banner.onscroll-content-fade-in .content {
    transition: opacity var(--duration_on_scroll) ease-in-out; }
  .banner.onscroll-content-fade-in.is-inactive .content {
    opacity: 0; }
  .banner.onscroll-figure-fade-up figure {
    transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out;
    z-index: 100; }
    .banner.onscroll-figure-fade-up figure img, .banner.onscroll-figure-fade-up figure canvas, .banner.onscroll-figure-fade-up figure iframe {
      transition: opacity var(--duration_on_scroll) ease-in-out;
      transition-delay: calc(var(--duration_on_scroll) * 0.75); }
  .banner.onscroll-figure-fade-up.is-inactive figure {
    transform: translateY(1rem);
    opacity: 0; }
    .banner.onscroll-figure-fade-up.is-inactive figure img, .banner.onscroll-figure-fade-up.is-inactive figure canvas, .banner.onscroll-figure-fade-up.is-inactive figure iframe {
      opacity: 0; }
  .banner.onscroll-figure-fade-down figure {
    transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out;
    z-index: 100; }
    .banner.onscroll-figure-fade-down figure img, .banner.onscroll-figure-fade-down figure canvas, .banner.onscroll-figure-fade-down figure iframe {
      transition: opacity var(--duration_on_scroll) ease-in-out;
      transition-delay: calc(var(--duration_on_scroll) * 0.75); }
  .banner.onscroll-figure-fade-down.is-inactive figure {
    transform: translateY(-1rem);
    opacity: 0; }
    .banner.onscroll-figure-fade-down.is-inactive figure img, .banner.onscroll-figure-fade-down.is-inactive figure canvas, .banner.onscroll-figure-fade-down.is-inactive figure iframe {
      opacity: 0; }
  .banner.onscroll-figure-fade-left figure {
    transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out;
    z-index: 100; }
    .banner.onscroll-figure-fade-left figure img, .banner.onscroll-figure-fade-left figure canvas, .banner.onscroll-figure-fade-left figure iframe {
      transition: opacity var(--duration_on_scroll) ease-in-out;
      transition-delay: calc(var(--duration_on_scroll) * 0.75); }
  .banner.onscroll-figure-fade-left.is-inactive figure {
    transform: translateX(1rem);
    opacity: 0; }
    .banner.onscroll-figure-fade-left.is-inactive figure img, .banner.onscroll-figure-fade-left.is-inactive figure canvas, .banner.onscroll-figure-fade-left.is-inactive figure iframe {
      opacity: 0; }
  .banner.onscroll-figure-fade-right figure {
    transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out;
    z-index: 100; }
    .banner.onscroll-figure-fade-right figure img, .banner.onscroll-figure-fade-right figure canvas, .banner.onscroll-figure-fade-right figure iframe {
      transition: opacity var(--duration_on_scroll) ease-in-out;
      transition-delay: calc(var(--duration_on_scroll) * 0.75); }
  .banner.onscroll-figure-fade-right.is-inactive figure {
    transform: translateX(-1rem);
    opacity: 0; }
    .banner.onscroll-figure-fade-right.is-inactive figure img, .banner.onscroll-figure-fade-right.is-inactive figure canvas, .banner.onscroll-figure-fade-right.is-inactive figure iframe {
      opacity: 0; }
  .banner.onscroll-figure-fade-in figure img, .banner.onscroll-figure-fade-in figure canvas, .banner.onscroll-figure-fade-in figure iframe {
    transition: opacity var(--duration_on_scroll) ease-in-out; }
  .banner.onscroll-figure-fade-in.is-inactive figure img, .banner.onscroll-figure-fade-in.is-inactive figure canvas, .banner.onscroll-figure-fade-in.is-inactive figure iframe {
    opacity: 0; }

/* Banner (style1) */
.banner.style1 {
  align-items: stretch;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  position: relative;
  text-align: left; }
  .banner.style1 .content {
    padding: calc(1 * (var(--size_padding-default))) calc(1 * (var(--size_padding-default))) calc(1 * max(var(--size_padding-default), max(0.1rem, var(--size_padding-default) - var(--size_element_margin)))) calc(1 * (var(--size_padding-default))) ;
    align-self: center;
    flex-grow: 1;
    flex-shrink: 1;
    width: 50%;
    max-width: calc(var(--size_inner) * 0.75);
    margin: 0 auto; }
  .banner.style1 > figure {
    flex-grow: 0;
    flex-shrink: 0;
    border-radius: 0;
    width: 50%; }
    .banner.style1 > figure img, .banner.style1 > figure canvas, .banner.style1 > figure iframe {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      border-radius: 0; }
  @media screen and (max-width: 1680px) {
    .banner.style1 .content {
      padding: calc(1 * (var(--size_padding-xlarge))) calc(1 * (var(--size_padding-xlarge))) calc(1 * max(var(--size_padding-xlarge), max(0.1rem, var(--size_padding-xlarge) - var(--size_element_margin)))) calc(1 * (var(--size_padding-xlarge))) ; } }
  @media screen and (max-width: 1280px) {
    .banner.style1 .content {
      padding: calc(1 * (var(--size_padding-large))) calc(1 * (var(--size_padding-large))) calc(1 * max(var(--size_padding-large), max(0.1rem, var(--size_padding-large) - var(--size_element_margin)))) calc(1 * (var(--size_padding-large))) ; } }
  @media screen and (max-width: 980px) {
    .banner.style1 .content {
      padding: calc(1 * (calc(var(--size_padding-medium) * 1.25))) calc(1 * (var(--size_padding-medium))) calc(1 * max(calc(var(--size_padding-medium) * 1.25), max(0.1rem, calc(var(--size_padding-medium) * 1.25) - var(--size_element_margin)))) calc(1 * (var(--size_padding-medium))) ; } }
  @media screen and (max-width: 736px) {
    .banner.style1 .content {
      padding: calc(1 * (calc(var(--size_padding-small) * 1.25))) calc(1 * (var(--size_padding-small))) calc(1 * max(calc(var(--size_padding-small) * 1.25), max(0.1rem, calc(var(--size_padding-small) * 1.25) - var(--size_element_margin)))) calc(1 * (var(--size_padding-small))) ; } }
  @media screen and (orientation: portrait) {
    .banner.style1 {
      flex-direction: column;
      text-align: center; }
      .banner.style1 .content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 100%;
        max-width: 100%; }
      .banner.style1 > figure {
        width: 100%;
        max-width: 100%;
        height: 45vh; } }
  .banner.style1.fullscreen {
    min-height: 100vh; }
    @media screen and (orientation: portrait) {
      .banner.style1.fullscreen .content {
        min-height: none; }
      .banner.style1.fullscreen > figure {
        min-height: 50vh; } }
  .banner.style1.halfscreen {
    min-height: 50vh; }
    @media screen and (orientation: portrait) {
      .banner.style1.halfscreen .content {
        min-height: none; }
      .banner.style1.halfscreen > figure {
        height: 50vh; } }
  @media screen and (orientation: portrait) {
    .banner.style1.orient-left {
      flex-direction: column-reverse; } }
  .banner.style1.orient-right {
    flex-direction: row-reverse; }
    @media screen and (orientation: portrait) {
      .banner.style1.orient-right {
        flex-direction: column-reverse; } }
  .banner.style1.content-align-center {
    text-align: center; }
  .banner.style1.content-align-right {
    text-align: right; }
    @media screen and (orientation: portrait) {
      .banner.style1.content-align-right {
        text-align: center; } }
/* Banner (style2) */
.banner.style2 {
  padding: calc(1 * (calc(var(--size_padding-default) * 0.75))) calc(1 * (calc(var(--size_padding-default) * 0.75))) calc(1 * max(calc(var(--size_padding-default) * 0.75), max(0.1rem, calc(var(--size_padding-default) * 0.75) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-default) * 0.75))) ;
  align-items: center;
  display: flex;
  justify-content: center;
  background-color: inherit;
  position: relative;
  text-align: center;
  height: 100vh; }
  .banner.style2 .content {
    padding: calc(1 * (calc(var(--size_padding-default) * 0.75))) calc(1 * (calc(var(--size_padding-default) * 0.75))) calc(1 * max(calc(var(--size_padding-default) * 0.75), max(0.1rem, calc(var(--size_padding-default) * 0.75) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-default) * 0.75))) ;
    position: relative;
    width: calc(var(--size_inner) * 0.625);
    max-width: 100%;
    background-color: inherit;
    border-radius: var(--size_border_radius_alt);
    margin-bottom: var(--size_element_margin);
    z-index: 1; }
  .banner.style2 > figure {
    flex-grow: 0;
    flex-shrink: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border-radius: 0; }
    .banner.style2 > figure img, .banner.style2 > figure canvas, .banner.style2 > figure iframe {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      border-radius: 0; }
  .banner.style2 svg {
    height: 100vh;
    transform: translateY(0vh); }
  @media screen and (max-width: 1680px) {
    .banner.style2 {
      padding: calc(1 * (calc(var(--size_padding-xlarge) * 0.75))) calc(1 * (calc(var(--size_padding-xlarge) * 0.75))) calc(1 * max(calc(var(--size_padding-xlarge) * 0.75), max(0.1rem, calc(var(--size_padding-xlarge) * 0.75) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-xlarge) * 0.75))) ;
      height: 100vh; }
      .banner.style2 .content {
        padding: calc(1 * (calc(var(--size_padding-xlarge) * 0.75))) calc(1 * (calc(var(--size_padding-xlarge) * 0.75))) calc(1 * max(calc(var(--size_padding-xlarge) * 0.75), max(0.1rem, calc(var(--size_padding-xlarge) * 0.75) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-xlarge) * 0.75))) ; }
      .banner.style2 svg {
        height: 100vh; } }
  @media screen and (max-width: 1280px) {
    .banner.style2 {
      padding: calc(1 * (var(--size_padding-large))) calc(1 * (calc(var(--size_padding-large) * 0.75))) calc(1 * max(var(--size_padding-large), max(0.1rem, var(--size_padding-large) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-large) * 0.75))) ;
      height: 94vh; }
      .banner.style2 .content {
        padding: calc(1 * (var(--size_padding-large))) calc(1 * (calc(var(--size_padding-large) * 0.75))) calc(1 * max(var(--size_padding-large), max(0.1rem, var(--size_padding-large) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-large) * 0.75))) ; }
      .banner.style2 svg {
        height: 100vh;
        width: 150vw;
        transform: translateX(-22vw); } }
  @media screen and (max-width: 980px) {
    .banner.style2 {
      padding: calc(1 * (var(--size_padding-medium))) calc(1 * (var(--size_padding-medium))) calc(1 * max(var(--size_padding-medium), max(0.1rem, var(--size_padding-medium) - var(--size_element_margin)))) calc(1 * (var(--size_padding-medium))) ;
      height: 90vh; }
      .banner.style2 .content {
        padding: calc(1 * (calc(var(--size_padding-medium) * 1.25))) calc(1 * (calc(var(--size_padding-medium) * 0.75))) calc(1 * max(calc(var(--size_padding-medium) * 1.25), max(0.1rem, calc(var(--size_padding-medium) * 1.25) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-medium) * 0.75))) ; }
      .banner.style2 svg {
        height: 90vh;
        transform: translateY(-10vh);
        width: 180vw;
        transform: translateX(-39vw); } }
  @media screen and (max-width: 736px) {
    .banner.style2 {
      padding: calc(1 * (var(--size_padding-small))) calc(1 * (var(--size_padding-small))) calc(1 * max(var(--size_padding-small), max(0.1rem, var(--size_padding-small) - var(--size_element_margin)))) calc(1 * (var(--size_padding-small))) ;
      height: 76vh; }
      .banner.style2 .content {
        padding: calc(1 * (calc(var(--size_padding-small) * 1.25))) calc(1 * (calc(var(--size_padding-small) * 0.75))) calc(1 * max(calc(var(--size_padding-small) * 1.25), max(0.1rem, calc(var(--size_padding-small) * 1.25) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-small) * 0.75))) ; }
      .banner.style2 svg {
        height: 80vh;
        transform: translateY(-10vh);
        transform: translateX(-37vw); } }
  .banner.style2.fullscreen {
    min-height: 100vh; }
  .banner.style2.orient-left {
    justify-content: flex-start;
    padding-left: 0; }
    .banner.style2.orient-left .content {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0; }
  .banner.style2.orient-right {
    justify-content: flex-end;
    padding-right: 0; }
    .banner.style2.orient-right .content {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0; }
  .banner.style2.content-align-center {
    text-align: center; }
  .banner.style2.content-align-left {
    text-align: left; }
  .banner.style2.content-align-right {
    text-align: right; }
  .banner.style2.figure-position-left > figure img, .banner.style2.figure-position-left > figure canvas, .banner.style2.figure-position-left > figure iframe {
    object-position: left; }
  .banner.style2.figure-position-right > figure img, .banner.style2.figure-position-right > figure canvas, .banner.style2.figure-position-right > figure iframe {
    object-position: right; }
  .banner.style2.halfscreen {
    height: 50vh; }
    @media screen and (orientation: portrait) {
      .banner.style2.halfscreen .content {
        min-height: none; }
      .banner.style2.halfscreen > figure {
        height: 50vh; } }
/* Banner (style3) */
.banner.style3 {
  padding: calc(1 * (var(--size_padding-default))) calc(1 * (var(--size_padding-default))) calc(1 * max(var(--size_padding-default), max(0.1rem, var(--size_padding-default) - var(--size_element_margin)))) calc(1 * (var(--size_padding-default))) ;
  align-items: center;
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  position: relative;
  text-align: left; }
  .banner.style3 .content {
    width: 100%;
    max-width: 100%; }
  .banner.style3 > figure {
    flex-grow: 0;
    flex-shrink: 0;
    width: 21rem;
    height: 21rem;
    border-radius: 100%;
    margin: 0 calc(var(--size_element_margin) * 1.75) var(--size_element_margin) 0; }
    .banner.style3 > figure img, .banner.style3 > figure canvas, .banner.style3 > figure iframe {
      display: block;
      width: 100%;
      height: 100%;
      border-radius: 100%; }
  @media screen and (max-width: 1680px) {
    .banner.style3 {
      padding: calc(1 * (var(--size_padding-xlarge))) calc(1 * (var(--size_padding-xlarge))) calc(1 * max(var(--size_padding-xlarge), max(0.1rem, var(--size_padding-xlarge) - var(--size_element_margin)))) calc(1 * (var(--size_padding-xlarge))) ; } }
  @media screen and (max-width: 1280px) {
    .banner.style3 {
      padding: calc(1 * (var(--size_padding-large))) calc(1 * (var(--size_padding-large))) calc(1 * max(var(--size_padding-large), max(0.1rem, var(--size_padding-large) - var(--size_element_margin)))) calc(1 * (var(--size_padding-large))) ; } }
  @media screen and (max-width: 980px) {
    .banner.style3 {
      padding: calc(1 * (calc(var(--size_padding-medium) * 1.25))) calc(1 * (calc(var(--size_padding-medium) * 1.25))) calc(1 * max(calc(var(--size_padding-medium) * 1.25), max(0.1rem, calc(var(--size_padding-medium) * 1.25) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-medium) * 1.25))) ; }
      .banner.style3 figure {
        width: calc($figure-size * 0.875) !important;
        height: calc($figure-size * 0.875) !important; } }
  @media screen and (max-width: 736px) {
    .banner.style3 {
      padding: calc(1 * (calc(var(--size_padding-small) * 1.25))) calc(1 * (calc(var(--size_padding-small) * 1.25))) calc(1 * max(calc(var(--size_padding-small) * 1.25), max(0.1rem, calc(var(--size_padding-small) * 1.25) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-small) * 1.25))) ;
      align-items: flex-start; }
      .banner.style3 figure {
        width: calc($figure-size * 0.75) !important;
        height: calc($figure-size * 0.75) !important;
        margin: 0 calc(var(--size_element_margin) * 1) var(--size_element_margin) 0; } }
  @media screen and (orientation: portrait) {
    .banner.style3 {
      align-items: center;
      flex-direction: column-reverse;
      text-align: center; }
      .banner.style3 .content {
        width: 34rem;
        max-width: 100%; }
      .banner.style3 figure {
        margin-right: 0; } }
  .banner.style3.fullscreen {
    min-height: 100vh; }
    @media screen and (orientation: portrait) {
      .banner.style3.fullscreen .content {
        min-height: none; } }
  .banner.style3.halfscreen {
    min-height: 50vh; }
    @media screen and (orientation: portrait) {
      .banner.style3.halfscreen .content {
        min-height: none; } }
  .banner.style3.orient-left {
    flex-direction: row; }
    .banner.style3.orient-left figure {
      margin: 0 0 var(--size_element_margin) calc(var(--size_element_margin) * 1.75); }
    @media screen and (max-width: 736px) {
      .banner.style3.orient-left figure {
        margin: 0 0 var(--size_element_margin) calc(var(--size_element_margin) * 1); } }
    @media screen and (orientation: portrait) {
      .banner.style3.orient-left {
        flex-direction: column-reverse; }
        .banner.style3.orient-left figure {
          margin-left: 0; } }
/* Banner (style4) */
.banner.style4 {
  padding: calc(1 * (var(--size_padding-default))) calc(1 * (var(--size_padding-default))) calc(1 * max(var(--size_padding-default), max(0.1rem, var(--size_padding-default) - var(--size_element_margin)))) calc(1 * (var(--size_padding-default))) ;
  align-items: center;
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  position: relative;
  text-align: left;
  /* NEW iPhone layout */ }
  .banner.style4 > figure {
    background: none !important; }
    .banner.style4 > figure img, .banner.style4 > figure iframe, .banner.style4 > figure svg {
      border: 0.2rem solid #000 !important;
      border-radius: 1rem !important;
      margin-top: 1%; }
    .banner.style4 > figure::before {
      z-index: 10000;
      border: 0.2rem solid #000 !important;
      border-radius: 0.5rem !important;
      background-image: none !important;
      background: black !important;
      background-color: black !important;
      width: 33% !important;
      height: 10% !important;
      translate: 100% 40% !important; }
    .banner.style4 > figure::after {
      z-index: 10000;
      border: 2% solid white !important;
      border-radius: 6px !important;
      background-image: none !important;
      background: white !important;
      background-color: white !important;
      width: 28% !important;
      height: 1% !important;
      translate: 130% -480% !important; }
  .banner.style4 .content {
    width: calc(var(--size_inner) * 0.75 - $figure-width - var(--size_element_margin) * 1.75);
    max-width: 100%; }
  .banner.style4 > figure {
    flex-grow: 0;
    flex-shrink: 0;
    border-radius: 0;
    border: solid var(--size_border_width);
    width: calc(13rem * 1);
    height: calc((13rem * 1) * (1920 / 1080));
    margin-top: calc(2.5rem * 1);
    margin-bottom: calc(var(--size_element_margin) + (3rem * 1));
    margin-right: calc(var(--size_element_margin) * 1.75); }
    .banner.style4 > figure img, .banner.style4 > figure canvas, .banner.style4 > figure iframe {
      object-fit: cover;
      object-position: center;
      display: block;
      width: 100%;
      height: 100%;
      border-radius: 0; }
    .banner.style4 > figure:before {
      content: '';
      display: block;
      background-position: center;
      background-repeat: no-repeat;
      border: solid var(--size_border_width);
      border-bottom: 0; }
    .banner.style4 > figure:after {
      content: '';
      display: block;
      background-position: center;
      background-repeat: no-repeat;
      border: solid var(--size_border_width);
      border-top: 0; }
    .banner.style4 > figure:before {
      height: calc(2.5rem * 1);
      background-size: calc(64px * 1) calc(32px * 1);
      margin-top: calc((2.5rem * 1) * -1);
      border-radius: calc(1rem * 1) calc(1rem * 1) 0 0; }
    .banner.style4 > figure:after {
      height: calc(3rem * 1);
      background-size: calc(64px * 1) calc(32px * 1);
      margin-bottom: calc((3rem * 1) * -1);
      border-radius: 0 0 calc(1rem * 1) calc(1rem * 1); }
  @media screen and (max-width: 1680px) {
    .banner.style4 {
      padding: calc(1 * (var(--size_padding-xlarge))) calc(1 * (var(--size_padding-xlarge))) calc(1 * max(var(--size_padding-xlarge), max(0.1rem, var(--size_padding-xlarge) - var(--size_element_margin)))) calc(1 * (var(--size_padding-xlarge))) ; } }
  @media screen and (max-width: 1280px) {
    .banner.style4 {
      padding: calc(1 * (var(--size_padding-large))) calc(1 * (var(--size_padding-large))) calc(1 * max(var(--size_padding-large), max(0.1rem, var(--size_padding-large) - var(--size_element_margin)))) calc(1 * (var(--size_padding-large))) ; } }
  @media screen and (max-width: 980px) {
    .banner.style4 {
      padding: calc(1 * (calc(var(--size_padding-medium) * 1.25))) calc(1 * (var(--size_padding-medium))) calc(1 * max(calc(var(--size_padding-medium) * 1.25), max(0.1rem, calc(var(--size_padding-medium) * 1.25) - var(--size_element_margin)))) calc(1 * (var(--size_padding-medium))) ; }
      .banner.style4 figure {
        width: calc(13rem * 0.875);
        height: calc((13rem * 0.875) * (1920 / 1080));
        margin-top: calc(2.5rem * 0.875);
        margin-bottom: calc(var(--size_element_margin) + (3rem * 0.875)); }
        .banner.style4 figure:before {
          height: calc(2.5rem * 0.875);
          background-size: calc(64px * 0.875) calc(32px * 0.875);
          margin-top: calc((2.5rem * 0.875) * -1);
          border-radius: calc(1rem * 0.875) calc(1rem * 0.875) 0 0; }
        .banner.style4 figure:after {
          height: calc(3rem * 0.875);
          background-size: calc(64px * 0.875) calc(32px * 0.875);
          margin-bottom: calc((3rem * 0.875) * -1);
          border-radius: 0 0 calc(1rem * 0.875) calc(1rem * 0.875); }
        .banner.style4 figure iframe {
          width: 50%; } }
  @media screen and (max-width: 736px) {
    .banner.style4 {
      padding: calc(1 * (calc(var(--size_padding-small) * 1.25))) calc(1 * (var(--size_padding-small))) calc(1 * max(calc(var(--size_padding-small) * 1.25), max(0.1rem, calc(var(--size_padding-small) * 1.25) - var(--size_element_margin)))) calc(1 * (var(--size_padding-small))) ;
      align-items: flex-start; }
      .banner.style4 iframe {
        -ms-zoom: 0.33;
        -moz-transform: scale(0.33);
        -moz-transform-origin: 0 0;
        -o-transform: scale(0.33);
        -o-transform-origin: 0 0;
        -webkit-transform: scale(0.33);
        -webkit-transform-origin: 0 0;
        transform: scale(0.33);
        transform-origin: 0 0; }
      .banner.style4 figure {
        width: calc(13rem * 0.625);
        height: calc((13rem * 0.625) * (1920 / 1080));
        margin-top: calc(2.5rem * 0.625);
        margin-bottom: calc(var(--size_element_margin) + (3rem * 0.625)); }
        .banner.style4 figure:before {
          height: calc(2.5rem * 0.625);
          background-size: calc(64px * 0.625) calc(32px * 0.625);
          margin-top: calc((2.5rem * 0.625) * -1);
          border-radius: calc(1rem * 0.625) calc(1rem * 0.625) 0 0; }
        .banner.style4 figure:after {
          height: calc(3rem * 0.625);
          background-size: calc(64px * 0.625) calc(32px * 0.625);
          margin-bottom: calc((3rem * 0.625) * -1);
          border-radius: 0 0 calc(1rem * 0.625) calc(1rem * 0.625); }
        .banner.style4 figure iframe {
          width: 300% !important;
          height: 300% !important;
          margin-bottom: -355%; } }
  @media screen and (orientation: portrait) {
    .banner.style4 {
      align-items: center;
      flex-direction: column-reverse;
      text-align: center; }
      .banner.style4 .content {
        width: 34rem;
        max-width: 100%; }
      .banner.style4 figure {
        margin-right: 0;
        margin-left: 0; } }
  .banner.style4.fullscreen {
    min-height: 100vh; }
    @media screen and (orientation: portrait) {
      .banner.style4.fullscreen .content {
        min-height: none; }
      .banner.style4.fullscreen > figure {
        min-height: 50vh; } }
  .banner.style4.halfscreen {
    min-height: 50vh; }
    @media screen and (orientation: portrait) {
      .banner.style4.halfscreen .content {
        min-height: none; } }
  .banner.style4.orient-left {
    flex-direction: row; }
    .banner.style4.orient-left > figure {
      margin-right: 0;
      margin-left: calc(var(--size_element_margin) * 1.75); }
    @media screen and (orientation: portrait) {
      .banner.style4.orient-left {
        flex-direction: column-reverse; }
        .banner.style4.orient-left figure {
          margin-right: 0;
          margin-left: 0; } }
/* Banner (style5) */
.banner.style5 {
  padding: calc(1 * (var(--size_padding-default))) calc(1 * (var(--size_padding-default))) calc(1 * max(var(--size_padding-default), max(0.1rem, var(--size_padding-default) - var(--size_element_margin)))) calc(1 * (var(--size_padding-default))) ;
  align-items: center;
  display: flex;
  justify-content: center;
  background-color: inherit;
  position: relative;
  text-align: center; }
  .banner.style5 .content {
    position: relative;
    width: calc(var(--size_inner) * 0.625);
    max-width: 100%;
    margin-bottom: var(--size_element_margin);
    z-index: 1; }
  .banner.style5 > figure {
    flex-grow: 0;
    flex-shrink: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border-radius: 0;
    opacity: var(--misc_overlay_opacity);
    border: 4px solid #000;
    border-radius: 12px; }
    .banner.style5 > figure img, .banner.style5 > figure canvas, .banner.style5 > figure iframe {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      border-radius: 0; }
  @media screen and (max-width: 1680px) {
    .banner.style5 {
      padding: calc(1 * (var(--size_padding-xlarge))) calc(1 * (var(--size_padding-xlarge))) calc(1 * max(var(--size_padding-xlarge), max(0.1rem, var(--size_padding-xlarge) - var(--size_element_margin)))) calc(1 * (var(--size_padding-xlarge))) ; } }
  @media screen and (max-width: 1280px) {
    .banner.style5 {
      padding: calc(1 * (var(--size_padding-large))) calc(1 * (var(--size_padding-large))) calc(1 * max(var(--size_padding-large), max(0.1rem, var(--size_padding-large) - var(--size_element_margin)))) calc(1 * (var(--size_padding-large))) ; } }
  @media screen and (max-width: 980px) {
    .banner.style5 {
      padding: calc(1 * (calc(var(--size_padding-medium) * 1.25))) calc(1 * (var(--size_padding-medium))) calc(1 * max(calc(var(--size_padding-medium) * 1.25), max(0.1rem, calc(var(--size_padding-medium) * 1.25) - var(--size_element_margin)))) calc(1 * (var(--size_padding-medium))) ; } }
  @media screen and (max-width: 736px) {
    .banner.style5 {
      padding: calc(1 * (calc(var(--size_padding-small) * 1.25))) calc(1 * (var(--size_padding-small))) calc(1 * max(calc(var(--size_padding-small) * 1.25), max(0.1rem, calc(var(--size_padding-small) * 1.25) - var(--size_element_margin)))) calc(1 * (var(--size_padding-small))) ; } }
  .banner.style5.fullscreen {
    min-height: 100vh; }
    @media screen and (orientation: portrait) {
      .banner.style5.fullscreen .content {
        min-height: none; }
      .banner.style5.fullscreen figure {
        min-height: 50vh; } }
  .banner.style5.halfscreen {
    min-height: 50vh; }
    @media screen and (orientation: portrait) {
      .banner.style5.halfscreen .content {
        min-height: none; }
      .banner.style5.halfscreen figure {
        min-height: 50vh; } }
  .banner.style5.content-align-left {
    text-align: left; }
  .banner.style5.content-align-right {
    text-align: right; }
  .banner.style5.figure-position-left figure img, .banner.style5.figure-position-left figure canvas, .banner.style5.figure-position-left figure iframe {
    object-position: left; }
  .banner.style5.figure-position-right figure img, .banner.style5.figure-position-right figure canvas, .banner.style5.figure-position-right figure iframe {
    object-position: right; }

.banner.style6 {
  align-items: stretch;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  position: relative;
  text-align: left; }
  .banner.style6 .content {
    padding: calc(1 * (var(--size_padding-default))) calc(1 * (var(--size_padding-default))) calc(1 * max(var(--size_padding-default), max(0.1rem, var(--size_padding-default) - var(--size_element_margin)))) calc(1 * (var(--size_padding-default))) ;
    align-self: center;
    flex-grow: 1;
    flex-shrink: 1;
    width: 50%;
    max-width: calc(var(--size_inner) * 0.75);
    margin: 0 auto; }
  .banner.style6 > figure {
    flex-grow: 0;
    flex-shrink: 0;
    border-radius: 0;
    width: 50%; }
    .banner.style6 > figure img, .banner.style6 > figure canvas, .banner.style6 > figure iframe {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      border-radius: 0;
      padding-top: 0;
      padding-bottom: 0; }
  @media screen and (max-width: 1680px) {
    .banner.style6 .content, .banner.style6 img, .banner.style6 canvas, .banner.style6 iframe {
      padding: calc(1 * (var(--size_padding-xlarge))) calc(1 * (var(--size_padding-xlarge))) calc(1 * max(var(--size_padding-xlarge), max(0.1rem, var(--size_padding-xlarge) - var(--size_element_margin)))) calc(1 * (var(--size_padding-xlarge))) ; } }
  @media screen and (max-width: 1280px) {
    .banner.style6 .content, .banner.style6 img, .banner.style6 canvas, .banner.style6 iframe {
      padding: calc(1 * (var(--size_padding-large))) calc(1 * (var(--size_padding-large))) calc(1 * max(var(--size_padding-large), max(0.1rem, var(--size_padding-large) - var(--size_element_margin)))) calc(1 * (var(--size_padding-large))) ; } }
  @media screen and (max-width: 980px) {
    .banner.style6 .content, .banner.style6 img, .banner.style6 canvas, .banner.style6 iframe {
      padding: calc(1 * (calc(var(--size_padding-medium) * 1.25))) calc(1 * (var(--size_padding-medium))) calc(1 * max(calc(var(--size_padding-medium) * 1.25), max(0.1rem, calc(var(--size_padding-medium) * 1.25) - var(--size_element_margin)))) calc(1 * (var(--size_padding-medium))) ; } }
  @media screen and (max-width: 736px) {
    .banner.style6 .content, .banner.style6 img, .banner.style6 canvas, .banner.style6 iframe {
      padding: calc(1 * (calc(var(--size_padding-small) * 1.25))) calc(1 * (var(--size_padding-small))) calc(1 * max(calc(var(--size_padding-small) * 1.25), max(0.1rem, calc(var(--size_padding-small) * 1.25) - var(--size_element_margin)))) calc(1 * (var(--size_padding-small))) ; } }
  @media screen and (orientation: portrait) {
    .banner.style6 {
      flex-direction: column;
      text-align: center; }
      .banner.style6 .content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 100%;
        max-width: 100%; }
      .banner.style6 > figure {
        width: 100%;
        max-width: 100%;
        height: 45vh; } }
  .banner.style6.fullscreen {
    min-height: 100vh; }
    @media screen and (orientation: portrait) {
      .banner.style6.fullscreen .content {
        min-height: none; }
      .banner.style6.fullscreen > figure {
        min-height: 50vh; } }
  .banner.style6.halfscreen {
    min-height: 50vh; }
    @media screen and (orientation: portrait) {
      .banner.style6.halfscreen .content {
        min-height: none; }
      .banner.style6.halfscreen > figure {
        height: 50vh; } }
  @media screen and (orientation: portrait) {
    .banner.style6.orient-left {
      flex-direction: column-reverse; } }
  @media screen and (orientation: landscape) {
    .banner.style6.orient-left img, .banner.style6.orient-left canvas, .banner.style6.orient-left iframe {
      padding-left: 0; } }
  .banner.style6.orient-right {
    flex-direction: row-reverse; }
    @media screen and (orientation: portrait) {
      .banner.style6.orient-right {
        flex-direction: column-reverse; } }
    @media screen and (orientation: landscape) {
      .banner.style6.orient-right img, .banner.style6.orient-right canvas, .banner.style6.orient-right iframe {
        padding-right: 0; } }
  .banner.style6.content-align-center {
    text-align: center; }
  .banner.style6.content-align-right {
    text-align: right; }
    @media screen and (orientation: portrait) {
      .banner.style6.content-align-right {
        text-align: center; } }
.banner figure {
  background-color: var(--fig_bg); }

.banner.invert > figure {
  background-color: var(--invert_fig_bg); }

.banner.style4 > figure {
  border-color: var(--border);
  background-color: var(--border);
  border-width: 0; }
  .banner.style4 > figure:before {
    background-image: url("data:image/svg+xml;charset=utf8,str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace('<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"64px\" height=\"32px\" viewBox=\"0 0 64 32\" zoomAndPan=\"disable\"><style>rect {fill: transparent; stroke: var(--border); stroke-width: var(--size_border_width); }</style><rect rx=\"4\" ry=\"4\" x=\"11\" y=\"12\" width=\"42\" height=\"8\" vector-effect=\"non-scaling-stroke\" /></svg>', '\"', \"'\"), \"%\", \"%25\"), \"<\", \"%3C\"), \">\", \"%3E\"), \"&\", \"%26\"), \"#\", \"%23\"), \"{\", \"%7B\"), \"}\", \"%7D\"), \";\", \"%3B\")");
    border-color: var(--border);
    width: 100%; }
  .banner.style4 > figure:after {
    background-image: url("data:image/svg+xml;charset=utf8,str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace('<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"64px\" height=\"32px\" viewBox=\"0 0 64 32\" zoomAndPan=\"disable\"><style>circle {fill: transparent; stroke: var(--border); stroke-width: var(--size_border_width); }</style><circle cx=\"32\" cy=\"16\" r=\"14\" vector-effect=\"non-scaling-stroke\" /></svg>', '\"', \"'\"), \"%\", \"%25\"), \"<\", \"%3C\"), \">\", \"%3E\"), \"&\", \"%26\"), \"#\", \"%23\"), \"{\", \"%7B\"), \"}\", \"%7D\"), \";\", \"%3B\")");
    border-color: var(--border);
    width: 100%; }

.banner.style4.android > figure:after {
  background-image: url("data:image/svg+xml;charset=utf8,str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace('<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"64px\" height=\"32px\" viewBox=\"0 0 64 32\" zoomAndPan=\"disable\"><style>rect {fill: transparent; stroke: var(--border); stroke-width: var(--size_border_width); }</style><rect rx=\"4\" ry=\"4\" x=\"6\" y=\"4\" width=\"52\" height=\"24\" vector-effect=\"non-scaling-stroke\" /></svg>', '\"', \"'\"), \"%\", \"%25\"), \"<\", \"%3C\"), \">\", \"%3E\"), \"&\", \"%26\"), \"#\", \"%23\"), \"{\", \"%7B\"), \"}\", \"%7D\"), \";\", \"%3B\")"); }

.banner.style4.invert figure {
  border-color: var(--invert_border);
  background-color: var(--invert_border);
  border-width: var(--size_border_width); }
  .banner.style4.invert figure:before {
    background-image: url("data:image/svg+xml;charset=utf8,str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace('<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"64px\" height=\"32px\" viewBox=\"0 0 64 32\" zoomAndPan=\"disable\"><style>rect {fill: transparent; stroke: var(--invert_border); stroke-width: var(--size_border_width); }</style><rect rx=\"4\" ry=\"4\" x=\"11\" y=\"12\" width=\"42\" height=\"8\" vector-effect=\"non-scaling-stroke\" /></svg>', '\"', \"'\"), \"%\", \"%25\"), \"<\", \"%3C\"), \">\", \"%3E\"), \"&\", \"%26\"), \"#\", \"%23\"), \"{\", \"%7B\"), \"}\", \"%7D\"), \";\", \"%3B\")");
    border-color: var(--invert_border);
    width: calc(100% + var(--size_border_width) * 2);
    margin-left: calc(var(--size_border_width) * -1); }
  .banner.style4.invert figure:after {
    background-image: url("data:image/svg+xml;charset=utf8,str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace('<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"64px\" height=\"32px\" viewBox=\"0 0 64 32\" zoomAndPan=\"disable\"><style>circle {fill: transparent; stroke: var(--invert_border); stroke-width: var(--size_border_width); }</style><circle cx=\"32\" cy=\"16\" r=\"14\" vector-effect=\"non-scaling-stroke\" /></svg>', '\"', \"'\"), \"%\", \"%25\"), \"<\", \"%3C\"), \">\", \"%3E\"), \"&\", \"%26\"), \"#\", \"%23\"), \"{\", \"%7B\"), \"}\", \"%7D\"), \";\", \"%3B\")");
    border-color: var(--invert_border);
    width: calc(100% + var(--size_border_width) * 2);
    margin-left: calc(var(--size_border_width) * -1); }

.banner.style4.invert.android figure:after {
  background-image: url("data:image/svg+xml;charset=utf8,str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace('<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"64px\" height=\"32px\" viewBox=\"0 0 64 32\" zoomAndPan=\"disable\"><style>rect {fill: transparent; stroke: var(--invert_border); stroke-width: var(--size_border_width); }</style><rect rx=\"4\" ry=\"4\" x=\"6\" y=\"4\" width=\"52\" height=\"24\" vector-effect=\"non-scaling-stroke\" /></svg>', '\"', \"'\"), \"%\", \"%25\"), \"<\", \"%3C\"), \">\", \"%3E\"), \"&\", \"%26\"), \"#\", \"%23\"), \"{\", \"%7B\"), \"}\", \"%7D\"), \";\", \"%3B\")"); }

.banner.squeeze-bottom {
  padding-bottom: 0px; }

.banner.squeeze-top {
  padding-top: 0px; }

.banner.pad-bottom {
  padding-bottom: 2.5rem; }

.banner.pad-top {
  padding-top: 2.5rem; }

.banner.squeeze {
  padding-bottom: 0px;
  padding-top: 0px; }

.banner.pad {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem; }

@media screen and (orientation: portrait) {
  banner.portrait-reverse {
    flex-direction: column; } }

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Spotlight (transitions) */
.spotlight figure {
  overflow: hidden; }
  .spotlight figure svg {
    width: 100%;
    height: 100%; }

.spotlight figcaption {
  padding-top: 1.5rem; }

.spotlight iframe {
  -ms-zoom: 0.5;
  -moz-transform: scale(0.5);
  -moz-transform-origin: 0 0;
  -o-transform: scale(0.5);
  -o-transform-origin: 0 0;
  -webkit-transform: scale(0.5);
  -webkit-transform-origin: 0 0;
  transform: scale(0.5);
  transform-origin: 0 0; }

.spotlight.onload-content-fade-up .content {
  transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out; }

body.is-preload .spotlight.onload-content-fade-up .content {
  transform: translateY(1rem);
  opacity: 0; }

.spotlight.onload-content-fade-down .content {
  transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out; }

body.is-preload .spotlight.onload-content-fade-down .content {
  transform: translateY(-1rem);
  opacity: 0; }

.spotlight.onload-content-fade-left .content {
  transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out; }

body.is-preload .spotlight.onload-content-fade-left .content {
  transform: translateX(1rem);
  opacity: 0; }

.spotlight.onload-content-fade-right .content {
  transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out; }

body.is-preload .spotlight.onload-content-fade-right .content {
  transform: translateX(-1rem);
  opacity: 0; }

.spotlight.onload-content-fade-in .content {
  transition: opacity var(--duration_on_load) ease-in-out; }

body.is-preload .spotlight.onload-content-fade-in .content {
  opacity: 0; }

.spotlight.onload-image-fade-up figure, .spotlight.onload-image-fade-up canvas {
  transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out; }
  .spotlight.onload-image-fade-up figure img, .spotlight.onload-image-fade-up figure canvas, .spotlight.onload-image-fade-up figure iframe, .spotlight.onload-image-fade-up canvas img, .spotlight.onload-image-fade-up canvas canvas, .spotlight.onload-image-fade-up canvas iframe {
    transition: opacity var(--duration_on_load) ease-in-out;
    transition-delay: calc(var(--duration_on_load) * 0.75); }

body.is-preload .spotlight.onload-image-fade-up figure, body.is-preload .spotlight.onload-image-fade-up canvas {
  transform: translateY(1rem);
  opacity: 0; }
  body.is-preload .spotlight.onload-image-fade-up figure img, body.is-preload .spotlight.onload-image-fade-up figure canvas, body.is-preload .spotlight.onload-image-fade-up figure iframe, body.is-preload .spotlight.onload-image-fade-up canvas img, body.is-preload .spotlight.onload-image-fade-up canvas canvas, body.is-preload .spotlight.onload-image-fade-up canvas iframe {
    opacity: 0; }

.spotlight.onload-image-fade-down figure, .spotlight.onload-image-fade-down canvas {
  transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out; }
  .spotlight.onload-image-fade-down figure img, .spotlight.onload-image-fade-down figure canvas, .spotlight.onload-image-fade-down figure iframe, .spotlight.onload-image-fade-down canvas img, .spotlight.onload-image-fade-down canvas canvas, .spotlight.onload-image-fade-down canvas iframe {
    transition: opacity var(--duration_on_load) ease-in-out;
    transition-delay: calc(var(--duration_on_load) * 0.75); }

body.is-preload .spotlight.onload-image-fade-down figure, body.is-preload .spotlight.onload-image-fade-down canvas {
  transform: translateY(-1rem);
  opacity: 0; }
  body.is-preload .spotlight.onload-image-fade-down figure img, body.is-preload .spotlight.onload-image-fade-down figure canvas, body.is-preload .spotlight.onload-image-fade-down figure iframe, body.is-preload .spotlight.onload-image-fade-down canvas img, body.is-preload .spotlight.onload-image-fade-down canvas canvas, body.is-preload .spotlight.onload-image-fade-down canvas iframe {
    opacity: 0; }

.spotlight.onload-image-fade-left figure, .spotlight.onload-image-fade-left canvas {
  transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out; }
  .spotlight.onload-image-fade-left figure img, .spotlight.onload-image-fade-left figure canvas, .spotlight.onload-image-fade-left figure iframe, .spotlight.onload-image-fade-left canvas img, .spotlight.onload-image-fade-left canvas canvas, .spotlight.onload-image-fade-left canvas iframe {
    transition: opacity var(--duration_on_load) ease-in-out;
    transition-delay: calc(var(--duration_on_load) * 0.75); }

body.is-preload .spotlight.onload-image-fade-left figure, body.is-preload .spotlight.onload-image-fade-left canvas {
  transform: translateX(1rem);
  opacity: 0; }
  body.is-preload .spotlight.onload-image-fade-left figure img, body.is-preload .spotlight.onload-image-fade-left figure canvas, body.is-preload .spotlight.onload-image-fade-left figure iframe, body.is-preload .spotlight.onload-image-fade-left canvas img, body.is-preload .spotlight.onload-image-fade-left canvas canvas, body.is-preload .spotlight.onload-image-fade-left canvas iframe {
    opacity: 0; }

.spotlight.onload-image-fade-right figure, .spotlight.onload-image-fade-right canvas {
  transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out; }
  .spotlight.onload-image-fade-right figure img, .spotlight.onload-image-fade-right figure canvas, .spotlight.onload-image-fade-right figure iframe, .spotlight.onload-image-fade-right canvas img, .spotlight.onload-image-fade-right canvas canvas, .spotlight.onload-image-fade-right canvas iframe {
    transition: opacity var(--duration_on_load) ease-in-out;
    transition-delay: calc(var(--duration_on_load) * 0.75); }

body.is-preload .spotlight.onload-image-fade-right figure, body.is-preload .spotlight.onload-image-fade-right canvas {
  transform: translateX(-1rem);
  opacity: 0; }
  body.is-preload .spotlight.onload-image-fade-right figure img, body.is-preload .spotlight.onload-image-fade-right figure canvas, body.is-preload .spotlight.onload-image-fade-right figure iframe, body.is-preload .spotlight.onload-image-fade-right canvas img, body.is-preload .spotlight.onload-image-fade-right canvas canvas, body.is-preload .spotlight.onload-image-fade-right canvas iframe {
    opacity: 0; }

.spotlight.onload-image-fade-in figure img, .spotlight.onload-image-fade-in figure canvas, .spotlight.onload-image-fade-in figure iframe, .spotlight.onload-image-fade-in canvas img, .spotlight.onload-image-fade-in canvas canvas, .spotlight.onload-image-fade-in canvas iframe {
  transition: opacity var(--duration_on_load) ease-in-out; }

body.is-preload .spotlight.onload-image-fade-in figure img, body.is-preload .spotlight.onload-image-fade-in figure canvas, body.is-preload .spotlight.onload-image-fade-in figure iframe, body.is-preload .spotlight.onload-image-fade-in canvas img, body.is-preload .spotlight.onload-image-fade-in canvas canvas, body.is-preload .spotlight.onload-image-fade-in canvas iframe {
  opacity: 0; }

.spotlight.onscroll-content-fade-up .content {
  transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out; }

.spotlight.onscroll-content-fade-up.is-inactive .content {
  transform: translateY(1rem);
  opacity: 0; }

.spotlight.onscroll-content-fade-down .content {
  transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out; }

.spotlight.onscroll-content-fade-down.is-inactive .content {
  transform: translateY(-1rem);
  opacity: 0; }

.spotlight.onscroll-content-fade-left .content {
  transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out; }

.spotlight.onscroll-content-fade-left.is-inactive .content {
  transform: translateX(1rem);
  opacity: 0; }

.spotlight.onscroll-content-fade-right .content {
  transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out; }

.spotlight.onscroll-content-fade-right.is-inactive .content {
  transform: translateX(-1rem);
  opacity: 0; }

.spotlight.onscroll-content-fade-in .content {
  transition: opacity var(--duration_on_scroll) ease-in-out; }

.spotlight.onscroll-content-fade-in.is-inactive .content {
  opacity: 0; }

.spotlight.onscroll-image-fade-up figure, .spotlight.onscroll-image-fade-up canvas {
  transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out; }
  .spotlight.onscroll-image-fade-up figure img, .spotlight.onscroll-image-fade-up figure canvas, .spotlight.onscroll-image-fade-up figure iframe, .spotlight.onscroll-image-fade-up canvas img, .spotlight.onscroll-image-fade-up canvas canvas, .spotlight.onscroll-image-fade-up canvas iframe {
    transition: opacity var(--duration_on_scroll) ease-in-out;
    transition-delay: calc(var(--duration_on_scroll) * 0.75); }

.spotlight.onscroll-image-fade-up.is-inactive figure, .spotlight.onscroll-image-fade-up.is-inactive canvas {
  transform: translateY(1rem);
  opacity: 0; }
  .spotlight.onscroll-image-fade-up.is-inactive figure img, .spotlight.onscroll-image-fade-up.is-inactive figure canvas, .spotlight.onscroll-image-fade-up.is-inactive figure iframe, .spotlight.onscroll-image-fade-up.is-inactive canvas img, .spotlight.onscroll-image-fade-up.is-inactive canvas canvas, .spotlight.onscroll-image-fade-up.is-inactive canvas iframe {
    opacity: 0; }

.spotlight.onscroll-image-fade-down figure, .spotlight.onscroll-image-fade-down canvas {
  transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out; }
  .spotlight.onscroll-image-fade-down figure img, .spotlight.onscroll-image-fade-down figure canvas, .spotlight.onscroll-image-fade-down figure iframe, .spotlight.onscroll-image-fade-down canvas img, .spotlight.onscroll-image-fade-down canvas canvas, .spotlight.onscroll-image-fade-down canvas iframe {
    transition: opacity var(--duration_on_scroll) ease-in-out;
    transition-delay: calc(var(--duration_on_scroll) * 0.75); }

.spotlight.onscroll-image-fade-down.is-inactive figure, .spotlight.onscroll-image-fade-down.is-inactive canvas {
  transform: translateY(-1rem);
  opacity: 0; }
  .spotlight.onscroll-image-fade-down.is-inactive figure img, .spotlight.onscroll-image-fade-down.is-inactive figure canvas, .spotlight.onscroll-image-fade-down.is-inactive figure iframe, .spotlight.onscroll-image-fade-down.is-inactive canvas img, .spotlight.onscroll-image-fade-down.is-inactive canvas canvas, .spotlight.onscroll-image-fade-down.is-inactive canvas iframe {
    opacity: 0; }

.spotlight.onscroll-image-fade-left figure, .spotlight.onscroll-image-fade-left canvas {
  transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out; }
  .spotlight.onscroll-image-fade-left figure img, .spotlight.onscroll-image-fade-left figure canvas, .spotlight.onscroll-image-fade-left figure iframe, .spotlight.onscroll-image-fade-left canvas img, .spotlight.onscroll-image-fade-left canvas canvas, .spotlight.onscroll-image-fade-left canvas iframe {
    transition: opacity var(--duration_on_scroll) ease-in-out;
    transition-delay: calc(var(--duration_on_scroll) * 0.75); }

.spotlight.onscroll-image-fade-left.is-inactive figure, .spotlight.onscroll-image-fade-left.is-inactive canvas {
  transform: translateX(1rem);
  opacity: 0; }
  .spotlight.onscroll-image-fade-left.is-inactive figure img, .spotlight.onscroll-image-fade-left.is-inactive figure canvas, .spotlight.onscroll-image-fade-left.is-inactive figure iframe, .spotlight.onscroll-image-fade-left.is-inactive canvas img, .spotlight.onscroll-image-fade-left.is-inactive canvas canvas, .spotlight.onscroll-image-fade-left.is-inactive canvas iframe {
    opacity: 0; }

.spotlight.onscroll-image-fade-right figure, .spotlight.onscroll-image-fade-right canvas {
  transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out; }
  .spotlight.onscroll-image-fade-right figure img, .spotlight.onscroll-image-fade-right figure canvas, .spotlight.onscroll-image-fade-right figure iframe, .spotlight.onscroll-image-fade-right canvas img, .spotlight.onscroll-image-fade-right canvas canvas, .spotlight.onscroll-image-fade-right canvas iframe {
    transition: opacity var(--duration_on_scroll) ease-in-out;
    transition-delay: calc(var(--duration_on_scroll) * 0.75); }

.spotlight.onscroll-image-fade-right.is-inactive figure, .spotlight.onscroll-image-fade-right.is-inactive canvas {
  transform: translateX(-1rem);
  opacity: 0; }
  .spotlight.onscroll-image-fade-right.is-inactive figure img, .spotlight.onscroll-image-fade-right.is-inactive figure canvas, .spotlight.onscroll-image-fade-right.is-inactive figure iframe, .spotlight.onscroll-image-fade-right.is-inactive canvas img, .spotlight.onscroll-image-fade-right.is-inactive canvas canvas, .spotlight.onscroll-image-fade-right.is-inactive canvas iframe {
    opacity: 0; }

.spotlight.onscroll-image-fade-in figure img, .spotlight.onscroll-image-fade-in figure canvas, .spotlight.onscroll-image-fade-in figure iframe, .spotlight.onscroll-image-fade-in canvas img, .spotlight.onscroll-image-fade-in canvas canvas, .spotlight.onscroll-image-fade-in canvas iframe {
  transition: opacity var(--duration_on_scroll) ease-in-out; }

.spotlight.onscroll-image-fade-in.is-inactive figure img, .spotlight.onscroll-image-fade-in.is-inactive figure canvas, .spotlight.onscroll-image-fade-in.is-inactive figure iframe, .spotlight.onscroll-image-fade-in.is-inactive canvas img, .spotlight.onscroll-image-fade-in.is-inactive canvas canvas, .spotlight.onscroll-image-fade-in.is-inactive canvas iframe {
  opacity: 0; }

/* Spotlight (style1) */
.spotlight.style1 {
  align-items: stretch;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  position: relative;
  overflow-x: hidden;
  text-align: left; }
  .spotlight.style1 .content {
    padding: calc(1 * (var(--size_padding-default))) calc(1 * (var(--size_padding-default))) calc(1 * max(var(--size_padding-default), max(0.1rem, var(--size_padding-default) - var(--size_element_margin)))) calc(1 * (var(--size_padding-default))) ;
    align-self: center;
    flex-grow: 1;
    flex-shrink: 1;
    width: 65%;
    max-width: var(--size_inner);
    margin: 0 auto; }
  .spotlight.style1 figure, .spotlight.style1 canvas {
    flex-grow: 0;
    flex-shrink: 0;
    width: 35%;
    min-width: 25rem;
    border-radius: 0; }
    .spotlight.style1 figure img, .spotlight.style1 figure canvas, .spotlight.style1 figure iframe, .spotlight.style1 canvas img, .spotlight.style1 canvas canvas, .spotlight.style1 canvas iframe {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      border-radius: 0; }
  @media screen and (max-width: 1680px) {
    .spotlight.style1 .content {
      padding: calc(1 * (var(--size_padding-xlarge))) calc(1 * (var(--size_padding-xlarge))) calc(1 * max(var(--size_padding-xlarge), max(0.1rem, var(--size_padding-xlarge) - var(--size_element_margin)))) calc(1 * (var(--size_padding-xlarge))) ; } }
  @media screen and (max-width: 1280px) {
    .spotlight.style1 .content {
      padding: calc(1 * (var(--size_padding-large))) calc(1 * (var(--size_padding-large))) calc(1 * max(var(--size_padding-large), max(0.1rem, var(--size_padding-large) - var(--size_element_margin)))) calc(1 * (var(--size_padding-large))) ; } }
  @media screen and (max-width: 980px) {
    .spotlight.style1 .content {
      padding: calc(1 * (calc(var(--size_padding-medium) * 1.25))) calc(1 * (var(--size_padding-medium))) calc(1 * max(calc(var(--size_padding-medium) * 1.25), max(0.1rem, calc(var(--size_padding-medium) * 1.25) - var(--size_element_margin)))) calc(1 * (var(--size_padding-medium))) ;
      width: 50%;
      min-width: 0; }
    .spotlight.style1 figure, .spotlight.style1 canvas {
      width: 50%;
      min-width: 0; } }
  @media screen and (max-width: 736px) {
    .spotlight.style1 .content {
      padding: calc(1 * (calc(var(--size_padding-small) * 1.25))) calc(1 * (var(--size_padding-small))) calc(1 * max(calc(var(--size_padding-small) * 1.25), max(0.1rem, calc(var(--size_padding-small) * 1.25) - var(--size_element_margin)))) calc(1 * (var(--size_padding-small))) ; } }
@media screen and (max-width: 736px) and (orientation: portrait) {
  .spotlight.style1 {
    flex-direction: column-reverse;
    text-align: center !important; }
    .spotlight.style1 .content {
      width: 100%; }
    .spotlight.style1 figure, .spotlight.style1 canvas {
      width: 100%; }
      .spotlight.style1 figure.fullscreen, .spotlight.style1 canvas.fullscreen {
        min-height: 50vh; }
      .spotlight.style1 figure img, .spotlight.style1 figure canvas, .spotlight.style1 figure iframe, .spotlight.style1 canvas img, .spotlight.style1 canvas canvas, .spotlight.style1 canvas iframe {
        position: relative; } }
  .spotlight.style1.orient-right {
    flex-direction: row-reverse; }

@media screen and (max-width: 736px) and (orientation: portrait) {
  .spotlight.style1.orient-right {
    flex-direction: column; } }

@media screen and (max-width: 736px) and (orientation: portrait) {
  .spotlight.style1.content-align-left {
    flex-direction: column; } }
  .spotlight.style1.content-align-center {
    text-align: center; }
  .spotlight.style1.content-align-right {
    text-align: right; }
  .spotlight.style1.figure-position-left figure img, .spotlight.style1.figure-position-left figure canvas, .spotlight.style1.figure-position-left figure iframe, .spotlight.style1.figure-position-left canvas img, .spotlight.style1.figure-position-left canvas canvas, .spotlight.style1.figure-position-left canvas iframe {
    object-position: left; }
  .spotlight.style1.figure-position-right figure img, .spotlight.style1.figure-position-right figure canvas, .spotlight.style1.figure-position-right figure iframe, .spotlight.style1.figure-position-right canvas img, .spotlight.style1.figure-position-right canvas canvas, .spotlight.style1.figure-position-right canvas iframe {
    object-position: right; }

/* Spotlight (style2) */
.spotlight.style2 {
  padding: calc(1 * (var(--size_padding-default))) calc(1 * (var(--size_padding-default))) calc(1 * max(var(--size_padding-default), max(0.1rem, var(--size_padding-default) - var(--size_element_margin)))) calc(1 * (var(--size_padding-default))) ;
  align-items: center;
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  position: relative;
  overflow-x: hidden;
  text-align: left; }
  .spotlight.style2 .content {
    width: calc(var(--size_inner) * 0.75 - var(--size_element_margin) * 1.75);
    max-width: 100%; }
  .spotlight.style2 figure, .spotlight.style2 canvas {
    flex-grow: 0;
    flex-shrink: 0;
    width: 21rem;
    height: 21rem;
    border-radius: 100%;
    margin: 0 calc(var(--size_element_margin) * 1.75) var(--size_element_margin) 0; }
    .spotlight.style2 figure img, .spotlight.style2 figure canvas, .spotlight.style2 figure iframe, .spotlight.style2 canvas img, .spotlight.style2 canvas canvas, .spotlight.style2 canvas iframe {
      display: block;
      width: 100%;
      height: 100%;
      border-radius: 100%; }
  @media screen and (max-width: 1680px) {
    .spotlight.style2 {
      padding: calc(1 * (var(--size_padding-xlarge))) calc(1 * (var(--size_padding-xlarge))) calc(1 * max(var(--size_padding-xlarge), max(0.1rem, var(--size_padding-xlarge) - var(--size_element_margin)))) calc(1 * (var(--size_padding-xlarge))) ; } }
  @media screen and (max-width: 1280px) {
    .spotlight.style2 {
      padding: calc(1 * (var(--size_padding-large))) calc(1 * (var(--size_padding-large))) calc(1 * max(var(--size_padding-large), max(0.1rem, var(--size_padding-large) - var(--size_element_margin)))) calc(1 * (var(--size_padding-large))) ; } }
  @media screen and (max-width: 980px) {
    .spotlight.style2 {
      padding: calc(1 * (calc(var(--size_padding-medium) * 1.25))) calc(1 * (var(--size_padding-medium))) calc(1 * max(calc(var(--size_padding-medium) * 1.25), max(0.1rem, calc(var(--size_padding-medium) * 1.25) - var(--size_element_margin)))) calc(1 * (var(--size_padding-medium))) ; }
      .spotlight.style2 figure, .spotlight.style2 canvas {
        width: calc($image-size * 0.875);
        height: calc($image-size * 0.875);
        margin: calc(var(--size_element_margin) * 1) calc(var(--size_element_margin) * 1) var(--size_element_margin) 0; } }
  @media screen and (max-width: 736px) {
    .spotlight.style2 {
      padding: calc(1 * (calc(var(--size_padding-small) * 1.25))) calc(1 * (var(--size_padding-small))) calc(1 * max(calc(var(--size_padding-small) * 1.25), max(0.1rem, calc(var(--size_padding-small) * 1.25) - var(--size_element_margin)))) calc(1 * (var(--size_padding-small))) ;
      align-items: flex-start; }
      .spotlight.style2 figure, .spotlight.style2 canvas {
        width: calc($image-size * 0.75);
        height: calc($image-size * 0.75);
        margin: calc(var(--size_element_margin) * 1) calc(var(--size_element_margin) * 1) var(--size_element_margin) 0; } }
  @media screen and (orientation: portrait) {
    .spotlight.style2 {
      align-items: center;
      flex-direction: column-reverse;
      text-align: center !important; }
      .spotlight.style2 .content {
        width: 34rem;
        max-width: 100%; }
      .spotlight.style2 figure, .spotlight.style2 canvas {
        margin-right: 0; } }
  .spotlight.style2.orient-left {
    flex-direction: row; }
    .spotlight.style2.orient-left figure, .spotlight.style2.orient-left canvas {
      margin: 0 0 var(--size_element_margin) calc(var(--size_element_margin) * 1.75); }
    @media screen and (max-width: 736px) {
      .spotlight.style2.orient-left figure, .spotlight.style2.orient-left canvas {
        margin: 0 0 var(--size_element_margin) calc(var(--size_element_margin) * 1); } }
    @media screen and (orientation: portrait) {
      .spotlight.style2.orient-left {
        flex-direction: column-reverse; }
        .spotlight.style2.orient-left figure, .spotlight.style2.orient-left canvas {
          margin-left: 0; } }
  .spotlight.style2.content-align-center {
    text-align: center; }
  .spotlight.style2.content-align-right {
    text-align: right; }
  .spotlight.style2.figure-position-left figure img, .spotlight.style2.figure-position-left figure canvas, .spotlight.style2.figure-position-left figure iframe, .spotlight.style2.figure-position-left canvas img, .spotlight.style2.figure-position-left canvas canvas, .spotlight.style2.figure-position-left canvas iframe {
    object-position: left; }
  .spotlight.style2.figure-position-right figure img, .spotlight.style2.figure-position-right figure canvas, .spotlight.style2.figure-position-right figure iframe, .spotlight.style2.figure-position-right canvas img, .spotlight.style2.figure-position-right canvas canvas, .spotlight.style2.figure-position-right canvas iframe {
    object-position: right; }

/* Spotlight (style3) */
.spotlight.style3 {
  padding: calc(1 * (var(--size_padding-default))) calc(1 * (var(--size_padding-default))) calc(1 * max(var(--size_padding-default), max(0.1rem, var(--size_padding-default) - var(--size_element_margin)))) calc(1 * (var(--size_padding-default))) ;
  align-items: center;
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  position: relative;
  overflow-x: hidden;
  text-align: left; }
  .spotlight.style3 .content {
    width: calc(var(--size_inner) * 0.75 - var(--size_element_margin) * 1.75);
    max-width: 100%; }
  .spotlight.style3 figure, .spotlight.style3 canvas {
    flex-grow: 0;
    flex-shrink: 0;
    border-radius: 0;
    border: solid var(--size_border_width);
    width: calc(13rem * 1);
    height: calc((13rem * 1) * (1920 / 1080));
    margin-top: calc(2.5rem * 1);
    margin-bottom: calc(var(--size_element_margin) + (3rem * 1));
    margin-right: calc(var(--size_element_margin) * 1.75); }
    .spotlight.style3 figure img, .spotlight.style3 figure canvas, .spotlight.style3 figure iframe, .spotlight.style3 canvas img, .spotlight.style3 canvas canvas, .spotlight.style3 canvas iframe {
      object-fit: cover;
      object-position: center;
      display: block;
      width: 100%;
      height: 100%;
      border-radius: 0; }
    .spotlight.style3 figure:before, .spotlight.style3 canvas:before {
      content: '';
      display: block;
      background-position: center;
      background-repeat: no-repeat;
      border: solid var(--size_border_width);
      border-bottom: 0; }
    .spotlight.style3 figure:after, .spotlight.style3 canvas:after {
      content: '';
      display: block;
      background-position: center;
      background-repeat: no-repeat;
      border: solid var(--size_border_width);
      border-top: 0; }
    .spotlight.style3 figure:before, .spotlight.style3 canvas:before {
      height: calc(2.5rem * 1);
      background-size: calc(64px * 1) calc(32px * 1);
      margin-top: calc((2.5rem * 1) * -1);
      border-radius: calc(1rem * 1) calc(1rem * 1) 0 0; }
    .spotlight.style3 figure:after, .spotlight.style3 canvas:after {
      height: calc(3rem * 1);
      background-size: calc(64px * 1) calc(32px * 1);
      margin-bottom: calc((3rem * 1) * -1);
      border-radius: 0 0 calc(1rem * 1) calc(1rem * 1); }
  @media screen and (max-width: 1680px) {
    .spotlight.style3 {
      padding: calc(1 * (var(--size_padding-xlarge))) calc(1 * (var(--size_padding-xlarge))) calc(1 * max(var(--size_padding-xlarge), max(0.1rem, var(--size_padding-xlarge) - var(--size_element_margin)))) calc(1 * (var(--size_padding-xlarge))) ; } }
  @media screen and (max-width: 1280px) {
    .spotlight.style3 {
      padding: calc(1 * (var(--size_padding-large))) calc(1 * (var(--size_padding-large))) calc(1 * max(var(--size_padding-large), max(0.1rem, var(--size_padding-large) - var(--size_element_margin)))) calc(1 * (var(--size_padding-large))) ; } }
  @media screen and (max-width: 980px) {
    .spotlight.style3 {
      padding: calc(1 * (calc(var(--size_padding-medium) * 1.25))) calc(1 * (var(--size_padding-medium))) calc(1 * max(calc(var(--size_padding-medium) * 1.25), max(0.1rem, calc(var(--size_padding-medium) * 1.25) - var(--size_element_margin)))) calc(1 * (var(--size_padding-medium))) ; }
      .spotlight.style3 figure, .spotlight.style3 canvas {
        width: calc(13rem * 0.875);
        height: calc((13rem * 0.875) * (1920 / 1080));
        margin-top: calc(2.5rem * 0.875);
        margin-bottom: calc(var(--size_element_margin) + (3rem * 0.875)); }
        .spotlight.style3 figure:before, .spotlight.style3 canvas:before {
          height: calc(2.5rem * 0.875);
          background-size: calc(64px * 0.875) calc(32px * 0.875);
          margin-top: calc((2.5rem * 0.875) * -1);
          border-radius: calc(1rem * 0.875) calc(1rem * 0.875) 0 0; }
        .spotlight.style3 figure:after, .spotlight.style3 canvas:after {
          height: calc(3rem * 0.875);
          background-size: calc(64px * 0.875) calc(32px * 0.875);
          margin-bottom: calc((3rem * 0.875) * -1);
          border-radius: 0 0 calc(1rem * 0.875) calc(1rem * 0.875); } }
  @media screen and (max-width: 736px) {
    .spotlight.style3 {
      padding: calc(1 * (calc(var(--size_padding-small) * 1.25))) calc(1 * (var(--size_padding-small))) calc(1 * max(calc(var(--size_padding-small) * 1.25), max(0.1rem, calc(var(--size_padding-small) * 1.25) - var(--size_element_margin)))) calc(1 * (var(--size_padding-small))) ;
      align-items: flex-start; }
      .spotlight.style3 figure, .spotlight.style3 canvas {
        width: calc(13rem * 0.625);
        height: calc((13rem * 0.625) * (1920 / 1080));
        margin-top: calc(2.5rem * 0.625);
        margin-bottom: calc(var(--size_element_margin) + (3rem * 0.625)); }
        .spotlight.style3 figure:before, .spotlight.style3 canvas:before {
          height: calc(2.5rem * 0.625);
          background-size: calc(64px * 0.625) calc(32px * 0.625);
          margin-top: calc((2.5rem * 0.625) * -1);
          border-radius: calc(1rem * 0.625) calc(1rem * 0.625) 0 0; }
        .spotlight.style3 figure:after, .spotlight.style3 canvas:after {
          height: calc(3rem * 0.625);
          background-size: calc(64px * 0.625) calc(32px * 0.625);
          margin-bottom: calc((3rem * 0.625) * -1);
          border-radius: 0 0 calc(1rem * 0.625) calc(1rem * 0.625); } }
  @media screen and (orientation: portrait) {
    .spotlight.style3 {
      align-items: center;
      flex-direction: column-reverse;
      text-align: center !important; }
      .spotlight.style3 .content {
        width: 34rem;
        max-width: 100%; }
      .spotlight.style3 figure, .spotlight.style3 canvas {
        margin-right: 0;
        margin-left: 0; } }
  .spotlight.style3.orient-left {
    flex-direction: row; }
    .spotlight.style3.orient-left figure, .spotlight.style3.orient-left canvas {
      margin-right: 0;
      margin-left: calc(var(--size_element_margin) * 1.75); }
    @media screen and (orientation: portrait) {
      .spotlight.style3.orient-left {
        flex-direction: column-reverse; }
        .spotlight.style3.orient-left figure, .spotlight.style3.orient-left canvas {
          margin-right: 0;
          margin-left: 0; } }
  .spotlight.style3.content-align-center {
    text-align: center; }
  .spotlight.style3.content-align-right {
    text-align: right; }
  .spotlight.style3.figure-position-left figure img, .spotlight.style3.figure-position-left figure canvas, .spotlight.style3.figure-position-left figure iframe, .spotlight.style3.figure-position-left canvas img, .spotlight.style3.figure-position-left canvas canvas, .spotlight.style3.figure-position-left canvas iframe {
    object-position: left; }
  .spotlight.style3.figure-position-right figure img, .spotlight.style3.figure-position-right figure canvas, .spotlight.style3.figure-position-right figure iframe, .spotlight.style3.figure-position-right canvas img, .spotlight.style3.figure-position-right canvas canvas, .spotlight.style3.figure-position-right canvas iframe {
    object-position: right; }

/* Spotlight (style4) */
.spotlight.style4 {
  padding: calc(1 * (var(--size_padding-default))) calc(1 * (calc(var(--size_padding-default) * 0.75))) calc(1 * max(var(--size_padding-default), max(0.1rem, var(--size_padding-default) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-default) * 0.75))) ;
  align-items: center;
  display: flex;
  justify-content: center;
  background-color: inherit;
  position: relative;
  overflow-x: hidden;
  text-align: center; }
  .spotlight.style4 .content {
    padding: calc(1 * (calc(var(--size_padding-default) * 0.5))) calc(1 * (calc(var(--size_padding-default) * 0.5))) calc(1 * max(calc(var(--size_padding-default) * 0.5), max(0.1rem, calc(var(--size_padding-default) * 0.5) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-default) * 0.5))) ;
    position: relative;
    width: calc(var(--size_inner) * 0.625);
    max-width: 50%;
    background-color: inherit;
    opacity: var(--misc_overlay_opacity);
    border-radius: var(--size_border_radius_alt);
    margin-bottom: var(--size_element_margin);
    z-index: 1; }
  .spotlight.style4 figure, .spotlight.style4 canvas {
    flex-grow: 0;
    flex-shrink: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border-radius: 0; }
    .spotlight.style4 figure img, .spotlight.style4 figure canvas, .spotlight.style4 figure iframe, .spotlight.style4 canvas img, .spotlight.style4 canvas canvas, .spotlight.style4 canvas iframe {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      border-radius: 0; }
  @media screen and (max-width: 1680px) {
    .spotlight.style4 {
      padding: calc(1 * (var(--size_padding-xlarge))) calc(1 * (calc(var(--size_padding-xlarge) * 0.75))) calc(1 * max(var(--size_padding-xlarge), max(0.1rem, var(--size_padding-xlarge) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-xlarge) * 0.75))) ; }
      .spotlight.style4 .content {
        padding: calc(1 * (calc(var(--size_padding-xlarge) * 0.5))) calc(1 * (calc(var(--size_padding-xlarge) * 0.5))) calc(1 * max(calc(var(--size_padding-xlarge) * 0.5), max(0.1rem, calc(var(--size_padding-xlarge) * 0.5) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-xlarge) * 0.5))) ; } }
  @media screen and (max-width: 1280px) {
    .spotlight.style4 {
      padding: calc(1 * (var(--size_padding-large))) calc(1 * (calc(var(--size_padding-large) * 0.75))) calc(1 * max(var(--size_padding-large), max(0.1rem, var(--size_padding-large) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-large) * 0.75))) ; }
      .spotlight.style4 .content {
        padding: calc(1 * (calc(var(--size_padding-large) * 0.75))) calc(1 * (calc(var(--size_padding-large) * 0.75))) calc(1 * max(calc(var(--size_padding-large) * 0.75), max(0.1rem, calc(var(--size_padding-large) * 0.75) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-large) * 0.75))) ; } }
  @media screen and (max-width: 980px) {
    .spotlight.style4 {
      padding: calc(1 * (var(--size_padding-medium))) calc(1 * (calc(var(--size_padding-medium) * 0.75))) calc(1 * max(var(--size_padding-medium), max(0.1rem, var(--size_padding-medium) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-medium) * 0.75))) ; }
      .spotlight.style4 .content {
        padding: calc(1 * (calc(var(--size_padding-medium) * 0.75))) calc(1 * (calc(var(--size_padding-medium) * 0.75))) calc(1 * max(calc(var(--size_padding-medium) * 0.75), max(0.1rem, calc(var(--size_padding-medium) * 0.75) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-medium) * 0.75))) ; } }
  @media screen and (max-width: 736px) {
    .spotlight.style4 {
      padding: calc(1 * (var(--size_padding-small))) calc(1 * (calc(var(--size_padding-small) * 0.75))) calc(1 * max(var(--size_padding-small), max(0.1rem, var(--size_padding-small) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-small) * 0.75))) ; }
      .spotlight.style4 .content {
        padding: calc(1 * (calc(var(--size_padding-small) * 0.75))) calc(1 * (calc(var(--size_padding-small) * 0.75))) calc(1 * max(calc(var(--size_padding-small) * 0.75), max(0.1rem, calc(var(--size_padding-small) * 0.75) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-small) * 0.75))) ; } }
  @media screen and (max-width: 480px) {
    .spotlight.style4 .content {
      max-width: 80%; } }
  .spotlight.style4.fullscreen {
    min-height: 100vh; }
    @media screen and (orientation: portrait) {
      .spotlight.style4.fullscreen {
        min-height: 50vh; }
        .spotlight.style4.fullscreen div.content {
          min-height: none; } }
    .spotlight.style4.fullscreen img, .spotlight.style4.fullscreen canvas, .spotlight.style4.fullscreen iframe {
      position: relative; }
  .spotlight.style4.halfscreen {
    min-height: 50vh; }
    .spotlight.style4.halfscreen div.content {
      min-height: none; }
  .spotlight.style4.orient-left {
    justify-content: flex-start;
    padding-left: 0; }
    .spotlight.style4.orient-left .content {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0; }
  .spotlight.style4.orient-right {
    justify-content: flex-end;
    padding-right: 0; }
    .spotlight.style4.orient-right .content {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0; }
  .spotlight.style4.content-align-left {
    text-align: left; }
  .spotlight.style4.content-align-right {
    text-align: right; }
  .spotlight.style4.figure-position-left figure img, .spotlight.style4.figure-position-left figure canvas, .spotlight.style4.figure-position-left figure iframe, .spotlight.style4.figure-position-left canvas img, .spotlight.style4.figure-position-left canvas canvas, .spotlight.style4.figure-position-left canvas iframe {
    object-position: left; }
  .spotlight.style4.figure-position-right figure img, .spotlight.style4.figure-position-right figure canvas, .spotlight.style4.figure-position-right figure iframe, .spotlight.style4.figure-position-right canvas img, .spotlight.style4.figure-position-right canvas canvas, .spotlight.style4.figure-position-right canvas iframe {
    object-position: right; }

/* Spotlight (style5) */
.spotlight.style5 {
  padding: calc(1 * (var(--size_padding-default))) calc(1 * (calc(var(--size_padding-default) * 0.75))) calc(1 * max(var(--size_padding-default), max(0.1rem, var(--size_padding-default) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-default) * 0.75))) ;
  align-items: center;
  display: flex;
  justify-content: center;
  background-color: inherit;
  position: relative;
  overflow-x: hidden;
  text-align: center; }
  .spotlight.style5 .content {
    padding: calc(1 * (calc(var(--size_padding-default) * 0.5))) calc(1 * (calc(var(--size_padding-default) * 0.5))) calc(1 * max(calc(var(--size_padding-default) * 0.5), max(0.1rem, calc(var(--size_padding-default) * 0.5) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-default) * 0.5))) ;
    position: relative;
    width: calc(var(--size_inner) * 0.625);
    max-width: 52.5%;
    background-color: inherit;
    border-radius: var(--size_border_radius_alt);
    margin-bottom: var(--size_element_margin);
    z-index: 1; }
  .spotlight.style5 figure, .spotlight.style5 canvas {
    flex-grow: 0;
    flex-shrink: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border-radius: 0; }
    .spotlight.style5 figure img, .spotlight.style5 figure canvas, .spotlight.style5 figure iframe, .spotlight.style5 canvas img, .spotlight.style5 canvas canvas, .spotlight.style5 canvas iframe {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      border-radius: 0; }
  @media screen and (max-width: 1680px) {
    .spotlight.style5 {
      padding: calc(1 * (var(--size_padding-xlarge))) calc(1 * (calc(var(--size_padding-xlarge) * 0.75))) calc(1 * max(var(--size_padding-xlarge), max(0.1rem, var(--size_padding-xlarge) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-xlarge) * 0.75))) ; }
      .spotlight.style5 .content {
        padding: calc(1 * (calc(var(--size_padding-xlarge) * 0.5))) calc(1 * (calc(var(--size_padding-xlarge) * 0.5))) calc(1 * max(calc(var(--size_padding-xlarge) * 0.5), max(0.1rem, calc(var(--size_padding-xlarge) * 0.5) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-xlarge) * 0.5))) ; } }
  @media screen and (max-width: 1280px) {
    .spotlight.style5 {
      padding: calc(1 * (var(--size_padding-large))) calc(1 * (calc(var(--size_padding-large) * 0.75))) calc(1 * max(var(--size_padding-large), max(0.1rem, var(--size_padding-large) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-large) * 0.75))) ; }
      .spotlight.style5 .content {
        padding: calc(1 * (calc(var(--size_padding-large) * 0.75))) calc(1 * (calc(var(--size_padding-large) * 0.75))) calc(1 * max(calc(var(--size_padding-large) * 0.75), max(0.1rem, calc(var(--size_padding-large) * 0.75) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-large) * 0.75))) ; } }
  @media screen and (max-width: 980px) {
    .spotlight.style5 {
      padding: calc(1 * (var(--size_padding-medium))) calc(1 * (calc(var(--size_padding-medium) * 0.75))) calc(1 * max(var(--size_padding-medium), max(0.1rem, var(--size_padding-medium) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-medium) * 0.75))) ; }
      .spotlight.style5 .content {
        padding: calc(1 * (calc(var(--size_padding-medium) * 0.75))) calc(1 * (calc(var(--size_padding-medium) * 0.75))) calc(1 * max(calc(var(--size_padding-medium) * 0.75), max(0.1rem, calc(var(--size_padding-medium) * 0.75) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-medium) * 0.75))) ; } }
  @media screen and (max-width: 736px) {
    .spotlight.style5 {
      padding: calc(1 * (var(--size_padding-small))) calc(1 * (calc(var(--size_padding-small) * 0.75))) calc(1 * max(var(--size_padding-small), max(0.1rem, var(--size_padding-small) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-small) * 0.75))) ; }
      .spotlight.style5 .content {
        padding: calc(1 * (calc(var(--size_padding-small) * 0.75))) calc(1 * (calc(var(--size_padding-small) * 0.75))) calc(1 * max(calc(var(--size_padding-small) * 0.75), max(0.1rem, calc(var(--size_padding-small) * 0.75) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-small) * 0.75))) ; } }
  @media screen and (max-width: 480px) {
    .spotlight.style5 .content {
      max-width: 80%; } }
  .spotlight.style5.fullscreen {
    min-height: 100vh; }
    @media screen and (orientation: portrait) {
      .spotlight.style5.fullscreen {
        min-height: 50vh; }
        .spotlight.style5.fullscreen div.content {
          min-height: none; } }
  .spotlight.style5.halfscreen {
    min-height: 50vh; }
    .spotlight.style5.halfscreen div.content {
      min-height: none; }
  .spotlight.style5.orient-left {
    justify-content: flex-start; }
  .spotlight.style5.orient-right {
    justify-content: flex-end; }
  .spotlight.style5.content-align-left {
    text-align: left; }
  .spotlight.style5.content-align-right {
    text-align: right; }
  .spotlight.style5.figure-position-left figure img, .spotlight.style5.figure-position-left figure canvas, .spotlight.style5.figure-position-left figure iframe, .spotlight.style5.figure-position-left canvas img, .spotlight.style5.figure-position-left canvas canvas, .spotlight.style5.figure-position-left canvas iframe {
    object-position: left; }
  .spotlight.style5.figure-position-right figure img, .spotlight.style5.figure-position-right figure canvas, .spotlight.style5.figure-position-right figure iframe, .spotlight.style5.figure-position-right canvas img, .spotlight.style5.figure-position-right canvas canvas, .spotlight.style5.figure-position-right canvas iframe {
    object-position: right; }

.spotlight figure, .spotlight canvas {
  background-color: rgba(239, 239, 239, 0.225); }

.spotlight.invert figure, .spotlight.invert canvas {
  background-color: rgba(255, 255, 255, 0.125); }

.spotlight.style3 figure, .spotlight.style3 canvas {
  border-color: var(--border);
  background-color: var(--border);
  border-width: 0; }
  .spotlight.style3 figure:before, .spotlight.style3 canvas:before {
    background-image: url("data:image/svg+xml;charset=utf8,str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace('<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"64px\" height=\"32px\" viewBox=\"0 0 64 32\" zoomAndPan=\"disable\"><style>rect {fill: transparent; stroke: var(--border); stroke-width: var(--size_border_width); }</style><rect rx=\"4\" ry=\"4\" x=\"11\" y=\"12\" width=\"42\" height=\"8\" vector-effect=\"non-scaling-stroke\" /></svg>', '\"', \"'\"), \"%\", \"%25\"), \"<\", \"%3C\"), \">\", \"%3E\"), \"&\", \"%26\"), \"#\", \"%23\"), \"{\", \"%7B\"), \"}\", \"%7D\"), \";\", \"%3B\")");
    border-color: var(--border);
    width: 100%; }
  .spotlight.style3 figure:after, .spotlight.style3 canvas:after {
    background-image: url("data:image/svg+xml;charset=utf8,str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace('<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"64px\" height=\"32px\" viewBox=\"0 0 64 32\" zoomAndPan=\"disable\"><style>circle {fill: transparent; stroke: var(--border); stroke-width: var(--size_border_width); }</style><circle cx=\"32\" cy=\"16\" r=\"14\" vector-effect=\"non-scaling-stroke\" /></svg>', '\"', \"'\"), \"%\", \"%25\"), \"<\", \"%3C\"), \">\", \"%3E\"), \"&\", \"%26\"), \"#\", \"%23\"), \"{\", \"%7B\"), \"}\", \"%7D\"), \";\", \"%3B\")");
    border-color: var(--border);
    width: 100%; }

.spotlight.style3.android figure:after, .spotlight.style3.android canvas:after {
  background-image: url("data:image/svg+xml;charset=utf8,str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace('<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"64px\" height=\"32px\" viewBox=\"0 0 64 32\" zoomAndPan=\"disable\"><style>rect {fill: transparent; stroke: var(--border); stroke-width: var(--size_border_width); }</style><rect rx=\"4\" ry=\"4\" x=\"6\" y=\"4\" width=\"52\" height=\"24\" vector-effect=\"non-scaling-stroke\" /></svg>', '\"', \"'\"), \"%\", \"%25\"), \"<\", \"%3C\"), \">\", \"%3E\"), \"&\", \"%26\"), \"#\", \"%23\"), \"{\", \"%7B\"), \"}\", \"%7D\"), \";\", \"%3B\")"); }

.spotlight.style3.invert figure, .spotlight.style3.invert canvas {
  border-color: var(--invert_border);
  background-color: var(--invert_border);
  border-width: var(--size_border_width); }
  .spotlight.style3.invert figure:before, .spotlight.style3.invert canvas:before {
    background-image: url("data:image/svg+xml;charset=utf8,str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace('<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"64px\" height=\"32px\" viewBox=\"0 0 64 32\" zoomAndPan=\"disable\"><style>rect {fill: transparent; stroke: var(--invert_border); stroke-width: var(--size_border_width); }</style><rect rx=\"4\" ry=\"4\" x=\"11\" y=\"12\" width=\"42\" height=\"8\" vector-effect=\"non-scaling-stroke\" /></svg>', '\"', \"'\"), \"%\", \"%25\"), \"<\", \"%3C\"), \">\", \"%3E\"), \"&\", \"%26\"), \"#\", \"%23\"), \"{\", \"%7B\"), \"}\", \"%7D\"), \";\", \"%3B\")");
    border-color: var(--invert_border);
    width: calc(100% + var(--size_border_width) * 2);
    margin-left: calc(var(--size_border_width) * -1); }
  .spotlight.style3.invert figure:after, .spotlight.style3.invert canvas:after {
    background-image: url("data:image/svg+xml;charset=utf8,str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace('<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"64px\" height=\"32px\" viewBox=\"0 0 64 32\" zoomAndPan=\"disable\"><style>circle {fill: transparent; stroke: var(--invert_border); stroke-width: var(--size_border_width); }</style><circle cx=\"32\" cy=\"16\" r=\"14\" vector-effect=\"non-scaling-stroke\" /></svg>', '\"', \"'\"), \"%\", \"%25\"), \"<\", \"%3C\"), \">\", \"%3E\"), \"&\", \"%26\"), \"#\", \"%23\"), \"{\", \"%7B\"), \"}\", \"%7D\"), \";\", \"%3B\")");
    border-color: var(--invert_border);
    width: calc(100% + var(--size_border_width) * 2);
    margin-left: calc(var(--size_border_width) * -1); }

.spotlight.style3.invert.android figure:after, .spotlight.style3.invert.android canvas:after {
  background-image: url("data:image/svg+xml;charset=utf8,str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace('<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"64px\" height=\"32px\" viewBox=\"0 0 64 32\" zoomAndPan=\"disable\"><style>rect {fill: transparent; stroke: var(--invert_border); stroke-width: var(--size_border_width); }</style><rect rx=\"4\" ry=\"4\" x=\"6\" y=\"4\" width=\"52\" height=\"24\" vector-effect=\"non-scaling-stroke\" /></svg>', '\"', \"'\"), \"%\", \"%25\"), \"<\", \"%3C\"), \">\", \"%3E\"), \"&\", \"%26\"), \"#\", \"%23\"), \"{\", \"%7B\"), \"}\", \"%7D\"), \";\", \"%3B\")"); }

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Gallery (transitions) */
.gallery.onload-fade-in article figure img, .gallery.onload-fade-in article figure svg {
  transition: opacity var(--duration_on_load) ease-in-out;
  transition-delay: calc(var(--misc_gallery_limit) * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(1) figure img, .gallery.onload-fade-in article:nth-child(1) figure svg {
  transition-delay: calc(0 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(2) figure img, .gallery.onload-fade-in article:nth-child(2) figure svg {
  transition-delay: calc(1 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(3) figure img, .gallery.onload-fade-in article:nth-child(3) figure svg {
  transition-delay: calc(2 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(4) figure img, .gallery.onload-fade-in article:nth-child(4) figure svg {
  transition-delay: calc(3 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(5) figure img, .gallery.onload-fade-in article:nth-child(5) figure svg {
  transition-delay: calc(4 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(6) figure img, .gallery.onload-fade-in article:nth-child(6) figure svg {
  transition-delay: calc(5 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(7) figure img, .gallery.onload-fade-in article:nth-child(7) figure svg {
  transition-delay: calc(6 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(8) figure img, .gallery.onload-fade-in article:nth-child(8) figure svg {
  transition-delay: calc(7 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(9) figure img, .gallery.onload-fade-in article:nth-child(9) figure svg {
  transition-delay: calc(8 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(10) figure img, .gallery.onload-fade-in article:nth-child(10) figure svg {
  transition-delay: calc(9 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(11) figure img, .gallery.onload-fade-in article:nth-child(11) figure svg {
  transition-delay: calc(10 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(12) figure img, .gallery.onload-fade-in article:nth-child(12) figure svg {
  transition-delay: calc(11 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(13) figure img, .gallery.onload-fade-in article:nth-child(13) figure svg {
  transition-delay: calc(12 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(14) figure img, .gallery.onload-fade-in article:nth-child(14) figure svg {
  transition-delay: calc(13 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(15) figure img, .gallery.onload-fade-in article:nth-child(15) figure svg {
  transition-delay: calc(14 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(16) figure img, .gallery.onload-fade-in article:nth-child(16) figure svg {
  transition-delay: calc(15 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(17) figure img, .gallery.onload-fade-in article:nth-child(17) figure svg {
  transition-delay: calc(16 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(18) figure img, .gallery.onload-fade-in article:nth-child(18) figure svg {
  transition-delay: calc(17 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(19) figure img, .gallery.onload-fade-in article:nth-child(19) figure svg {
  transition-delay: calc(18 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(20) figure img, .gallery.onload-fade-in article:nth-child(20) figure svg {
  transition-delay: calc(19 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(21) figure img, .gallery.onload-fade-in article:nth-child(21) figure svg {
  transition-delay: calc(20 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(22) figure img, .gallery.onload-fade-in article:nth-child(22) figure svg {
  transition-delay: calc(21 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(23) figure img, .gallery.onload-fade-in article:nth-child(23) figure svg {
  transition-delay: calc(22 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(24) figure img, .gallery.onload-fade-in article:nth-child(24) figure svg {
  transition-delay: calc(23 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(25) figure img, .gallery.onload-fade-in article:nth-child(25) figure svg {
  transition-delay: calc(24 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(26) figure img, .gallery.onload-fade-in article:nth-child(26) figure svg {
  transition-delay: calc(25 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(27) figure img, .gallery.onload-fade-in article:nth-child(27) figure svg {
  transition-delay: calc(26 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(28) figure img, .gallery.onload-fade-in article:nth-child(28) figure svg {
  transition-delay: calc(27 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(29) figure img, .gallery.onload-fade-in article:nth-child(29) figure svg {
  transition-delay: calc(28 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(30) figure img, .gallery.onload-fade-in article:nth-child(30) figure svg {
  transition-delay: calc(29 * var(--duration_gallery_delay)); }

.gallery.onload-fade-in article:nth-child(31) figure img, .gallery.onload-fade-in article:nth-child(31) figure svg {
  transition-delay: calc(30 * var(--duration_gallery_delay)); }

body.is-preload .gallery.onload-fade-in article figure img, body.is-preload .gallery.onload-fade-in article figure svg {
  opacity: 0; }

.gallery.onscroll-fade-in article figure img, .gallery.onscroll-fade-in article figure svg {
  transition: opacity var(--duration_on_scroll) ease-in-out;
  transition-delay: calc(var(--misc_gallery_limit) * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(1) figure img, .gallery.onscroll-fade-in article:nth-child(1) figure svg {
  transition-delay: calc(0 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(2) figure img, .gallery.onscroll-fade-in article:nth-child(2) figure svg {
  transition-delay: calc(1 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(3) figure img, .gallery.onscroll-fade-in article:nth-child(3) figure svg {
  transition-delay: calc(2 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(4) figure img, .gallery.onscroll-fade-in article:nth-child(4) figure svg {
  transition-delay: calc(3 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(5) figure img, .gallery.onscroll-fade-in article:nth-child(5) figure svg {
  transition-delay: calc(4 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(6) figure img, .gallery.onscroll-fade-in article:nth-child(6) figure svg {
  transition-delay: calc(5 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(7) figure img, .gallery.onscroll-fade-in article:nth-child(7) figure svg {
  transition-delay: calc(6 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(8) figure img, .gallery.onscroll-fade-in article:nth-child(8) figure svg {
  transition-delay: calc(7 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(9) figure img, .gallery.onscroll-fade-in article:nth-child(9) figure svg {
  transition-delay: calc(8 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(10) figure img, .gallery.onscroll-fade-in article:nth-child(10) figure svg {
  transition-delay: calc(9 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(11) figure img, .gallery.onscroll-fade-in article:nth-child(11) figure svg {
  transition-delay: calc(10 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(12) figure img, .gallery.onscroll-fade-in article:nth-child(12) figure svg {
  transition-delay: calc(11 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(13) figure img, .gallery.onscroll-fade-in article:nth-child(13) figure svg {
  transition-delay: calc(12 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(14) figure img, .gallery.onscroll-fade-in article:nth-child(14) figure svg {
  transition-delay: calc(13 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(15) figure img, .gallery.onscroll-fade-in article:nth-child(15) figure svg {
  transition-delay: calc(14 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(16) figure img, .gallery.onscroll-fade-in article:nth-child(16) figure svg {
  transition-delay: calc(15 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(17) figure img, .gallery.onscroll-fade-in article:nth-child(17) figure svg {
  transition-delay: calc(16 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(18) figure img, .gallery.onscroll-fade-in article:nth-child(18) figure svg {
  transition-delay: calc(17 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(19) figure img, .gallery.onscroll-fade-in article:nth-child(19) figure svg {
  transition-delay: calc(18 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(20) figure img, .gallery.onscroll-fade-in article:nth-child(20) figure svg {
  transition-delay: calc(19 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(21) figure img, .gallery.onscroll-fade-in article:nth-child(21) figure svg {
  transition-delay: calc(20 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(22) figure img, .gallery.onscroll-fade-in article:nth-child(22) figure svg {
  transition-delay: calc(21 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(23) figure img, .gallery.onscroll-fade-in article:nth-child(23) figure svg {
  transition-delay: calc(22 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(24) figure img, .gallery.onscroll-fade-in article:nth-child(24) figure svg {
  transition-delay: calc(23 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(25) figure img, .gallery.onscroll-fade-in article:nth-child(25) figure svg {
  transition-delay: calc(24 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(26) figure img, .gallery.onscroll-fade-in article:nth-child(26) figure svg {
  transition-delay: calc(25 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(27) figure img, .gallery.onscroll-fade-in article:nth-child(27) figure svg {
  transition-delay: calc(26 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(28) figure img, .gallery.onscroll-fade-in article:nth-child(28) figure svg {
  transition-delay: calc(27 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(29) figure img, .gallery.onscroll-fade-in article:nth-child(29) figure svg {
  transition-delay: calc(28 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(30) figure img, .gallery.onscroll-fade-in article:nth-child(30) figure svg {
  transition-delay: calc(29 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in article:nth-child(31) figure img, .gallery.onscroll-fade-in article:nth-child(31) figure svg {
  transition-delay: calc(30 * var(--duration_gallery_delay)); }

.gallery.onscroll-fade-in.is-inactive article figure img, .gallery.onscroll-fade-in.is-inactive article figure svg {
  opacity: 0; }

/* Gallery (style1) */
.gallery.style1 {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  position: relative;
  width: 100%;
  background-color: transparent; }
  .gallery.style1 > .forward,
  .gallery.style1 > .backward {
    display: none; }
  .gallery.style1 > .inner {
    align-items: inherit;
    display: inherit;
    flex-wrap: inherit;
    justify-content: inherit; }
  .gallery.style1 article {
    overflow: hidden;
    position: relative;
    width: 25%; }
    .gallery.style1 article figure {
      transition: opacity var(--duration_transition) ease-in-out;
      display: block;
      width: 100%;
      border-radius: 0;
      width: 3.5rem; }
      .gallery.style1 article figure img, .gallery.style1 article figure svg {
        display: block;
        width: 100%;
        border-radius: 0; }
    .gallery.style1 article .caption {
      align-items: center;
      display: flex;
      flex-direction: column;
      justify-content: center;
      pointer-events: none;
      transition: opacity var(--duration_transition) ease-in-out;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, var(--misc_overlay_opacity));
      opacity: 0;
      padding: 2rem;
      z-index: 1;
      font-size: 0.8rem; }
      .gallery.style1 article .caption a {
        pointer-events: auto; }
      .gallery.style1 article .caption h2, .gallery.style1 article .caption h3, .gallery.style1 article .caption h4, .gallery.style1 article .caption h5, .gallery.style1 article .caption h6 {
        font-size: 1.25rem;
        margin-bottom: 0.25rem; }
      .gallery.style1 article .caption > * {
        max-width: 100%;
        margin-bottom: 1rem; }
      .gallery.style1 article .caption > :last-child {
        margin-bottom: 0; }
    .gallery.style1 article:hover .caption {
      opacity: 1; }
  @media screen and (min-width: 1280px) {
    .gallery.style1 article {
      width: calc(100% / 3); }
      .gallery.style1 article .caption {
        padding: 1rem; } }
  @media screen and (min-width: 980px) {
    .gallery.style1 article {
      width: 50%; }
      .gallery.style1 article .caption {
        padding: 1rem; } }
  @media screen and (min-width: 480px) {
    .gallery.style1 article {
      width: 100%; }
      .gallery.style1 article .caption {
        padding: 1rem; } }
  .gallery.style1.small article {
    width: 20%; }
    .gallery.style1.small article .caption {
      padding: 1rem; }
  @media screen and (min-width: 1280px) {
    .gallery.style1.small article {
      width: 25%; }
      .gallery.style1.small article .caption {
        padding: 1rem; } }
  @media screen and (min-width: 980px) {
    .gallery.style1.small article {
      width: calc(100% / 3); }
      .gallery.style1.small article .caption {
        padding: 1rem; } }
  @media screen and (min-width: 736px) {
    .gallery.style1.small article {
      width: 50%; }
      .gallery.style1.small article .caption {
        padding: 1rem; } }
  .gallery.style1.big article {
    width: calc(100% / 3); }
    .gallery.style1.big article .caption {
      padding: 3rem; }
  @media screen and (min-width: 1280px) {
    .gallery.style1.big article {
      width: 50%; }
      .gallery.style1.big article .caption {
        padding: 2rem; } }
  @media screen and (min-width: 980px) {
    .gallery.style1.big article {
      width: 50%; }
      .gallery.style1.big article .caption {
        padding: 2rem; } }
  @media screen and (min-width: 480px) {
    .gallery.style1.big article {
      width: 100%; }
      .gallery.style1.big article .caption {
        padding: 1rem; } }
/* Gallery (style2) */
.gallery.style2 {
  display: flex;
  -webkit-overflow-scrolling: touch;
  position: relative;
  background-color: transparent; }
  .gallery.style2 > .forward,
  .gallery.style2 > .backward {
    transition: opacity var(--duration_transition) ease-in-out;
    position: absolute;
    top: 0;
    width: 5rem;
    height: 100%;
    cursor: pointer;
    opacity: 0;
    z-index: 2; }
    .gallery.style2 > .forward:before,
    .gallery.style2 > .backward:before {
      display: block;
      top: calc(50% - 1.5rem);
      width: 4rem;
      height: 3rem;
      line-height: 1em;
      font-size: 3rem;
      position: absolute;
      text-align: center; }
  .gallery.style2:hover > .forward,
  .gallery.style2:hover > .backward {
    opacity: 1; }
  .gallery.style2 > .forward {
    right: 0;
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.25) 15%, rgba(0, 0, 0, 0)); }
    .gallery.style2 > .forward:before {
      content: '\f105';
      right: 0; }
  .gallery.style2 > .backward {
    left: 0;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.25) 15%, rgba(0, 0, 0, 0)); }
    .gallery.style2 > .backward:before {
      content: '\f104';
      left: 0; }
  .gallery.style2 > .inner {
    display: inherit;
    overflow-x: auto;
    overflow-y: hidden;
    position: relative;
    width: 100%; }
  .gallery.style2 article {
    flex-grow: 0;
    flex-shrink: 0;
    display: block;
    position: relative;
    overflow: hidden;
    width: 22.5rem;
    max-width: 75vw; }
    .gallery.style2 article figure {
      display: block;
      width: 100%;
      border-radius: 0; }
      .gallery.style2 article figure img, .gallery.style2 article figure svg {
        display: block;
        width: 100%;
        border-radius: 0; }
    .gallery.style2 article .caption {
      align-items: center;
      display: flex;
      flex-direction: column;
      justify-content: center;
      pointer-events: none;
      transition: opacity var(--duration_transition) ease-in-out;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, var(--misc_overlay_opacity));
      opacity: 0;
      padding: 3rem;
      z-index: 1;
      font-size: 0.8rem; }
      .gallery.style2 article .caption a {
        pointer-events: auto; }
      .gallery.style2 article .caption h2, .gallery.style2 article .caption h3, .gallery.style2 article .caption h4, .gallery.style2 article .caption h5, .gallery.style2 article .caption h6 {
        font-size: 1.25rem;
        margin-bottom: 0.25rem; }
      .gallery.style2 article .caption > * {
        max-width: 100%;
        margin-bottom: 1rem; }
      .gallery.style2 article .caption > :last-child {
        margin-bottom: 0; }
    .gallery.style2 article:hover .caption {
      opacity: 1; }
  @media screen and (min-width: 980px) {
    .gallery.style2 article .caption {
      padding: 2rem; } }
  @media screen and (min-width: 736px) {
    .gallery.style2 article .caption {
      padding: 2rem; } }
  .gallery.style2.small article {
    width: 17.5rem; }
    .gallery.style2.small article .caption {
      padding: 2rem; }
  @media screen and (min-width: 980px) {
    .gallery.style2.small article .caption {
      padding: 2rem; } }
  @media screen and (min-width: 736px) {
    .gallery.style2.small article .caption {
      padding: 2rem; } }
  .gallery.style2.big article {
    width: 30rem; }
    .gallery.style2.big article .caption {
      padding: 4rem; }
  @media screen and (min-width: 980px) {
    .gallery.style2.big article .caption {
      padding: 3rem; } }
  @media screen and (min-width: 736px) {
    .gallery.style2.big article .caption {
      padding: 2rem; } }
/* Gallery (lightbox) */
@keyframes gallery-modal-spinner {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

.gallery.lightbox .modal {
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  user-select: none;
  transition: opacity var(--duration_gallery_lightbox) ease, visibility var(--duration_gallery_lightbox), z-index var(--duration_gallery_lightbox);
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  outline: 0;
  background-color: rgba(0, 0, 0, var(--misc_lightbox_opacity));
  visibility: hidden;
  opacity: 0;
  z-index: 0; }
  .gallery.lightbox .modal:before {
    animation: gallery-modal-spinner 1s infinite linear;
    transition: opacity calc(var(--duration_gallery_lightbox) * 0.5) ease;
    transition-delay: var(--duration_gallery_lightbox);
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 4rem;
    height: 4rem;
    margin: -2rem 0 0 -2rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cstyle%3Ecircle %7Bfill: transparent; stroke: %23ffffff; stroke-width: 1.5px; %7D%3C/style%3E%3Cdefs%3E%3CclipPath id='corner'%3E%3Cpolygon points='0,0 48,0 48,48 96,48 96,96 0,96' /%3E%3C/clipPath%3E%3C/defs%3E%3Cg clip-path='url(%23corner)'%3E%3Ccircle cx='48' cy='48' r='32'/%3E%3C/g%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 4rem;
    opacity: 0; }
  .gallery.lightbox .modal:after {
    content: '';
    display: block;
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    width: 4rem;
    height: 4rem;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cstyle%3Eline %7Bstroke: %23ffffff; stroke-width: 1.5px;%7D%3C/style%3E%3Cline x1='20' y1='20' x2='44' y2='44' /%3E%3Cline x1='20' y1='44' x2='44' y2='20' /%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 3rem; }
  .gallery.lightbox .modal .inner {
    transform: translateY(0.75rem);
    transition: opacity calc(var(--duration_gallery_lightbox) * 0.5) ease, transform calc(var(--duration_gallery_lightbox) * 0.5) ease;
    opacity: 0; }
    .gallery.lightbox .modal .inner img, .gallery.lightbox .modal .inner svg {
      display: block;
      max-width: 90vw;
      max-height: 85vh;
      box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.35); }
  .gallery.lightbox .modal.visible {
    pointer-events: auto;
    visibility: visible;
    opacity: 1;
    z-index: calc(var(--misc_z_index_base) + 1); }
    .gallery.lightbox .modal.visible:before {
      opacity: 1; }
  .gallery.lightbox .modal.loaded .inner {
    transform: translateY(0);
    transition: opacity var(--duration_gallery_lightbox) ease, transform var(--duration_gallery_lightbox) ease;
    opacity: 1; }
  .gallery.lightbox .modal.loaded:before {
    transition-delay: 0s;
    opacity: 0; }

@media screen and (min-width: 980px) {
  .gallery.lightbox .modal .inner img, .gallery.lightbox .modal .inner svg {
    max-width: 100vw; } }

.gallery.style1 figure img,
.gallery.style1 figure svg {
  max-width: 100%;
  max-height: 10vw; }

.gallery article figure {
  background-color: rgba(0, 0, 0, 0.125); }

@media (orientation: portrait) {
  .figure-inline {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 2rem auto;
    width: 100%;
    height: 100%;
    max-width: 400px;
    max-height: 100vh; }
    .figure-inline figure {
      width: 100%;
      height: 100%;
      margin: 0;
      max-width: 400px;
      max-height: 100vh; }
      .figure-inline figure a, .figure-inline figure img {
        width: 100%;
        height: 100%;
        max-width: 400px;
        max-height: 100vh; } }

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Wrapper (style1) */
.wrapper.style1 > .content {
  padding: calc(1 * (calc(var(--size_padding-xlarge) * 0.5))) calc(1 * (calc(var(--size_padding-xlarge) * 0.5))) calc(1 * max(calc(var(--size_padding-xlarge) * 0.5), max(0.1rem, calc(var(--size_padding-xlarge) * 0.5) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-xlarge) * 0.5))) ;
  margin: 0 auto;
  max-width: 100%;
  width: var(--size_inner); }
  .wrapper.style1 > .content.medium {
    width: calc(var(--size_inner) * 0.75); }
  .wrapper.style1 > .content.small {
    width: calc(var(--size_inner) * 0.5); }

@media screen and (max-width: 1680px) {
  .wrapper.style1 > .content {
    padding: calc(1 * (calc(var(--size_padding-xlarge) * 0.5))) calc(1 * (calc(var(--size_padding-xlarge) * 0.5))) calc(1 * max(calc(var(--size_padding-xlarge) * 0.5), max(0.1rem, calc(var(--size_padding-xlarge) * 0.5) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-xlarge) * 0.5))) ; } }

@media screen and (max-width: 1280px) {
  .wrapper.style1 > .content {
    padding: calc(1 * (calc(var(--size_padding-large) * 0.5))) calc(1 * (var(--size_padding-large))) calc(1 * max(calc(var(--size_padding-large) * 0.5), max(0.1rem, calc(var(--size_padding-large) * 0.5) - var(--size_element_margin)))) calc(1 * (var(--size_padding-large))) ; } }

@media screen and (max-width: 980px) {
  .wrapper.style1 > .content {
    padding: calc(1 * (calc(var(--size_padding-medium) * 0.5))) calc(1 * (var(--size_padding-medium))) calc(1 * max(calc(var(--size_padding-medium) * 0.5), max(0.1rem, calc(var(--size_padding-medium) * 0.5) - var(--size_element_margin)))) calc(1 * (var(--size_padding-medium))) ; } }

@media screen and (max-width: 736px) {
  .wrapper.style1 > .content {
    padding: calc(1 * (var(--size_padding-small))) calc(1 * (var(--size_padding-small))) calc(1 * max(var(--size_padding-small), max(0.1rem, var(--size_padding-small) - var(--size_element_margin)))) calc(1 * (var(--size_padding-small))) ; } }

/* Wrapper (style2) */
.wrapper.style2 {
  padding: var(--size_padding-default);
  background: var(--bg_alt); }
  .wrapper.style2 > .content {
    padding: calc(1 * (calc(var(--size_padding-default) * 0.75))) calc(1 * (calc(var(--size_padding-default) * 0.5))) calc(1 * max(calc(var(--size_padding-default) * 0.75), max(0.1rem, calc(var(--size_padding-default) * 0.75) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-default) * 0.5))) ;
    background: var(--bg);
    border-radius: var(--size_border_radius_alt);
    margin: 0 auto;
    max-width: 100%;
    position: relative;
    width: var(--size_inner);
    z-index: 1; }
    .wrapper.style2 > .content.medium {
      width: calc(var(--size_inner) * 0.75); }
    .wrapper.style2 > .content.small {
      width: calc(var(--size_inner) * 0.5); }
  @media screen and (max-width: 1680px) {
    .wrapper.style2 {
      padding: var(--size_padding-xlarge); }
      .wrapper.style2 > .content {
        padding: calc(1 * (calc(var(--size_padding-xlarge) * 0.75))) calc(1 * (calc(var(--size_padding-xlarge) * 0.5))) calc(1 * max(calc(var(--size_padding-xlarge) * 0.75), max(0.1rem, calc(var(--size_padding-xlarge) * 0.75) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-xlarge) * 0.5))) ; } }
  @media screen and (max-width: 1280px) {
    .wrapper.style2 {
      padding: var(--size_padding-large); }
      .wrapper.style2 > .content {
        padding: calc(1 * (calc(var(--size_padding-large) * 0.75))) calc(1 * (calc(var(--size_padding-large) * 0.5))) calc(1 * max(calc(var(--size_padding-large) * 0.75), max(0.1rem, calc(var(--size_padding-large) * 0.75) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-large) * 0.5))) ; } }
  @media screen and (max-width: 980px) {
    .wrapper.style2 {
      padding: calc(var(--size_padding-medium) * 0.75); }
      .wrapper.style2 > .content {
        padding: calc(1 * (var(--size_padding-medium))) calc(1 * (calc(var(--size_padding-medium) * 0.75))) calc(1 * max(var(--size_padding-medium), max(0.1rem, var(--size_padding-medium) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-medium) * 0.75))) ; } }
  @media screen and (max-width: 736px) {
    .wrapper.style2 {
      padding: calc(var(--size_padding-small) * 0.75); }
      .wrapper.style2 > .content {
        padding: calc(1 * (var(--size_padding-small))) calc(1 * (calc(var(--size_padding-small) * 0.75))) calc(1 * max(var(--size_padding-small), max(0.1rem, var(--size_padding-small) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-small) * 0.75))) ; } }
#wrapper > .wrapper.style2.invert > .content {
  background: var(--invert_bg); }

.wrapper.fullscreen .content {
  min-height: 80vh; }
  @media screen and (orientation: portrait) {
    .wrapper.fullscreen .content .content {
      min-height: 50vh; }
    .wrapper.fullscreen .content .image {
      height: 50vh; } }
.wrapper.content-align-center {
  text-align: center; }

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

.wrapper.squeeze-bottom {
  padding-bottom: 0px; }
  .wrapper.squeeze-bottom > .content {
    padding-bottom: 0px; }

.wrapper.squeeze-top {
  padding-top: 0px; }
  .wrapper.squeeze-top > .content {
    padding-top: 0px; }

.wrapper.pad-bottom {
  padding-bottom: 2.5rem; }
  .wrapper.pad-bottom > .content {
    padding-bottom: 0px; }

.wrapper.pad-top {
  padding-top: 2.5rem; }
  .wrapper.pad-top > .content {
    padding-top: 0px; }

.wrapper.squeeze {
  padding-bottom: 0px;
  padding-top: 0px; }
  .wrapper.squeeze > .content {
    padding-bottom: 0px;
    padding-top: 0px; }

.wrapper.pad {
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem; }

.wrapper.image-preserve-aspect figure img {
  object-fit: contain; }

.wrapper.no-underline a {
  text-decoration: none; }

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Items (transitions) */
.items.onload-fade-in > * > .inner {
  transition: opacity var(--duration_on_load) ease-in-out;
  transition-delay: calc(var(--misc_items_limit) * var(--duration_items_delay)); }

.items.onload-fade-in > *:nth-child(1) > .inner {
  transition-delay: calc(0 * var(--duration_items_delay)); }

.items.onload-fade-in > *:nth-child(2) > .inner {
  transition-delay: calc(1 * var(--duration_items_delay)); }

.items.onload-fade-in > *:nth-child(3) > .inner {
  transition-delay: calc(2 * var(--duration_items_delay)); }

.items.onload-fade-in > *:nth-child(4) > .inner {
  transition-delay: calc(3 * var(--duration_items_delay)); }

.items.onload-fade-in > *:nth-child(5) > .inner {
  transition-delay: calc(4 * var(--duration_items_delay)); }

.items.onload-fade-in > *:nth-child(6) > .inner {
  transition-delay: calc(5 * var(--duration_items_delay)); }

.items.onload-fade-in > *:nth-child(7) > .inner {
  transition-delay: calc(6 * var(--duration_items_delay)); }

.items.onload-fade-in > *:nth-child(8) > .inner {
  transition-delay: calc(7 * var(--duration_items_delay)); }

.items.onload-fade-in > *:nth-child(9) > .inner {
  transition-delay: calc(8 * var(--duration_items_delay)); }

.items.onload-fade-in > *:nth-child(10) > .inner {
  transition-delay: calc(9 * var(--duration_items_delay)); }

.items.onload-fade-in > *:nth-child(11) > .inner {
  transition-delay: calc(10 * var(--duration_items_delay)); }

.items.onload-fade-in > *:nth-child(12) > .inner {
  transition-delay: calc(11 * var(--duration_items_delay)); }

.items.onload-fade-in > *:nth-child(13) > .inner {
  transition-delay: calc(12 * var(--duration_items_delay)); }

.items.onload-fade-in > *:nth-child(14) > .inner {
  transition-delay: calc(13 * var(--duration_items_delay)); }

.items.onload-fade-in > *:nth-child(15) > .inner {
  transition-delay: calc(14 * var(--duration_items_delay)); }

.items.onload-fade-in > *:nth-child(16) > .inner {
  transition-delay: calc(15 * var(--duration_items_delay)); }

.items.onload-fade-in > *:nth-child(17) > .inner {
  transition-delay: calc(16 * var(--duration_items_delay)); }

body.is-preload .items.onload-fade-in > * > .inner {
  opacity: 0; }

.items.onscroll-fade-in > * > .inner {
  transition: opacity var(--duration_on_scroll) ease-in-out;
  transition-delay: calc(var(--misc_items_limit) * var(--duration_items_delay)); }

.items.onscroll-fade-in > *:nth-child(1) > .inner {
  transition-delay: calc(0 * var(--duration_items_delay)); }

.items.onscroll-fade-in > *:nth-child(2) > .inner {
  transition-delay: calc(1 * var(--duration_items_delay)); }

.items.onscroll-fade-in > *:nth-child(3) > .inner {
  transition-delay: calc(2 * var(--duration_items_delay)); }

.items.onscroll-fade-in > *:nth-child(4) > .inner {
  transition-delay: calc(3 * var(--duration_items_delay)); }

.items.onscroll-fade-in > *:nth-child(5) > .inner {
  transition-delay: calc(4 * var(--duration_items_delay)); }

.items.onscroll-fade-in > *:nth-child(6) > .inner {
  transition-delay: calc(5 * var(--duration_items_delay)); }

.items.onscroll-fade-in > *:nth-child(7) > .inner {
  transition-delay: calc(6 * var(--duration_items_delay)); }

.items.onscroll-fade-in > *:nth-child(8) > .inner {
  transition-delay: calc(7 * var(--duration_items_delay)); }

.items.onscroll-fade-in > *:nth-child(9) > .inner {
  transition-delay: calc(8 * var(--duration_items_delay)); }

.items.onscroll-fade-in > *:nth-child(10) > .inner {
  transition-delay: calc(9 * var(--duration_items_delay)); }

.items.onscroll-fade-in > *:nth-child(11) > .inner {
  transition-delay: calc(10 * var(--duration_items_delay)); }

.items.onscroll-fade-in > *:nth-child(12) > .inner {
  transition-delay: calc(11 * var(--duration_items_delay)); }

.items.onscroll-fade-in > *:nth-child(13) > .inner {
  transition-delay: calc(12 * var(--duration_items_delay)); }

.items.onscroll-fade-in > *:nth-child(14) > .inner {
  transition-delay: calc(13 * var(--duration_items_delay)); }

.items.onscroll-fade-in > *:nth-child(15) > .inner {
  transition-delay: calc(14 * var(--duration_items_delay)); }

.items.onscroll-fade-in > *:nth-child(16) > .inner {
  transition-delay: calc(15 * var(--duration_items_delay)); }

.items.onscroll-fade-in > *:nth-child(17) > .inner {
  transition-delay: calc(16 * var(--duration_items_delay)); }

.items.onscroll-fade-in.is-inactive > * > .inner {
  opacity: 0; }

/* Items (style1) */
.items.style1 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: calc(var(--size_element_margin) * 1.5) 0;
  position: relative; }
  .items.style1 > * {
    flex-grow: 0;
    flex-shrink: 0;
    border-style: solid;
    border-left-width: var(--size_border_width);
    border-top-width: var(--size_border_width); }
  .items.style1.big > * {
    padding: var(--size_gutter) var(--size_gutter);
    width: calc(100% / 2); }
    .items.style1.big > *:nth-child(-n + 2) {
      border-top-width: 0; }
    .items.style1.big > *:nth-child(2n + 1) {
      border-left-width: 0; }
  .items.style1.medium > * {
    padding: calc(var(--size_gutter) * 0.625) calc(var(--size_gutter) * 0.625);
    width: calc(100% / 3); }
    .items.style1.medium > *:nth-child(-n + 3) {
      border-top-width: 0; }
    .items.style1.medium > *:nth-child(3n + 1) {
      border-left-width: 0; }
  .items.style1.small > * {
    padding: calc(var(--size_gutter) * 0.375) calc(var(--size_gutter) * 0.375);
    width: calc(100% / 4); }
    .items.style1.small > *:nth-child(-n + 4) {
      border-top-width: 0; }
    .items.style1.small > *:nth-child(4n + 1) {
      border-left-width: 0; }
  @media screen and (max-width: 1280px) {
    .items.style1.small > *:nth-child(-n + 4) {
      border-top-width: var(--size_border_width); }
    .items.style1.small > *:nth-child(4n + 1) {
      border-left-width: var(--size_border_width); }
    .items.style1.small > * {
      padding: calc(var(--size_gutter) * 0.625) calc(var(--size_gutter) * 0.625);
      width: calc(100% / 3); }
      .items.style1.small > *:nth-child(-n + 3) {
        border-top-width: 0; }
      .items.style1.small > *:nth-child(3n + 1) {
        border-left-width: 0; } }
  @media screen and (max-width: 980px) {
    .items.style1.medium > *:nth-child(-n + 3) {
      border-top-width: var(--size_border_width); }
    .items.style1.medium > *:nth-child(3n + 1) {
      border-left-width: var(--size_border_width); }
    .items.style1.medium > * {
      padding: var(--size_gutter) var(--size_gutter);
      width: calc(100% / 2); }
      .items.style1.medium > *:nth-child(-n + 2) {
        border-top-width: 0; }
      .items.style1.medium > *:nth-child(2n + 1) {
        border-left-width: 0; }
    .items.style1.small > *:nth-child(-n + 3) {
      border-top-width: var(--size_border_width); }
    .items.style1.small > *:nth-child(3n + 1) {
      border-left-width: var(--size_border_width); }
    .items.style1.small > * {
      padding: var(--size_gutter) var(--size_gutter);
      width: calc(100% / 2); }
      .items.style1.small > *:nth-child(-n + 2) {
        border-top-width: 0; }
      .items.style1.small > *:nth-child(2n + 1) {
        border-left-width: 0; } }
  @media screen and (max-width: 480px) {
    .items.style1.big > *:nth-child(-n + 2) {
      border-top-width: var(--size_border_width); }
    .items.style1.big > *:nth-child(2n + 1) {
      border-left-width: var(--size_border_width); }
    .items.style1.big > * {
      padding: calc(var(--size_gutter) * 0.75) calc(var(--size_gutter) * 0.75);
      width: calc(100% / 1); }
      .items.style1.big > *:nth-child(-n + 1) {
        border-top-width: 0; }
      .items.style1.big > *:nth-child(1n + 1) {
        border-left-width: 0; }
    .items.style1.medium > *:nth-child(-n + 2) {
      border-top-width: var(--size_border_width); }
    .items.style1.medium > *:nth-child(2n + 1) {
      border-left-width: var(--size_border_width); }
    .items.style1.medium > * {
      padding: calc(var(--size_gutter) * 0.75) calc(var(--size_gutter) * 0.75);
      width: calc(100% / 1); }
      .items.style1.medium > *:nth-child(-n + 1) {
        border-top-width: 0; }
      .items.style1.medium > *:nth-child(1n + 1) {
        border-left-width: 0; }
    .items.style1.small > *:nth-child(-n + 2) {
      border-top-width: var(--size_border_width); }
    .items.style1.small > *:nth-child(2n + 1) {
      border-left-width: var(--size_border_width); }
    .items.style1.small > * {
      padding: calc(var(--size_gutter) * 0.75) calc(var(--size_gutter) * 0.75);
      width: calc(100% / 1); }
      .items.style1.small > *:nth-child(-n + 1) {
        border-top-width: 0; }
      .items.style1.small > *:nth-child(1n + 1) {
        border-left-width: 0; }
    .items.style1.big > *, .items.style1.medium > *, .items.style1.small > * {
      padding-left: 0;
      padding-right: 0; }
    .items.style1.big > :first-child, .items.style1.medium > :first-child, .items.style1.small > :first-child {
      padding-top: 0; }
    .items.style1.big > :last-child, .items.style1.medium > :last-child, .items.style1.small > :last-child {
      padding-bottom: 0; }
      .items.style1.big > :last-child > .inner > :last-child, .items.style1.medium > :last-child > .inner > :last-child, .items.style1.small > :last-child > .inner > :last-child {
        margin-bottom: 0; } }
/* Items (style2) */
.items.style2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: calc(var(--size_element_margin) * 1.5) 0;
  position: relative;
  border: solid var(--size_border_width);
  border-radius: var(--size_border_radius); }
  .items.style2 > * {
    flex-grow: 0;
    flex-shrink: 0;
    border-style: solid;
    border-left-width: var(--size_border_width);
    border-top-width: var(--size_border_width); }
  .items.style2.big > * {
    padding: var(--size_gutter) var(--size_gutter);
    width: calc(100% / 2); }
    .items.style2.big > *:nth-child(-n + 2) {
      border-top-width: 0; }
    .items.style2.big > *:nth-child(2n + 1) {
      border-left-width: 0; }
  .items.style2.medium > * {
    padding: calc(var(--size_gutter) * 0.625) calc(var(--size_gutter) * 0.625);
    width: calc(100% / 3); }
    .items.style2.medium > *:nth-child(-n + 3) {
      border-top-width: 0; }
    .items.style2.medium > *:nth-child(3n + 1) {
      border-left-width: 0; }
  .items.style2.small > * {
    padding: calc(var(--size_gutter) * 0.375) calc(var(--size_gutter) * 0.375);
    width: calc(100% / 4); }
    .items.style2.small > *:nth-child(-n + 4) {
      border-top-width: 0; }
    .items.style2.small > *:nth-child(4n + 1) {
      border-left-width: 0; }
  @media screen and (max-width: 1280px) {
    .items.style2.small > *:nth-child(-n + 4) {
      border-top-width: var(--size_border_width); }
    .items.style2.small > *:nth-child(4n + 1) {
      border-left-width: var(--size_border_width); }
    .items.style2.small > * {
      padding: calc(var(--size_gutter) * 0.625) calc(var(--size_gutter) * 0.625);
      width: calc(100% / 3); }
      .items.style2.small > *:nth-child(-n + 3) {
        border-top-width: 0; }
      .items.style2.small > *:nth-child(3n + 1) {
        border-left-width: 0; } }
  @media screen and (max-width: 980px) {
    .items.style2.medium > *:nth-child(-n + 3) {
      border-top-width: var(--size_border_width); }
    .items.style2.medium > *:nth-child(3n + 1) {
      border-left-width: var(--size_border_width); }
    .items.style2.medium > * {
      padding: var(--size_gutter) var(--size_gutter);
      width: calc(100% / 2); }
      .items.style2.medium > *:nth-child(-n + 2) {
        border-top-width: 0; }
      .items.style2.medium > *:nth-child(2n + 1) {
        border-left-width: 0; }
    .items.style2.small > *:nth-child(-n + 3) {
      border-top-width: var(--size_border_width); }
    .items.style2.small > *:nth-child(3n + 1) {
      border-left-width: var(--size_border_width); }
    .items.style2.small > * {
      padding: var(--size_gutter) var(--size_gutter);
      width: calc(100% / 2); }
      .items.style2.small > *:nth-child(-n + 2) {
        border-top-width: 0; }
      .items.style2.small > *:nth-child(2n + 1) {
        border-left-width: 0; } }
  @media screen and (max-width: 480px) {
    .items.style2.big > *:nth-child(-n + 2) {
      border-top-width: var(--size_border_width); }
    .items.style2.big > *:nth-child(2n + 1) {
      border-left-width: var(--size_border_width); }
    .items.style2.big > * {
      padding: calc(var(--size_gutter) * 0.75) calc(var(--size_gutter) * 0.75);
      width: calc(100% / 1); }
      .items.style2.big > *:nth-child(-n + 1) {
        border-top-width: 0; }
      .items.style2.big > *:nth-child(1n + 1) {
        border-left-width: 0; }
    .items.style2.medium > *:nth-child(-n + 2) {
      border-top-width: var(--size_border_width); }
    .items.style2.medium > *:nth-child(2n + 1) {
      border-left-width: var(--size_border_width); }
    .items.style2.medium > * {
      padding: calc(var(--size_gutter) * 0.75) calc(var(--size_gutter) * 0.75);
      width: calc(100% / 1); }
      .items.style2.medium > *:nth-child(-n + 1) {
        border-top-width: 0; }
      .items.style2.medium > *:nth-child(1n + 1) {
        border-left-width: 0; }
    .items.style2.small > *:nth-child(-n + 2) {
      border-top-width: var(--size_border_width); }
    .items.style2.small > *:nth-child(2n + 1) {
      border-left-width: var(--size_border_width); }
    .items.style2.small > * {
      padding: calc(var(--size_gutter) * 0.75) calc(var(--size_gutter) * 0.75);
      width: calc(100% / 1); }
      .items.style2.small > *:nth-child(-n + 1) {
        border-top-width: 0; }
      .items.style2.small > *:nth-child(1n + 1) {
        border-left-width: 0; } }
/* Items (style3) */
.items.style3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: calc(var(--size_element_margin) * 1.5) 0;
  position: relative; }
  .items.style3 > * {
    flex-grow: 0;
    flex-shrink: 0; }
  .items.style3.big > * {
    padding: calc(var(--size_gutter) * 0.5) calc(var(--size_gutter) * 0.5);
    width: calc(100% / 2); }
  .items.style3.medium > * {
    padding: calc(var(--size_gutter) * 0.5 * 0.625) calc(var(--size_gutter) * 0.5 * 0.625);
    width: calc(100% / 3); }
  .items.style3.small > * {
    padding: calc(var(--size_gutter) * 0.5 * 0.375) calc(var(--size_gutter) * 0.5 * 0.375);
    width: calc(100% / 4); }
  @media screen and (max-width: 1280px) {
    .items.style3.small > * {
      padding: calc(var(--size_gutter) * 0.5 * 0.625) calc(var(--size_gutter) * 0.5 * 0.625);
      width: calc(100% / 3); } }
  @media screen and (max-width: 980px) {
    .items.style3.medium > * {
      padding: calc(var(--size_gutter) * 0.5) calc(var(--size_gutter) * 0.5);
      width: calc(100% / 2); }
    .items.style3.small > * {
      padding: calc(var(--size_gutter) * 0.5) calc(var(--size_gutter) * 0.5);
      width: calc(100% / 2); } }
  @media screen and (max-width: 736px) {
    .items.style3 {
      margin: var(--size_element_margin) 0; } }
  @media screen and (max-width: 480px) {
    .items.style3.big > * {
      padding: calc(var(--size_gutter) * 0.5 * 0.75) calc(var(--size_gutter) * 0.5 * 0.75);
      width: calc(100% / 1); }
    .items.style3.medium > * {
      padding: calc(var(--size_gutter) * 0.5 * 0.75) calc(var(--size_gutter) * 0.5 * 0.75);
      width: calc(100% / 1); }
    .items.style3.small > * {
      padding: calc(var(--size_gutter) * 0.5 * 0.75) calc(var(--size_gutter) * 0.5 * 0.75);
      width: calc(100% / 1); }
    .items.style3.big > *, .items.style3.medium > *, .items.style3.small > * {
      padding-left: 0;
      padding-right: 0; }
    .items.style3.big > :first-child, .items.style3.medium > :first-child, .items.style3.small > :first-child {
      padding-top: 0; }
    .items.style3.big > :last-child, .items.style3.medium > :last-child, .items.style3.small > :last-child {
      padding-bottom: 0; }
      .items.style3.big > :last-child > .inner > :last-child, .items.style3.medium > :last-child > .inner > :last-child, .items.style3.small > :last-child > .inner > :last-child {
        margin-bottom: 0; } }
.items.style1 > * {
  border-color: var(--border); }

.items.style2 {
  border-color: var(--border); }
  .items.style2 > * {
    border-color: var(--border); }

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Index */
.index > * {
  padding: 3rem 0;
  display: flex;
  border-top: solid 1px; }
  .index > * > header {
    flex-grow: 0;
    flex-shrink: 0;
    width: 15rem; }
  .index > * > .content {
    flex-grow: 1;
    flex-shrink: 1; }

.index > :first-child {
  border-top: 0; }

@media screen and (max-width: 980px) {
  .index > * > header {
    width: 11rem; } }

@media screen and (max-width: 736px) {
  .index > * > header {
    width: 10rem; } }

@media screen and (max-width: 480px) {
  .index > * {
    flex-direction: column; }
    .index > * > header {
      width: 100%; } }

.index > * {
  border-top-color: var(--border); }

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Sidebar */
#sidebar nav ul {
  margin: 0;
  padding: 0;
  list-style: none; }
  #sidebar nav ul li {
    display: inline-block;
    margin-left: -2px;
    margin-right: 2em; }

/*
  QuantaLumin SCSS
  SCSS bode for scientific research and communication
  Copyright © QuantaLumin 2025
*/
* {
  box-sizing: border-box; }

.carousel-cell {
  padding-bottom: 1.5rem;
  counter-increment: carousel-cell;
  overflow: auto; }
  .carousel-cell figure img {
    max-width: 100%;
    height: auto; }
    .carousel-cell figure img picture {
      max-width: 100%;
      height: auto; }

/* cell number */
.carousel-cell:before {
  display: block;
  text-align: center;
  color: None; }

/* no circle */
.flickity-prev-next-button {
  width: 0px;
  height: 100%px;
  outline: none;
  box-shadow: none; }

/* position dots in carousel */
.flickity-page-dots {
  bottom: 5px; }

/* position outside */
.flickity-prev-next-button.previous {
  left: -5px; }

.flickity-prev-next-button.next {
  right: -5px; }

/* icon color */
.flickity-button-icon svg {
  color: gray; }

/* hide disabled button */
.flickity-button:disabled {
  display: none; }

.carousel {
  position: relative; }

/* viewport is the draggable/scroller */
.carousel .qc-viewport {
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  /* allow vertical page scroll */
  cursor: grab;
  overscroll-behavior-x: contain;
  scrollbar-width: none; }

.carousel .qc-viewport::-webkit-scrollbar {
  display: none; }

.carousel .qc-viewport.qc-dragging {
  cursor: grabbing; }

.carousel .qc-track {
  display: flex;
  gap: 10px;
  align-items: stretch;
  will-change: transform;
  /* for elastic translate */
  width: 100%;
  flex-wrap: nowrap; }

.carousel-cell {
  flex: 0 0 auto;
  scroll-snap-align: center; }

/* round arrows, vertically centered */
.carousel .qc-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border-radius: 9999px;
  border: 0;
  background: rgba(0, 0, 0, 0.08);
  backdrop-filter: blur(2px);
  display: grid;
  place-items: center;
  cursor: pointer;
  z-index: 5;
  padding: 0;
  font-weight: 800; }

.carousel .qc-prev {
  left: -5px; }

.carousel .qc-next {
  right: -5px; }

/* hide when no slide in that direction */
.carousel .qc-arrow[disabled] {
  display: none; }

.carousel .qc-arrow:focus-visible {
  outline: 2px solid rgba(0, 0, 0, 0.35);
  outline-offset: 2px; }

.carousel .qc-track {
  width: 100%;
  flex-wrap: nowrap;
  display: flex;
  gap: 10px;
  align-items: stretch; }

/* THIS is the important part */
.carousel .carousel-cell {
  flex: 0 0 80%;
  max-width: 80%;
  scroll-snap-align: center; }

@media (max-width: 700px) {
  .carousel .carousel-cell {
    flex-basis: 92%;
    max-width: 92%; } }

.carousel {
  --qc-cell: 80%;
  --qc-gap: 10px;
  --qc-edge: calc((100% - var(--qc-cell)) / 2); }

.carousel .qc-viewport {
  scroll-padding-inline: var(--qc-edge); }

.carousel .qc-track {
  display: flex;
  gap: var(--qc-gap);
  align-items: stretch;
  flex-wrap: nowrap;
  width: 100%; }

.carousel .carousel-cell {
  flex: 0 0 var(--qc-cell);
  max-width: var(--qc-cell);
  scroll-snap-align: center; }

/* KEY: symmetric “end spacing” so first/last can center */
.carousel .qc-track > .carousel-cell:first-child {
  margin-left: var(--qc-edge); }

.carousel .qc-track > .carousel-cell:last-child {
  margin-right: var(--qc-edge); }

@media (max-width: 700px) {
  .carousel {
    --qc-cell: 92%; } }

.carousel-div {
  opacity: 0; }

.carousel-div.visible {
  opacity: 1; }

/* end spacing */
.carousel .qc-track > .carousel-cell:first-child {
  margin-left: var(--qc-edge); }

.carousel .qc-track > .carousel-cell:last-child {
  margin-right: var(--qc-edge); }

.carousel .qc-viewport.qc-dragging {
  scroll-snap-type: none !important;
  scroll-behavior: auto !important;
  user-select: none; }

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
span.edgeLabel {
  color: black !important;
  background-color: #a3ff98 !important; }

.node > g > g > foreignObject > div {
  color: green;
  stroke: black; }

.mermaid svg .cluster rect {
  fill: none !important;
  stroke: black !important; }

.mermaid svg .node polygon {
  fill: #d2f8d2 !important;
  stroke: black !important; }

.mermaid svg .node rect {
  fill: #d2f8d2 !important;
  stroke: black !important; }

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Disable scrolling on the body while modal is open */
body.modal-open {
  overflow: hidden; }

/* The Modal (background overlay) */
.modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto; }

/* Modal Content Wrapper — NEUTRAL, NO STYLING */
.modal-content {
  position: relative;
  text-align: center;
  margin: 10% auto;
  padding: 0;
  width: 90%;
  max-width: 600px;
  background: transparent;
  border: none;
  border-radius: 0;
  background-color: _palette(bg);
  /* Animation */
  opacity: 0;
  transform: scale(0.98);
  transition: opacity 0.3s ease, transform 0.3s ease;
  /* Trigger animation when .show is added */ }
  .modal.show .modal-content {
    opacity: 1;
    transform: scale(1); }

/* Close Button — Enhanced */
.close {
  position: absolute;
  right: 1.5rem;
  top: 1.5rem;
  z-index: 10;
  color: #ffffff;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0.25rem;
  border-radius: 50%;
  transition: all 0.2s ease;
  /* Improve accessibility and hit area */
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  /* Optional: subtle shadow for depth */
  /* Optional: Add accessible label */ }
  .close:hover, .close:focus {
    color: #ff4d4d;
    background-color: rgba(0, 0, 0, 0.2);
    outline: 2px solid rgba(255, 255, 255, 0.3);
    outline-offset: 2px;
    transform: scale(1.05); }
  .close:focus {
    outline: 2px solid #4A90E2;
    outline-offset: 2px; }
  .close:active {
    transform: scale(0.95);
    background-color: rgba(0, 0, 0, 0.3); }
  .close::before {
    content: '';
    position: absolute;
    inset: -0.5rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s ease; }
  .close:hover::before {
    opacity: 1; }
  .close[aria-label="Close modal"] {
    /* No visual change, but improves screen reader UX */ }
  .close svg {
    display: block;
    transition: stroke 0.2s ease; }
  .close:hover svg {
    stroke: #ff4d4d; }

/*
  QuantaLumin SCSS
  SCSS bode for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* summaries.css */
.summary.style1 {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 1rem;
  background: rgba(255, 255, 255, 0.4);
  border-radius: 1rem;
  border: 0.1rem rgba(0, 0, 0, 0.1) solid;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  padding: 1rem;
  margin-bottom: 1.5rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  padding: 1rem; }

.summary.style1:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1); }

.summary.style1 h2 {
  font-size: 1.3rem;
  color: #111; }

.summary.style1 h3 {
  font-size: 1rem;
  color: #555;
  margin-top: 0.2rem; }

.summary.style1 h4,
.summary.style1 h5 {
  font-size: 0.85rem;
  color: #777;
  margin: 0.3rem 0; }

.summary.style1 p {
  color: #333;
  line-height: 1.5;
  margin-top: 0.5rem; }

.summary.style1 figure.right {
  width: 100%;
  max-width: 100%;
  border-radius: 0.75rem;
  overflow: hidden;
  margin: 0; }

.summary.style1 figure.right img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover; }

.summary-overlay {
  position: absolute;
  inset: 0;
  /* top:0; right:0; bottom:0; left:0 */
  z-index: 1; }

.summary {
  position: relative;
  /* For clickable overlay */ }

/* Desktop / larger screens */
@media screen and (min-width: 768px) {
  .summary.style1 {
    flex-direction: row;
    gap: 1.5rem;
    padding: 1.5rem;
    margin: 1rem auto;
    max-width: 100%;
    width: var(--size_inner); }
  .summary.style1 figure.right {
    width: 25%;
    max-height: none; }
  .summary.style1 h2 {
    font-size: 1.4rem; }
  .summary.style1 h3 {
    font-size: 1.1rem; }
  .summary.style1 h4,
  .summary.style1 h5 {
    font-size: 0.9rem; } }

.summary span.chapter-number {
  opacity: .6; }

.summary .summary-children ul {
  list-style-type: none; }

.summary .summary-children a {
  position: relative;
  z-index: 2;
  transition: color var(--duration_transition) ease-in-out;
  text-decoration: none; }
  .summary .summary-children a:hover {
    text-decoration: none; }

@media screen and (min-width: 736px) {
  nav ul.actions.special {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-left: 0;
    padding: 0 1em;
    position: relative; }
  .nav-up {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: +1.5rem; }
  .nav-top {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -1.5rem; }
  .nav-previous {
    margin-right: auto; }
  .nav-next {
    margin-left: auto; } }

/* legacy: keep hidden if it appears elsewhere */
#TableOfContents {
  display: none; }

/* === Overlay system === */
.ql-aside-backdrop {
  position: fixed;
  inset: 0;
  z-index: 2147482000;
  background: rgba(0, 0, 0, 0.55);
  display: none; }

body.aside-any-open .ql-aside-backdrop {
  display: block; }

.ql-aside {
  position: fixed;
  top: 0;
  bottom: 0;
  z-index: 2147482500;
  width: 90vw;
  max-width: 420px;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(8px);
  overflow-y: auto;
  box-shadow: rgba(0, 0, 0, 0.3) 0 10px 30px;
  transition: transform 0.22s ease;
  /* keep clicks inside, but not leaking */
  pointer-events: auto; }

.ql-aside--left {
  left: 0;
  transform: translateX(-110%); }

.ql-aside--right {
  right: 0;
  transform: translateX(110%); }

/* Open states */
body.aside-book-open #ql-aside-book {
  transform: translateX(0); }

body.aside-page-open #ql-aside-page {
  transform: translateX(0); }

body.aside-video-open #ql-aside-video {
  transform: translateX(0); }

body.aside-summary-open #ql-aside-summary {
  transform: translateX(0); }

/* Panel inner layout */
.ql-aside__inner {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.9rem; }

.ql-aside__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem; }

.ql-aside__title {
  margin: 0;
  font-size: 1.1rem; }

.ql-aside__hint {
  margin: 0;
  opacity: 0.75;
  font-size: 0.9rem; }

.ql-aside__close {
  border: 0;
  background: transparent;
  font-size: 1.4rem;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
  line-height: 1; }

/* TOC styling */
.toc {
  margin-top: 0.25rem; }
  .toc ul {
    list-style: none;
    padding-left: 0;
    margin: 0; }
  .toc li {
    margin: 0.35rem 0; }
  .toc a {
    text-decoration: none; }

.toc .toc-sublist {
  padding-left: 1.1em;
  margin-top: 0.25rem; }

.chapter-number {
  font-weight: 800;
  margin-right: 0.45rem;
  white-space: nowrap; }

/* Hugo headings TOC nesting */
#PageToc ul ul {
  padding-left: 1.1em; }

/* Video */
.ql-video {
  border-radius: 12px;
  overflow: hidden; }
  .ql-video iframe {
    width: 100%;
    height: 240px;
    border: 0;
    display: block; }

/* Summary panel content */
.ql-summary {
  line-height: 1.6; }

/* === Toggle buttons === */
.ql-aside-toggle {
  position: fixed;
  z-index: 2147483000;
  border: 0;
  border-radius: 10px;
  padding: 0.6rem 0.8rem;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: rgba(0, 0, 0, 0.22) 0 8px 24px;
  font-size: 1.1rem;
  line-height: 1;
  /* Desktop: present but hidden until JS reveals */
  display: block;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-6px) scale(0.96);
  transition: opacity 0.18s ease, transform 0.18s ease;
  /* Keyboard accessibility: reveal on focus */ }
  .ql-aside-toggle:focus-visible {
    opacity: 1;
    pointer-events: auto;
    transform: none; }

.ql-aside-toggle--book {
  top: 1rem;
  left: 1rem; }

.ql-aside-toggle--page {
  top: 1rem;
  right: 1rem; }

.ql-aside-toggle--video {
  bottom: 1rem;
  right: 1rem; }

.ql-aside-toggle--summary {
  bottom: 1rem;
  left: 1rem; }

@media screen and (max-width: 736px) {
  /* Mobile: always visible */
  .ql-aside-toggle {
    opacity: 1;
    pointer-events: auto;
    transform: none; }
  body.aside-any-open {
    overflow: hidden; } }

/* Don’t hide headings under a fixed header */
main :is(h1,h2,h3,h4,h5,h6) {
  scroll-margin-top: 5rem; }

/* Page TOC: numeric selector UI */
#PageToc a {
  display: flex;
  gap: 0.5rem;
  align-items: baseline;
  padding: 0.25rem 0.35rem;
  border-radius: 10px; }

#PageToc .toc-idx {
  min-width: 1.6rem;
  text-align: center;
  font-weight: 800;
  opacity: 0.65; }

#PageToc li.toc-node.is-current > a {
  background: rgba(0, 0, 0, 0.08); }

#PageToc li.toc-node.is-in-path > a {
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.14); }

#PageToc li.toc-node.is-dim > a {
  opacity: 0.5; }

/* TOC styling */
.toc {
  margin-top: 0.25rem; }
  .toc ul, .toc ol {
    /* <-- was only ul */
    list-style: none;
    padding-left: 0;
    margin: 0; }
  .toc li {
    margin: 0.35rem 0; }
  .toc a {
    text-decoration: none; }

/* Hugo headings TOC nesting (works for ol + ul) */
#PageToc :is(ol,ul) :is(ol,ul) {
  padding-left: 1.1em; }

/* Page title shown above list (not selectable) */
.toc-page-title {
  font-weight: 800;
  opacity: 0.85;
  font-size: 1.0rem;
  padding: 0.25rem 0.35rem;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.04);
  user-select: none;
  pointer-events: none; }

.ql-aside {
  transition: transform 0.22s ease, opacity 0.22s ease;
  will-change: transform, opacity; }

#modal-overlay {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(4px);
  z-index: calc(var(--misc_z_index_base) + 0);
  display: none;
  font-family: var(--font_family), var(--font_fallback), system-ui, -apple-system, sans-serif; }

#view-container {
  position: relative;
  width: 90%;
  height: 90%;
  margin: 3% auto;
  background: color-mix(in srgb, var(--color1) 90%, transparent);
  border-radius: var(--size_border_radius_alt);
  box-shadow: 0 4px 25px rgba(0, 0, 0, 0.3);
  overflow: hidden; }
  #view-container button {
    line-height: 0;
    font-family: inherit; }
  #view-container #d3-view,
  #view-container #three-view {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%; }
  #view-container #three-view {
    pointer-events: auto;
    display: none; }
  #view-container #view-toggle {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 1000;
    background: var(--color1);
    color: var(--fg);
    padding: 10px 15px;
    border-radius: 5px;
    border: 1px solid var(--border);
    cursor: pointer;
    font-size: 14px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    transition: background var(--duration_transition); }
  #view-container #view-toggle:hover {
    background: var(--bg); }
  #view-container #copyright {
    position: absolute;
    bottom: 10px;
    left: 10px;
    z-index: 1000;
    color: var(--fg_light);
    font-size: 12px;
    background: color-mix(in srgb, var(--color1) 80%, transparent);
    padding: 5px 10px;
    border-radius: 3px; }
  #view-container #close-spherelist-modal {
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 1000;
    background: var(--color1);
    color: var(--fg);
    padding: 10px 15px;
    border-radius: 5px;
    border: 1px solid var(--border);
    cursor: pointer;
    font-size: 14px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    transition: background var(--duration_transition); }
  #view-container #close-spherelist-modal:hover {
    background: var(--bg); }
  #view-container .node circle {
    fill: #63fff4;
    transition: fill var(--duration_transition), r var(--duration_transition), opacity var(--duration_transition); }
  #view-container .node circle:hover {
    fill: var(--accent);
    r: 7; }
  #view-container .link {
    stroke: var(--border);
    stroke-opacity: 0.6;
    transition: stroke var(--duration_transition), opacity var(--duration_transition); }
  #view-container text {
    fill: var(--fg);
    cursor: pointer;
    user-select: none;
    transition: fill var(--duration_transition), font-size var(--duration_transition), opacity var(--duration_transition); }
  #view-container text:hover {
    fill: var(--accent); }
  #view-container .three-label {
    color: var(--fg);
    font-family: var(--font_family), var(--font_fallback), system-ui, -apple-system, sans-serif;
    font-size: 10px;
    background: rgba(255, 255, 255, 0.95);
    padding: 2px 5px;
    border-radius: 3px;
    pointer-events: none;
    white-space: nowrap;
    border: 1px solid var(--border);
    transform: translate(-50%, -100%);
    margin-top: -8px;
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis; }

#d3-view.dimmed {
  opacity: 0.25;
  pointer-events: none;
  transition: opacity 0.25s ease; }

/* lock scroll when overlay open */
body.md-overlay-open {
  overflow: hidden; }

#markdown-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999; }

#markdown-overlay .md-overlay-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
  backdrop-filter: blur(6px); }

#markdown-overlay .md-overlay-panel {
  position: relative;
  max-width: min(96vw, 1100px);
  height: min(80vh, 900px);
  margin: 4vh auto 0;
  background: rgba(30, 34, 42, 0.7);
  backdrop-filter: blur(18px);
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 0.75rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35); }

#markdown-overlay .md-overlay-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: rgba(15, 23, 42, 0.3);
  border-bottom: 1px solid rgba(148, 163, 184, 0.15);
  padding: 0.5rem 0.75rem 0.5rem 1rem;
  color: #e2e8f0;
  font-size: 0.75rem; }

#markdown-overlay .md-overlay-actions {
  display: flex;
  gap: 0.45rem; }

#markdown-overlay .md-copy-btn,
#markdown-overlay .md-close-btn {
  background: rgba(15, 23, 42, 0.45);
  border: 1px solid rgba(226, 232, 240, 0.12);
  border-radius: 0.35rem;
  color: #e2e8f0;
  font-size: 0.7rem;
  padding: 0.25rem 0.6rem;
  cursor: pointer; }

#markdown-overlay .md-close-btn {
  font-size: 0.8rem;
  line-height: 1; }

#markdown-overlay .md-editor {
  flex: 1;
  display: flex;
  overflow: auto;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.8rem;
  line-height: 1.45;
  background: radial-gradient(circle at top, rgba(15, 23, 42, 0.35), rgba(15, 23, 42, 0)); }

#markdown-overlay .md-gutter {
  background: rgba(15, 23, 42, 0.35);
  color: #5c6370;
  text-align: right;
  padding: 0.75rem 0.5rem 0.75rem 0.5rem;
  user-select: none;
  min-width: 3.4rem;
  border-right: 1px solid rgba(148, 163, 184, 0.12);
  white-space: pre;
  backdrop-filter: blur(4px); }

#markdown-overlay .md-gutter .md-lnum {
  display: block; }

#markdown-overlay .md-source-pre {
  margin: 0;
  padding: 0.75rem 1rem 0.75rem 0.75rem;
  background: transparent;
  overflow: auto;
  white-space: pre;
  flex: 1;
  color: #e2e8f0;
  tab-size: 2;
  text-wrap: nowrap; }

#markdown-overlay .md-source-pre code {
  background: transparent; }

/* scrollbar nice-ish */
#markdown-overlay .md-editor::-webkit-scrollbar,
#markdown-overlay .md-source-pre::-webkit-scrollbar {
  height: 8px;
  width: 8px; }

#markdown-overlay .md-editor::-webkit-scrollbar-thumb,
#markdown-overlay .md-source-pre::-webkit-scrollbar-thumb {
  background: rgba(148, 163, 184, 0.35);
  border-radius: 9999px; }

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Image */
/* .figure-inline figure {
	min-height: 40vh;
} */
figure {
  border: 0;
  border-radius: var(--size_border_radius);
  display: inline-block;
  position: relative;
  max-height: 100vh; }
  figure img {
    display: block;
    border-radius: var(--size_border_radius); }
  figure.left, figure.right {
    width: 40%;
    max-width: 50%; }
    figure.left img, figure.right img {
      width: 100%; }
  figure.left {
    float: left;
    margin: 0 1.5rem 1rem 0;
    top: 0.25rem; }
  figure.right {
    float: right;
    margin: 0 0 1rem 1.5rem;
    top: 0.25rem; }
  figure.fit {
    display: block;
    margin: 0 0 var(--size_element_margin) 0;
    width: 100%;
    right: 200px !important; }
    figure.fit img {
      width: 100%; }
  figure.centre {
    display: block;
    margin: 0 0 var(--size_element_margin) 0;
    width: 50%;
    display: flex;
    justify-content: center;
    align-items: center; }
    figure.centre img {
      width: 100%; }
  figure.main {
    display: block;
    margin: 0 0 calc(var(--size_element_margin) * 1.5) 0;
    width: 100%; }
    figure.main img {
      width: 100%; }

.figure-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 10px; }
  .figure-gallery:nth-child(1) .figure img {
    transition-delay: calc(0 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(2) .figure img {
    transition-delay: calc(1 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(3) .figure img {
    transition-delay: calc(2 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(4) .figure img {
    transition-delay: calc(3 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(5) .figure img {
    transition-delay: calc(4 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(6) .figure img {
    transition-delay: calc(5 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(7) .figure img {
    transition-delay: calc(6 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(8) .figure img {
    transition-delay: calc(7 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(9) .figure img {
    transition-delay: calc(8 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(10) .figure img {
    transition-delay: calc(9 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(11) .figure img {
    transition-delay: calc(10 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(12) .figure img {
    transition-delay: calc(11 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(13) .figure img {
    transition-delay: calc(12 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(14) .figure img {
    transition-delay: calc(13 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(15) .figure img {
    transition-delay: calc(14 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(16) .figure img {
    transition-delay: calc(15 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(17) .figure img {
    transition-delay: calc(16 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(18) .figure img {
    transition-delay: calc(17 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(19) .figure img {
    transition-delay: calc(18 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(20) .figure img {
    transition-delay: calc(19 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(21) .figure img {
    transition-delay: calc(20 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(22) .figure img {
    transition-delay: calc(21 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(23) .figure img {
    transition-delay: calc(22 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(24) .figure img {
    transition-delay: calc(23 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(25) .figure img {
    transition-delay: calc(24 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(26) .figure img {
    transition-delay: calc(25 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(27) .figure img {
    transition-delay: calc(26 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(28) .figure img {
    transition-delay: calc(27 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(29) .figure img {
    transition-delay: calc(28 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(30) .figure img {
    transition-delay: calc(29 * var(--duration_gallery_delay)); }
  .figure-gallery:nth-child(31) .figure img {
    transition-delay: calc(30 * var(--duration_gallery_delay)); }

.figure-gallery > figure {
  height: 300px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  border-radius: 0; }

.figure-gallery figure img,
.figure-gallery figure svg {
  object-fit: cover;
  object-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  vertical-align: middle;
  border-radius: 0;
  height: 300px; }

.figure-gallery > figure {
  flex-grow: 1;
  /* ... */ }

@media screen and (max-width: 736px) {
  .figure-gallery > figure {
    height: 550px; }
  .figure-gallery figure img,
  .figure-gallery figure svg {
    height: 550px; } }

@media screen and (orientation: portrait) {
  .figure-gallery > figure {
    height: 550px; }
  .figure-gallery figure img,
  .figure-gallery figure svg {
    height: 550px; } }

/* Image */
.inline-figure figure {
  border: 0;
  border-radius: var(--size_border_radius);
  display: inline-block;
  position: relative;
  padding: 0 1.5rem 0 0; }
  .inline-figure figure img {
    display: block;
    border-radius: var(--size_border_radius); }
  .inline-figure figure.left, .inline-figure figure.right {
    width: 20%;
    max-width: 20%; }
    .inline-figure figure.left img, .inline-figure figure.right img {
      width: 100%;
      height: 20%; }
  .inline-figure figure.left {
    float: left;
    margin: 0 1.5rem 1rem 0;
    top: 0.25rem; }
  .inline-figure figure.right {
    float: right;
    margin: 0 0 1rem 1.5rem;
    top: 0.25rem; }
  .inline-figure figure.fit {
    display: block;
    margin: 0 0 var(--size_element_margin) 0;
    width: 100%; }
    .inline-figure figure.fit img {
      width: 100%; }
  .inline-figure figure.gallery-element {
    margin: 0;
    padding: 0;
    top: 0; }
    .inline-figure figure.gallery-element.onload-figure-fade-up {
      transition: opacity calc(var(--duration_on_load) * 0.5) ease-in-out, transform calc(var(--duration_on_load) * 0.5) ease-in-out;
      z-index: 100; }
      .inline-figure figure.gallery-element.onload-figure-fade-up img {
        transition: opacity var(--duration_on_load) ease-in-out;
        transition-delay: calc(var(--duration_on_load) * 0.75); }
      body.is-preload .inline-figure figure.gallery-element.onload-figure-fade-up {
        transform: translateY(1rem);
        opacity: 0; }
        body.is-preload .inline-figure figure.gallery-element.onload-figure-fade-up img {
          opacity: 0; }
    .inline-figure figure.gallery-element.onscroll-figure-fade-up {
      transition: opacity calc(var(--duration_on_scroll) * 0.5) ease-in-out, transform calc(var(--duration_on_scroll) * 0.5) ease-in-out;
      z-index: 100; }
      .inline-figure figure.gallery-element.onscroll-figure-fade-up img {
        transition: opacity var(--duration_on_scroll) ease-in-out;
        transition-delay: calc(var(--duration_on_scroll) * 0.75); }
      .inline-figure figure.gallery-element.onscroll-figure-fade-up.is-inactive {
        transform: translateY(1rem);
        opacity: 0; }
        .inline-figure figure.gallery-element.onscroll-figure-fade-up.is-inactive img {
          opacity: 0; }
  .inline-figure figure.main {
    display: block;
    margin: 0 0 calc(var(--size_element_margin) * 1.5) 0;
    width: 100%; }
    .inline-figure figure.main img {
      width: 100%; }
  .inline-figure figure figcaption p {
    margin: 2rem 0 0.5rem 0; }

.banner figure img, .banner figure canvas, .banner figure iframe, .spotlight figure img, .spotlight figure canvas, .spotlight figure iframe, .wrapper figure img, .wrapper figure canvas, .wrapper figure iframe {
  object-fit: cover; }

.banner.figure-preserve-aspect figure img, .banner.figure-contain figure img, .spotlight.figure-preserve-aspect figure img, .spotlight.figure-contain figure img, .wrapper.figure-preserve-aspect figure img, .wrapper.figure-contain figure img {
  object-fit: contain; }

.banner.no-underline a, .spotlight.no-underline a, .wrapper.no-underline a {
  text-decoration: none; }

.banner.content-align-center, .spotlight.content-align-center, .wrapper.content-align-center {
  text-align: center; }

.banner.figure-position-left, .spotlight.figure-position-left, .wrapper.figure-position-left {
  display: flex;
  justify-content: left;
  align-items: left; }
  .banner.figure-position-left figure img, .banner.figure-position-left figure canvas, .banner.figure-position-left figure iframe, .spotlight.figure-position-left figure img, .spotlight.figure-position-left figure canvas, .spotlight.figure-position-left figure iframe, .wrapper.figure-position-left figure img, .wrapper.figure-position-left figure canvas, .wrapper.figure-position-left figure iframe {
    object-position: left; }
  .banner.figure-position-left svg, .spotlight.figure-position-left svg, .wrapper.figure-position-left svg {
    max-width: 100%;
    max-height: 100%;
    display: block; }

.banner.figure-position-center figure, .spotlight.figure-position-center figure, .wrapper.figure-position-center figure {
  display: flex;
  justify-content: center;
  align-items: center; }
  .banner.figure-position-center figure img, .banner.figure-position-center figure canvas, .banner.figure-position-center figure iframe, .spotlight.figure-position-center figure img, .spotlight.figure-position-center figure canvas, .spotlight.figure-position-center figure iframe, .wrapper.figure-position-center figure img, .wrapper.figure-position-center figure canvas, .wrapper.figure-position-center figure iframe {
    object-position: center;
    object-fit: cover; }
  .banner.figure-position-center figure svg, .spotlight.figure-position-center figure svg, .wrapper.figure-position-center figure svg {
    max-width: 100%;
    max-height: 100%;
    display: block; }

.banner.figure-position-right, .spotlight.figure-position-right, .wrapper.figure-position-right {
  display: flex;
  justify-content: right;
  align-items: right; }
  .banner.figure-position-right figure img, .banner.figure-position-right figure canvas, .banner.figure-position-right figure iframe, .spotlight.figure-position-right figure img, .spotlight.figure-position-right figure canvas, .spotlight.figure-position-right figure iframe, .wrapper.figure-position-right figure img, .wrapper.figure-position-right figure canvas, .wrapper.figure-position-right figure iframe {
    object-position: right; }
  .banner.figure-position-right svg, .spotlight.figure-position-right svg, .wrapper.figure-position-right svg {
    max-width: 100%;
    max-height: 100%;
    display: block; }

.banner.figure-position-top figure img, .banner.figure-position-top figure canvas, .banner.figure-position-top figure iframe, .spotlight.figure-position-top figure img, .spotlight.figure-position-top figure canvas, .spotlight.figure-position-top figure iframe, .wrapper.figure-position-top figure img, .wrapper.figure-position-top figure canvas, .wrapper.figure-position-top figure iframe {
  object-position: top; }

.banner.figure-position-middle figure img, .banner.figure-position-middle figure canvas, .banner.figure-position-middle figure iframe, .spotlight.figure-position-middle figure img, .spotlight.figure-position-middle figure canvas, .spotlight.figure-position-middle figure iframe, .wrapper.figure-position-middle figure img, .wrapper.figure-position-middle figure canvas, .wrapper.figure-position-middle figure iframe {
  object-position: center; }

.banner.figure-position-bottom figure img, .banner.figure-position-bottom figure canvas, .banner.figure-position-bottom figure iframe, .spotlight.figure-position-bottom figure img, .spotlight.figure-position-bottom figure canvas, .spotlight.figure-position-bottom figure iframe, .wrapper.figure-position-bottom figure img, .wrapper.figure-position-bottom figure canvas, .wrapper.figure-position-bottom figure iframe {
  object-position: bottom; }

.banner.figure-position-upper figure img, .banner.figure-position-upper figure canvas, .banner.figure-position-upper figure iframe, .spotlight.figure-position-upper figure img, .spotlight.figure-position-upper figure canvas, .spotlight.figure-position-upper figure iframe, .wrapper.figure-position-upper figure img, .wrapper.figure-position-upper figure canvas, .wrapper.figure-position-upper figure iframe {
  object-position: 60% 40%; }

.banner.figure-position-lower figure img, .banner.figure-position-lower figure canvas, .banner.figure-position-lower figure iframe, .spotlight.figure-position-lower figure img, .spotlight.figure-position-lower figure canvas, .spotlight.figure-position-lower figure iframe, .wrapper.figure-position-lower figure img, .wrapper.figure-position-lower figure canvas, .wrapper.figure-position-lower figure iframe {
  object-position: 40% 60%; }

.banner.figure-position-lower-top figure img, .banner.figure-position-lower-top figure canvas, .banner.figure-position-lower-top figure iframe, .spotlight.figure-position-lower-top figure img, .spotlight.figure-position-lower-top figure canvas, .spotlight.figure-position-lower-top figure iframe, .wrapper.figure-position-lower-top figure img, .wrapper.figure-position-lower-top figure canvas, .wrapper.figure-position-lower-top figure iframe {
  object-position: 80% 20%; }

.banner.figure-position-upper-bottom figure img, .banner.figure-position-upper-bottom figure canvas, .banner.figure-position-upper-bottom figure iframe, .spotlight.figure-position-upper-bottom figure img, .spotlight.figure-position-upper-bottom figure canvas, .spotlight.figure-position-upper-bottom figure iframe, .wrapper.figure-position-upper-bottom figure img, .wrapper.figure-position-upper-bottom figure canvas, .wrapper.figure-position-upper-bottom figure iframe {
  object-position: 80% 20%; }

.banner.figure-position-0 figure img, .banner.figure-position-0 figure canvas, .banner.figure-position-0 figure iframe, .spotlight.figure-position-0 figure img, .spotlight.figure-position-0 figure canvas, .spotlight.figure-position-0 figure iframe, .wrapper.figure-position-0 figure img, .wrapper.figure-position-0 figure canvas, .wrapper.figure-position-0 figure iframe {
  object-position: 0% 100%; }

.banner.figure-position-1 figure img, .banner.figure-position-1 figure canvas, .banner.figure-position-1 figure iframe, .spotlight.figure-position-1 figure img, .spotlight.figure-position-1 figure canvas, .spotlight.figure-position-1 figure iframe, .wrapper.figure-position-1 figure img, .wrapper.figure-position-1 figure canvas, .wrapper.figure-position-1 figure iframe {
  object-position: 1% 99%; }

.banner.figure-position-2 figure img, .banner.figure-position-2 figure canvas, .banner.figure-position-2 figure iframe, .spotlight.figure-position-2 figure img, .spotlight.figure-position-2 figure canvas, .spotlight.figure-position-2 figure iframe, .wrapper.figure-position-2 figure img, .wrapper.figure-position-2 figure canvas, .wrapper.figure-position-2 figure iframe {
  object-position: 2% 98%; }

.banner.figure-position-3 figure img, .banner.figure-position-3 figure canvas, .banner.figure-position-3 figure iframe, .spotlight.figure-position-3 figure img, .spotlight.figure-position-3 figure canvas, .spotlight.figure-position-3 figure iframe, .wrapper.figure-position-3 figure img, .wrapper.figure-position-3 figure canvas, .wrapper.figure-position-3 figure iframe {
  object-position: 3% 97%; }

.banner.figure-position-4 figure img, .banner.figure-position-4 figure canvas, .banner.figure-position-4 figure iframe, .spotlight.figure-position-4 figure img, .spotlight.figure-position-4 figure canvas, .spotlight.figure-position-4 figure iframe, .wrapper.figure-position-4 figure img, .wrapper.figure-position-4 figure canvas, .wrapper.figure-position-4 figure iframe {
  object-position: 4% 96%; }

.banner.figure-position-5 figure img, .banner.figure-position-5 figure canvas, .banner.figure-position-5 figure iframe, .spotlight.figure-position-5 figure img, .spotlight.figure-position-5 figure canvas, .spotlight.figure-position-5 figure iframe, .wrapper.figure-position-5 figure img, .wrapper.figure-position-5 figure canvas, .wrapper.figure-position-5 figure iframe {
  object-position: 5% 95%; }

.banner.figure-position-6 figure img, .banner.figure-position-6 figure canvas, .banner.figure-position-6 figure iframe, .spotlight.figure-position-6 figure img, .spotlight.figure-position-6 figure canvas, .spotlight.figure-position-6 figure iframe, .wrapper.figure-position-6 figure img, .wrapper.figure-position-6 figure canvas, .wrapper.figure-position-6 figure iframe {
  object-position: 6% 94%; }

.banner.figure-position-7 figure img, .banner.figure-position-7 figure canvas, .banner.figure-position-7 figure iframe, .spotlight.figure-position-7 figure img, .spotlight.figure-position-7 figure canvas, .spotlight.figure-position-7 figure iframe, .wrapper.figure-position-7 figure img, .wrapper.figure-position-7 figure canvas, .wrapper.figure-position-7 figure iframe {
  object-position: 7% 93%; }

.banner.figure-position-8 figure img, .banner.figure-position-8 figure canvas, .banner.figure-position-8 figure iframe, .spotlight.figure-position-8 figure img, .spotlight.figure-position-8 figure canvas, .spotlight.figure-position-8 figure iframe, .wrapper.figure-position-8 figure img, .wrapper.figure-position-8 figure canvas, .wrapper.figure-position-8 figure iframe {
  object-position: 8% 92%; }

.banner.figure-position-9 figure img, .banner.figure-position-9 figure canvas, .banner.figure-position-9 figure iframe, .spotlight.figure-position-9 figure img, .spotlight.figure-position-9 figure canvas, .spotlight.figure-position-9 figure iframe, .wrapper.figure-position-9 figure img, .wrapper.figure-position-9 figure canvas, .wrapper.figure-position-9 figure iframe {
  object-position: 9% 91%; }

.banner.figure-position-10 figure img, .banner.figure-position-10 figure canvas, .banner.figure-position-10 figure iframe, .spotlight.figure-position-10 figure img, .spotlight.figure-position-10 figure canvas, .spotlight.figure-position-10 figure iframe, .wrapper.figure-position-10 figure img, .wrapper.figure-position-10 figure canvas, .wrapper.figure-position-10 figure iframe {
  object-position: 10% 90%; }

.banner.figure-position-11 figure img, .banner.figure-position-11 figure canvas, .banner.figure-position-11 figure iframe, .spotlight.figure-position-11 figure img, .spotlight.figure-position-11 figure canvas, .spotlight.figure-position-11 figure iframe, .wrapper.figure-position-11 figure img, .wrapper.figure-position-11 figure canvas, .wrapper.figure-position-11 figure iframe {
  object-position: 11% 89%; }

.banner.figure-position-12 figure img, .banner.figure-position-12 figure canvas, .banner.figure-position-12 figure iframe, .spotlight.figure-position-12 figure img, .spotlight.figure-position-12 figure canvas, .spotlight.figure-position-12 figure iframe, .wrapper.figure-position-12 figure img, .wrapper.figure-position-12 figure canvas, .wrapper.figure-position-12 figure iframe {
  object-position: 12% 88%; }

.banner.figure-position-13 figure img, .banner.figure-position-13 figure canvas, .banner.figure-position-13 figure iframe, .spotlight.figure-position-13 figure img, .spotlight.figure-position-13 figure canvas, .spotlight.figure-position-13 figure iframe, .wrapper.figure-position-13 figure img, .wrapper.figure-position-13 figure canvas, .wrapper.figure-position-13 figure iframe {
  object-position: 13% 87%; }

.banner.figure-position-14 figure img, .banner.figure-position-14 figure canvas, .banner.figure-position-14 figure iframe, .spotlight.figure-position-14 figure img, .spotlight.figure-position-14 figure canvas, .spotlight.figure-position-14 figure iframe, .wrapper.figure-position-14 figure img, .wrapper.figure-position-14 figure canvas, .wrapper.figure-position-14 figure iframe {
  object-position: 14% 86%; }

.banner.figure-position-15 figure img, .banner.figure-position-15 figure canvas, .banner.figure-position-15 figure iframe, .spotlight.figure-position-15 figure img, .spotlight.figure-position-15 figure canvas, .spotlight.figure-position-15 figure iframe, .wrapper.figure-position-15 figure img, .wrapper.figure-position-15 figure canvas, .wrapper.figure-position-15 figure iframe {
  object-position: 15% 85%; }

.banner.figure-position-16 figure img, .banner.figure-position-16 figure canvas, .banner.figure-position-16 figure iframe, .spotlight.figure-position-16 figure img, .spotlight.figure-position-16 figure canvas, .spotlight.figure-position-16 figure iframe, .wrapper.figure-position-16 figure img, .wrapper.figure-position-16 figure canvas, .wrapper.figure-position-16 figure iframe {
  object-position: 16% 84%; }

.banner.figure-position-17 figure img, .banner.figure-position-17 figure canvas, .banner.figure-position-17 figure iframe, .spotlight.figure-position-17 figure img, .spotlight.figure-position-17 figure canvas, .spotlight.figure-position-17 figure iframe, .wrapper.figure-position-17 figure img, .wrapper.figure-position-17 figure canvas, .wrapper.figure-position-17 figure iframe {
  object-position: 17% 83%; }

.banner.figure-position-18 figure img, .banner.figure-position-18 figure canvas, .banner.figure-position-18 figure iframe, .spotlight.figure-position-18 figure img, .spotlight.figure-position-18 figure canvas, .spotlight.figure-position-18 figure iframe, .wrapper.figure-position-18 figure img, .wrapper.figure-position-18 figure canvas, .wrapper.figure-position-18 figure iframe {
  object-position: 18% 82%; }

.banner.figure-position-19 figure img, .banner.figure-position-19 figure canvas, .banner.figure-position-19 figure iframe, .spotlight.figure-position-19 figure img, .spotlight.figure-position-19 figure canvas, .spotlight.figure-position-19 figure iframe, .wrapper.figure-position-19 figure img, .wrapper.figure-position-19 figure canvas, .wrapper.figure-position-19 figure iframe {
  object-position: 19% 81%; }

.banner.figure-position-20 figure img, .banner.figure-position-20 figure canvas, .banner.figure-position-20 figure iframe, .spotlight.figure-position-20 figure img, .spotlight.figure-position-20 figure canvas, .spotlight.figure-position-20 figure iframe, .wrapper.figure-position-20 figure img, .wrapper.figure-position-20 figure canvas, .wrapper.figure-position-20 figure iframe {
  object-position: 20% 80%; }

.banner.figure-position-21 figure img, .banner.figure-position-21 figure canvas, .banner.figure-position-21 figure iframe, .spotlight.figure-position-21 figure img, .spotlight.figure-position-21 figure canvas, .spotlight.figure-position-21 figure iframe, .wrapper.figure-position-21 figure img, .wrapper.figure-position-21 figure canvas, .wrapper.figure-position-21 figure iframe {
  object-position: 21% 79%; }

.banner.figure-position-22 figure img, .banner.figure-position-22 figure canvas, .banner.figure-position-22 figure iframe, .spotlight.figure-position-22 figure img, .spotlight.figure-position-22 figure canvas, .spotlight.figure-position-22 figure iframe, .wrapper.figure-position-22 figure img, .wrapper.figure-position-22 figure canvas, .wrapper.figure-position-22 figure iframe {
  object-position: 22% 78%; }

.banner.figure-position-23 figure img, .banner.figure-position-23 figure canvas, .banner.figure-position-23 figure iframe, .spotlight.figure-position-23 figure img, .spotlight.figure-position-23 figure canvas, .spotlight.figure-position-23 figure iframe, .wrapper.figure-position-23 figure img, .wrapper.figure-position-23 figure canvas, .wrapper.figure-position-23 figure iframe {
  object-position: 23% 77%; }

.banner.figure-position-24 figure img, .banner.figure-position-24 figure canvas, .banner.figure-position-24 figure iframe, .spotlight.figure-position-24 figure img, .spotlight.figure-position-24 figure canvas, .spotlight.figure-position-24 figure iframe, .wrapper.figure-position-24 figure img, .wrapper.figure-position-24 figure canvas, .wrapper.figure-position-24 figure iframe {
  object-position: 24% 76%; }

.banner.figure-position-25 figure img, .banner.figure-position-25 figure canvas, .banner.figure-position-25 figure iframe, .spotlight.figure-position-25 figure img, .spotlight.figure-position-25 figure canvas, .spotlight.figure-position-25 figure iframe, .wrapper.figure-position-25 figure img, .wrapper.figure-position-25 figure canvas, .wrapper.figure-position-25 figure iframe {
  object-position: 25% 75%; }

.banner.figure-position-26 figure img, .banner.figure-position-26 figure canvas, .banner.figure-position-26 figure iframe, .spotlight.figure-position-26 figure img, .spotlight.figure-position-26 figure canvas, .spotlight.figure-position-26 figure iframe, .wrapper.figure-position-26 figure img, .wrapper.figure-position-26 figure canvas, .wrapper.figure-position-26 figure iframe {
  object-position: 26% 74%; }

.banner.figure-position-27 figure img, .banner.figure-position-27 figure canvas, .banner.figure-position-27 figure iframe, .spotlight.figure-position-27 figure img, .spotlight.figure-position-27 figure canvas, .spotlight.figure-position-27 figure iframe, .wrapper.figure-position-27 figure img, .wrapper.figure-position-27 figure canvas, .wrapper.figure-position-27 figure iframe {
  object-position: 27% 73%; }

.banner.figure-position-28 figure img, .banner.figure-position-28 figure canvas, .banner.figure-position-28 figure iframe, .spotlight.figure-position-28 figure img, .spotlight.figure-position-28 figure canvas, .spotlight.figure-position-28 figure iframe, .wrapper.figure-position-28 figure img, .wrapper.figure-position-28 figure canvas, .wrapper.figure-position-28 figure iframe {
  object-position: 28% 72%; }

.banner.figure-position-29 figure img, .banner.figure-position-29 figure canvas, .banner.figure-position-29 figure iframe, .spotlight.figure-position-29 figure img, .spotlight.figure-position-29 figure canvas, .spotlight.figure-position-29 figure iframe, .wrapper.figure-position-29 figure img, .wrapper.figure-position-29 figure canvas, .wrapper.figure-position-29 figure iframe {
  object-position: 29% 71%; }

.banner.figure-position-30 figure img, .banner.figure-position-30 figure canvas, .banner.figure-position-30 figure iframe, .spotlight.figure-position-30 figure img, .spotlight.figure-position-30 figure canvas, .spotlight.figure-position-30 figure iframe, .wrapper.figure-position-30 figure img, .wrapper.figure-position-30 figure canvas, .wrapper.figure-position-30 figure iframe {
  object-position: 30% 70%; }

.banner.figure-position-31 figure img, .banner.figure-position-31 figure canvas, .banner.figure-position-31 figure iframe, .spotlight.figure-position-31 figure img, .spotlight.figure-position-31 figure canvas, .spotlight.figure-position-31 figure iframe, .wrapper.figure-position-31 figure img, .wrapper.figure-position-31 figure canvas, .wrapper.figure-position-31 figure iframe {
  object-position: 31% 69%; }

.banner.figure-position-32 figure img, .banner.figure-position-32 figure canvas, .banner.figure-position-32 figure iframe, .spotlight.figure-position-32 figure img, .spotlight.figure-position-32 figure canvas, .spotlight.figure-position-32 figure iframe, .wrapper.figure-position-32 figure img, .wrapper.figure-position-32 figure canvas, .wrapper.figure-position-32 figure iframe {
  object-position: 32% 68%; }

.banner.figure-position-33 figure img, .banner.figure-position-33 figure canvas, .banner.figure-position-33 figure iframe, .spotlight.figure-position-33 figure img, .spotlight.figure-position-33 figure canvas, .spotlight.figure-position-33 figure iframe, .wrapper.figure-position-33 figure img, .wrapper.figure-position-33 figure canvas, .wrapper.figure-position-33 figure iframe {
  object-position: 33% 67%; }

.banner.figure-position-34 figure img, .banner.figure-position-34 figure canvas, .banner.figure-position-34 figure iframe, .spotlight.figure-position-34 figure img, .spotlight.figure-position-34 figure canvas, .spotlight.figure-position-34 figure iframe, .wrapper.figure-position-34 figure img, .wrapper.figure-position-34 figure canvas, .wrapper.figure-position-34 figure iframe {
  object-position: 34% 66%; }

.banner.figure-position-35 figure img, .banner.figure-position-35 figure canvas, .banner.figure-position-35 figure iframe, .spotlight.figure-position-35 figure img, .spotlight.figure-position-35 figure canvas, .spotlight.figure-position-35 figure iframe, .wrapper.figure-position-35 figure img, .wrapper.figure-position-35 figure canvas, .wrapper.figure-position-35 figure iframe {
  object-position: 35% 65%; }

.banner.figure-position-36 figure img, .banner.figure-position-36 figure canvas, .banner.figure-position-36 figure iframe, .spotlight.figure-position-36 figure img, .spotlight.figure-position-36 figure canvas, .spotlight.figure-position-36 figure iframe, .wrapper.figure-position-36 figure img, .wrapper.figure-position-36 figure canvas, .wrapper.figure-position-36 figure iframe {
  object-position: 36% 64%; }

.banner.figure-position-37 figure img, .banner.figure-position-37 figure canvas, .banner.figure-position-37 figure iframe, .spotlight.figure-position-37 figure img, .spotlight.figure-position-37 figure canvas, .spotlight.figure-position-37 figure iframe, .wrapper.figure-position-37 figure img, .wrapper.figure-position-37 figure canvas, .wrapper.figure-position-37 figure iframe {
  object-position: 37% 63%; }

.banner.figure-position-38 figure img, .banner.figure-position-38 figure canvas, .banner.figure-position-38 figure iframe, .spotlight.figure-position-38 figure img, .spotlight.figure-position-38 figure canvas, .spotlight.figure-position-38 figure iframe, .wrapper.figure-position-38 figure img, .wrapper.figure-position-38 figure canvas, .wrapper.figure-position-38 figure iframe {
  object-position: 38% 62%; }

.banner.figure-position-39 figure img, .banner.figure-position-39 figure canvas, .banner.figure-position-39 figure iframe, .spotlight.figure-position-39 figure img, .spotlight.figure-position-39 figure canvas, .spotlight.figure-position-39 figure iframe, .wrapper.figure-position-39 figure img, .wrapper.figure-position-39 figure canvas, .wrapper.figure-position-39 figure iframe {
  object-position: 39% 61%; }

.banner.figure-position-40 figure img, .banner.figure-position-40 figure canvas, .banner.figure-position-40 figure iframe, .spotlight.figure-position-40 figure img, .spotlight.figure-position-40 figure canvas, .spotlight.figure-position-40 figure iframe, .wrapper.figure-position-40 figure img, .wrapper.figure-position-40 figure canvas, .wrapper.figure-position-40 figure iframe {
  object-position: 40% 60%; }

.banner.figure-position-41 figure img, .banner.figure-position-41 figure canvas, .banner.figure-position-41 figure iframe, .spotlight.figure-position-41 figure img, .spotlight.figure-position-41 figure canvas, .spotlight.figure-position-41 figure iframe, .wrapper.figure-position-41 figure img, .wrapper.figure-position-41 figure canvas, .wrapper.figure-position-41 figure iframe {
  object-position: 41% 59%; }

.banner.figure-position-42 figure img, .banner.figure-position-42 figure canvas, .banner.figure-position-42 figure iframe, .spotlight.figure-position-42 figure img, .spotlight.figure-position-42 figure canvas, .spotlight.figure-position-42 figure iframe, .wrapper.figure-position-42 figure img, .wrapper.figure-position-42 figure canvas, .wrapper.figure-position-42 figure iframe {
  object-position: 42% 58%; }

.banner.figure-position-43 figure img, .banner.figure-position-43 figure canvas, .banner.figure-position-43 figure iframe, .spotlight.figure-position-43 figure img, .spotlight.figure-position-43 figure canvas, .spotlight.figure-position-43 figure iframe, .wrapper.figure-position-43 figure img, .wrapper.figure-position-43 figure canvas, .wrapper.figure-position-43 figure iframe {
  object-position: 43% 57%; }

.banner.figure-position-44 figure img, .banner.figure-position-44 figure canvas, .banner.figure-position-44 figure iframe, .spotlight.figure-position-44 figure img, .spotlight.figure-position-44 figure canvas, .spotlight.figure-position-44 figure iframe, .wrapper.figure-position-44 figure img, .wrapper.figure-position-44 figure canvas, .wrapper.figure-position-44 figure iframe {
  object-position: 44% 56%; }

.banner.figure-position-45 figure img, .banner.figure-position-45 figure canvas, .banner.figure-position-45 figure iframe, .spotlight.figure-position-45 figure img, .spotlight.figure-position-45 figure canvas, .spotlight.figure-position-45 figure iframe, .wrapper.figure-position-45 figure img, .wrapper.figure-position-45 figure canvas, .wrapper.figure-position-45 figure iframe {
  object-position: 45% 55%; }

.banner.figure-position-46 figure img, .banner.figure-position-46 figure canvas, .banner.figure-position-46 figure iframe, .spotlight.figure-position-46 figure img, .spotlight.figure-position-46 figure canvas, .spotlight.figure-position-46 figure iframe, .wrapper.figure-position-46 figure img, .wrapper.figure-position-46 figure canvas, .wrapper.figure-position-46 figure iframe {
  object-position: 46% 54%; }

.banner.figure-position-47 figure img, .banner.figure-position-47 figure canvas, .banner.figure-position-47 figure iframe, .spotlight.figure-position-47 figure img, .spotlight.figure-position-47 figure canvas, .spotlight.figure-position-47 figure iframe, .wrapper.figure-position-47 figure img, .wrapper.figure-position-47 figure canvas, .wrapper.figure-position-47 figure iframe {
  object-position: 47% 53%; }

.banner.figure-position-48 figure img, .banner.figure-position-48 figure canvas, .banner.figure-position-48 figure iframe, .spotlight.figure-position-48 figure img, .spotlight.figure-position-48 figure canvas, .spotlight.figure-position-48 figure iframe, .wrapper.figure-position-48 figure img, .wrapper.figure-position-48 figure canvas, .wrapper.figure-position-48 figure iframe {
  object-position: 48% 52%; }

.banner.figure-position-49 figure img, .banner.figure-position-49 figure canvas, .banner.figure-position-49 figure iframe, .spotlight.figure-position-49 figure img, .spotlight.figure-position-49 figure canvas, .spotlight.figure-position-49 figure iframe, .wrapper.figure-position-49 figure img, .wrapper.figure-position-49 figure canvas, .wrapper.figure-position-49 figure iframe {
  object-position: 49% 51%; }

.banner.figure-position-50 figure img, .banner.figure-position-50 figure canvas, .banner.figure-position-50 figure iframe, .spotlight.figure-position-50 figure img, .spotlight.figure-position-50 figure canvas, .spotlight.figure-position-50 figure iframe, .wrapper.figure-position-50 figure img, .wrapper.figure-position-50 figure canvas, .wrapper.figure-position-50 figure iframe {
  object-position: 50% 50%; }

.banner.figure-position-51 figure img, .banner.figure-position-51 figure canvas, .banner.figure-position-51 figure iframe, .spotlight.figure-position-51 figure img, .spotlight.figure-position-51 figure canvas, .spotlight.figure-position-51 figure iframe, .wrapper.figure-position-51 figure img, .wrapper.figure-position-51 figure canvas, .wrapper.figure-position-51 figure iframe {
  object-position: 51% 49%; }

.banner.figure-position-52 figure img, .banner.figure-position-52 figure canvas, .banner.figure-position-52 figure iframe, .spotlight.figure-position-52 figure img, .spotlight.figure-position-52 figure canvas, .spotlight.figure-position-52 figure iframe, .wrapper.figure-position-52 figure img, .wrapper.figure-position-52 figure canvas, .wrapper.figure-position-52 figure iframe {
  object-position: 52% 48%; }

.banner.figure-position-53 figure img, .banner.figure-position-53 figure canvas, .banner.figure-position-53 figure iframe, .spotlight.figure-position-53 figure img, .spotlight.figure-position-53 figure canvas, .spotlight.figure-position-53 figure iframe, .wrapper.figure-position-53 figure img, .wrapper.figure-position-53 figure canvas, .wrapper.figure-position-53 figure iframe {
  object-position: 53% 47%; }

.banner.figure-position-54 figure img, .banner.figure-position-54 figure canvas, .banner.figure-position-54 figure iframe, .spotlight.figure-position-54 figure img, .spotlight.figure-position-54 figure canvas, .spotlight.figure-position-54 figure iframe, .wrapper.figure-position-54 figure img, .wrapper.figure-position-54 figure canvas, .wrapper.figure-position-54 figure iframe {
  object-position: 54% 46%; }

.banner.figure-position-55 figure img, .banner.figure-position-55 figure canvas, .banner.figure-position-55 figure iframe, .spotlight.figure-position-55 figure img, .spotlight.figure-position-55 figure canvas, .spotlight.figure-position-55 figure iframe, .wrapper.figure-position-55 figure img, .wrapper.figure-position-55 figure canvas, .wrapper.figure-position-55 figure iframe {
  object-position: 55% 45%; }

.banner.figure-position-56 figure img, .banner.figure-position-56 figure canvas, .banner.figure-position-56 figure iframe, .spotlight.figure-position-56 figure img, .spotlight.figure-position-56 figure canvas, .spotlight.figure-position-56 figure iframe, .wrapper.figure-position-56 figure img, .wrapper.figure-position-56 figure canvas, .wrapper.figure-position-56 figure iframe {
  object-position: 56% 44%; }

.banner.figure-position-57 figure img, .banner.figure-position-57 figure canvas, .banner.figure-position-57 figure iframe, .spotlight.figure-position-57 figure img, .spotlight.figure-position-57 figure canvas, .spotlight.figure-position-57 figure iframe, .wrapper.figure-position-57 figure img, .wrapper.figure-position-57 figure canvas, .wrapper.figure-position-57 figure iframe {
  object-position: 57% 43%; }

.banner.figure-position-58 figure img, .banner.figure-position-58 figure canvas, .banner.figure-position-58 figure iframe, .spotlight.figure-position-58 figure img, .spotlight.figure-position-58 figure canvas, .spotlight.figure-position-58 figure iframe, .wrapper.figure-position-58 figure img, .wrapper.figure-position-58 figure canvas, .wrapper.figure-position-58 figure iframe {
  object-position: 58% 42%; }

.banner.figure-position-59 figure img, .banner.figure-position-59 figure canvas, .banner.figure-position-59 figure iframe, .spotlight.figure-position-59 figure img, .spotlight.figure-position-59 figure canvas, .spotlight.figure-position-59 figure iframe, .wrapper.figure-position-59 figure img, .wrapper.figure-position-59 figure canvas, .wrapper.figure-position-59 figure iframe {
  object-position: 59% 41%; }

.banner.figure-position-60 figure img, .banner.figure-position-60 figure canvas, .banner.figure-position-60 figure iframe, .spotlight.figure-position-60 figure img, .spotlight.figure-position-60 figure canvas, .spotlight.figure-position-60 figure iframe, .wrapper.figure-position-60 figure img, .wrapper.figure-position-60 figure canvas, .wrapper.figure-position-60 figure iframe {
  object-position: 60% 40%; }

.banner.figure-position-61 figure img, .banner.figure-position-61 figure canvas, .banner.figure-position-61 figure iframe, .spotlight.figure-position-61 figure img, .spotlight.figure-position-61 figure canvas, .spotlight.figure-position-61 figure iframe, .wrapper.figure-position-61 figure img, .wrapper.figure-position-61 figure canvas, .wrapper.figure-position-61 figure iframe {
  object-position: 61% 39%; }

.banner.figure-position-62 figure img, .banner.figure-position-62 figure canvas, .banner.figure-position-62 figure iframe, .spotlight.figure-position-62 figure img, .spotlight.figure-position-62 figure canvas, .spotlight.figure-position-62 figure iframe, .wrapper.figure-position-62 figure img, .wrapper.figure-position-62 figure canvas, .wrapper.figure-position-62 figure iframe {
  object-position: 62% 38%; }

.banner.figure-position-63 figure img, .banner.figure-position-63 figure canvas, .banner.figure-position-63 figure iframe, .spotlight.figure-position-63 figure img, .spotlight.figure-position-63 figure canvas, .spotlight.figure-position-63 figure iframe, .wrapper.figure-position-63 figure img, .wrapper.figure-position-63 figure canvas, .wrapper.figure-position-63 figure iframe {
  object-position: 63% 37%; }

.banner.figure-position-64 figure img, .banner.figure-position-64 figure canvas, .banner.figure-position-64 figure iframe, .spotlight.figure-position-64 figure img, .spotlight.figure-position-64 figure canvas, .spotlight.figure-position-64 figure iframe, .wrapper.figure-position-64 figure img, .wrapper.figure-position-64 figure canvas, .wrapper.figure-position-64 figure iframe {
  object-position: 64% 36%; }

.banner.figure-position-65 figure img, .banner.figure-position-65 figure canvas, .banner.figure-position-65 figure iframe, .spotlight.figure-position-65 figure img, .spotlight.figure-position-65 figure canvas, .spotlight.figure-position-65 figure iframe, .wrapper.figure-position-65 figure img, .wrapper.figure-position-65 figure canvas, .wrapper.figure-position-65 figure iframe {
  object-position: 65% 35%; }

.banner.figure-position-66 figure img, .banner.figure-position-66 figure canvas, .banner.figure-position-66 figure iframe, .spotlight.figure-position-66 figure img, .spotlight.figure-position-66 figure canvas, .spotlight.figure-position-66 figure iframe, .wrapper.figure-position-66 figure img, .wrapper.figure-position-66 figure canvas, .wrapper.figure-position-66 figure iframe {
  object-position: 66% 34%; }

.banner.figure-position-67 figure img, .banner.figure-position-67 figure canvas, .banner.figure-position-67 figure iframe, .spotlight.figure-position-67 figure img, .spotlight.figure-position-67 figure canvas, .spotlight.figure-position-67 figure iframe, .wrapper.figure-position-67 figure img, .wrapper.figure-position-67 figure canvas, .wrapper.figure-position-67 figure iframe {
  object-position: 67% 33%; }

.banner.figure-position-68 figure img, .banner.figure-position-68 figure canvas, .banner.figure-position-68 figure iframe, .spotlight.figure-position-68 figure img, .spotlight.figure-position-68 figure canvas, .spotlight.figure-position-68 figure iframe, .wrapper.figure-position-68 figure img, .wrapper.figure-position-68 figure canvas, .wrapper.figure-position-68 figure iframe {
  object-position: 68% 32%; }

.banner.figure-position-69 figure img, .banner.figure-position-69 figure canvas, .banner.figure-position-69 figure iframe, .spotlight.figure-position-69 figure img, .spotlight.figure-position-69 figure canvas, .spotlight.figure-position-69 figure iframe, .wrapper.figure-position-69 figure img, .wrapper.figure-position-69 figure canvas, .wrapper.figure-position-69 figure iframe {
  object-position: 69% 31%; }

.banner.figure-position-70 figure img, .banner.figure-position-70 figure canvas, .banner.figure-position-70 figure iframe, .spotlight.figure-position-70 figure img, .spotlight.figure-position-70 figure canvas, .spotlight.figure-position-70 figure iframe, .wrapper.figure-position-70 figure img, .wrapper.figure-position-70 figure canvas, .wrapper.figure-position-70 figure iframe {
  object-position: 70% 30%; }

.banner.figure-position-71 figure img, .banner.figure-position-71 figure canvas, .banner.figure-position-71 figure iframe, .spotlight.figure-position-71 figure img, .spotlight.figure-position-71 figure canvas, .spotlight.figure-position-71 figure iframe, .wrapper.figure-position-71 figure img, .wrapper.figure-position-71 figure canvas, .wrapper.figure-position-71 figure iframe {
  object-position: 71% 29%; }

.banner.figure-position-72 figure img, .banner.figure-position-72 figure canvas, .banner.figure-position-72 figure iframe, .spotlight.figure-position-72 figure img, .spotlight.figure-position-72 figure canvas, .spotlight.figure-position-72 figure iframe, .wrapper.figure-position-72 figure img, .wrapper.figure-position-72 figure canvas, .wrapper.figure-position-72 figure iframe {
  object-position: 72% 28%; }

.banner.figure-position-73 figure img, .banner.figure-position-73 figure canvas, .banner.figure-position-73 figure iframe, .spotlight.figure-position-73 figure img, .spotlight.figure-position-73 figure canvas, .spotlight.figure-position-73 figure iframe, .wrapper.figure-position-73 figure img, .wrapper.figure-position-73 figure canvas, .wrapper.figure-position-73 figure iframe {
  object-position: 73% 27%; }

.banner.figure-position-74 figure img, .banner.figure-position-74 figure canvas, .banner.figure-position-74 figure iframe, .spotlight.figure-position-74 figure img, .spotlight.figure-position-74 figure canvas, .spotlight.figure-position-74 figure iframe, .wrapper.figure-position-74 figure img, .wrapper.figure-position-74 figure canvas, .wrapper.figure-position-74 figure iframe {
  object-position: 74% 26%; }

.banner.figure-position-75 figure img, .banner.figure-position-75 figure canvas, .banner.figure-position-75 figure iframe, .spotlight.figure-position-75 figure img, .spotlight.figure-position-75 figure canvas, .spotlight.figure-position-75 figure iframe, .wrapper.figure-position-75 figure img, .wrapper.figure-position-75 figure canvas, .wrapper.figure-position-75 figure iframe {
  object-position: 75% 25%; }

.banner.figure-position-76 figure img, .banner.figure-position-76 figure canvas, .banner.figure-position-76 figure iframe, .spotlight.figure-position-76 figure img, .spotlight.figure-position-76 figure canvas, .spotlight.figure-position-76 figure iframe, .wrapper.figure-position-76 figure img, .wrapper.figure-position-76 figure canvas, .wrapper.figure-position-76 figure iframe {
  object-position: 76% 24%; }

.banner.figure-position-77 figure img, .banner.figure-position-77 figure canvas, .banner.figure-position-77 figure iframe, .spotlight.figure-position-77 figure img, .spotlight.figure-position-77 figure canvas, .spotlight.figure-position-77 figure iframe, .wrapper.figure-position-77 figure img, .wrapper.figure-position-77 figure canvas, .wrapper.figure-position-77 figure iframe {
  object-position: 77% 23%; }

.banner.figure-position-78 figure img, .banner.figure-position-78 figure canvas, .banner.figure-position-78 figure iframe, .spotlight.figure-position-78 figure img, .spotlight.figure-position-78 figure canvas, .spotlight.figure-position-78 figure iframe, .wrapper.figure-position-78 figure img, .wrapper.figure-position-78 figure canvas, .wrapper.figure-position-78 figure iframe {
  object-position: 78% 22%; }

.banner.figure-position-79 figure img, .banner.figure-position-79 figure canvas, .banner.figure-position-79 figure iframe, .spotlight.figure-position-79 figure img, .spotlight.figure-position-79 figure canvas, .spotlight.figure-position-79 figure iframe, .wrapper.figure-position-79 figure img, .wrapper.figure-position-79 figure canvas, .wrapper.figure-position-79 figure iframe {
  object-position: 79% 21%; }

.banner.figure-position-80 figure img, .banner.figure-position-80 figure canvas, .banner.figure-position-80 figure iframe, .spotlight.figure-position-80 figure img, .spotlight.figure-position-80 figure canvas, .spotlight.figure-position-80 figure iframe, .wrapper.figure-position-80 figure img, .wrapper.figure-position-80 figure canvas, .wrapper.figure-position-80 figure iframe {
  object-position: 80% 20%; }

.banner.figure-position-81 figure img, .banner.figure-position-81 figure canvas, .banner.figure-position-81 figure iframe, .spotlight.figure-position-81 figure img, .spotlight.figure-position-81 figure canvas, .spotlight.figure-position-81 figure iframe, .wrapper.figure-position-81 figure img, .wrapper.figure-position-81 figure canvas, .wrapper.figure-position-81 figure iframe {
  object-position: 81% 19%; }

.banner.figure-position-82 figure img, .banner.figure-position-82 figure canvas, .banner.figure-position-82 figure iframe, .spotlight.figure-position-82 figure img, .spotlight.figure-position-82 figure canvas, .spotlight.figure-position-82 figure iframe, .wrapper.figure-position-82 figure img, .wrapper.figure-position-82 figure canvas, .wrapper.figure-position-82 figure iframe {
  object-position: 82% 18%; }

.banner.figure-position-83 figure img, .banner.figure-position-83 figure canvas, .banner.figure-position-83 figure iframe, .spotlight.figure-position-83 figure img, .spotlight.figure-position-83 figure canvas, .spotlight.figure-position-83 figure iframe, .wrapper.figure-position-83 figure img, .wrapper.figure-position-83 figure canvas, .wrapper.figure-position-83 figure iframe {
  object-position: 83% 17%; }

.banner.figure-position-84 figure img, .banner.figure-position-84 figure canvas, .banner.figure-position-84 figure iframe, .spotlight.figure-position-84 figure img, .spotlight.figure-position-84 figure canvas, .spotlight.figure-position-84 figure iframe, .wrapper.figure-position-84 figure img, .wrapper.figure-position-84 figure canvas, .wrapper.figure-position-84 figure iframe {
  object-position: 84% 16%; }

.banner.figure-position-85 figure img, .banner.figure-position-85 figure canvas, .banner.figure-position-85 figure iframe, .spotlight.figure-position-85 figure img, .spotlight.figure-position-85 figure canvas, .spotlight.figure-position-85 figure iframe, .wrapper.figure-position-85 figure img, .wrapper.figure-position-85 figure canvas, .wrapper.figure-position-85 figure iframe {
  object-position: 85% 15%; }

.banner.figure-position-86 figure img, .banner.figure-position-86 figure canvas, .banner.figure-position-86 figure iframe, .spotlight.figure-position-86 figure img, .spotlight.figure-position-86 figure canvas, .spotlight.figure-position-86 figure iframe, .wrapper.figure-position-86 figure img, .wrapper.figure-position-86 figure canvas, .wrapper.figure-position-86 figure iframe {
  object-position: 86% 14%; }

.banner.figure-position-87 figure img, .banner.figure-position-87 figure canvas, .banner.figure-position-87 figure iframe, .spotlight.figure-position-87 figure img, .spotlight.figure-position-87 figure canvas, .spotlight.figure-position-87 figure iframe, .wrapper.figure-position-87 figure img, .wrapper.figure-position-87 figure canvas, .wrapper.figure-position-87 figure iframe {
  object-position: 87% 13%; }

.banner.figure-position-88 figure img, .banner.figure-position-88 figure canvas, .banner.figure-position-88 figure iframe, .spotlight.figure-position-88 figure img, .spotlight.figure-position-88 figure canvas, .spotlight.figure-position-88 figure iframe, .wrapper.figure-position-88 figure img, .wrapper.figure-position-88 figure canvas, .wrapper.figure-position-88 figure iframe {
  object-position: 88% 12%; }

.banner.figure-position-89 figure img, .banner.figure-position-89 figure canvas, .banner.figure-position-89 figure iframe, .spotlight.figure-position-89 figure img, .spotlight.figure-position-89 figure canvas, .spotlight.figure-position-89 figure iframe, .wrapper.figure-position-89 figure img, .wrapper.figure-position-89 figure canvas, .wrapper.figure-position-89 figure iframe {
  object-position: 89% 11%; }

.banner.figure-position-90 figure img, .banner.figure-position-90 figure canvas, .banner.figure-position-90 figure iframe, .spotlight.figure-position-90 figure img, .spotlight.figure-position-90 figure canvas, .spotlight.figure-position-90 figure iframe, .wrapper.figure-position-90 figure img, .wrapper.figure-position-90 figure canvas, .wrapper.figure-position-90 figure iframe {
  object-position: 90% 10%; }

.banner.figure-position-91 figure img, .banner.figure-position-91 figure canvas, .banner.figure-position-91 figure iframe, .spotlight.figure-position-91 figure img, .spotlight.figure-position-91 figure canvas, .spotlight.figure-position-91 figure iframe, .wrapper.figure-position-91 figure img, .wrapper.figure-position-91 figure canvas, .wrapper.figure-position-91 figure iframe {
  object-position: 91% 9%; }

.banner.figure-position-92 figure img, .banner.figure-position-92 figure canvas, .banner.figure-position-92 figure iframe, .spotlight.figure-position-92 figure img, .spotlight.figure-position-92 figure canvas, .spotlight.figure-position-92 figure iframe, .wrapper.figure-position-92 figure img, .wrapper.figure-position-92 figure canvas, .wrapper.figure-position-92 figure iframe {
  object-position: 92% 8%; }

.banner.figure-position-93 figure img, .banner.figure-position-93 figure canvas, .banner.figure-position-93 figure iframe, .spotlight.figure-position-93 figure img, .spotlight.figure-position-93 figure canvas, .spotlight.figure-position-93 figure iframe, .wrapper.figure-position-93 figure img, .wrapper.figure-position-93 figure canvas, .wrapper.figure-position-93 figure iframe {
  object-position: 93% 7%; }

.banner.figure-position-94 figure img, .banner.figure-position-94 figure canvas, .banner.figure-position-94 figure iframe, .spotlight.figure-position-94 figure img, .spotlight.figure-position-94 figure canvas, .spotlight.figure-position-94 figure iframe, .wrapper.figure-position-94 figure img, .wrapper.figure-position-94 figure canvas, .wrapper.figure-position-94 figure iframe {
  object-position: 94% 6%; }

.banner.figure-position-95 figure img, .banner.figure-position-95 figure canvas, .banner.figure-position-95 figure iframe, .spotlight.figure-position-95 figure img, .spotlight.figure-position-95 figure canvas, .spotlight.figure-position-95 figure iframe, .wrapper.figure-position-95 figure img, .wrapper.figure-position-95 figure canvas, .wrapper.figure-position-95 figure iframe {
  object-position: 95% 5%; }

.banner.figure-position-96 figure img, .banner.figure-position-96 figure canvas, .banner.figure-position-96 figure iframe, .spotlight.figure-position-96 figure img, .spotlight.figure-position-96 figure canvas, .spotlight.figure-position-96 figure iframe, .wrapper.figure-position-96 figure img, .wrapper.figure-position-96 figure canvas, .wrapper.figure-position-96 figure iframe {
  object-position: 96% 4%; }

.banner.figure-position-97 figure img, .banner.figure-position-97 figure canvas, .banner.figure-position-97 figure iframe, .spotlight.figure-position-97 figure img, .spotlight.figure-position-97 figure canvas, .spotlight.figure-position-97 figure iframe, .wrapper.figure-position-97 figure img, .wrapper.figure-position-97 figure canvas, .wrapper.figure-position-97 figure iframe {
  object-position: 97% 3%; }

.banner.figure-position-98 figure img, .banner.figure-position-98 figure canvas, .banner.figure-position-98 figure iframe, .spotlight.figure-position-98 figure img, .spotlight.figure-position-98 figure canvas, .spotlight.figure-position-98 figure iframe, .wrapper.figure-position-98 figure img, .wrapper.figure-position-98 figure canvas, .wrapper.figure-position-98 figure iframe {
  object-position: 98% 2%; }

.banner.figure-position-99 figure img, .banner.figure-position-99 figure canvas, .banner.figure-position-99 figure iframe, .spotlight.figure-position-99 figure img, .spotlight.figure-position-99 figure canvas, .spotlight.figure-position-99 figure iframe, .wrapper.figure-position-99 figure img, .wrapper.figure-position-99 figure canvas, .wrapper.figure-position-99 figure iframe {
  object-position: 99% 1%; }

.banner.figure-position-100 figure img, .banner.figure-position-100 figure canvas, .banner.figure-position-100 figure iframe, .spotlight.figure-position-100 figure img, .spotlight.figure-position-100 figure canvas, .spotlight.figure-position-100 figure iframe, .wrapper.figure-position-100 figure img, .wrapper.figure-position-100 figure canvas, .wrapper.figure-position-100 figure iframe {
  object-position: 100% 0%; }

.banner.font-size-double .content, .spotlight.font-size-double .content, .wrapper.font-size-double .content {
  font-size: 200%; }

figure > blockquote {
  padding: 2rem;
  font-size: 160%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
  text-align: center;
  border-left: none; }

figure.html {
  height: 100% !important; }

@media screen and (max-width: 736px) {
  figure.figure-inline,
  figure.figure-inline.left,
  figure.figure-inline.right {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 2rem 0 !important;
    top: 0;
    display: block; }
  figure.figure-inline > a {
    display: block;
    width: 100%; }
  figure.figure-inline img {
    width: 100%;
    height: auto; } }

figure.figure-inline {
  margin-block: 0 var(--size_element_margin); }

figure.figure-inline figcaption {
  margin-top: 0.75rem; }

figure.figure-inline + figure.figure-inline {
  clear: both;
  margin-top: var(--size_element_margin); }

/* Pick the element that wraps markdown content */
.wrapper > .content {
  display: flow-root; }

@media (orientation: portrait) {
  figure.figure-inline.left,
  figure.figure-inline.right,
  figure.figure-inline {
    float: none !important;
    clear: both;
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto;
    margin: 1.25rem 0;
    top: 0; }
  figure.figure-inline > a,
  figure.figure-inline img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 80vh; } }

/*
  QuantaLumin SCSS
  SCSS bode for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Wrapper */
#wrapper {
  background: inherit;
  width: 100%;
  overflow-x: hidden; }
  #wrapper > .invert p, #wrapper > .invert li, #wrapper > .invert td {
    color: var(--invert_fg); }
  #wrapper > .invert input, #wrapper > .invert select, #wrapper > .invert textarea {
    color: var(--invert_fg_bold); }
  #wrapper > .invert a {
    color: var(--invert_fg_bold); }
    #wrapper > .invert a:hover {
      color: var(--invert_accent); }
      #wrapper > .invert a:hover i, #wrapper > .invert a:hover em, #wrapper > .invert a:hover b, #wrapper > .invert a:hover strong, #wrapper > .invert a:hover h1, #wrapper > .invert a:hover h2, #wrapper > .invert a:hover h3, #wrapper > .invert a:hover h4, #wrapper > .invert a:hover h5, #wrapper > .invert a:hover h6, #wrapper > .invert a:hover p, #wrapper > .invert a:hover span {
        color: var(--invert_accent); }
    #wrapper > .invert a h1, #wrapper > .invert a h2, #wrapper > .invert a h3, #wrapper > .invert a h4, #wrapper > .invert a h5, #wrapper > .invert a h6, #wrapper > .invert a span, #wrapper > .invert a b, #wrapper > .invert a strong, #wrapper > .invert a em, #wrapper > .invert a i, #wrapper > .invert a p, #wrapper > .invert a span {
      transition: color var(--duration_transition) ease-in-out;
      color: var(--invert_fg_bold); }
  #wrapper > .invert h1, #wrapper > .invert h2, #wrapper > .invert h3, #wrapper > .invert h4, #wrapper > .invert h5, #wrapper > .invert h6, #wrapper > .invert span, #wrapper > .invert b, #wrapper > .invert strong, #wrapper > .invert em, #wrapper > .invert i {
    color: var(--invert_fg_bold); }
  #wrapper > .invert blockquote {
    border-left-color: var(--invert_border); }
  #wrapper > .invert code {
    background: var(--invert_border_bg);
    border-color: var(--invert_border); }
  #wrapper > .invert hr {
    border-bottom-color: var(--invert_border); }
  #wrapper > .invert ul.alt li {
    border-top-color: var(--invert_border); }
  #wrapper > .invert header p {
    color: var(--invert_fg_light); }
  #wrapper > .invert table tbody tr {
    border-color: var(--invert_border); }
    #wrapper > .invert table tbody tr:nth-child(2n + 1) {
      background-color: var(--invert_border_bg); }
    #wrapper > .invert table tbody tr.alt {
      background-color: var(--invert_border_bg) !important; }
  #wrapper > .invert table th {
    color: var(--invert_fg_bold); }
  #wrapper > .invert table thead {
    border-bottom-color: var(--invert_border); }
  #wrapper > .invert table tfoot {
    border-top-color: var(--invert_border); }
  #wrapper > .invert table.alt tbody tr td {
    border-color: var(--invert_border); }
  #wrapper > .invert table.uniform tbody tr:nth-child(2n + 1) {
    background-color: transparent; }
  #wrapper > .invert .banner figure {
    background-color: var(--fig_bg); }
  #wrapper > .invert .banner.style4 > figure {
    border-color: var(--invert_border);
    background-color: var(--invert_border);
    border-width: var(--size_border_width); }
    #wrapper > .invert .banner.style4 > figure:before {
      background-image: url("data:image/svg+xml;charset=utf8,str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace('<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"64px\" height=\"32px\" viewBox=\"0 0 64 32\" zoomAndPan=\"disable\"><style>rect {fill: transparent; stroke: var(--invert_border); stroke-width: var(--size_border_width); }</style><rect rx=\"4\" ry=\"4\" x=\"11\" y=\"12\" width=\"42\" height=\"8\" vector-effect=\"non-scaling-stroke\" /></svg>', '\"', \"'\"), \"%\", \"%25\"), \"<\", \"%3C\"), \">\", \"%3E\"), \"&\", \"%26\"), \"#\", \"%23\"), \"{\", \"%7B\"), \"}\", \"%7D\"), \";\", \"%3B\")");
      border-color: var(--invert_border);
      width: calc(100% + var(--size_border_width) * 2);
      margin-left: calc(var(--size_border_width) * -1); }
    #wrapper > .invert .banner.style4 > figure:after {
      background-image: url("data:image/svg+xml;charset=utf8,str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace('<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"64px\" height=\"32px\" viewBox=\"0 0 64 32\" zoomAndPan=\"disable\"><style>circle {fill: transparent; stroke: var(--invert_border); stroke-width: var(--size_border_width); }</style><circle cx=\"32\" cy=\"16\" r=\"14\" vector-effect=\"non-scaling-stroke\" /></svg>', '\"', \"'\"), \"%\", \"%25\"), \"<\", \"%3C\"), \">\", \"%3E\"), \"&\", \"%26\"), \"#\", \"%23\"), \"{\", \"%7B\"), \"}\", \"%7D\"), \";\", \"%3B\")");
      border-color: var(--invert_border);
      width: calc(100% + var(--size_border_width) * 2);
      margin-left: calc(var(--size_border_width) * -1); }
  #wrapper > .invert .banner.style4.android > figure:after {
    background-image: url("data:image/svg+xml;charset=utf8,str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace('<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"64px\" height=\"32px\" viewBox=\"0 0 64 32\" zoomAndPan=\"disable\"><style>rect {fill: transparent; stroke: var(--invert_border); stroke-width: var(--size_border_width); }</style><rect rx=\"4\" ry=\"4\" x=\"6\" y=\"4\" width=\"52\" height=\"24\" vector-effect=\"non-scaling-stroke\" /></svg>', '\"', \"'\"), \"%\", \"%25\"), \"<\", \"%3C\"), \">\", \"%3E\"), \"&\", \"%26\"), \"#\", \"%23\"), \"{\", \"%7B\"), \"}\", \"%7D\"), \";\", \"%3B\")"); }
  #wrapper > .invert .spotlight figure, #wrapper > .invert .spotlight canvas {
    background-color: rgba(239, 239, 239, 0.225);
    background-color: rgba(255, 255, 255, 0.125); }
  #wrapper > .invert .spotlight.style3 figure, #wrapper > .invert .spotlight.style3 canvas {
    border-color: var(--invert_border);
    background-color: var(--invert_border);
    border-width: var(--size_border_width); }
    #wrapper > .invert .spotlight.style3 figure:before, #wrapper > .invert .spotlight.style3 canvas:before {
      background-image: url("data:image/svg+xml;charset=utf8,str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace('<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"64px\" height=\"32px\" viewBox=\"0 0 64 32\" zoomAndPan=\"disable\"><style>rect {fill: transparent; stroke: var(--invert_border); stroke-width: var(--size_border_width); }</style><rect rx=\"4\" ry=\"4\" x=\"11\" y=\"12\" width=\"42\" height=\"8\" vector-effect=\"non-scaling-stroke\" /></svg>', '\"', \"'\"), \"%\", \"%25\"), \"<\", \"%3C\"), \">\", \"%3E\"), \"&\", \"%26\"), \"#\", \"%23\"), \"{\", \"%7B\"), \"}\", \"%7D\"), \";\", \"%3B\")");
      border-color: var(--invert_border);
      width: calc(100% + var(--size_border_width) * 2);
      margin-left: calc(var(--size_border_width) * -1); }
    #wrapper > .invert .spotlight.style3 figure:after, #wrapper > .invert .spotlight.style3 canvas:after {
      background-image: url("data:image/svg+xml;charset=utf8,str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace('<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"64px\" height=\"32px\" viewBox=\"0 0 64 32\" zoomAndPan=\"disable\"><style>circle {fill: transparent; stroke: var(--invert_border); stroke-width: var(--size_border_width); }</style><circle cx=\"32\" cy=\"16\" r=\"14\" vector-effect=\"non-scaling-stroke\" /></svg>', '\"', \"'\"), \"%\", \"%25\"), \"<\", \"%3C\"), \">\", \"%3E\"), \"&\", \"%26\"), \"#\", \"%23\"), \"{\", \"%7B\"), \"}\", \"%7D\"), \";\", \"%3B\")");
      border-color: var(--invert_border);
      width: calc(100% + var(--size_border_width) * 2);
      margin-left: calc(var(--size_border_width) * -1); }
  #wrapper > .invert .spotlight.style3.android figure:after, #wrapper > .invert .spotlight.style3.android canvas:after {
    background-image: url("data:image/svg+xml;charset=utf8,str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace(str-replace('<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"64px\" height=\"32px\" viewBox=\"0 0 64 32\" zoomAndPan=\"disable\"><style>rect {fill: transparent; stroke: var(--invert_border); stroke-width: var(--size_border_width); }</style><rect rx=\"4\" ry=\"4\" x=\"6\" y=\"4\" width=\"52\" height=\"24\" vector-effect=\"non-scaling-stroke\" /></svg>', '\"', \"'\"), \"%\", \"%25\"), \"<\", \"%3C\"), \">\", \"%3E\"), \"&\", \"%26\"), \"#\", \"%23\"), \"{\", \"%7B\"), \"}\", \"%7D\"), \";\", \"%3B\")"); }
  #wrapper > .invert .gallery article figure {
    background-color: rgba(0, 0, 0, 0.125); }
  #wrapper > .invert .items.style1 > * {
    border-color: var(--invert_border); }
  #wrapper > .invert .items.style2 {
    border-color: var(--invert_border); }
    #wrapper > .invert .items.style2 > * {
      border-color: var(--invert_border); }
  #wrapper > .invert .index > * {
    border-top-color: var(--invert_border); }
  #wrapper > .color1 {
    background-color: var(--color1); }
  #wrapper > .color2 {
    background-color: var(--color2); }
  #wrapper > .color3 {
    background-color: var(--color3); }
  #wrapper > .color4 {
    background-color: var(--color4); }
  #wrapper > .color5 {
    background-color: var(--color5); }
  #wrapper > .color6 {
    background-color: var(--color6); }
  #wrapper > .color7 {
    background-color: var(--color7); }
  #wrapper.divided > * {
    box-shadow: inset 0 1px 0 0 var(--border_alt); }
    #wrapper.divided > *:first-child {
      box-shadow: none !important; }
  #wrapper.divided > .invert {
    box-shadow: inset 0 1px 0 0 var(--invert_border_alt); }
    #wrapper.divided > .invert:first-child {
      box-shadow: none !important; }

/*
  QuantaLumin SCSS
  SCSS bode for scientific research and communication
  Copyright © QuantaLumin 2025
*/
header {
  grid-area: header; }

main {
  grid-area: main; }

#aside {
  grid-area: aside; }

#article-nav {
  grid-area: nav; }

footer {
  grid-area: footer; }

@media screen and (max-width: 736px) {
  .grid-container {
    display: grid;
    grid-auto-columns: 100vw;
    grid-template-areas: 'header' 'main' 'nav' 'footer'; } }

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
header.center {
  justify-content: center; }

header.left {
  justify-content: left; }

header.right {
  justify-content: right; }

header.space-evenly {
  justify-content: space-evenly; }

header {
  background: var(--header_bg);
  padding: calc(var(--size_padding-default) * var(--size_header_multiplier));
  margin: var(--header_margin);
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: center; }
  header ul.actions li {
    padding: 0 0.6rem; }
    header ul.actions li a {
      float: left; }
      header ul.actions li a span {
        margin: 0;
        display: inline-block;
        align-items: center;
        text-align: center;
        vertical-align: middle; }
  @media screen and (orientation: portrait) {
    header {
      flex-direction: column;
      text-align: center; }
      header li {
        padding: 2px; }
      header .content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 100%;
        max-width: 100%; } }
  header li {
    display: flex;
    align-items: center;
    margin: 0.1rem; }
  header ul {
    margin: 0.4rem !important; }
  header .logo {
    text-align: left;
    overflow: visible; }
    header .logo svg, header .logo img {
      max-width: var(--logo_max_width);
      min-width: var(--logo_min_width);
      height: 100%; }

header.style1 .logo {
  order: 1; }

header.style1 .menu {
  order: 2; }

header.style1 .altmenu {
  order: 3; }

header.style1 li {
  float: left; }

header.style1 li a {
  text-align: center;
  text-decoration: none; }

header.style1 ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: center; }

header.style1 li {
  list-style-type: none;
  display: flex;
  flex-flow: wrap column;
  justify-content: center;
  align-items: center; }

@media screen and (orientation: portrait) {
  header.style1 .menu {
    order: 1; }
  header.style1 .altmenu {
    order: 3; }
  header.style1 .logo {
    order: -1;
    width: 100vw;
    text-align: center;
    overflow: visible; }
    header.style1 .logo svg, header.style1 .logo img {
      height: auto;
      max-width: var(--logo_portrait_max_width);
      min-width: var(--logo_portrait_min_width); } }

header.style2 {
  display: grid;
  grid-template-areas: 'logo menu' 'logo altmenu'; }
  header.style2 .logo {
    grid-area: logo; }
  header.style2 .menu {
    grid-area: menu; }
  header.style2 .altmenu {
    grid-area: altmenu; }
  header.style2 li {
    float: left; }
  header.style2 li a {
    text-align: center;
    text-decoration: none; }
  header.style2 ul {
    display: flex;
    flex-flow: row wrap;
    justify-content: center; }
  header.style2 li {
    list-style-type: none;
    display: flex;
    flex-flow: wrap row;
    justify-content: center;
    align-items: center; }
  @media screen and (orientation: portrait) {
    header.style2 .menu {
      order: 1;
      grid-column: 1;
      grid-row: 2; }
    header.style2 .altmenu {
      order: 3;
      grid-column: 1;
      grid-row: 3; }
    header.style2 .logo {
      order: -1;
      grid-column: 1;
      grid-row: 1;
      width: 100vw;
      text-align: center;
      overflow: visible; }
      header.style2 .logo svg, header.style2 .logo img {
        height: auto;
        max-width: var(--logo_portrait_max_width);
        min-width: var(--logo_portrait_min_width); } }
header.style3 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0 2rem; }
  header.style3 .logo {
    flex: 0 0 auto;
    text-align: left;
    padding: 1rem; }
    header.style3 .logo svg, header.style3 .logo img {
      max-width: var(--logo_min_width);
      min-width: calc(var(--logo_min_width) * 0.8);
      height: auto; }
  header.style3 .menu {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: center; }
    header.style3 .menu ul {
      display: flex;
      flex-flow: row wrap;
      justify-content: center;
      margin: 0;
      padding: 0; }
      header.style3 .menu ul li {
        list-style: none;
        margin: 0 1rem; }
        header.style3 .menu ul li a {
          text-decoration: none;
          text-align: center;
          font-size: 150%;
          font-weight: 600;
          padding: 0.5rem 0.8rem;
          transition: all 0.2s ease; }
          header.style3 .menu ul li a:hover {
            opacity: 0.85; }
  header.style3 .altmenu {
    flex: 0 0 auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.8rem;
    padding-right: 1rem; }
  @media screen and (orientation: portrait) {
    header.style3 {
      position: relative;
      flex-direction: column;
      text-align: center;
      padding: 1rem 0; }
      header.style3 .logo {
        order: 1;
        width: 100vw;
        text-align: center;
        padding: 0; }
        header.style3 .logo svg, header.style3 .logo img {
          height: auto;
          max-width: var(--logo_portrait_max_width);
          min-width: var(--logo_portrait_min_width); }
      header.style3 .menu {
        position: relative;
        left: auto;
        transform: none;
        order: 2;
        width: 100%;
        justify-content: center; }
        header.style3 .menu ul li a {
          font-size: 1rem;
          padding: 0.4rem 0.6rem; }
      header.style3 .altmenu {
        order: 3;
        width: 100%;
        justify-content: center;
        padding: 0; } }
#aside {
  background: var(--aside_bg);
  padding: calc(var(--size_padding-default) * var(--size_aside_multiplier));
  margin: var(--aside_margin); }
  #aside ul.actions li {
    padding: 0 0.6rem; }
    #aside ul.actions li a {
      float: left; }
      #aside ul.actions li a span {
        margin: 0;
        display: inline-block;
        align-items: center;
        text-align: center;
        vertical-align: middle; }
  @media screen and (orientation: portrait) {
    #aside {
      flex-direction: column;
      text-align: center; }
      #aside li {
        padding: 2px; }
      #aside .content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 100%;
        max-width: 100%; } }
main {
  background: var(--bg);
  padding: calc(var(--size_padding-default) * var(--size_multiplier));
  margin: var(--margin); }
  main ul.actions li {
    padding: 0 0.6rem; }
    main ul.actions li a {
      float: left; }
      main ul.actions li a span {
        margin: 0;
        display: inline-block;
        align-items: center;
        text-align: center;
        vertical-align: middle; }
  @media screen and (orientation: portrait) {
    main {
      flex-direction: column;
      text-align: center; }
      main li {
        padding: 2px; }
      main .content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 100%;
        max-width: 100%; } }
#article-nav {
  background: var(--article-nav_bg);
  padding: calc(var(--size_padding-default) * var(--size_article-nav_multiplier));
  margin: var(--article-nav_margin); }
  #article-nav ul.actions li {
    padding: 0 0.6rem; }
    #article-nav ul.actions li a {
      float: left; }
      #article-nav ul.actions li a span {
        margin: 0;
        display: inline-block;
        align-items: center;
        text-align: center;
        vertical-align: middle; }
  @media screen and (orientation: portrait) {
    #article-nav {
      flex-direction: column;
      text-align: center; }
      #article-nav li {
        padding: 2px; }
      #article-nav .content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 100%;
        max-width: 100%; } }
footer {
  background: var(--footer_bg);
  padding: calc(var(--size_padding-default) * var(--size_footer_multiplier));
  margin: var(--footer_margin);
  text-align: center; }
  footer ul.actions li {
    padding: 0 0.6rem; }
    footer ul.actions li a {
      float: left; }
      footer ul.actions li a span {
        margin: 0;
        display: inline-block;
        align-items: center;
        text-align: center;
        vertical-align: middle; }
  @media screen and (orientation: portrait) {
    footer {
      flex-direction: column;
      text-align: center; }
      footer li {
        padding: 2px; }
      footer .content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 100%;
        max-width: 100%; } }
  footer ul {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    list-style-type: none;
    padding-left: 5vw;
    padding-right: 5vw; }
  footer .copyright {
    padding: 0; }
  footer .icon li a {
    display: inline-block;
    float: left; }
  footer .icon a {
    text-decoration: none; }
  footer .icon svg {
    display: block;
    padding: 0.5rem;
    height: 2.8rem;
    width: 100%; }
  footer .columns {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: center; }
    footer .columns li {
      display: inline; }
    @media screen and (orientation: portrait) {
      footer .columns {
        flex-direction: column;
        text-align: center; }
        footer .columns ul li {
          margin-left: auto;
          text-align: center;
          align-items: center; } }
header ul {
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 1rem; }

@media screen and (orientation: landscape) {
  header.fixed {
    position: fixed;
    z-index: 10;
    width: 100%;
    justify-content: center;
    align-items: center; }
  header.right {
    left: 50%;
    width: 50%; } }

header.logo-hidden > .logo {
  display: none; }

/* _footer.scss */
footer {
  /* tweak these to taste */
  --footer-col-min: 14rem;
  --footer-col-max: 20rem;
  font-size: 80%;
  /* ====== Columns ====== */
  /* ====== Address block ====== */
  /* ====== Bottom bar ====== */ }
  footer .footer-grid {
    display: grid;
    gap: var(--size_padding-medium);
    align-items: start;
    /* Desktop+: auto-fit columns, tracks don't stretch forever, and the whole
       grid of tracks is centered. This makes 1 or 2 menus center automatically. */
    grid-template-columns: repeat(auto-fit, minmax(var(--footer-col-min), var(--footer-col-max)));
    justify-content: center;
    /* Optional: cap to 4 columns so auto-fit doesn't create 5–6 tiny columns. */
    max-width: calc((var(--footer-col-max) * 4) + (var(--size_padding-medium) * 3));
    margin-inline: auto;
    /* ====== <= large: force a clean 3-column layout ======
       - Keep group centered.
       - Center a single "orphan" on the last row (3 & 1 case).
       - Center the newsletter in the middle column (as before). */
    /* ====== <= medium: two columns ======
       Newsletter spans and stays centered. */
    /* ====== <= small: single column ======
       Newsletter goes full width, left-aligned labels/fields. */
    /* Force single column in portrait (regardless of width) */
    /* ====== Single-column behaviour (legacy-safe) ====== */
    /* Harmless everywhere: if there’s only one .footer-col, span all tracks.
       Note: this alone won’t remove the container max-width cap. */
    /* Fallback: add this class in your markup when there's only one column.
       It removes the 4-col cap and makes the column truly full-width. */ }
    @media screen and (max-width: 1280px) {
      footer .footer-grid {
        grid-template-columns: repeat(auto-fit, minmax(var(--footer-col-min), var(--footer-col-max)));
        justify-content: center;
        /* 3 & 1 → center the 1 by moving it to column 2 */
        /* 3 & 2 → center the pair across the row (columns 1 and 3) */
        /* Newsletter stays in the middle column and centered */ }
        footer .footer-grid > .footer-col:last-child:nth-child(3n + 1) {
          grid-column: 1 / -1;
          justify-self: center; }
        footer .footer-grid > .footer-col:nth-last-child(2):nth-child(3n + 1) {
          grid-column: 1; }
        footer .footer-grid > .footer-col:nth-last-child(2):nth-child(3n + 2) {
          grid-column: 3; }
        footer .footer-grid .footer-col.newsletter {
          grid-column: 2;
          justify-self: center;
          text-align: center; }
          footer .footer-grid .footer-col.newsletter form {
            width: 100%;
            max-width: 36rem;
            margin-inline: auto; } }
    @media screen and (max-width: 980px) {
      footer .footer-grid {
        grid-template-columns: repeat(auto-fit, minmax(var(--footer-col-min), 1fr));
        justify-content: center; }
        footer .footer-grid .footer-col.newsletter {
          grid-column: 1 / -1;
          justify-self: center;
          text-align: center; }
          footer .footer-grid .footer-col.newsletter form {
            width: 100%;
            max-width: 36rem;
            margin-inline: auto; } }
    @media screen and (max-width: 736px) {
      footer .footer-grid {
        grid-template-columns: 1fr; }
        footer .footer-grid .footer-col.newsletter {
          grid-column: 1;
          justify-self: stretch;
          text-align: left; }
          footer .footer-grid .footer-col.newsletter form {
            width: 100%;
            max-width: none;
            margin-inline: 0; } }
    @media screen and (orientation: portrait) {
      footer .footer-grid {
        grid-template-columns: repeat(auto-fit, minmax(var(--footer-col-min), var(--footer-col-max)));
        justify-self: center; }
        footer .footer-grid .footer-col.newsletter {
          grid-column: 1;
          justify-self: stretch; } }
    footer .footer-grid > .footer-col:only-child {
      grid-column: 1 / -1; }
    footer .footer-grid.footer-grid--single {
      grid-template-columns: repeat(auto-fit, minmax(var(--footer-col-min), var(--footer-col-max)));
      max-width: none;
      justify-self: center; }
      footer .footer-grid.footer-grid--single > .footer-col {
        justify-self: center; }
      footer .footer-grid.footer-grid--single > .footer-col.newsletter {
        text-align: left; }
        footer .footer-grid.footer-grid--single > .footer-col.newsletter form {
          width: 100%;
          max-width: none;
          margin-inline: 0; }
  footer .footer-col {
    text-align: left; }
    footer .footer-col .footer-title {
      font-size: 0.95rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .03em;
      margin: 0 0 .5rem 0;
      color: var(--footer_invert_icon);
      /* Center titles by default; go left on smallest screens */
      text-align: center; }
      @media screen and (max-width: 736px) {
        footer .footer-col .footer-title {
          text-align: left; } }
    footer .footer-col ul.actions {
      margin: 0;
      padding: 0;
      gap: .25rem; }
      footer .footer-col ul.actions li {
        margin: 0; }
        footer .footer-col ul.actions li a {
          display: inline-flex;
          align-items: center;
          line-height: 1.2;
          text-decoration: none; }
          footer .footer-col ul.actions li a .icon-wrapper {
            display: inline-flex;
            gap: .4rem; }
          footer .footer-col ul.actions li a .text {
            font-weight: 500; }
    footer .footer-col.newsletter form {
      margin-top: .25rem; }
  footer .footer-address {
    font-style: normal;
    margin-bottom: .5rem; }
    footer .footer-address ul {
      padding-left: 0; }
  footer .footer-bottom {
    margin-top: var(--size_padding-small);
    padding-top: var(--size_padding-small);
    border-top: 1px solid var(--footer_invert_icon);
    opacity: .75; }
    footer .footer-bottom .copyright {
      display: flex;
      gap: .75rem;
      flex-wrap: wrap;
      justify-content: center;
      font-size: 130%; }
      footer .footer-bottom .copyright span {
        margin: 0 .25rem; }
