@charset "UTF-8";
/*
Theme Name:     Opd
Theme URI:      
Description:    Twentytwentytwo child theme.
Author:         Me
Author URI:     
Template:       twentytwentytwo
Version:        0.1.0
*/
/*
A simple little SCSS mixin for creating scrim gradients
Inspired by Andreas Larson - https://github.com/larsenwork
https://css-tricks.com/easing-linear-gradients/
*/
/* HIGHTLIGHT GRID STYLE - reusable - for FacetWp */
/**
 * BASE
 *
 * Basic style for tag, focus management, accessibility base settings
 * TODO: font size settings for accessibility
 */
/* ------------------------------------ *\
   #TAGS
\* ------------------------------------ */
html,
body {
  height: 100%;
  margin: 0;
}

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: 100%;
  font-size: 16px;
  -webkit-text-size-adjust: none;
     -moz-text-size-adjust: none;
      -ms-text-size-adjust: none;
          text-size-adjust: none;
}

body {
  /* Flex sticky footer settings */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  color: hsl(214deg, 13%, 24%);
  font-family: "Lora", serif;
  font-size: 1rem;
  line-height: 1.4;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased; /* Fix for webkit rendering */
  text-rendering: optimizeLegibility;
  -webkit-font-variant-ligatures: common-ligatures;
          font-variant-ligatures: common-ligatures;
}

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

:is(a) {
  text-decoration: none;
}

a {
  color: #752E4A;
  -webkit-transition-property: all;
  -o-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 0.3s;
       -o-transition-duration: 0.3s;
          transition-duration: 0.3s;
}
a:hover {
  color: inherit;
  text-decoration: underline;
}
a:focus {
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
}

/* MANAGE LIST BASE STYLES
* remove default list styles from lists with class
*/
:where(ul[class]),
:where(ol[class]) {
  margin: 0;
  padding: 0;
  list-style: none;
}

address {
  font-style: normal;
}

/* fix the feature of 'hidden' attribute.
   display:revert; revert to element instead of attribute */
:where([hidden]) {
  display: none;
}

/* ACCESSIBLE FOCUS - hack for :focus-visible (focus only via keyboard)
* using is and :focus-visible
*/
:is(a, button, input, textarea, summary) {
  --outline-size: max(3px, 0.08em);
  --outline-style: solid;
  --outline-color: var(--system-focus-outline-color, currentColor);
}

/* for browsers not supporting focus visible */
:is(a, button, input, textarea, summary):focus {
  outline: var(--outline-size) var(--outline-style) var(--outline-color);
  outline-offset: var(--outline-offset, var(--outline-size));
}

:is(a, button, input, textarea, summary):focus-visible {
  outline: var(--outline-size) var(--outline-style) var(--outline-color);
  outline-offset: var(--outline-offset, var(--outline-size));
}

/* for browsers supporting focus visible */
:is(a, button, input, textarea, summary):focus:not(:focus-visible) {
  outline: none;
}

blockquote {
  margin: 0;
}

/* BUTTON */
button,
[type=button] {
  padding-top: unset;
  padding-bottom: unset;
  border: unset;
  font-family: unset;
}

/* Figure */
figure {
  all: unset;
}

/* MANAGE HIDDEN ATTRIBUTE */
[hidden] {
  display: none !important;
}

/* ------------------------------------ *\
	#MEDIA-QUERIES
\* ------------------------------------ */
/* Remove all animations and transitions
for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
         -o-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
@media all and (max-width: 959px) {
  html {
    font-size: 14px;
  }
}
@media all and (max-width: 767px) {
  html {
    font-size: 14px;
  }
}
/**
 * CUSTOM-PROPERTIES
 *
 * System custom properties definitions
*/
/* ------------------------------------ *\
  #GENERAL
\* ------------------------------------ */
:root {
  --system-focus-outline-color: #0089c7;
  --decoration-conservazione-e-ricerca: url(/wp-content/themes/opd/assets/images/conservazione-e-ricerca-tag.svg);
  --decoration-museo: url(/wp-content/themes/opd/assets/images/museo.svg);
  --decoration-scuola-formazione-studio: url(/wp-content/themes/opd/assets/images/scuola-formazione-studio.svg);
  --section-decoration-width-mobile: 40px;
  --section-decoration-width-tablet: 47px;
  --section-decoration-height-tablet: 157px;
  --section-decoration-width-desktop: 94px;
  --section-decoration-height-desktop: 314px;
  --decoration-logo-semitransparent: url("/wp-content/themes/opd/assets/images/logo-semitransparent.svg");
  --decoration-logo-semitransparent-gray: url("/wp-content/themes/opd/assets/images/logo-bg-gray-hero.svg");
  /* Header height - transform absolute calculated value in js in px value */
  --header-height: calc(var(--header-height-value) * 1px);
  --toolbar-height: 46px;
}
@media all and (min-width: 783px) {
  :root {
    --toolbar-height: 32px;
  }
}

/* ------------------------------------ *\
  #BRANDS-COLORS
\* ------------------------------------ */
/**
 * FORMS
 *
 * Style for form components
 *
 */
/* ------------------------------------ *\
   #FORM-ITEMS
\* ------------------------------------ */
/* ITEMS */
[type=color],
[type=date],
[type=datetime],
[type=datetime-local],
[type=email],
[type=month],
[type=number],
[type=password],
[type=search],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week],
input:not([type]),
textarea {
  width: 100%;
  border: 1px solid hsl(0deg, 0%, 85%);
  background-color: #ffffff;
  border-radius: 5px;
  font-size: 1rem;
  font-family: "Lora", serif;
}
[type=color]::-webkit-input-placeholder,
[type=date]::-webkit-input-placeholder,
[type=datetime]::-webkit-input-placeholder,
[type=datetime-local]::-webkit-input-placeholder,
[type=email]::-webkit-input-placeholder,
[type=month]::-webkit-input-placeholder,
[type=number]::-webkit-input-placeholder,
[type=password]::-webkit-input-placeholder,
[type=search]::-webkit-input-placeholder,
[type=tel]::-webkit-input-placeholder,
[type=text]::-webkit-input-placeholder,
[type=time]::-webkit-input-placeholder,
[type=url]::-webkit-input-placeholder,
[type=week]::-webkit-input-placeholder,
input:not([type])::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  font-family: "Lora", serif;
  color: hsl(0deg, 1%, 60%);
}
[type=color]::-moz-placeholder,
[type=date]::-moz-placeholder,
[type=datetime]::-moz-placeholder,
[type=datetime-local]::-moz-placeholder,
[type=email]::-moz-placeholder,
[type=month]::-moz-placeholder,
[type=number]::-moz-placeholder,
[type=password]::-moz-placeholder,
[type=search]::-moz-placeholder,
[type=tel]::-moz-placeholder,
[type=text]::-moz-placeholder,
[type=time]::-moz-placeholder,
[type=url]::-moz-placeholder,
[type=week]::-moz-placeholder,
input:not([type])::-moz-placeholder,
textarea::-moz-placeholder {
  font-family: "Lora", serif;
  color: hsl(0deg, 1%, 60%);
}
[type=color]:-ms-input-placeholder,
[type=date]:-ms-input-placeholder,
[type=datetime]:-ms-input-placeholder,
[type=datetime-local]:-ms-input-placeholder,
[type=email]:-ms-input-placeholder,
[type=month]:-ms-input-placeholder,
[type=number]:-ms-input-placeholder,
[type=password]:-ms-input-placeholder,
[type=search]:-ms-input-placeholder,
[type=tel]:-ms-input-placeholder,
[type=text]:-ms-input-placeholder,
[type=time]:-ms-input-placeholder,
[type=url]:-ms-input-placeholder,
[type=week]:-ms-input-placeholder,
input:not([type]):-ms-input-placeholder,
textarea:-ms-input-placeholder {
  font-family: "Lora", serif;
  color: hsl(0deg, 1%, 60%);
}
[type=color]::-webkit-input-placeholder, [type=date]::-webkit-input-placeholder, [type=datetime]::-webkit-input-placeholder, [type=datetime-local]::-webkit-input-placeholder, [type=email]::-webkit-input-placeholder, [type=month]::-webkit-input-placeholder, [type=number]::-webkit-input-placeholder, [type=password]::-webkit-input-placeholder, [type=search]::-webkit-input-placeholder, [type=tel]::-webkit-input-placeholder, [type=text]::-webkit-input-placeholder, [type=time]::-webkit-input-placeholder, [type=url]::-webkit-input-placeholder, [type=week]::-webkit-input-placeholder, input:not([type])::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  font-family: "Lora", serif;
  color: hsl(0deg, 1%, 60%);
}
[type=color]::-moz-placeholder, [type=date]::-moz-placeholder, [type=datetime]::-moz-placeholder, [type=datetime-local]::-moz-placeholder, [type=email]::-moz-placeholder, [type=month]::-moz-placeholder, [type=number]::-moz-placeholder, [type=password]::-moz-placeholder, [type=search]::-moz-placeholder, [type=tel]::-moz-placeholder, [type=text]::-moz-placeholder, [type=time]::-moz-placeholder, [type=url]::-moz-placeholder, [type=week]::-moz-placeholder, input:not([type])::-moz-placeholder, textarea::-moz-placeholder {
  font-family: "Lora", serif;
  color: hsl(0deg, 1%, 60%);
}
[type=color]:-ms-input-placeholder, [type=date]:-ms-input-placeholder, [type=datetime]:-ms-input-placeholder, [type=datetime-local]:-ms-input-placeholder, [type=email]:-ms-input-placeholder, [type=month]:-ms-input-placeholder, [type=number]:-ms-input-placeholder, [type=password]:-ms-input-placeholder, [type=search]:-ms-input-placeholder, [type=tel]:-ms-input-placeholder, [type=text]:-ms-input-placeholder, [type=time]:-ms-input-placeholder, [type=url]:-ms-input-placeholder, [type=week]:-ms-input-placeholder, input:not([type]):-ms-input-placeholder, textarea:-ms-input-placeholder {
  font-family: "Lora", serif;
  color: hsl(0deg, 1%, 60%);
}
[type=color]::-ms-input-placeholder, [type=date]::-ms-input-placeholder, [type=datetime]::-ms-input-placeholder, [type=datetime-local]::-ms-input-placeholder, [type=email]::-ms-input-placeholder, [type=month]::-ms-input-placeholder, [type=number]::-ms-input-placeholder, [type=password]::-ms-input-placeholder, [type=search]::-ms-input-placeholder, [type=tel]::-ms-input-placeholder, [type=text]::-ms-input-placeholder, [type=time]::-ms-input-placeholder, [type=url]::-ms-input-placeholder, [type=week]::-ms-input-placeholder, input:not([type])::-ms-input-placeholder, textarea::-ms-input-placeholder {
  font-family: "Lora", serif;
  color: hsl(0deg, 1%, 60%);
}
[type=color]::placeholder,
[type=date]::placeholder,
[type=datetime]::placeholder,
[type=datetime-local]::placeholder,
[type=email]::placeholder,
[type=month]::placeholder,
[type=number]::placeholder,
[type=password]::placeholder,
[type=search]::placeholder,
[type=tel]::placeholder,
[type=text]::placeholder,
[type=time]::placeholder,
[type=url]::placeholder,
[type=week]::placeholder,
input:not([type])::placeholder,
textarea::placeholder {
  font-family: "Lora", serif;
  color: hsl(0deg, 1%, 60%);
}

/* HEIGHT */
[type=color],
[type=date],
[type=datetime],
[type=datetime-local],
[type=email],
[type=month],
[type=number],
[type=password],
[type=search],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week],
input:not([type]),
select {
  height: 2.2em;
}

/* ------------------------------------ *\
  #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (min-width: 768px) {
  /* HEIGHT */
}
/**
 * TYPOGRAPHY
 *
 * Definition of typographic styles
 * Typography resets
 */
/* ------------------------------------ *\
  #HEADINGS
\* ------------------------------------ */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: unset;
  margin-bottom: unset; /* Reset */
}
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  color: inherit;
  text-decoration: none;
}
h1 a:hover, h1 a:focus,
h2 a:hover,
h2 a:focus,
h3 a:hover,
h3 a:focus,
h4 a:hover,
h4 a:focus,
h5 a:hover,
h5 a:focus,
h6 a:hover,
h6 a:focus {
  color: inherit;
  text-decoration: underline;
}

p {
  margin: unset;
}

strong {
  font-weight: 700;
}

/**
 * BUTTONS
 *
 * Styles and settings for buttons
*/
/* ------------------------------------ *\
  #BUTTON-BASE
\* ------------------------------------ */
/* Base styles for button */
.opd-btn, .facetwp-load-more, .opd-form-item--action .facetwp-reset {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 135px;
  height: 2.86em;
  padding: 0 1.25rem;
  font-size: 0.875rem;
  font-weight: 400;
  font-family: "Lora", serif;
  line-height: 1.1;
  vertical-align: top;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  /* Hover */
  /* Disabled */
}

/** individual page numbers and text **/
#pagination-attivita .facetwp-type-pager .facetwp-page {
  color: white;
  font-size: 18px;
  padding: 1em;
  text-decoration: none;
  font-weight: 500;
}

/** hover class for page links **/
#pagination-attivita .facetwp-type-pager .facetwp-page:hover {
  text-decoration: none;
  color: #752e4a;
  font-size: 20px;
}

/** currently selected link **/
#pagination-attivita .facetwp-type-pager .facetwp-page.active {
  font-weight: 1000;
  font-style: bold;
  font-size: 25px;
  color: #752E4A;
}

.opd-btn:hover, .facetwp-load-more:hover, .opd-form-item--action .facetwp-reset:hover {
  text-decoration: none;
}
.is-disabled.opd-btn, .is-disabled.facetwp-load-more, .opd-form-item--action .is-disabled.facetwp-reset, [disabled].opd-btn, [disabled].facetwp-load-more, .opd-form-item--action [disabled].facetwp-reset, .opd-btn:disabled, .facetwp-load-more:disabled, .opd-form-item--action .facetwp-reset:disabled, [aria-disabled=true].opd-btn, [aria-disabled=true].facetwp-load-more, .opd-form-item--action [aria-disabled=true].facetwp-reset {
  cursor: not-allowed;
  opacity: 0.8;
  -webkit-filter: saturate(0.1);
          filter: saturate(0.1);
}

/* ------------------------------------ *\
  #BUTTON-PRIMARY
\* ------------------------------------ */
.opd-btn, .facetwp-load-more, .opd-form-item--action .facetwp-reset {
  border: 1px solid hsl(0deg, 0%, 85%);
  border-bottom-width: 2px;
  background-color: #ffffff;
  border-radius: 0;
  color: hsl(214deg, 13%, 24%);
  /* Hover */
  /* Disabled */
  /* Active */
}
.opd-btn .opd-btn__icon, .facetwp-load-more .opd-btn__icon, .opd-form-item--action .facetwp-reset .opd-btn__icon {
  color: #752E4A;
}
.opd-btn:hover:not([aria-disabled=true]), .facetwp-load-more:hover:not([aria-disabled=true]), .opd-form-item--action .facetwp-reset:hover:not([aria-disabled=true]), .opd-btn:focus:not([aria-disabled=true]), .facetwp-load-more:focus:not([aria-disabled=true]), .opd-form-item--action .facetwp-reset:focus:not([aria-disabled=true]) {
  background-color: #752E4A;
  border-color: #752E4A;
  color: #ffffff;
  text-decoration: none;
}
.opd-btn:hover:not([aria-disabled=true]) .opd-btn__icon, .facetwp-load-more:hover:not([aria-disabled=true]) .opd-btn__icon, .opd-form-item--action .facetwp-reset:hover:not([aria-disabled=true]) .opd-btn__icon, .opd-btn:focus:not([aria-disabled=true]) .opd-btn__icon, .facetwp-load-more:focus:not([aria-disabled=true]) .opd-btn__icon, .opd-form-item--action .facetwp-reset:focus:not([aria-disabled=true]) .opd-btn__icon {
  color: #ffffff;
}
.opd-btn.is-disabled, .is-disabled.facetwp-load-more, .opd-form-item--action .is-disabled.facetwp-reset, .opd-btn.is-disabled:hover, .opd-btn.is-disabled:active, .opd-btn.is-disabled:active:hover, .opd-btn[disabled], [disabled].facetwp-load-more, .opd-form-item--action [disabled].facetwp-reset, .opd-btn[disabled]:hover, .opd-btn[disabled]:active, .opd-btn[disabled]:active:hover, .opd-btn:disabled, .facetwp-load-more:disabled, .opd-form-item--action .facetwp-reset:disabled, .opd-btn:disabled:hover, .opd-btn:disabled:active, .opd-btn:disabled:active:hover, .opd-btn[aria-disabled=true], [aria-disabled=true].facetwp-load-more, .opd-form-item--action [aria-disabled=true].facetwp-reset, .opd-btn[aria-disabled=true]:hover, .opd-btn[aria-disabled=true]:active, .opd-btn[aria-disabled=true]:active:hover {
  color: hsl(0deg, 1%, 60%);
  border-color: #ffffff;
  background-color: #ffffff;
}
.opd-btn.is-disabled .opd-btn__icon, .is-disabled.facetwp-load-more .opd-btn__icon, .opd-form-item--action .is-disabled.facetwp-reset .opd-btn__icon, .opd-btn.is-disabled:hover .opd-btn__icon, .opd-btn.is-disabled:active .opd-btn__icon, .opd-btn.is-disabled:active:hover .opd-btn__icon, .opd-btn[disabled] .opd-btn__icon, [disabled].facetwp-load-more .opd-btn__icon, .opd-form-item--action [disabled].facetwp-reset .opd-btn__icon, .opd-btn[disabled]:hover .opd-btn__icon, .opd-btn[disabled]:active .opd-btn__icon, .opd-btn[disabled]:active:hover .opd-btn__icon, .opd-btn:disabled .opd-btn__icon, .facetwp-load-more:disabled .opd-btn__icon, .opd-form-item--action .facetwp-reset:disabled .opd-btn__icon, .opd-btn:disabled:hover .opd-btn__icon, .opd-btn:disabled:active .opd-btn__icon, .opd-btn:disabled:active:hover .opd-btn__icon, .opd-btn[aria-disabled=true] .opd-btn__icon, [aria-disabled=true].facetwp-load-more .opd-btn__icon, .opd-form-item--action [aria-disabled=true].facetwp-reset .opd-btn__icon, .opd-btn[aria-disabled=true]:hover .opd-btn__icon, .opd-btn[aria-disabled=true]:active .opd-btn__icon, .opd-btn[aria-disabled=true]:active:hover .opd-btn__icon {
  color: hsl(217deg, 16%, 16%);
}
.opd-btn.is-active, .is-active.facetwp-load-more, .opd-form-item--action .is-active.facetwp-reset, .opd-btn:active, .facetwp-load-more:active, .opd-form-item--action .facetwp-reset:active, .opd-btn.is-active:hover, .opd-btn:active:hover {
  color: #ffffff;
  border-color: #1C4D5E;
  background-color: #1C4D5E;
}
.opd-btn.is-active .opd-btn__icon, .is-active.facetwp-load-more .opd-btn__icon, .opd-form-item--action .is-active.facetwp-reset .opd-btn__icon, .opd-btn:active .opd-btn__icon, .facetwp-load-more:active .opd-btn__icon, .opd-form-item--action .facetwp-reset:active .opd-btn__icon, .opd-btn.is-active:hover .opd-btn__icon, .opd-btn:active:hover .opd-btn__icon {
  color: #ffffff;
}

/* ------------------------------------ *\
  #BUTTON-OUTLINE
\* ------------------------------------ */
.opd-btn-outline {
  border-color: hsl(0deg, 0%, 85%);
  border-bottom-width: 2px;
  background-color: #ffffff;
  border-radius: 0;
  color: hsl(214deg, 13%, 24%);
  /* Hover */
  /* Disabled */
  /* Active */
}
.opd-btn-outline:hover:not([aria-disabled=true]), .opd-btn-outline:focus:not([aria-disabled=true]) {
  background-color: #752E4A;
  border-color: #752E4A;
  color: #ffffff;
  text-decoration: none;
}
.opd-btn-outline.is-disabled, .opd-btn-outline.is-disabled:hover, .opd-btn-outline.is-disabled:active, .opd-btn-outline.is-disabled:active:hover, .opd-btn-outline[disabled], .opd-btn-outline[disabled]:hover, .opd-btn-outline[disabled]:active, .opd-btn-outline[disabled]:active:hover, .opd-btn-outline:disabled, .opd-btn-outline:disabled:hover, .opd-btn-outline:disabled:active, .opd-btn-outline:disabled:active:hover, .opd-btn-outline[aria-disabled=true], .opd-btn-outline[aria-disabled=true]:hover, .opd-btn-outline[aria-disabled=true]:active, .opd-btn-outline[aria-disabled=true]:active:hover {
  color: hsl(0deg, 1%, 60%);
  border-color: hsl(0deg, 1%, 60%);
  background-color: #ffffff;
}
.opd-btn-outline.is-active, .opd-btn-outline:active, .opd-btn-outline.is-active:hover, .opd-btn-outline:active:hover {
  color: #ffffff;
  border-color: #1C4D5E;
  background-color: #1C4D5E;
}

/* Generic components */
/* Icons, text labels */
.opd-btn__icon-left {
  padding-right: 0.625rem;
}
.opd-btn__icon-right {
  padding-left: 0.625rem;
}

.opd-btn-l .opd-btn__icon-left {
  padding-right: 0.625rem;
}
.opd-btn-l .opd-btn__icon-right {
  padding-left: 0.625rem;
}

/* ------------------------------------ *\
  #BUTTON-CTA
\* ------------------------------------ */
.opd-btn-cta, .opd-form-item--action .facetwp-reset {
  border-color: #752E4A;
  background-color: #752E4A;
  color: #ffffff;
  /* Hover */
  /* Disabled */
  /* Active */
}
.opd-btn-cta .opd-btn__icon, .opd-form-item--action .facetwp-reset .opd-btn__icon {
  color: inherit;
}
.opd-btn-cta:hover:not([aria-disabled=true]), .opd-form-item--action .facetwp-reset:hover:not([aria-disabled=true]), .opd-btn-cta:focus:not([aria-disabled=true]), .opd-form-item--action .facetwp-reset:focus:not([aria-disabled=true]) {
  background-color: #ffffff;
  border-color: #752E4A;
  color: #752E4A;
}
.opd-btn-cta:hover:not([aria-disabled=true]) .opd-btn__icon, .opd-form-item--action .facetwp-reset:hover:not([aria-disabled=true]) .opd-btn__icon, .opd-btn-cta:focus:not([aria-disabled=true]) .opd-btn__icon, .opd-form-item--action .facetwp-reset:focus:not([aria-disabled=true]) .opd-btn__icon {
  color: inherit;
}
.opd-btn-cta.is-disabled, .opd-form-item--action .is-disabled.facetwp-reset, .opd-btn-cta.is-disabled:hover, .opd-btn-cta.is-disabled:active, .opd-btn-cta.is-disabled:active:hover, .opd-btn-cta[disabled], .opd-form-item--action [disabled].facetwp-reset, .opd-btn-cta[disabled]:hover, .opd-btn-cta[disabled]:active, .opd-btn-cta[disabled]:active:hover, .opd-btn-cta:disabled, .opd-form-item--action .facetwp-reset:disabled, .opd-btn-cta:disabled:hover, .opd-btn-cta:disabled:active, .opd-btn-cta:disabled:active:hover, .opd-btn-cta[aria-disabled=true], .opd-form-item--action [aria-disabled=true].facetwp-reset, .opd-btn-cta[aria-disabled=true]:hover, .opd-btn-cta[aria-disabled=true]:active, .opd-btn-cta[aria-disabled=true]:active:hover {
  color: #ffffff;
  border-color: #8a4c65;
  background-color: #8a4c65;
}
.opd-btn-cta.is-disabled .opd-btn__icon, .opd-form-item--action .is-disabled.facetwp-reset .opd-btn__icon, .opd-btn-cta.is-disabled:hover .opd-btn__icon, .opd-btn-cta.is-disabled:active .opd-btn__icon, .opd-btn-cta.is-disabled:active:hover .opd-btn__icon, .opd-btn-cta[disabled] .opd-btn__icon, .opd-form-item--action [disabled].facetwp-reset .opd-btn__icon, .opd-btn-cta[disabled]:hover .opd-btn__icon, .opd-btn-cta[disabled]:active .opd-btn__icon, .opd-btn-cta[disabled]:active:hover .opd-btn__icon, .opd-btn-cta:disabled .opd-btn__icon, .opd-form-item--action .facetwp-reset:disabled .opd-btn__icon, .opd-btn-cta:disabled:hover .opd-btn__icon, .opd-btn-cta:disabled:active .opd-btn__icon, .opd-btn-cta:disabled:active:hover .opd-btn__icon, .opd-btn-cta[aria-disabled=true] .opd-btn__icon, .opd-form-item--action [aria-disabled=true].facetwp-reset .opd-btn__icon, .opd-btn-cta[aria-disabled=true]:hover .opd-btn__icon, .opd-btn-cta[aria-disabled=true]:active .opd-btn__icon, .opd-btn-cta[aria-disabled=true]:active:hover .opd-btn__icon {
  color: inherit;
}
.opd-btn-cta.is-active, .opd-form-item--action .is-active.facetwp-reset, .opd-btn-cta:active, .opd-form-item--action .facetwp-reset:active, .opd-btn-cta.is-active:hover, .opd-btn-cta:active:hover {
  color: #ffffff;
  border-color: #1C4D5E;
  background-color: #1C4D5E;
}
.opd-btn-cta.is-active .opd-btn__icon, .opd-form-item--action .is-active.facetwp-reset .opd-btn__icon, .opd-btn-cta:active .opd-btn__icon, .opd-form-item--action .facetwp-reset:active .opd-btn__icon, .opd-btn-cta.is-active:hover .opd-btn__icon, .opd-btn-cta:active:hover .opd-btn__icon {
  color: inherit;
}

/* ------------------------------------ *\
  #BUTTON-LIGHT
\* ------------------------------------ */
/* Button with transparent bg - on dark bg box */
.opd-btn-light, .facetwp-load-more {
  border-color: hsl(215deg, 14%, 25%);
  background-color: transparent;
  color: #ffffff;
  /* Hover */
  /* Disabled */
  /* Active */
}
.opd-btn-light .opd-btn__icon, .facetwp-load-more .opd-btn__icon {
  color: inherit;
}
.opd-btn-light:hover:not([aria-disabled=true]), .facetwp-load-more:hover:not([aria-disabled=true]), .opd-btn-light:focus:not([aria-disabled=true]), .facetwp-load-more:focus:not([aria-disabled=true]) {
  background-color: #752E4A;
  border-color: transparent;
  color: #ffffff;
}
.opd-btn-light:hover:not([aria-disabled=true]) .opd-btn__icon, .facetwp-load-more:hover:not([aria-disabled=true]) .opd-btn__icon, .opd-btn-light:focus:not([aria-disabled=true]) .opd-btn__icon, .facetwp-load-more:focus:not([aria-disabled=true]) .opd-btn__icon {
  color: inherit;
}
.opd-btn-light.is-disabled, .is-disabled.facetwp-load-more, .opd-btn-light.is-disabled:hover, .opd-btn-light.is-disabled:active, .opd-btn-light.is-disabled:active:hover, .opd-btn-light[disabled], [disabled].facetwp-load-more, .opd-btn-light[disabled]:hover, .opd-btn-light[disabled]:active, .opd-btn-light[disabled]:active:hover, .opd-btn-light:disabled, .facetwp-load-more:disabled, .opd-btn-light:disabled:hover, .opd-btn-light:disabled:active, .opd-btn-light:disabled:active:hover, .opd-btn-light[aria-disabled=true], [aria-disabled=true].facetwp-load-more, .opd-btn-light[aria-disabled=true]:hover, .opd-btn-light[aria-disabled=true]:active, .opd-btn-light[aria-disabled=true]:active:hover {
  color: #ffffff, 0.4;
  border-color: #595959;
  background-color: rgba(26, 26, 26, 0);
}
.opd-btn-light.is-disabled .opd-btn__icon, .is-disabled.facetwp-load-more .opd-btn__icon, .opd-btn-light.is-disabled:hover .opd-btn__icon, .opd-btn-light.is-disabled:active .opd-btn__icon, .opd-btn-light.is-disabled:active:hover .opd-btn__icon, .opd-btn-light[disabled] .opd-btn__icon, [disabled].facetwp-load-more .opd-btn__icon, .opd-btn-light[disabled]:hover .opd-btn__icon, .opd-btn-light[disabled]:active .opd-btn__icon, .opd-btn-light[disabled]:active:hover .opd-btn__icon, .opd-btn-light:disabled .opd-btn__icon, .facetwp-load-more:disabled .opd-btn__icon, .opd-btn-light:disabled:hover .opd-btn__icon, .opd-btn-light:disabled:active .opd-btn__icon, .opd-btn-light:disabled:active:hover .opd-btn__icon, .opd-btn-light[aria-disabled=true] .opd-btn__icon, [aria-disabled=true].facetwp-load-more .opd-btn__icon, .opd-btn-light[aria-disabled=true]:hover .opd-btn__icon, .opd-btn-light[aria-disabled=true]:active .opd-btn__icon, .opd-btn-light[aria-disabled=true]:active:hover .opd-btn__icon {
  color: inherit;
}
.opd-btn-light.is-active, .is-active.facetwp-load-more, .opd-btn-light:active, .facetwp-load-more:active, .opd-btn-light.is-active:hover, .opd-btn-light:active:hover {
  color: #ffffff;
  border-color: #752E4A;
  background-color: #752E4A;
}
.opd-btn-light.is-active .opd-btn__icon, .is-active.facetwp-load-more .opd-btn__icon, .opd-btn-light:active .opd-btn__icon, .facetwp-load-more:active .opd-btn__icon, .opd-btn-light.is-active:hover .opd-btn__icon, .opd-btn-light:active:hover .opd-btn__icon {
  color: inherit;
}

/* ------------------------------------ *\
  #BUTTON-SIZES
\* ------------------------------------ */
.opd-btn-s {
  min-width: 92px;
  height: 2.1875rem;
  border-radius: 0;
  font-size: 0.875rem;
}
.opd-btn-s .opd-btn__icon {
  font-size: 0.875rem;
}

/* ------------------------------------ *\
  #LINK
\* ------------------------------------ */
.opd-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #752E4A;
  text-decoration: none;
}
.opd-link:hover, .opd-link:focus {
  color: #070305;
  text-decoration: underline;
}
.opd-link__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 0.9375rem;
}
.opd-link__icon-left {
  margin-right: 1ch;
}
.opd-link__icon-right {
  margin-left: 1ch;
}
.opd-link--underlined {
  text-decoration: underline;
}

/* ------------------------------------ *\
  #ICON-BUTTON
\* ------------------------------------ */
/* Button with pseudoelement icon */
.prefix-btn-has-icon-right::after {
  font-family: "Font Awesome 6 Pro" !important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.prefix-btn-has-icon-left::before {
  font-family: "Font Awesome 6 Pro" !important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.prefix-btn-has-icon-arrow::after {
  content: "\f061";
}

/* BUTTON SHOW MORE DISPLAY MANAGEMENT */
.opd-btn.is-show-more .is-less, .is-show-more.facetwp-load-more .is-less, .opd-form-item--action .is-show-more.facetwp-reset .is-less {
  display: none;
}
.opd-btn.is-show-less .is-more, .is-show-less.facetwp-load-more .is-more, .opd-form-item--action .is-show-less.facetwp-reset .is-more {
  display: none;
}

/* ------------------------------------ *\
  #FULLTHEME-OVERRIDES
\* ------------------------------------ */
/* BUTTON CUSTOM MARKUP ICON */
.wp-block-button [class^=fa]:first-child,
.wp-block-button [class*=fa-]:first-child {
  padding-right: 0.625rem;
}
.wp-block-button [class^=fa]:last-child,
.wp-block-button [class*=fa-]:last-child {
  padding-left: 0.625rem;
}

/* BUTTON OUTLINE */
.wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link {
  background-color: #ffffff;
  border: 1px solid hsl(0deg, 0%, 85%);
  border-bottom-width: 2px;
  color: hsl(214deg, 13%, 24%);
  /* Hover */
  /* Disabled */
  /* Active */
}
.wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-background) {
  background-color: #ffffff;
}
.wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link [class^=fa],
.wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link [class*=fa-] {
  color: #752E4A;
}
.wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:hover:not([aria-disabled=true]), .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:focus:not([aria-disabled=true]) {
  background-color: #752E4A;
  border-color: #752E4A;
  color: #ffffff;
  text-decoration: none;
}
.wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:hover:not([aria-disabled=true]) [class^=fa],
.wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:hover:not([aria-disabled=true]) [class*=fa-], .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:focus:not([aria-disabled=true]) [class^=fa],
.wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:focus:not([aria-disabled=true]) [class*=fa-] {
  color: #ffffff;
}
.wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link.is-disabled, .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link.is-disabled:hover, .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link.is-disabled:active, .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link.is-disabled:active:hover, .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link[disabled], .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link[disabled]:hover, .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link[disabled]:active, .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link[disabled]:active:hover, .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:disabled, .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:disabled:hover, .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:disabled:active, .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:disabled:active:hover, .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link[aria-disabled=true], .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link[aria-disabled=true]:hover, .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link[aria-disabled=true]:active, .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link[aria-disabled=true]:active:hover {
  color: hsl(0deg, 1%, 60%);
  border-color: hsl(0deg, 1%, 60%);
  background-color: #ffffff;
}
.wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link.is-active, .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:active, .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link.is-active:hover, .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:active:hover {
  color: #ffffff;
  border-color: #1C4D5E;
  background-color: #1C4D5E;
}
.wp-block-buttons .wp-block-button.is-style-outline.has-right-arrow > .wp-block-button__link {
  /* Hover */
}
.wp-block-buttons .wp-block-button.is-style-outline.has-right-arrow > .wp-block-button__link::after {
  color: #752E4A;
}
.wp-block-buttons .wp-block-button.is-style-outline.has-right-arrow > .wp-block-button__link:hover:not([aria-disabled=true])::after, .wp-block-buttons .wp-block-button.is-style-outline.has-right-arrow > .wp-block-button__link:focus:not([aria-disabled=true])::after {
  color: #ffffff;
}

/* BUTTON with right arrow */
.has-right-arrow .wp-block-button__link::after {
  content: "\f061";
  font-family: "Font Awesome 6 Pro" !important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-left: 0.625rem;
}

/* BUTTON NOWRAP - button on single line */
.is-white-space-nowrap.opd-btn, .is-white-space-nowrap.facetwp-load-more, .opd-form-item--action .is-white-space-nowrap.facetwp-reset,
.is-white-space-nowrap .wp-block-button__link {
  white-space: nowrap;
}

/* ------------------------------------ *\
  #MEDIA-QUERIES
\* ------------------------------------ */
@media (hover: none) and (pointer: coarse) {
  /* Add padding to increase touch area */
  .opd-link {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  }
}
@media all and (max-width: 767px) {
  /* Generic components */
  /* Icons, text labels */
  .opd-btn__icon-left {
    margin-right: auto;
  }
  .opd-btn__icon-right {
    margin-left: auto;
  }
}
/**
 * FORM-ITEMS
 *
 * Style for site's form items
*/
/* ------------------------------------ *\
  #FORM-ITEMS
\* ------------------------------------ */
/* form item light */
.opd-form-item {
  --_form-item-gap: var(--form-item-gap, 1.25rem);
  --_form-item-label-font-size: var(--form-item-label-font-size, clamp(0.875rem, 1rem + 1.5vw, 1rem));
  --form-input-height: 2.2em;
  --form-input-padding-t: 0.625rem;
  --form-input-padding-r: 0.625rem;
  --form-input-padding-b: 0.625rem;
  --form-input-padding-l: 0.625rem;
  --form-input-border-radius: 0;
  --form-input-border-width: 1px;
  --form-input-border-bottom-width: var(--form-input-border-width);
  --form-input-border-color: hsl(0deg, 0%, 85%);
  --form-input-background-color: #ffffff;
  --form-input-font-size: clamp(0.875rem, 1rem + 1.5vw, 1rem);
  --form-input-font-weight: clamp(0.875rem, 1rem + 1.5vw, 1rem);
  --form-input-color: hsl(214deg, 13%, 24%);
  --form-input-color-placeholder: hsl(0deg, 1%, 60%);
  --form-input-color-hover: inherit;
  --form-autocomplete-results-background: var(--form-input-background-color);
  --form-autocomplete-results-background-hover: var(--form-input-background-color);
  --form-autocomplete-results-border-color: var(--form-input-background-color);
  --_form-item-checkbox-size: var(--form-item-checkbox-size, 16px);
  gap: var(--_form-item-gap);
}
.opd-form-item::-webkit-input-placeholder {
  color: var(--form-input-color-placeholder);
}
.opd-form-item::-moz-placeholder {
  color: var(--form-input-color-placeholder);
}
.opd-form-item:-ms-input-placeholder {
  color: var(--form-input-color-placeholder);
}
.opd-form-item::-ms-input-placeholder {
  color: var(--form-input-color-placeholder);
}
.opd-form-item::placeholder {
  color: var(--form-input-color-placeholder);
}
.opd-form-item__label,
.opd-form-item label {
  font-size: var(--_form-item-label-font-size);
}
.opd-form-item--inline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  position: relative;
  gap: 0.75em;
}
.opd-form-item--inline .facetwp-facet,
.opd-form-item--inline .opd-form-item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.opd-form-item--inline .facetwp-autocomplete {
  width: 100%;
  --form-input-padding-r: var(--form-input-height);
}
.opd-form-item--inline .fcomplete-wrap {
  background-color: var(--form-autocomplete-results-background);
  border: none;
  color: var(--form-input-color);
  border-right: 1px solid;
  border-bottom: 1px solid;
  border-left: 1px solid;
  border-color: var(--form-autocomplete-results-border-color);
  z-index: 1;
}
.opd-form-item--inline .fcomplete-result:hover {
  background-color: var(--form-autocomplete-results-background-hover);
}
.opd-form-item--inline .facetwp-autocomplete-update {
  /* facetwp search button */
  width: var(--form-input-height);
  height: var(--form-input-height);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg width='17' height='16' viewBox='0 0 17 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.6561 15.1562L12.2186 10.75C13.2186 9.59375 13.7811 8.125 13.7811 6.5C13.7811 2.9375 10.8436 0 7.28113 0C3.68738 0 0.812378 2.9375 0.812378 6.5C0.812378 10.0938 3.71863 13 7.28113 13C8.87488 13 10.3436 12.4375 11.4999 11.4375L15.9061 15.875C16.0311 15.9688 16.1561 16 16.3124 16C16.4374 16 16.5624 15.9688 16.6561 15.875C16.8436 15.6875 16.8436 15.3438 16.6561 15.1562ZM7.31238 12C4.24988 12 1.81238 9.53125 1.81238 6.5C1.81238 3.46875 4.24988 1 7.31238 1C10.3436 1 12.8124 3.46875 12.8124 6.5C12.8124 9.5625 10.3436 12 7.31238 12Z' fill='%23ffffff'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  text-indent: -9999px;
  font-size: var(--form-input-font-size);
}
.opd-form-item [type=color],
.opd-form-item [type=date],
.opd-form-item [type=datetime],
.opd-form-item [type=datetime-local],
.opd-form-item [type=email],
.opd-form-item [type=month],
.opd-form-item [type=number],
.opd-form-item [type=password],
.opd-form-item [type=search],
.opd-form-item [type=tel],
.opd-form-item [type=text],
.opd-form-item [type=time],
.opd-form-item [type=url],
.opd-form-item [type=week],
.opd-form-item input:not([type]),
.opd-form-item textarea {
  padding: var(--form-input-padding-t) var(--form-input-padding-r) var(--form-input-padding-b) var(--form-input-padding-l);
  border-top-width: var(--form-input-border-width);
  border-right-width: var(--form-input-border-width);
  border-bottom-width: var(--form-input-border-bottom-width);
  border-left-width: var(--form-input-border-width);
  border-style: solid;
  border-color: var(--form-input-border-color);
  border-radius: var(--form-input-border-radius);
  background-color: var(--form-input-background-color);
  font-family: "Lora", serif;
  font-size: var(--form-input-font-size);
  font-weight: var(--form-input-font-weight);
  color: var(--form-input-color);
}

/* INPUT INVERSE */
.opd-form-item--inverse {
  --form-input-background-color: transparent;
}

/* INPUT LIGHT */
.opd-form-item--light {
  --form-input-background-color: rgba(183, 183, 183, 0.1);
  --form-input-text-color: #ffffff;
  --form-input-border-width: 0;
  --form-input-color: #ffffff;
  --form-input-color-placeholder: #ffffff;
  --form-autocomplete-results-background: hsl(213deg, 16%, 13%);
  --form-autocomplete-results-background-hover: hsl(0deg, 0%, 0%);
}

/* ------------------------------------ *\
  #SELECT
\* ------------------------------------ */
.opd-select {
  --select-padding-t: 0.3125rem;
  --select-padding-r: 2.5rem;
  --select-padding-b: 0.3125rem;
  --select-padding-l: 0.625rem;
  --select-border-radius: 0;
  --select-border-width: 1px;
  --select-border-bottom-width: var(--select-border-width);
  --select-border-color: hsl(0deg, 0%, 85%);
  --select-background-color: #ffffff;
  --select-background-image: url("data:image/svg+xml,%3Csvg width='15' height='8' viewBox='0 0 15 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.625 0.6875C0.71875 0.5625 0.84375 0.5 1 0.5C1.09375 0.5 1.21875 0.53125 1.3125 0.625L7.46875 6.28125L13.6562 0.625C13.8438 0.4375 14.1562 0.4375 14.3438 0.65625C14.5312 0.84375 14.5312 1.15625 14.3125 1.34375L7.8125 7.34375C7.625 7.53125 7.34375 7.53125 7.15625 7.34375L0.65625 1.34375C0.4375 1.1875 0.4375 0.875 0.625 0.6875Z' fill='%23000000'/%3E%3C/svg%3E%0A");
  --select-background-image-size: 15px auto;
  --select-background-position-right: 0.625rem;
  --select-background-position-top: 50%;
  --select-font-size: clamp(0.875rem, 1rem + 1.5vw, 1rem);
  --select-font-weight: clamp(0.875rem, 1rem + 1.5vw, 1rem);
  --select-color: hsl(214deg, 13%, 24%);
  --select-color-hover: inherit;
  /* Hide arrow icon in IE browsers */
  /* Hover style */
  /* Focus style */
}
.opd-select select {
  display: block;
  padding: var(--select-padding-t) var(--select-padding-r) var(--select-padding-b) var(--select-padding-l);
  width: 100%;
  max-width: 100%; /* useful when width is set to anything other than 100% */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  border-top-width: var(--select-border-width);
  border-right-width: var(--select-border-width);
  border-bottom-width: var(--select-border-bottom-width);
  border-left-width: var(--select-border-width);
  border-style: solid;
  border-color: var(--select-border-color);
  border-radius: var(--select-border-radius);
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-color: var(--select-background-color);
  /* note: The first url is an svg data uri for the arrow icon.
  for the icon, if you want to change the color, be sure to use `%23` instead of `#`, since it's a url. You can also swap in a different svg icon or an external image reference 
  */
  background-image: var(--select-background-image);
  background-repeat: no-repeat, repeat;
  /* arrow icon position (1em from the right, 50% vertical) , then gradient position*/
  background-position: right var(--select-background-position-right) top var(--select-background-position-top);
  /* icon size, then gradient */
  background-size: var(--select-background-image-size);
  font-family: "Lora", serif;
  font-size: var(--select-font-size);
  font-weight: var(--select-font-weight);
  color: var(--select-color);
  line-height: 1.1;
}
.opd-select::-ms-expand {
  display: none;
}

/* SELECT INVERSE - TRANSPARENT DROPDOWN */
.opd-select--inverse {
  --select-padding-t: 0.625rem;
  --select-padding-b: 0.625rem;
  --select-background-color: transparent;
  --select-border-width: 0;
  --select-border-bottom-width: 1px;
  --select-background-image: url("data:image/svg+xml,%3Csvg width='15' height='8' viewBox='0 0 15 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.625 0.6875C0.71875 0.5625 0.84375 0.5 1 0.5C1.09375 0.5 1.21875 0.53125 1.3125 0.625L7.46875 6.28125L13.6562 0.625C13.8438 0.4375 14.1562 0.4375 14.3438 0.65625C14.5312 0.84375 14.5312 1.15625 14.3125 1.34375L7.8125 7.34375C7.625 7.53125 7.34375 7.53125 7.15625 7.34375L0.65625 1.34375C0.4375 1.1875 0.4375 0.875 0.625 0.6875Z' fill='%23ffffff'/%3E%3C/svg%3E%0A");
}

/* ------------------------------------ *\
   #FIELDSET
\* ------------------------------------ */
.opd-form-fieldset {
  margin: 0;
  padding: 0;
  border: none;
}
.opd-form-fieldset legend {
  margin-bottom: 0.625rem;
  font-family: "Nib Pro", serif;
  font-size: clamp(0.875rem, 1rem + 1.5vw, 1rem);
}

/* ------------------------------------ *\
   #CHECKBOX-AND-RADIOS
\* ------------------------------------ */
.opd-form-item--checkbox, .opd-form-item--radio {
  position: relative;
}
.opd-form-item--checkbox .wpcf7-list-item, .opd-form-item--radio .wpcf7-list-item {
  margin: 0;
}
.opd-form-item--checkbox [class*=-label], .opd-form-item--radio [class*=-label] {
  margin-bottom: 0;
}
.opd-form-item--checkbox input[type=checkbox],
.opd-form-item--checkbox input[type=radio], .opd-form-item--radio input[type=checkbox],
.opd-form-item--radio input[type=radio] {
  position: absolute;
  left: 0;
  opacity: 0.01;
}
.opd-form-item--checkbox input[type=checkbox] + [class*=-label],
.opd-form-item--checkbox input[type=radio] + [class*=-label], .opd-form-item--radio input[type=checkbox] + [class*=-label],
.opd-form-item--radio input[type=radio] + [class*=-label] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: var(--_form-item-checkbox-size);
  padding-left: calc(var(--_form-item-checkbox-size) + 0.9375rem);
  position: relative;
}
.opd-form-item--checkbox input[type=checkbox] + [class*=-label]::after, .opd-form-item--checkbox input[type=checkbox] + [class*=-label]::before,
.opd-form-item--checkbox input[type=radio] + [class*=-label]::after,
.opd-form-item--checkbox input[type=radio] + [class*=-label]::before, .opd-form-item--radio input[type=checkbox] + [class*=-label]::after, .opd-form-item--radio input[type=checkbox] + [class*=-label]::before,
.opd-form-item--radio input[type=radio] + [class*=-label]::after,
.opd-form-item--radio input[type=radio] + [class*=-label]::before {
  content: "";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: var(--_form-item-checkbox-size);
  height: var(--_form-item-checkbox-size);
  background-color: var(--form-input-background-color);
  border: var(--form-input-border-width) solid var(--form-input-border-color);
  position: absolute;
  top: 0.2em;
  left: 0;
  line-height: 1;
}
.opd-form-item--checkbox input[type=checkbox] + [class*=-label]::before,
.opd-form-item--checkbox input[type=radio] + [class*=-label]::before, .opd-form-item--radio input[type=checkbox] + [class*=-label]::before,
.opd-form-item--radio input[type=radio] + [class*=-label]::before {
  content: "";
}
.opd-form-item--checkbox input[type=checkbox] + [class*=-label]:after,
.opd-form-item--checkbox input[type=radio] + [class*=-label]:after, .opd-form-item--radio input[type=checkbox] + [class*=-label]:after,
.opd-form-item--radio input[type=radio] + [class*=-label]:after {
  font-size: 0.875rem;
}
.opd-form-item--checkbox input[type=checkbox]:not(:checked) + [class*=-label]::after,
.opd-form-item--checkbox input[type=radio]:not(:checked) + [class*=-label]::after, .opd-form-item--radio input[type=checkbox]:not(:checked) + [class*=-label]::after,
.opd-form-item--radio input[type=radio]:not(:checked) + [class*=-label]::after {
  display: none;
}
.opd-form-item--checkbox input[type=checkbox]:checked + [class*=-label],
.opd-form-item--checkbox input[type=radio]:checked + [class*=-label], .opd-form-item--radio input[type=checkbox]:checked + [class*=-label],
.opd-form-item--radio input[type=radio]:checked + [class*=-label] {
  color: hsl(214deg, 13%, 24%);
}
.opd-form-item--checkbox input[type=checkbox]:checked + [class*=-label]::before,
.opd-form-item--checkbox input[type=radio]:checked + [class*=-label]::before, .opd-form-item--radio input[type=checkbox]:checked + [class*=-label]::before,
.opd-form-item--radio input[type=radio]:checked + [class*=-label]::before {
  --form-input-border-color: hsl(214deg, 13%, 24%);
}
.opd-form-item--checkbox input[type=checkbox]:checked + [class*=-label]::after,
.opd-form-item--checkbox input[type=radio]:checked + [class*=-label]::after, .opd-form-item--radio input[type=checkbox]:checked + [class*=-label]::after,
.opd-form-item--radio input[type=radio]:checked + [class*=-label]::after {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.opd-form-item--checkbox input[type=checkbox]:focus + [class*=-label],
.opd-form-item--checkbox input[type=radio]:focus + [class*=-label], .opd-form-item--radio input[type=checkbox]:focus + [class*=-label],
.opd-form-item--radio input[type=radio]:focus + [class*=-label] {
  outline: 3px solid var(--system-focus-outline-color);
}
.opd-form-item--checkbox input[type=checkbox]:focus:not(:focus-visible) + [class*=-label],
.opd-form-item--checkbox input[type=radio]:focus:not(:focus-visible) + [class*=-label], .opd-form-item--radio input[type=checkbox]:focus:not(:focus-visible) + [class*=-label],
.opd-form-item--radio input[type=radio]:focus:not(:focus-visible) + [class*=-label] {
  outline: none;
}
.opd-form-item--checkbox input[type=checkbox]:focus-visible + [class*=-label],
.opd-form-item--checkbox input[type=radio]:focus-visible + [class*=-label], .opd-form-item--radio input[type=checkbox]:focus-visible + [class*=-label],
.opd-form-item--radio input[type=radio]:focus-visible + [class*=-label] {
  outline: 3px solid var(--system-focus-outline-color);
}
.opd-form-item--checkbox .opd-form-item--label-inner, .opd-form-item--radio .opd-form-item--label-inner {
  font-size: 0.875rem;
}
.opd-form-item--checkbox .opd-form-item--label-inner a, .opd-form-item--radio .opd-form-item--label-inner a {
  text-decoration: underline;
}

/* CHECKBOX */
.opd-form-item--checkbox input[type=checkbox] + [class*=-label]::before {
  content: "";
  border-radius: var(--form-input-border-radius);
}
.opd-form-item--checkbox input[type=checkbox] + [class*=-label]:after {
  content: "✓";
}
.opd-form-item--checkbox .facetwp-checkbox {
  padding-left: calc(var(--_form-item-checkbox-size) + 0.5em);
  background-image: none;
  position: relative;
}
.opd-form-item--checkbox .facetwp-checkbox::after, .opd-form-item--checkbox .facetwp-checkbox::before {
  content: "";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: var(--_form-item-checkbox-size);
  height: var(--_form-item-checkbox-size);
  background-color: var(--form-input-background-color);
  border: var(--form-input-border-width) solid var(--form-input-border-color);
  position: absolute;
  top: 0.2em;
  left: 0;
  line-height: 1;
}
.opd-form-item--checkbox .facetwp-checkbox::before {
  content: "";
  border-radius: var(--form-input-border-radius);
}
.opd-form-item--checkbox .facetwp-checkbox:after {
  font-size: 0.875rem;
  content: "✓";
}
.opd-form-item--checkbox .facetwp-checkbox.checked {
  background-image: none;
}
.opd-form-item--checkbox .facetwp-checkbox:not(.checked)::after {
  display: none;
}

/* ------------------------------------ *\
   #CONTACT-FORM-OVERRIDES
\* ------------------------------------ */
/* class for managing acceptance field in contact form */
.opd-form-item * + .wpcf7-form-control-wrap {
  margin-top: 0.5em;
}
.opd-form-item .wpcf7-form-control-wrap {
  display: block;
}

/* Form response output */
.wpcf7 form.wpcf7-form {
  /* Error */
}
.wpcf7 form.wpcf7-form .wpcf7-response-output {
  padding: 0.625rem;
  border-color: hsl(0deg, 0%, 85%);
  font-weight: 500;
}
.wpcf7 form.wpcf7-form.invalid .wpcf7-response-output, .wpcf7 form.wpcf7-form.unaccepted .wpcf7-response-output, .wpcf7 form.wpcf7-form.payment-required .wpcf7-response-output {
  border-color: #752E4A;
  color: #752E4A;
}
.wpcf7 form.wpcf7-form .wpcf7-not-valid-tip {
  padding-top: 0.3125rem;
  color: #752E4A;
  font-family: "Lora", serif;
  font-weight: 500;
  font-size: 0.875rem;
}

/* ------------------------------------ *\
   #ACTION
\* ------------------------------------ */
/* Form action wrapper */
.opd-form-item--action .facetwp-reset {
  width: 100%;
}

/* ------------------------------------ *\
   #FULLTEXT
\* ------------------------------------ */
/* Wrapper for fulltext autocomplete field */
.opd-form-item--fulltext-search .facet-label {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(100%);
          clip-path: inset(100%);
  white-space: nowrap;
  opacity: 0;
}

/* ------------------------------------ *\
  #FACET-WRAP
\* ------------------------------------ */
.opd-form-item .facet-wrap {
  display: grid;
  gap: 0.5em;
}
.opd-form-item .facet-label {
  font-size: var(--_form-item-label-font-size);
}

/* ------------------------------------ *\
  #MEDIA-QUERIES
\* ------------------------------------ */
/**
 * HEADER-SEARCH
 *
 * Block in fse and custom markup for site header search
*/
/* ------------------------------------ *\
  #CUSTOM-PROPERTIES
\* ------------------------------------ */
.opd-header__search {
  --_search-dropdown-position: var(--search-dropdown-position, absolute);
  --_search-dropdown-display: var(--search-dropdown-display, none);
  --_search-dropdown-position-r: var(--search-dropdown-position-r, 0);
  --_search-dropdown-position-l: var(--search-dropdown-position-l, 0);
  --_search-dropdown-z-index: var(--search-dropdown-z-index, 0);
  --_search-dropdown-box-shadow: var(--search-dropdown-box-shadow, none);
}

/* ------------------------------------ *\
  #HEADER-SEARCH
\* ------------------------------------ */
.opd-header__search-dropdown {
  --input-submit-height: 4em;
  --input-submit-background-color: transparent;
  --input-submit-size: var(--input-submit-height);
  --input-submit-placeholder-font-size: 1.3em;
  --input-submit-icon-font-size: 2.5em;
  display: var(--_search-dropdown-display);
  padding: 0;
  position: var(--_search-dropdown-position);
  right: var(--_search-dropdown-position-r);
  left: var(--_search-dropdown-position-l);
  background-color: hsl(40deg, 20%, 97%);
  -webkit-box-shadow: var(--_search-dropdown-box-shadow);
          box-shadow: var(--_search-dropdown-box-shadow);
  z-index: var(--_search-dropdown-z-index);
}
body .is-layout-flow > * + .opd-header__search-dropdown, body .is-layout-flow > .opd-header__search-dropdown {
  --_search-dropdown-margin-t: var(--search-dropdown-margin-t, 0rem);
  margin-top: var(--_search-dropdown-margin-t);
}
.opd-header__search-dropdown > .wp-block-group {
  position: relative;
}
.opd-header__search-dropdown .facetwp-facet {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.opd-header__search-dropdown input[type=text] {
  background-color: var(--input-submit-background-color);
  border-radius: 0;
  border: 0;
  border-bottom: 1px solid hsl(0deg, 0%, 85%);
  height: var(--input-submit-height);
}
.opd-header__search-dropdown input[type=text]::-webkit-input-placeholder {
  font-size: var(--input-submit-placeholder-font-size);
}
.opd-header__search-dropdown input[type=text]::-moz-placeholder {
  font-size: var(--input-submit-placeholder-font-size);
}
.opd-header__search-dropdown input[type=text]:-ms-input-placeholder {
  font-size: var(--input-submit-placeholder-font-size);
}
.opd-header__search-dropdown input[type=text]::-ms-input-placeholder {
  font-size: var(--input-submit-placeholder-font-size);
}
.opd-header__search-dropdown input[type=text]::placeholder {
  font-size: var(--input-submit-placeholder-font-size);
}
.opd-header__search-dropdown .fcomplete-wrap {
  z-index: 1; /* manage component z-index */
  max-width: 100%;
  right: calc(-2px + var(--input-submit-size));
  left: 0;
}
.opd-header__search-dropdown .opd-search__form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.opd-header__search-dropdown .fwp-submit {
  width: var(--input-submit-size);
  -webkit-box-flex: 0;
      -ms-flex: 0 0 var(--input-submit-size);
          flex: 0 0 var(--input-submit-size);
  background-color: var(--input-submit-background-color);
  cursor: pointer;
}
.opd-header__search-dropdown .opd-search__button-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  font-size: var(--input-submit-icon-font-size);
  color: hsl(214deg, 13%, 24%);
}
.opd-header__search.is-open {
  --search-dropdown-display: block;
  --search-dropdown-z-index: 1001;
  --search-dropdown-box-shadow: 0px 135px 54px rgba(0, 0, 0, 0.01), 0px 76px 46px rgba(0, 0, 0, 0.05),
      0px 34px 34px rgba(0, 0, 0, 0.09), 0px 8px 19px rgba(0, 0, 0, 0.1), 0px 0px 0px rgba(0, 0, 0, 0.1);
}
.opd-header__search.is-open .opd-header__search-dropdown {
  --search-dropdown-margin-t: calc(1rem + 1px);
  padding: 3em 5% 6em;
}
.opd-header__search-links .wp-block-navigation-item {
  font-size: clamp(1rem, 1rem + 1.2vw, 1.25rem);
}
.opd-header__search-links .wp-block-navigation-item__content {
  text-decoration: underline;
  color: #752E4A;
}

/* BTN SEARCH */
.opd-btn-search {
  --btn-search-size: 2.3em;
  width: var(--btn-search-size);
  min-width: var(--btn-search-size);
  height: var(--btn-search-size);
  border-color: transparent;
  border-width: 0;
  font-size: 1.5rem;
}
.opd-btn-search__label {
  --_btn-search-label-display: var(--btn-search-label-display, inline);
  display: var(--_btn-search-label-display);
}
.is-closed .opd-btn-search .is-label-open, .is-open .opd-btn-search .is-label-closed {
  --btn-search-label-display: none;
}

/* ------------------------------------ *\
    #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (min-width: 768px) {
  body .is-layout-flex > .opd-header__search {
    margin-left: auto;
  }
  .opd-header__search-dropdown {
    --input-submit-placeholder-font-size: 2em;
  }
}
/* ------------------------------------ *\
#METADATA
\* ------------------------------------ */
/* Metadata list and metadata element in pages eg: ct attività */
.opd-metadata {
  --_metadata-display: var(--metadata-display, flex);
  --_metadata-gap: var(--metadata-gap, 0.5em);
  --_metadata-flex-flow: var(--metadata-flex-flow, " ");
  --_metadata-flex-value: var(--metadata-flex-value, " ");
  --_metadata-inner-gap: var(--metadata-inner-gap, 0.75em);
  --_metadata-font-size: var(--metadata-font-size, 1rem);
  --_metadata-label-flex-value: var(--metadata-label-flex-value, var(--_metadata-flex-value));
  --_metadata-value-flex-value: var(--metadata-value-flex-value, var(--_metadata-flex-value));
  display: var(--_metadata-display);
  gap: var(--_metadata-gap);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: var(--_metadata-flex-flow);
          flex-flow: var(--_metadata-flex-flow);
  font-size: var(--_metadata-font-size);
}
.opd-metadata__label {
  -webkit-box-flex: var(--_metadata-label-flex-value);
      -ms-flex: var(--_metadata-label-flex-value);
          flex: var(--_metadata-label-flex-value);
}
.opd-metadata__value {
  -webkit-box-flex: var(--_metadata-value-flex-value);
      -ms-flex: var(--_metadata-value-flex-value);
          flex: var(--_metadata-value-flex-value);
}
.opd-metadata__label {
  font-weight: 600;
}
.opd-metadata .opd-metadata {
  --metadata-gap: 0.33em;
  --metadata-flex-flow: column nowrap;
}
.opd-metadata .opd-metadata .opd-metadata__label {
  font-weight: 500;
}
.opd-metadata .opd-metadata .opd-metadata__value {
  width: 100%;
}
.opd-metadata .opd-metadata + .opd-metadata {
  margin-top: var(--_metadata-inner-gap);
}
.opd-metadata--inline-flow {
  --metadata-display: inline;
  --_metadata-item-spacing: var(--metadata-item-spacing, 0.5);
  /* Manage label + multivalue items with display inline elements flow */
}
.opd-metadata--inline-flow .opd-metadata__label,
.opd-metadata--inline-flow .opd-metadata__value {
  display: inline;
}
.opd-metadata--inline-flow .opd-metadata__label {
  margin-right: var(--_metadata-item-spacing);
}
.opd-metadata--inline-flow .opd-metadata__value > * {
  margin-right: var(--_metadata-item-spacing);
}
.opd-metadata--inline-flow .opd-link {
  padding-bottom: 0.5em;
  gap: 0.3em;
}
.opd-metadata--inline-flow .opd-link::after {
  content: "\f0c1";
  font-family: "Font Awesome 6 Pro" !important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Small size */
.opd-metadata--s {
  --metadata-font-size: clamp(0.75rem, 1rem + 1.5vw, 0.875rem);
}

/* Decorated */
/* Has separator between label and value */
.opd-metadata--decorated {
  --metadata-item-spacing: 0.33em;
}
.opd-metadata--decorated .opd-metadata__label + .opd-metadata__value::before,
.opd-metadata--decorated .opd-metadata__label + .opd-metadata__label::before {
  content: "•";
  margin-right: var(--_metadata-item-spacing);
}

/* ------------------------------------ *\
  #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 767px) {
  .opd-metadata {
    --metadata-flex-flow: column nowrap;
  }
}
@media all and (min-width: 768px) {
  .opd-metadata {
    --metadata-flex-value: 1;
  }
  .opd-metadata--inline,
  .opd-metadata .opd-metadata--inline {
    --metadata-flex-flow: row nowrap;
    --metadata-inner-gap: 1.2em;
    --metadata-gap: 1em;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .opd-metadata--inline {
    --metadata-label-flex-value: 0 0 auto;
    --metadata-value-flex-value: 0 0 auto;
  }
  .opd-metadata-list--fullwidth {
    --metadata-value-flex-value: 2;
  }
}
/**
 * SIDE-NAVIGATION
 *
 * Style for sidebar elements
*/
/* ------------------------------------ *\
  #SIDE-NAVIGATION
\* ------------------------------------ */
.opd-side-navigation {
  --sidebar-navigation-accent-color: var(--color-brand, #752E4A);
}
.opd-side-navigation__nav {
  font-size: clamp(0.875rem, 1rem + 1.5vw, 1.125rem);
  line-height: 1.1;
}
.opd-side-navigation__nav-item a {
  --_sidebar-navigation-item-border-color: var(--sidebar-navigation-item-border-color, transparent);
  --_sidebar-navigation-item-background-color: var(--sidebar-navigation-item-background-color, transparent);
  --_sidebar-navigation-item-text-color: var(--sidebar-navigation-item-text-color, hsl(214deg, 13%, 24%));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  padding: 0.8em;
  background-color: var(--_sidebar-navigation-item-background-color);
  border-left: max(3px, 0.08em) solid var(--_sidebar-navigation-item-border-color);
  color: var(--_sidebar-navigation-item-text-color);
  font-size: 1.125rem;
  font-weight: 500;
}
.opd-side-navigation__nav-item a:hover {
  --sidebar-navigation-item-border-color: var(--sidebar-navigation-accent-color);
  --sidebar-navigation-item-text-color: #ffffff;
  --sidebar-navigation-item-background-color: var(--sidebar-navigation-accent-color);
}
.opd-side-navigation__nav-item.is-current a {
  --sidebar-navigation-item-border-color: var(--sidebar-navigation-accent-color);
  --sidebar-navigation-item-text-color: var(--sidebar-navigation-accent-color);
}

/* Mobile menu expand */
.opd-mobile-menu-expand {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 0.625rem;
  background-color: var(--color-accent-item, #752E4A);
  border-radius: 0;
  border-top: 2px solid #ffffff;
  color: var(--color-text-item, #ffffff);
  font-weight: 700;
}
.opd-mobile-menu-expand:hover, .opd-mobile-menu-expand:focus {
  -webkit-filter: saturate(160%);
          filter: saturate(160%);
  color: #ffffff;
  background-color: var(--color-accent-item, #752E4A);
  border-color: #ffffff;
}
.opd-mobile-menu-expand [class^=fa],
.opd-mobile-menu-expand [class*=fa-] {
  margin-left: 0.625rem;
}

/* ------------------------------------ *\
    #MEDIA-QUERIES
  \* ------------------------------------ */
@media (hover: none) and (pointer: coarse) {
  /* Add padding to increase touch area */
  .opd-side-navigation__nav-item a {
    padding-top: 1em;
    padding-bottom: 1em;
  }
}
@media all and (max-width: 767px) {
  .opd-side-navigation__nav {
    height: 3em;
    overflow: hidden;
    position: relative;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    background-color: #ffffff;
  }
  .opd-side-navigation__nav.is-shown {
    height: 22.875rem;
    overflow: auto;
  }
  .opd-side-navigation__nav.is-shown::before {
    display: none;
  }
  .opd-side-navigation.is-sticky-mobile {
    position: fixed;
    right: 0;
    left: 0;
    z-index: 1;
    -webkit-animation: toggle-sticky-menu 0.3s ease-out;
            animation: toggle-sticky-menu 0.3s ease-out;
    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
            box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
  }
}
@media all and (min-width: 1024px) {
  .opd-side-navigation.is-sticky {
    position: sticky;
    top: 0;
  }
  .opd-mobile-menu-expand {
    display: none;
  }
}
/**
 * TAG
 *
 * Styles and settings for tab element
 * Component used in activity ecc, category item
 * opd-tag
 * opd-tag--inverse for tag with light text and blurred bg
*/
/* ------------------------------------ *\
    #TAG
\* ------------------------------------ */
/* Tag default */
.opd-tag, .opd-taxonomy-post a {
  --_tag-min-height: var(--tag-min-height, 1.875rem);
  --_tag-v-padding: var(--tag-v-padding, 0.5em);
  --_tag-h-padding: var(--tag-h-padding, 0.9375rem);
  --_tag-background-color: var(--tag-background-color, #ffffff);
  --_tag-border-color: var(--tag-border-color, hsl(40deg, 14%, 75%));
  --_tag-color: var(--tag-color, hsl(214deg, 13%, 24%));
  --_tag-font-size: var(--tag-font-size, clamp(0.75rem, 1rem + 1.5vw, 0.875rem));
  --_tag-line-height: var(--tag-line-height, 1);
  --_tag-color-icon: var(--tag-color-icon, inherit);
  --_tag-backdrop-filter: var(--tag-backdrop-filter, " ");
  --_tag-background-color-selected: var(--tag-background-color-selected, #752E4A);
  --_tag-border-color-selected: var(--tag-border-color-selected, #752E4A);
  --_tag-color-selected: var(--tag-color-selected, #ffffff);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: var(--_tag-min-height);
  padding: var(--_tag-v-padding) var(--_tag-h-padding);
  border: 1px solid hsl(40deg, 14%, 75%);
  border-left: 2px solid var(--_tag-border-color);
  border-top-right-radius: 1.875rem;
  border-bottom-right-radius: 1.875rem;
  background-color: var(--_tag-background-color);
  -webkit-backdrop-filter: var(--_tag-backdrop-filter);
          backdrop-filter: var(--_tag-backdrop-filter);
  font-weight: 500;
  font-size: var(--_tag-font-size);
  line-height: var(--_tag-line-height);
  color: var(--_tag-color);
  text-decoration: none;
}
.opd-tag:hover, .opd-taxonomy-post a:hover, .opd-tag:focus, .opd-taxonomy-post a:focus {
  text-decoration: none;
}
.opd-tag.is-selected, .opd-taxonomy-post a.is-selected, .opd-tag[aria-selected=true], .opd-taxonomy-post a[aria-selected=true], .opd-tag:is(button, a):hover, .opd-taxonomy-post a:is(button, a):hover, .opd-tag:is(button, a):focus, .opd-taxonomy-post a:is(button, a):focus {
  background: var(--_tag-background-color-selected);
  border-color: var(--_tag-border-color-selected);
  color: var(--_tag-color-selected);
}
.opd-tag--small {
  --tag-min-height: 1.5rem;
  --tag-h-padding: 0.46875rem;
  --tag-font-size: 0.75rem;
}

/* Button tag */
button.opd-tag:hover, button.opd-tag:focus {
  background-color: var(--_tag-background-color);
  color: inherit;
}

/* ------------------------------------ *\
#TAG-INVERSE
\* ------------------------------------ */
/* Tag default */
.opd-tag--inverse {
  --tag-background-color: hsla(0,0%,0%,0.5);
  --tag-backdrop-filter: blur(10px);
  --tag-color: #ffffff;
}

/* ------------------------------------ *\
    #MEDIA-QUERIES
  \* ------------------------------------ */
/* ------------------------------------ *\
  #TAXONOMY-POST-CUSTOM-STYLE
\* ------------------------------------ */
.opd-taxonomy-post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.opd-taxonomy-post .wp-block-post-terms__separator {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(100%);
          clip-path: inset(100%);
  white-space: nowrap;
  opacity: 0;
}
.opd-taxonomy-post a {
  --tag-background-color: hsl(40deg, 20%, 97%);
}

/**
 * FACETWP OVERRIDES
 *
 * Overridings/settings for FACET WP
*/
/* ------------------------------------ *\
  #OVERRIDINGS
\* ------------------------------------ */
/* reset bottom margin */
div.facetwp-facet {
  margin-bottom: 0;
}

/* ------------------------------------ *\
  #BUTTON
\* ------------------------------------ */
.facetwp-load-more::after {
  content: "+";
  font-family: "Font Awesome 6 Pro" !important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding-left: 0.625rem;
}

/* ------------------------------------ *\
  #OVERRIDE-GRID
\* ------------------------------------ */
.has-facets-highlighted-grid .facetwp-template {
  display: grid;
  gap: 1.5625rem;
}

/* ------------------------------------ *\
  #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (min-width: 768px) {
  .has-facets-highlighted-grid .facetwp-template {
    grid-template-columns: repeat(12, 1fr);
  }
  .has-facets-highlighted-grid .facetwp-template > *:first-child {
    grid-column: span 6;
  }
  .has-facets-highlighted-grid .facetwp-template > *:nth-child(2) {
    grid-column: span 6;
  }
  .has-facets-highlighted-grid .facetwp-template > *:nth-child(2) ~ * {
    grid-column: span 4;
  }
}
/**
 * WP COMPONENTS OVERRIDES FOR GALLERY
 *
 * Overridings/settings for WP gallery
 * and lightbox settings
*/
/* ------------------------------------ *\
  #GALLERY
\* ------------------------------------ */
/* WP gallery */
.gallery {
  --_gallery-grid-template-columns: var(--gallery-grid-template-columns, repeat(2, 1fr));
  display: grid;
  gap: clamp(1.25rem, 6vw, 1.5625rem);
  grid-template-columns: var(--_gallery-grid-template-columns);
}
.gallery figure {
  margin-bottom: 0;
}
.gallery .gallery-icon,
.gallery a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.gallery img {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 8/5;
  -o-object-position: center center;
     object-position: center center;
}
.gallery.gallery-columns-1 {
  --gallery-grid-template-columns: repeat(1, 1fr);
}
.gallery .gallery-caption {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(100%);
          clip-path: inset(100%);
  white-space: nowrap;
  opacity: 0;
}

/* ------------------------------------ *\
  #lightbox
\* ------------------------------------ */
/* Slick lightbox overrides */
.slick-lightbox {
  --slick-button-size: 45px;
  --slick-button-border-radius: 50%;
  --slick-button-font-size: 1.875rem;
  --_slick-button-active-bg: var(--slick-button-active-bg, hsla(0, 0%, 100%, 0.2));
}
.slick-lightbox .slick-lightbox-close {
  --lightbox-close-top-position: calc(var(--toolbar-height) + 0.625rem);
  width: var(--slick-button-size);
  height: var(--slick-button-size);
  border-radius: var(--slick-button-border-radius);
}
.slick-lightbox .slick-lightbox-close::before {
  content: "\f057";
  font-family: "Font Awesome 6 Pro" !important;
  speak: none;
  font-style: normal;
  font-weight: 300;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: var(--slick-button-font-size);
}
.logged-in.admin-bar .slick-lightbox .slick-lightbox-close {
  top: var(--lightbox-close-top-position);
}
.slick-lightbox .slick-arrow {
  width: var(--slick-button-size);
  height: var(--slick-button-size);
  border-radius: var(--slick-button-border-radius);
  z-index: 1;
}
.slick-lightbox .slick-arrow .slick-prev-icon::before,
.slick-lightbox .slick-arrow .slick-next-icon::before {
  font-size: var(--slick-button-font-size);
}
.slick-lightbox .slick-arrow .slick-prev-icon::before {
  content: "\f053";
  font-family: "Font Awesome 6 Pro" !important;
  speak: none;
  font-style: normal;
  font-weight: 300;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-lightbox .slick-arrow .slick-next-icon::before {
  content: "\f054";
  font-family: "Font Awesome 6 Pro" !important;
  speak: none;
  font-style: normal;
  font-weight: 300;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-lightbox .slick-arrow,
.slick-lightbox .slick-lightbox-close {
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.slick-lightbox .slick-arrow:hover, .slick-lightbox .slick-arrow:focus,
.slick-lightbox .slick-lightbox-close:hover,
.slick-lightbox .slick-lightbox-close:focus {
  background-color: var(--_slick-button-active-bg);
}
.slick-lightbox .slick-lightbox-slick-caption {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding: 0.6em;
}

/* ------------------------------------ *\
  #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (min-width: 768px) {
  /* WP gallery */
  .gallery.gallery-columns-2 {
    --gallery-grid-template-columns: repeat(2, 1fr);
  }
  .gallery.gallery-columns-3 {
    --gallery-grid-template-columns: repeat(3, 1fr);
  }
  .gallery.gallery-columns-4 {
    --gallery-grid-template-columns: repeat(4, 1fr);
  }
  .gallery.gallery-columns-5 {
    --gallery-grid-template-columns: repeat(5, 1fr);
  }
  .gallery.gallery-columns-6 {
    --gallery-grid-template-columns: repeat(6, 1fr);
  }
  .gallery.gallery-columns-7 {
    --gallery-grid-template-columns: repeat(7, 1fr);
  }
  .gallery.gallery-columns-8 {
    --gallery-grid-template-columns: repeat(8, 1fr);
  }
  .gallery.gallery-columns-9 {
    --gallery-grid-template-columns: repeat(9, 1fr);
  }
}
/**
 * GRIDS
 *
 * Grids settings for responsive
 * Each visualization has a class to use in addition to opd-grid
 * Mobile: opd-grid--mobile or opd-grid--mobile-(n) - one column or two columns
 * Tablet: opd-grid--tablet or opd-grid--tablet-(n) - one column, two columns or three columns
 * Tablet m (from 1024 to laptop wide breakpoint): opd-grid--tablet-m-(n)
 * Desktop: opd-grid--(n) up to 6 columns
 * Grid column: for grid inside eg: views
 * opd-grid--fluid: manage responsive grid behaviour (add opd-grid--fluid-(n) to manage max column number)
 * opd-grid-flex: manage fluid column-number adaptive grid (eg: element whuch may have 3 columns, 4 columns etc)
*/
/* ------------------------------------ *\
  #GRIDS
\* ------------------------------------ */
.opd-grid {
  display: grid;
  gap: 0.9375rem;
}
.opd-grid__column > * {
  height: 100%;
}
.opd-grid > * {
  min-width: 0; /* prevent horizontal overflowing bug - set grid items min width lower than min content width  */
}

/* ------------------------------------ *\
  #GAP-SIZE - ALL BREAKPOINTS
\* ------------------------------------ */
.opd-grid--xl {
  gap: 2.1875rem;
}
.opd-grid--l {
  gap: 1.5625rem;
}
.opd-grid--s {
  gap: 0.46875rem;
}
.opd-grid--xs {
  gap: 0.1875rem;
}

/* ------------------------------------ *\
  #FLUID-GRID
\* ------------------------------------ */
/* Auto-adjustable responsive grid 
* auto-fit value ensures equal-width columns by stretching columns to fill any available space.
*  minmax() set the minimum allowed column width, 
*  1fr used as the max which ensures the content fills the column as much as room allows.
*   Change --fluid-grid-item-value for changing items number in row */
.opd-grid {
  --fluid-grid-item-value: 11rem; /* default - 6 columns max */
}
.opd-grid--fluid {
  grid-template-columns: repeat(auto-fill, minmax(var(--fluid-grid-item-value), 1fr));
}
.opd-grid--fluid-2 {
  --fluid-grid-item-value: 27rem;
}
.opd-grid--fluid-3 {
  --fluid-grid-item-value: 20rem;
}
.opd-grid--fluid-4 {
  --fluid-grid-item-value: 16rem;
}
.opd-grid--fluid-5 {
  --fluid-grid-item-value: 13rem;
}
.opd-grid--fluid-6 {
  --fluid-grid-item-value: 11rem;
}

/* ------------------------------------ *\
  #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 767px) {
  .opd-grid--mobile-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .opd-grid--mobile-xl {
    gap: 2.1875rem;
  }
  .opd-grid--mobile-l {
    gap: 1.5625rem;
  }
  .opd-grid--mobile-s {
    gap: 0.46875rem;
  }
  .opd-grid--mobile-xs {
    gap: 0.1875rem;
  }
}
@media all and (max-width: 767px) and (hover: none) and (pointer: coarse) {
  .opd-grid--mobile.opd-mobile-h-scroll {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .opd-grid--mobile.opd-mobile-h-scroll > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 80%;
            flex: 0 0 80%;
  }
}
@media all and (min-width: 768px) {
  .opd-grid-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.5625rem;
  }
  .opd-grid-flex--centered {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .opd-grid--highlight-row {
    grid-template-columns: repeat(12, 1fr);
  }
  .opd-grid--highlight-row > *:first-child {
    grid-column: span 6;
  }
  .opd-grid--highlight-row > *:nth-child(2) {
    grid-column: span 6;
  }
  .opd-grid--highlight-row > *:nth-child(2) ~ * {
    grid-column: span 4;
  }
}
@media all and (min-width: 768px) and (max-width: 1127px) {
  .opd-grid--tablet-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .opd-grid--tablet-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .opd-grid--tablet-2-10 {
    grid-template-columns: 2fr 10fr;
  }
  .opd-grid--tablet-3-9 {
    grid-template-columns: 3fr 9fr;
  }
  .opd-grid--tablet-4-8 {
    grid-template-columns: 4fr 8fr;
  }
  .opd-grid--tablet-5-7 {
    grid-template-columns: 5fr 7fr;
  }
  .opd-grid--tablet-6-6 {
    grid-template-columns: 6fr 6fr;
  }
  .opd-grid--tablet-7-5 {
    grid-template-columns: 7fr 5fr;
  }
  .opd-grid--tablet-8-4 {
    grid-template-columns: 8fr 4fr;
  }
  .opd-grid--tablet-9-3 {
    grid-template-columns: 9fr 3fr;
  }
  .opd-grid--tablet-10-2 {
    grid-template-columns: 10fr 2fr;
  }
  .opd-grid--tablet-xl {
    gap: 2.1875rem;
  }
  .opd-grid--tablet-l {
    gap: 1.5625rem;
  }
  .opd-grid--tablet-s {
    gap: 0.46875rem;
  }
  .opd-grid--tablet-xs {
    gap: 0.1875rem;
  }
}
@media all and (min-width: 1024px) and (max-width: 1127px) {
  .opd-grid--tablet-m-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .opd-grid--tablet-m-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .opd-grid--tablet-m-2-10 {
    grid-template-columns: 2fr 10fr;
  }
  .opd-grid--tablet-m-3-9 {
    grid-template-columns: 3fr 9fr;
  }
  .opd-grid--tablet-m-4-8 {
    grid-template-columns: 4fr 8fr;
  }
  .opd-grid--tablet-m-5-7 {
    grid-template-columns: 5fr 7fr;
  }
  .opd-grid--tablet-m-6-6 {
    grid-template-columns: 6fr 6fr;
  }
}
@media all and (min-width: 1128px) {
  .opd-grid--2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .opd-grid--3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .opd-grid--4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .opd-grid--5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .opd-grid--6 {
    grid-template-columns: repeat(6, 1fr);
  }
  /* MANAGE LAYOUT GRID - 12 column base */
  .opd-grid--1-11 {
    grid-template-columns: 1fr 11fr;
  }
  .opd-grid--2-10 {
    grid-template-columns: 2fr 10fr;
  }
  .opd-grid--3-9 {
    grid-template-columns: 3fr 9fr;
  }
  .opd-grid--4-8 {
    grid-template-columns: 4fr 8fr;
  }
  .opd-grid--5-7 {
    grid-template-columns: 5fr 7fr;
  }
  .opd-grid--6-6 {
    grid-template-columns: 6fr 6fr;
  }
  .opd-grid--7-5 {
    grid-template-columns: 7fr 5fr;
  }
  .opd-grid--8-4 {
    grid-template-columns: 8fr 4fr;
  }
  .opd-grid--9-3 {
    grid-template-columns: 9fr 3fr;
  }
  .opd-grid--10-2 {
    grid-template-columns: 10fr 2fr;
  }
  .opd-grid--11-1 {
    grid-template-columns: 11fr 1fr;
  }
  .opd-grid--12 {
    grid-template-columns: repeat(12, 1fr);
  }
  /* GAP SIZE - desktop */
  .opd-grid--desktop-xl {
    gap: 2.1875rem;
  }
  .opd-grid--desktop-l {
    gap: 1.5625rem;
  }
  .opd-grid--desktop-s {
    gap: 0.46875rem;
  }
  .opd-grid--desktop-xs {
    gap: 0.1875rem;
  }
}
/**
 * LAYOUT
 *
 * Layouts settings
*/
/* ------------------------------------ *\
  #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 768px) {
  body {
    padding-top: var(--header-height) !important; /* overrides theme's settings */
  }
}
/**
 * LAYOUT HELPERS
 *
 * Classes and custom properties 
 *
*/
/* ------------------------------------ *\
  #SECTION-DECORATION
\* ------------------------------------ */
.is-conservazione-ricerca {
  --section-decoration: var(--decoration-conservazione-e-ricerca);
}

.is-museo {
  --section-decoration: var(--decoration-museo);
}

.is-formazione {
  --section-decoration: var(--decoration-scuola-formazione-studio);
}

/**
 * LAYOUT-PAGE
 *
 * Layouts detail page - generic styles or components
*/
/* ------------------------------------ *\
  #TAGLIST
\* ------------------------------------ */
.opd-tag-list {
  --_tag-list-gap: var(--tag-list-gap, 0.625rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  gap: var(--_tag-list-gap);
}
.opd-tag-list--links {
  --tag-list-gap: 2.5ch;
}

/**
 * LAYOUT-TRIBE-EVENT
 *
 * Tribe events overridings template and components
*/
/* ------------------------------------ *\
  #SINGLE-EVENT-TEMPLATE
\* ------------------------------------ */
.opd-single-event {
  --tec-font-family-sans-serif: Lora, serif;
  --tec-color-border-default: hsl(40deg, 20%, 97%);
}
.opd-single-event__date {
  margin-bottom: 1.875rem;
  padding: 0.625rem 0.9375rem;
  font-size: clamp(0.875rem, 1rem + 1.5vw, 1rem);
  background-color: #752E4A;
  color: #ffffff;
}
.opd-single-event__metadatas {
  font-size: clamp(0.875rem, 1rem + 1.5vw, 1rem);
}
.opd-single-event__metadata-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  --card-line-spacing-base: 1.5625rem;
  --card-line-height: 2px;
  --card-line-bg: #752E4A;
  padding-left: var(--card-line-spacing-base);
}
.opd-single-event__metadata-row a {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.opd-single-event__metadata-row::before {
  content: "";
  display: inline-block;
  width: calc(0.5 * var(--card-line-spacing-base)); /* half card padding */
  height: var(--card-line-height);
  margin-right: calc(0.5 * var(--card-line-spacing-base)); /* half card padding */
  margin-left: calc(-1 * var(--card-line-spacing-base)); /* card padding */
  background-color: var(--card-line-bg, currentColor);
}
.opd-single-event__map {
  height: 0 !important;
  padding-bottom: 90%;
  position: relative;
  overflow: hidden;
}
.opd-single-event__map iframe,
.opd-single-event__map video {
  width: 100% !important;
  height: 100% !important;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

/* ------------------------------------ *\
  #MEDIA-QUERIES
\* ------------------------------------ */
/**
 * MEGA MENU CUSTOMIZATIONS
 *
 * Customizations of mega menu
 * manage section decoration for menu panel
*/
/* ------------------------------------ *\
  #SECTION-DECORATION
\* ------------------------------------ */
.has-menu-decoration {
  --menu-section-decoration-width: 40px;
  --menu-section-decoration-height: 40px;
  --menu-section-min-height: var(--menu-section-decoration-height);
  --menu-section-decoration-margin-left: " ";
  --menu-section-padding-top: 2.5rem;
  --_menu-section-decoration-spacing: calc(
      var(--menu-section-decoration-spacing, var(--menu-section-decoration-height)) + 0.625rem
  );
  --_menu-content-padding-top: var(--menu-content-padding-top, var(--_menu-section-decoration-spacing));
  --menu-padding-left-spacing: 0.625rem;
  --menu-padding-left: calc(var(--menu-section-decoration-width) + var(--menu-padding-left-spacing));
  --menu-section-decoration: var(--section-decoration);
  --menu-section-decoration-position: left bottom;
  --menu-section-decoration-size: cover;
  --menu-section-decoration-background-color: #752E4A;
}

#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu.mega-menu-item > ul.mega-sub-menu::before {
  content: "";
  display: block !important;
  width: var(--menu-section-decoration-width);
  height: var(--menu-section-decoration-height);
  margin-left: var(--menu-section-decoration-margin-left);
  position: absolute;
  top: 0;
  bottom: 0;
  background: var(--menu-section-decoration-background-color) var(--menu-section-decoration) var(--menu-section-decoration-position) no-repeat;
  background-size: var(--menu-section-decoration-size);
}

#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1[data-effect=slide_up] li.mega-menu-item.mega-toggle-on > .mega-sub-menu {
  min-height: var(--menu-section-min-height);
}

/* ------------------------------------ *\
  #CUSTOM SETTINGS FOR ITEMS ICONS
\* ------------------------------------ */
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 .opd-megamenu-navigation-row .mega-menu-item:not(.is-submenu-title) .mega-menu-link::before,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 .mega-menu-item.has-arrow-right .mega-menu-link::after {
  display: inline-block !important;
  content: "\f054";
  font-family: "Font Awesome 6 Pro" !important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #752E4A;
  font-size: 1rem;
}

/* ------------------------------------ *\
  #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 768px) {
  .has-menu-decoration {
    --menu-section-decoration-margin-left: calc(var(--menu-padding-left) * -1);
  }
  #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu {
    position: relative;
    padding-left: var(--menu-padding-left);
  }
  .opd-header #mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle + #mega-menu-max_mega_menu_1 {
    top: var(--header-height);
    height: calc(100vh - var(--header-height));
    max-height: calc(100vh - var(--header-height));
  }
  .opd-header #mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle.mega-menu-open:after {
    top: var(--header-height);
  }
}
@media all and (min-width: 769px) {
  .has-menu-decoration {
    --menu-section-decoration-width: 47px;
    --menu-section-min-height: 157px;
    --menu-section-decoration-height: auto;
    --menu-section-decoration-size: contain;
    --menu-padding-left-spacing: calc(0.625rem * 3);
  }
  #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row {
    padding-left: var(--menu-padding-left);
  }
}
@media all and (min-width: 1025px) {
  .has-menu-decoration {
    --menu-section-decoration-width: 94px;
    --menu-section-min-height: 314px;
  }
}
/**
 * THEME OVERRIDES
 *
 * Overridings/settings for Wordpress fulltheme style
*/
/* ------------------------------------ *\
  #HEADER
\* ------------------------------------ */
.opd-header__main-area.is-layout-flex {
  gap: clamp(1.5625rem, 4vw, 3.4375rem);
}

/* ------------------------------------ *\
  #FOOTER
\* ------------------------------------ */
.opd-footer__bottom {
  -webkit-box-shadow: 0 -6px 12px rgba(26, 26, 26, 0.02);
          box-shadow: 0 -6px 12px rgba(26, 26, 26, 0.02);
}

/* ------------------------------------ *\
  #SEPARATOR
\* ------------------------------------ */
/* Override separator height */
.wp-block-separator.has-background:not(.is-style-dots) {
  height: 2px;
}

/* COVER - OVERRIDES inner container tablet behaviour  */
.has-inner-container-flex-column .wp-block-cover__inner-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

/* ------------------------------------ *\
  #TABLE
\* ------------------------------------ */
figure.wp-block-table {
  display: block; /* make it behaving like a block element */
}

.wp-block-table figcaption {
  padding: 0.625rem 0;
  border-top: 1px solid hsl(0deg, 0%, 85%);
  border-bottom: 1px solid hsl(0deg, 0%, 85%);
}

/* RESET PADDING FOR EMPTY FSE SECTION WITH BG COLOR */
:where(.wp-block-group.has-background:empty) {
  padding: 0;
}

/* ------------------------------------ *\
  #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 1024px) {
  :where(.opd-header) .wp-block-site-logo {
    width: 180px;
  }
  /* DATA SECTION IN PAGE HEADER WITH CUSTOM  */
  .opd-data-number-block__label {
    font-size: clamp(0.875rem, 1rem + 1.5vw, 1.125rem) !important;
  }
  .opd-data-number-block__value-label {
    font-size: clamp(0.875rem, 1rem + 1.5vw, 1.125rem) !important;
  }
  .opd-data-number-block__number {
    font-size: 3.125rem !important;
  }
}
@media all and (max-width: 768px) {
  .is-banner-image-mobile-resize {
    display: block;
    width: 100%;
  }
  .is-banner-image-mobile-resize img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    aspect-ratio: 16/9;
  }
  /* fixed site header on mobile */
  header.wp-block-template-part {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 49;
    background-color: #ffffff;
    -webkit-box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
            box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
  }
  .opd-header__top-area .wp-block-navigation {
    display: none;
  }
}
@media all and (max-width: 767px) {
  .wp-block-site-logo {
    width: 120px;
  }
}
/**
 * LAYOUT
 *
 *
 * Layout helper classes
 */
/* ------------------------------------ *\
  #CONTAINERS
\* ------------------------------------ */
/* Container element */
.opd-container {
  /* 100% on mobile minus 8vmin, 120ch on desktop */
  width: 90%;
  max-width: 1147px;
  margin-right: auto;
  margin-left: auto;
}
.opd-container .opd-container {
  width: 100%;
}

/* Container xs - form container */
.opd-container--xs {
  width: 90%;
  max-width: 690px;
  margin-right: auto;
  margin-left: auto;
}

/* Container small */
.opd-container--s {
  width: 90%;
  max-width: 1024px;
  margin-right: auto;
  margin-left: auto;
}

/* Container large */
.opd-container--l {
  width: 90%;
  max-width: 1440px;
  margin-right: auto;
  margin-left: auto;
}

/* ------------------------------------ *\
  #MANAGE-CONTAINER-LATERAL-SPACING
\* ------------------------------------ */
/* In fullsite editor, manage *responsive* minimum lateral spacing for section with inner containers */
.opd-container-lateral-spacing-h {
  --container-lateral-padding: calc((100% - 90%) / 2);
  padding-right: var(--container-lateral-padding);
  padding-left: var(--container-lateral-padding);
}

/* ------------------------------------ *\
  #HEADING-WITH-CTA-WRAPPER
\* ------------------------------------ */
/* Manage section heading with cta, manage display/space/alignments etc */
.opd-heading-has-cta-wrapper {
  --_heading-cta-display: var(--heading-cta-display, grid);
  --_heading-cta-elements-spacing: var(--heading-cta-elements-spacing, 1.875rem);
  display: var(--_heading-cta-display);
  gap: var(--_heading-cta-elements-spacing);
}

/* ------------------------------------ *\
  #CUSTOM-SEPARATOR-RADIAL-GRADIENT
\* ------------------------------------ */
/* CREATE custom separator from generic site builder block with radial gradient shadow */
.is-custom-separator-radial-gradient {
  height: 2.5rem;
  width: 90%;
  max-width: 1147px;
  margin-right: auto;
  margin-left: auto;
  background: -o-radial-gradient(50% 7.32%, 47.39% 43.9%, #efefef 0%, #ffffff 100%);
  background: radial-gradient(47.39% 43.9% at 50% 7.32%, #efefef 0%, #ffffff 100%);
}

/* ------------------------------------ *\
#FLEX
\* ------------------------------------ */
/* Manage flex property (flex: flex-grow flex-shrink flex-basis) eg flex: 1 flex: 2 etc */
.opd-flex-1 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.opd-flex-2 {
  -webkit-box-flex: 2;
      -ms-flex: 2;
          flex: 2;
}

.opd-flex-3 {
  -webkit-box-flex: 3;
      -ms-flex: 3;
          flex: 3;
}

.opd-flex-4 {
  -webkit-box-flex: 4;
      -ms-flex: 4;
          flex: 4;
}

/* ------------------------------------ *\
#SIZES
\* ------------------------------------ */
/* Percentage width helpers */
/* Set start size and end size for width range */
/* Generate classes */
.opd-width-0 {
  width: calc(0 * 1%);
}

.opd-height-0 {
  height: calc(0 * 1%);
}

.opd-width-1 {
  width: calc(1 * 1%);
}

.opd-height-1 {
  height: calc(1 * 1%);
}

.opd-width-2 {
  width: calc(2 * 1%);
}

.opd-height-2 {
  height: calc(2 * 1%);
}

.opd-width-3 {
  width: calc(3 * 1%);
}

.opd-height-3 {
  height: calc(3 * 1%);
}

.opd-width-4 {
  width: calc(4 * 1%);
}

.opd-height-4 {
  height: calc(4 * 1%);
}

.opd-width-5 {
  width: calc(5 * 1%);
}

.opd-height-5 {
  height: calc(5 * 1%);
}

.opd-width-6 {
  width: calc(6 * 1%);
}

.opd-height-6 {
  height: calc(6 * 1%);
}

.opd-width-7 {
  width: calc(7 * 1%);
}

.opd-height-7 {
  height: calc(7 * 1%);
}

.opd-width-8 {
  width: calc(8 * 1%);
}

.opd-height-8 {
  height: calc(8 * 1%);
}

.opd-width-9 {
  width: calc(9 * 1%);
}

.opd-height-9 {
  height: calc(9 * 1%);
}

.opd-width-10 {
  width: calc(10 * 1%);
}

.opd-height-10 {
  height: calc(10 * 1%);
}

.opd-width-11 {
  width: calc(11 * 1%);
}

.opd-height-11 {
  height: calc(11 * 1%);
}

.opd-width-12 {
  width: calc(12 * 1%);
}

.opd-height-12 {
  height: calc(12 * 1%);
}

.opd-width-13 {
  width: calc(13 * 1%);
}

.opd-height-13 {
  height: calc(13 * 1%);
}

.opd-width-14 {
  width: calc(14 * 1%);
}

.opd-height-14 {
  height: calc(14 * 1%);
}

.opd-width-15 {
  width: calc(15 * 1%);
}

.opd-height-15 {
  height: calc(15 * 1%);
}

.opd-width-16 {
  width: calc(16 * 1%);
}

.opd-height-16 {
  height: calc(16 * 1%);
}

.opd-width-17 {
  width: calc(17 * 1%);
}

.opd-height-17 {
  height: calc(17 * 1%);
}

.opd-width-18 {
  width: calc(18 * 1%);
}

.opd-height-18 {
  height: calc(18 * 1%);
}

.opd-width-19 {
  width: calc(19 * 1%);
}

.opd-height-19 {
  height: calc(19 * 1%);
}

.opd-width-20 {
  width: calc(20 * 1%);
}

.opd-height-20 {
  height: calc(20 * 1%);
}

.opd-width-21 {
  width: calc(21 * 1%);
}

.opd-height-21 {
  height: calc(21 * 1%);
}

.opd-width-22 {
  width: calc(22 * 1%);
}

.opd-height-22 {
  height: calc(22 * 1%);
}

.opd-width-23 {
  width: calc(23 * 1%);
}

.opd-height-23 {
  height: calc(23 * 1%);
}

.opd-width-24 {
  width: calc(24 * 1%);
}

.opd-height-24 {
  height: calc(24 * 1%);
}

.opd-width-25 {
  width: calc(25 * 1%);
}

.opd-height-25 {
  height: calc(25 * 1%);
}

.opd-width-26 {
  width: calc(26 * 1%);
}

.opd-height-26 {
  height: calc(26 * 1%);
}

.opd-width-27 {
  width: calc(27 * 1%);
}

.opd-height-27 {
  height: calc(27 * 1%);
}

.opd-width-28 {
  width: calc(28 * 1%);
}

.opd-height-28 {
  height: calc(28 * 1%);
}

.opd-width-29 {
  width: calc(29 * 1%);
}

.opd-height-29 {
  height: calc(29 * 1%);
}

.opd-width-30 {
  width: calc(30 * 1%);
}

.opd-height-30 {
  height: calc(30 * 1%);
}

.opd-width-31 {
  width: calc(31 * 1%);
}

.opd-height-31 {
  height: calc(31 * 1%);
}

.opd-width-32 {
  width: calc(32 * 1%);
}

.opd-height-32 {
  height: calc(32 * 1%);
}

.opd-width-33 {
  width: calc(33 * 1%);
}

.opd-height-33 {
  height: calc(33 * 1%);
}

.opd-width-34 {
  width: calc(34 * 1%);
}

.opd-height-34 {
  height: calc(34 * 1%);
}

.opd-width-35 {
  width: calc(35 * 1%);
}

.opd-height-35 {
  height: calc(35 * 1%);
}

.opd-width-36 {
  width: calc(36 * 1%);
}

.opd-height-36 {
  height: calc(36 * 1%);
}

.opd-width-37 {
  width: calc(37 * 1%);
}

.opd-height-37 {
  height: calc(37 * 1%);
}

.opd-width-38 {
  width: calc(38 * 1%);
}

.opd-height-38 {
  height: calc(38 * 1%);
}

.opd-width-39 {
  width: calc(39 * 1%);
}

.opd-height-39 {
  height: calc(39 * 1%);
}

.opd-width-40 {
  width: calc(40 * 1%);
}

.opd-height-40 {
  height: calc(40 * 1%);
}

.opd-width-41 {
  width: calc(41 * 1%);
}

.opd-height-41 {
  height: calc(41 * 1%);
}

.opd-width-42 {
  width: calc(42 * 1%);
}

.opd-height-42 {
  height: calc(42 * 1%);
}

.opd-width-43 {
  width: calc(43 * 1%);
}

.opd-height-43 {
  height: calc(43 * 1%);
}

.opd-width-44 {
  width: calc(44 * 1%);
}

.opd-height-44 {
  height: calc(44 * 1%);
}

.opd-width-45 {
  width: calc(45 * 1%);
}

.opd-height-45 {
  height: calc(45 * 1%);
}

.opd-width-46 {
  width: calc(46 * 1%);
}

.opd-height-46 {
  height: calc(46 * 1%);
}

.opd-width-47 {
  width: calc(47 * 1%);
}

.opd-height-47 {
  height: calc(47 * 1%);
}

.opd-width-48 {
  width: calc(48 * 1%);
}

.opd-height-48 {
  height: calc(48 * 1%);
}

.opd-width-49 {
  width: calc(49 * 1%);
}

.opd-height-49 {
  height: calc(49 * 1%);
}

.opd-width-50 {
  width: calc(50 * 1%);
}

.opd-height-50 {
  height: calc(50 * 1%);
}

.opd-width-51 {
  width: calc(51 * 1%);
}

.opd-height-51 {
  height: calc(51 * 1%);
}

.opd-width-52 {
  width: calc(52 * 1%);
}

.opd-height-52 {
  height: calc(52 * 1%);
}

.opd-width-53 {
  width: calc(53 * 1%);
}

.opd-height-53 {
  height: calc(53 * 1%);
}

.opd-width-54 {
  width: calc(54 * 1%);
}

.opd-height-54 {
  height: calc(54 * 1%);
}

.opd-width-55 {
  width: calc(55 * 1%);
}

.opd-height-55 {
  height: calc(55 * 1%);
}

.opd-width-56 {
  width: calc(56 * 1%);
}

.opd-height-56 {
  height: calc(56 * 1%);
}

.opd-width-57 {
  width: calc(57 * 1%);
}

.opd-height-57 {
  height: calc(57 * 1%);
}

.opd-width-58 {
  width: calc(58 * 1%);
}

.opd-height-58 {
  height: calc(58 * 1%);
}

.opd-width-59 {
  width: calc(59 * 1%);
}

.opd-height-59 {
  height: calc(59 * 1%);
}

.opd-width-60 {
  width: calc(60 * 1%);
}

.opd-height-60 {
  height: calc(60 * 1%);
}

.opd-width-61 {
  width: calc(61 * 1%);
}

.opd-height-61 {
  height: calc(61 * 1%);
}

.opd-width-62 {
  width: calc(62 * 1%);
}

.opd-height-62 {
  height: calc(62 * 1%);
}

.opd-width-63 {
  width: calc(63 * 1%);
}

.opd-height-63 {
  height: calc(63 * 1%);
}

.opd-width-64 {
  width: calc(64 * 1%);
}

.opd-height-64 {
  height: calc(64 * 1%);
}

.opd-width-65 {
  width: calc(65 * 1%);
}

.opd-height-65 {
  height: calc(65 * 1%);
}

.opd-width-66 {
  width: calc(66 * 1%);
}

.opd-height-66 {
  height: calc(66 * 1%);
}

.opd-width-67 {
  width: calc(67 * 1%);
}

.opd-height-67 {
  height: calc(67 * 1%);
}

.opd-width-68 {
  width: calc(68 * 1%);
}

.opd-height-68 {
  height: calc(68 * 1%);
}

.opd-width-69 {
  width: calc(69 * 1%);
}

.opd-height-69 {
  height: calc(69 * 1%);
}

.opd-width-70 {
  width: calc(70 * 1%);
}

.opd-height-70 {
  height: calc(70 * 1%);
}

.opd-width-71 {
  width: calc(71 * 1%);
}

.opd-height-71 {
  height: calc(71 * 1%);
}

.opd-width-72 {
  width: calc(72 * 1%);
}

.opd-height-72 {
  height: calc(72 * 1%);
}

.opd-width-73 {
  width: calc(73 * 1%);
}

.opd-height-73 {
  height: calc(73 * 1%);
}

.opd-width-74 {
  width: calc(74 * 1%);
}

.opd-height-74 {
  height: calc(74 * 1%);
}

.opd-width-75 {
  width: calc(75 * 1%);
}

.opd-height-75 {
  height: calc(75 * 1%);
}

.opd-width-76 {
  width: calc(76 * 1%);
}

.opd-height-76 {
  height: calc(76 * 1%);
}

.opd-width-77 {
  width: calc(77 * 1%);
}

.opd-height-77 {
  height: calc(77 * 1%);
}

.opd-width-78 {
  width: calc(78 * 1%);
}

.opd-height-78 {
  height: calc(78 * 1%);
}

.opd-width-79 {
  width: calc(79 * 1%);
}

.opd-height-79 {
  height: calc(79 * 1%);
}

.opd-width-80 {
  width: calc(80 * 1%);
}

.opd-height-80 {
  height: calc(80 * 1%);
}

.opd-width-81 {
  width: calc(81 * 1%);
}

.opd-height-81 {
  height: calc(81 * 1%);
}

.opd-width-82 {
  width: calc(82 * 1%);
}

.opd-height-82 {
  height: calc(82 * 1%);
}

.opd-width-83 {
  width: calc(83 * 1%);
}

.opd-height-83 {
  height: calc(83 * 1%);
}

.opd-width-84 {
  width: calc(84 * 1%);
}

.opd-height-84 {
  height: calc(84 * 1%);
}

.opd-width-85 {
  width: calc(85 * 1%);
}

.opd-height-85 {
  height: calc(85 * 1%);
}

.opd-width-86 {
  width: calc(86 * 1%);
}

.opd-height-86 {
  height: calc(86 * 1%);
}

.opd-width-87 {
  width: calc(87 * 1%);
}

.opd-height-87 {
  height: calc(87 * 1%);
}

.opd-width-88 {
  width: calc(88 * 1%);
}

.opd-height-88 {
  height: calc(88 * 1%);
}

.opd-width-89 {
  width: calc(89 * 1%);
}

.opd-height-89 {
  height: calc(89 * 1%);
}

.opd-width-90 {
  width: calc(90 * 1%);
}

.opd-height-90 {
  height: calc(90 * 1%);
}

.opd-width-91 {
  width: calc(91 * 1%);
}

.opd-height-91 {
  height: calc(91 * 1%);
}

.opd-width-92 {
  width: calc(92 * 1%);
}

.opd-height-92 {
  height: calc(92 * 1%);
}

.opd-width-93 {
  width: calc(93 * 1%);
}

.opd-height-93 {
  height: calc(93 * 1%);
}

.opd-width-94 {
  width: calc(94 * 1%);
}

.opd-height-94 {
  height: calc(94 * 1%);
}

.opd-width-95 {
  width: calc(95 * 1%);
}

.opd-height-95 {
  height: calc(95 * 1%);
}

.opd-width-96 {
  width: calc(96 * 1%);
}

.opd-height-96 {
  height: calc(96 * 1%);
}

.opd-width-97 {
  width: calc(97 * 1%);
}

.opd-height-97 {
  height: calc(97 * 1%);
}

.opd-width-98 {
  width: calc(98 * 1%);
}

.opd-height-98 {
  height: calc(98 * 1%);
}

.opd-width-99 {
  width: calc(99 * 1%);
}

.opd-height-99 {
  height: calc(99 * 1%);
}

.opd-width-100 {
  width: calc(100 * 1%);
}

.opd-height-100 {
  height: calc(100 * 1%);
}

/* AUDIO OVERRIDES */
.wp-block-audio figcaption.wp-element-caption {
  font-size: clamp(1rem, 1rem + 1.2vw, 1.25rem);
  text-align: left;
}

/* ------------------------------------ *\
  #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 767px) {
  [class*=opd-container] [class*=opd-container] {
    width: 100%;
  }
}
@media all and (min-width: 768px) {
  .opd-heading-has-cta-wrapper {
    --heading-cta-display: flex;
  }
  .opd-heading-has-cta-wrapper [class*=btn] {
    margin-left: auto;
  }
}
/* ------------------------------------ *\
  #SPACING
\* ------------------------------------ */
/* Spacing helper classes */
/* Generate helper classes for spacing - first all directions, then single directions */
/* Sides */
.opd-margin-0 {
  margin: 0;
}

.opd-padding-0 {
  padding: 0;
}

.opd-margin-h-0 {
  margin-right: 0;
  margin-left: 0;
}

.opd-padding-h-0 {
  padding-right: 0;
  padding-left: 0;
}

.opd-margin-v-0 {
  margin-top: 0;
  margin-bottom: 0;
}

.opd-padding-v-0 {
  padding-top: 0;
  padding-bottom: 0;
}

.opd-margin-h-r-l-0 {
  margin: 0 0;
}

.opd-padding-h-r-l-0 {
  padding: 0 0;
}

.opd-margin-v-t-b-0 {
  margin: 0 0;
}

.opd-padding-v-t-b-0 {
  padding: 0 0;
}

.opd-margin-t-0 {
  margin-top: 0;
}

.opd-padding-t-0 {
  padding-top: 0;
}

.opd-margin-negative-t-0 {
  margin-top: -0;
}

.opd-margin-b-0 {
  margin-bottom: 0;
}

.opd-padding-b-0 {
  padding-bottom: 0;
}

.opd-margin-negative-b-0 {
  margin-bottom: -0;
}

.opd-margin-l-0 {
  margin-left: 0;
}

.opd-padding-l-0 {
  padding-left: 0;
}

.opd-margin-negative-l-0 {
  margin-left: -0;
}

.opd-margin-r-0 {
  margin-right: 0;
}

.opd-padding-r-0 {
  padding-right: 0;
}

.opd-margin-negative-r-0 {
  margin-right: -0;
}

.opd-section-inner-vertical-spaced-margin-0 > * + * {
  margin-top: 0;
}

.opd-section-inner-vertical-spaced-padding-0 > * + * {
  padding-top: 0;
}

.opd-section-inner-horizontal-spaced-margin-0 > * + * {
  margin-left: 0;
}

.opd-section-inner-horizontal-spaced-padding-0 > * + * {
  padding-left: 0;
}

.opd-margin-1 {
  margin: 0.3125rem;
}

.opd-padding-1 {
  padding: 0.3125rem;
}

.opd-margin-h-1 {
  margin-right: 0.3125rem;
  margin-left: 0.3125rem;
}

.opd-padding-h-1 {
  padding-right: 0.3125rem;
  padding-left: 0.3125rem;
}

.opd-margin-v-1 {
  margin-top: 0.3125rem;
  margin-bottom: 0.3125rem;
}

.opd-padding-v-1 {
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
}

.opd-margin-h-r-l-1 {
  margin: 0 0.3125rem;
}

.opd-padding-h-r-l-1 {
  padding: 0 0.3125rem;
}

.opd-margin-v-t-b-1 {
  margin: 0.3125rem 0;
}

.opd-padding-v-t-b-1 {
  padding: 0.3125rem 0;
}

.opd-margin-t-1 {
  margin-top: 0.3125rem;
}

.opd-padding-t-1 {
  padding-top: 0.3125rem;
}

.opd-margin-negative-t-1 {
  margin-top: -0.3125rem;
}

.opd-margin-b-1 {
  margin-bottom: 0.3125rem;
}

.opd-padding-b-1 {
  padding-bottom: 0.3125rem;
}

.opd-margin-negative-b-1 {
  margin-bottom: -0.3125rem;
}

.opd-margin-l-1 {
  margin-left: 0.3125rem;
}

.opd-padding-l-1 {
  padding-left: 0.3125rem;
}

.opd-margin-negative-l-1 {
  margin-left: -0.3125rem;
}

.opd-margin-r-1 {
  margin-right: 0.3125rem;
}

.opd-padding-r-1 {
  padding-right: 0.3125rem;
}

.opd-margin-negative-r-1 {
  margin-right: -0.3125rem;
}

.opd-section-inner-vertical-spaced-margin-1 > * + * {
  margin-top: 0.3125rem;
}

.opd-section-inner-vertical-spaced-padding-1 > * + * {
  padding-top: 0.3125rem;
}

.opd-section-inner-horizontal-spaced-margin-1 > * + * {
  margin-left: 0.3125rem;
}

.opd-section-inner-horizontal-spaced-padding-1 > * + * {
  padding-left: 0.3125rem;
}

.opd-margin-2 {
  margin: 0.625rem;
}

.opd-padding-2 {
  padding: 0.625rem;
}

.opd-margin-h-2 {
  margin-right: 0.625rem;
  margin-left: 0.625rem;
}

.opd-padding-h-2 {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}

.opd-margin-v-2 {
  margin-top: 0.625rem;
  margin-bottom: 0.625rem;
}

.opd-padding-v-2 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

.opd-margin-h-r-l-2 {
  margin: 0 0.625rem;
}

.opd-padding-h-r-l-2 {
  padding: 0 0.625rem;
}

.opd-margin-v-t-b-2 {
  margin: 0.625rem 0;
}

.opd-padding-v-t-b-2 {
  padding: 0.625rem 0;
}

.opd-margin-t-2 {
  margin-top: 0.625rem;
}

.opd-padding-t-2 {
  padding-top: 0.625rem;
}

.opd-margin-negative-t-2 {
  margin-top: -0.625rem;
}

.opd-margin-b-2 {
  margin-bottom: 0.625rem;
}

.opd-padding-b-2 {
  padding-bottom: 0.625rem;
}

.opd-margin-negative-b-2 {
  margin-bottom: -0.625rem;
}

.opd-margin-l-2 {
  margin-left: 0.625rem;
}

.opd-padding-l-2 {
  padding-left: 0.625rem;
}

.opd-margin-negative-l-2 {
  margin-left: -0.625rem;
}

.opd-margin-r-2 {
  margin-right: 0.625rem;
}

.opd-padding-r-2 {
  padding-right: 0.625rem;
}

.opd-margin-negative-r-2 {
  margin-right: -0.625rem;
}

.opd-section-inner-vertical-spaced-margin-2 > * + * {
  margin-top: 0.625rem;
}

.opd-section-inner-vertical-spaced-padding-2 > * + * {
  padding-top: 0.625rem;
}

.opd-section-inner-horizontal-spaced-margin-2 > * + * {
  margin-left: 0.625rem;
}

.opd-section-inner-horizontal-spaced-padding-2 > * + * {
  padding-left: 0.625rem;
}

.opd-margin-3 {
  margin: 0.9375rem;
}

.opd-padding-3 {
  padding: 0.9375rem;
}

.opd-margin-h-3 {
  margin-right: 0.9375rem;
  margin-left: 0.9375rem;
}

.opd-padding-h-3 {
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
}

.opd-margin-v-3 {
  margin-top: 0.9375rem;
  margin-bottom: 0.9375rem;
}

.opd-padding-v-3 {
  padding-top: 0.9375rem;
  padding-bottom: 0.9375rem;
}

.opd-margin-h-r-l-3 {
  margin: 0 0.9375rem;
}

.opd-padding-h-r-l-3 {
  padding: 0 0.9375rem;
}

.opd-margin-v-t-b-3 {
  margin: 0.9375rem 0;
}

.opd-padding-v-t-b-3 {
  padding: 0.9375rem 0;
}

.opd-margin-t-3 {
  margin-top: 0.9375rem;
}

.opd-padding-t-3 {
  padding-top: 0.9375rem;
}

.opd-margin-negative-t-3 {
  margin-top: -0.9375rem;
}

.opd-margin-b-3 {
  margin-bottom: 0.9375rem;
}

.opd-padding-b-3 {
  padding-bottom: 0.9375rem;
}

.opd-margin-negative-b-3 {
  margin-bottom: -0.9375rem;
}

.opd-margin-l-3 {
  margin-left: 0.9375rem;
}

.opd-padding-l-3 {
  padding-left: 0.9375rem;
}

.opd-margin-negative-l-3 {
  margin-left: -0.9375rem;
}

.opd-margin-r-3 {
  margin-right: 0.9375rem;
}

.opd-padding-r-3 {
  padding-right: 0.9375rem;
}

.opd-margin-negative-r-3 {
  margin-right: -0.9375rem;
}

.opd-section-inner-vertical-spaced-margin-3 > * + * {
  margin-top: 0.9375rem;
}

.opd-section-inner-vertical-spaced-padding-3 > * + * {
  padding-top: 0.9375rem;
}

.opd-section-inner-horizontal-spaced-margin-3 > * + * {
  margin-left: 0.9375rem;
}

.opd-section-inner-horizontal-spaced-padding-3 > * + * {
  padding-left: 0.9375rem;
}

.opd-margin-4 {
  margin: 1.25rem;
}

.opd-padding-4 {
  padding: 1.25rem;
}

.opd-margin-h-4 {
  margin-right: 1.25rem;
  margin-left: 1.25rem;
}

.opd-padding-h-4 {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
}

.opd-margin-v-4 {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}

.opd-padding-v-4 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.opd-margin-h-r-l-4 {
  margin: 0 1.25rem;
}

.opd-padding-h-r-l-4 {
  padding: 0 1.25rem;
}

.opd-margin-v-t-b-4 {
  margin: 1.25rem 0;
}

.opd-padding-v-t-b-4 {
  padding: 1.25rem 0;
}

.opd-margin-t-4 {
  margin-top: 1.25rem;
}

.opd-padding-t-4 {
  padding-top: 1.25rem;
}

.opd-margin-negative-t-4 {
  margin-top: -1.25rem;
}

.opd-margin-b-4 {
  margin-bottom: 1.25rem;
}

.opd-padding-b-4 {
  padding-bottom: 1.25rem;
}

.opd-margin-negative-b-4 {
  margin-bottom: -1.25rem;
}

.opd-margin-l-4 {
  margin-left: 1.25rem;
}

.opd-padding-l-4 {
  padding-left: 1.25rem;
}

.opd-margin-negative-l-4 {
  margin-left: -1.25rem;
}

.opd-margin-r-4 {
  margin-right: 1.25rem;
}

.opd-padding-r-4 {
  padding-right: 1.25rem;
}

.opd-margin-negative-r-4 {
  margin-right: -1.25rem;
}

.opd-section-inner-vertical-spaced-margin-4 > * + * {
  margin-top: 1.25rem;
}

.opd-section-inner-vertical-spaced-padding-4 > * + * {
  padding-top: 1.25rem;
}

.opd-section-inner-horizontal-spaced-margin-4 > * + * {
  margin-left: 1.25rem;
}

.opd-section-inner-horizontal-spaced-padding-4 > * + * {
  padding-left: 1.25rem;
}

.opd-margin-5 {
  margin: 1.5625rem;
}

.opd-padding-5 {
  padding: 1.5625rem;
}

.opd-margin-h-5 {
  margin-right: 1.5625rem;
  margin-left: 1.5625rem;
}

.opd-padding-h-5 {
  padding-right: 1.5625rem;
  padding-left: 1.5625rem;
}

.opd-margin-v-5 {
  margin-top: 1.5625rem;
  margin-bottom: 1.5625rem;
}

.opd-padding-v-5 {
  padding-top: 1.5625rem;
  padding-bottom: 1.5625rem;
}

.opd-margin-h-r-l-5 {
  margin: 0 1.5625rem;
}

.opd-padding-h-r-l-5 {
  padding: 0 1.5625rem;
}

.opd-margin-v-t-b-5 {
  margin: 1.5625rem 0;
}

.opd-padding-v-t-b-5 {
  padding: 1.5625rem 0;
}

.opd-margin-t-5 {
  margin-top: 1.5625rem;
}

.opd-padding-t-5 {
  padding-top: 1.5625rem;
}

.opd-margin-negative-t-5 {
  margin-top: -1.5625rem;
}

.opd-margin-b-5 {
  margin-bottom: 1.5625rem;
}

.opd-padding-b-5 {
  padding-bottom: 1.5625rem;
}

.opd-margin-negative-b-5 {
  margin-bottom: -1.5625rem;
}

.opd-margin-l-5 {
  margin-left: 1.5625rem;
}

.opd-padding-l-5 {
  padding-left: 1.5625rem;
}

.opd-margin-negative-l-5 {
  margin-left: -1.5625rem;
}

.opd-margin-r-5 {
  margin-right: 1.5625rem;
}

.opd-padding-r-5 {
  padding-right: 1.5625rem;
}

.opd-margin-negative-r-5 {
  margin-right: -1.5625rem;
}

.opd-section-inner-vertical-spaced-margin-5 > * + * {
  margin-top: 1.5625rem;
}

.opd-section-inner-vertical-spaced-padding-5 > * + * {
  padding-top: 1.5625rem;
}

.opd-section-inner-horizontal-spaced-margin-5 > * + * {
  margin-left: 1.5625rem;
}

.opd-section-inner-horizontal-spaced-padding-5 > * + * {
  padding-left: 1.5625rem;
}

.opd-margin-6 {
  margin: 1.875rem;
}

.opd-padding-6 {
  padding: 1.875rem;
}

.opd-margin-h-6 {
  margin-right: 1.875rem;
  margin-left: 1.875rem;
}

.opd-padding-h-6 {
  padding-right: 1.875rem;
  padding-left: 1.875rem;
}

.opd-margin-v-6 {
  margin-top: 1.875rem;
  margin-bottom: 1.875rem;
}

.opd-padding-v-6 {
  padding-top: 1.875rem;
  padding-bottom: 1.875rem;
}

.opd-margin-h-r-l-6 {
  margin: 0 1.875rem;
}

.opd-padding-h-r-l-6 {
  padding: 0 1.875rem;
}

.opd-margin-v-t-b-6 {
  margin: 1.875rem 0;
}

.opd-padding-v-t-b-6 {
  padding: 1.875rem 0;
}

.opd-margin-t-6 {
  margin-top: 1.875rem;
}

.opd-padding-t-6 {
  padding-top: 1.875rem;
}

.opd-margin-negative-t-6 {
  margin-top: -1.875rem;
}

.opd-margin-b-6 {
  margin-bottom: 1.875rem;
}

.opd-padding-b-6 {
  padding-bottom: 1.875rem;
}

.opd-margin-negative-b-6 {
  margin-bottom: -1.875rem;
}

.opd-margin-l-6 {
  margin-left: 1.875rem;
}

.opd-padding-l-6 {
  padding-left: 1.875rem;
}

.opd-margin-negative-l-6 {
  margin-left: -1.875rem;
}

.opd-margin-r-6 {
  margin-right: 1.875rem;
}

.opd-padding-r-6 {
  padding-right: 1.875rem;
}

.opd-margin-negative-r-6 {
  margin-right: -1.875rem;
}

.opd-section-inner-vertical-spaced-margin-6 > * + * {
  margin-top: 1.875rem;
}

.opd-section-inner-vertical-spaced-padding-6 > * + * {
  padding-top: 1.875rem;
}

.opd-section-inner-horizontal-spaced-margin-6 > * + * {
  margin-left: 1.875rem;
}

.opd-section-inner-horizontal-spaced-padding-6 > * + * {
  padding-left: 1.875rem;
}

.opd-margin-7 {
  margin: 2.1875rem;
}

.opd-padding-7 {
  padding: 2.1875rem;
}

.opd-margin-h-7 {
  margin-right: 2.1875rem;
  margin-left: 2.1875rem;
}

.opd-padding-h-7 {
  padding-right: 2.1875rem;
  padding-left: 2.1875rem;
}

.opd-margin-v-7 {
  margin-top: 2.1875rem;
  margin-bottom: 2.1875rem;
}

.opd-padding-v-7 {
  padding-top: 2.1875rem;
  padding-bottom: 2.1875rem;
}

.opd-margin-h-r-l-7 {
  margin: 0 2.1875rem;
}

.opd-padding-h-r-l-7 {
  padding: 0 2.1875rem;
}

.opd-margin-v-t-b-7 {
  margin: 2.1875rem 0;
}

.opd-padding-v-t-b-7 {
  padding: 2.1875rem 0;
}

.opd-margin-t-7 {
  margin-top: 2.1875rem;
}

.opd-padding-t-7 {
  padding-top: 2.1875rem;
}

.opd-margin-negative-t-7 {
  margin-top: -2.1875rem;
}

.opd-margin-b-7 {
  margin-bottom: 2.1875rem;
}

.opd-padding-b-7 {
  padding-bottom: 2.1875rem;
}

.opd-margin-negative-b-7 {
  margin-bottom: -2.1875rem;
}

.opd-margin-l-7 {
  margin-left: 2.1875rem;
}

.opd-padding-l-7 {
  padding-left: 2.1875rem;
}

.opd-margin-negative-l-7 {
  margin-left: -2.1875rem;
}

.opd-margin-r-7 {
  margin-right: 2.1875rem;
}

.opd-padding-r-7 {
  padding-right: 2.1875rem;
}

.opd-margin-negative-r-7 {
  margin-right: -2.1875rem;
}

.opd-section-inner-vertical-spaced-margin-7 > * + * {
  margin-top: 2.1875rem;
}

.opd-section-inner-vertical-spaced-padding-7 > * + * {
  padding-top: 2.1875rem;
}

.opd-section-inner-horizontal-spaced-margin-7 > * + * {
  margin-left: 2.1875rem;
}

.opd-section-inner-horizontal-spaced-padding-7 > * + * {
  padding-left: 2.1875rem;
}

.opd-margin-8 {
  margin: 2.5rem;
}

.opd-padding-8 {
  padding: 2.5rem;
}

.opd-margin-h-8 {
  margin-right: 2.5rem;
  margin-left: 2.5rem;
}

.opd-padding-h-8 {
  padding-right: 2.5rem;
  padding-left: 2.5rem;
}

.opd-margin-v-8 {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}

.opd-padding-v-8 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.opd-margin-h-r-l-8 {
  margin: 0 2.5rem;
}

.opd-padding-h-r-l-8 {
  padding: 0 2.5rem;
}

.opd-margin-v-t-b-8 {
  margin: 2.5rem 0;
}

.opd-padding-v-t-b-8 {
  padding: 2.5rem 0;
}

.opd-margin-t-8 {
  margin-top: 2.5rem;
}

.opd-padding-t-8 {
  padding-top: 2.5rem;
}

.opd-margin-negative-t-8 {
  margin-top: -2.5rem;
}

.opd-margin-b-8 {
  margin-bottom: 2.5rem;
}

.opd-padding-b-8 {
  padding-bottom: 2.5rem;
}

.opd-margin-negative-b-8 {
  margin-bottom: -2.5rem;
}

.opd-margin-l-8 {
  margin-left: 2.5rem;
}

.opd-padding-l-8 {
  padding-left: 2.5rem;
}

.opd-margin-negative-l-8 {
  margin-left: -2.5rem;
}

.opd-margin-r-8 {
  margin-right: 2.5rem;
}

.opd-padding-r-8 {
  padding-right: 2.5rem;
}

.opd-margin-negative-r-8 {
  margin-right: -2.5rem;
}

.opd-section-inner-vertical-spaced-margin-8 > * + * {
  margin-top: 2.5rem;
}

.opd-section-inner-vertical-spaced-padding-8 > * + * {
  padding-top: 2.5rem;
}

.opd-section-inner-horizontal-spaced-margin-8 > * + * {
  margin-left: 2.5rem;
}

.opd-section-inner-horizontal-spaced-padding-8 > * + * {
  padding-left: 2.5rem;
}

.opd-margin-9 {
  margin: 2.8125rem;
}

.opd-padding-9 {
  padding: 2.8125rem;
}

.opd-margin-h-9 {
  margin-right: 2.8125rem;
  margin-left: 2.8125rem;
}

.opd-padding-h-9 {
  padding-right: 2.8125rem;
  padding-left: 2.8125rem;
}

.opd-margin-v-9 {
  margin-top: 2.8125rem;
  margin-bottom: 2.8125rem;
}

.opd-padding-v-9 {
  padding-top: 2.8125rem;
  padding-bottom: 2.8125rem;
}

.opd-margin-h-r-l-9 {
  margin: 0 2.8125rem;
}

.opd-padding-h-r-l-9 {
  padding: 0 2.8125rem;
}

.opd-margin-v-t-b-9 {
  margin: 2.8125rem 0;
}

.opd-padding-v-t-b-9 {
  padding: 2.8125rem 0;
}

.opd-margin-t-9 {
  margin-top: 2.8125rem;
}

.opd-padding-t-9 {
  padding-top: 2.8125rem;
}

.opd-margin-negative-t-9 {
  margin-top: -2.8125rem;
}

.opd-margin-b-9 {
  margin-bottom: 2.8125rem;
}

.opd-padding-b-9 {
  padding-bottom: 2.8125rem;
}

.opd-margin-negative-b-9 {
  margin-bottom: -2.8125rem;
}

.opd-margin-l-9 {
  margin-left: 2.8125rem;
}

.opd-padding-l-9 {
  padding-left: 2.8125rem;
}

.opd-margin-negative-l-9 {
  margin-left: -2.8125rem;
}

.opd-margin-r-9 {
  margin-right: 2.8125rem;
}

.opd-padding-r-9 {
  padding-right: 2.8125rem;
}

.opd-margin-negative-r-9 {
  margin-right: -2.8125rem;
}

.opd-section-inner-vertical-spaced-margin-9 > * + * {
  margin-top: 2.8125rem;
}

.opd-section-inner-vertical-spaced-padding-9 > * + * {
  padding-top: 2.8125rem;
}

.opd-section-inner-horizontal-spaced-margin-9 > * + * {
  margin-left: 2.8125rem;
}

.opd-section-inner-horizontal-spaced-padding-9 > * + * {
  padding-left: 2.8125rem;
}

.opd-margin-10 {
  margin: 3.125rem;
}

.opd-padding-10 {
  padding: 3.125rem;
}

.opd-margin-h-10 {
  margin-right: 3.125rem;
  margin-left: 3.125rem;
}

.opd-padding-h-10 {
  padding-right: 3.125rem;
  padding-left: 3.125rem;
}

.opd-margin-v-10 {
  margin-top: 3.125rem;
  margin-bottom: 3.125rem;
}

.opd-padding-v-10 {
  padding-top: 3.125rem;
  padding-bottom: 3.125rem;
}

.opd-margin-h-r-l-10 {
  margin: 0 3.125rem;
}

.opd-padding-h-r-l-10 {
  padding: 0 3.125rem;
}

.opd-margin-v-t-b-10 {
  margin: 3.125rem 0;
}

.opd-padding-v-t-b-10 {
  padding: 3.125rem 0;
}

.opd-margin-t-10 {
  margin-top: 3.125rem;
}

.opd-padding-t-10 {
  padding-top: 3.125rem;
}

.opd-margin-negative-t-10 {
  margin-top: -3.125rem;
}

.opd-margin-b-10 {
  margin-bottom: 3.125rem;
}

.opd-padding-b-10 {
  padding-bottom: 3.125rem;
}

.opd-margin-negative-b-10 {
  margin-bottom: -3.125rem;
}

.opd-margin-l-10 {
  margin-left: 3.125rem;
}

.opd-padding-l-10 {
  padding-left: 3.125rem;
}

.opd-margin-negative-l-10 {
  margin-left: -3.125rem;
}

.opd-margin-r-10 {
  margin-right: 3.125rem;
}

.opd-padding-r-10 {
  padding-right: 3.125rem;
}

.opd-margin-negative-r-10 {
  margin-right: -3.125rem;
}

.opd-section-inner-vertical-spaced-margin-10 > * + * {
  margin-top: 3.125rem;
}

.opd-section-inner-vertical-spaced-padding-10 > * + * {
  padding-top: 3.125rem;
}

.opd-section-inner-horizontal-spaced-margin-10 > * + * {
  margin-left: 3.125rem;
}

.opd-section-inner-horizontal-spaced-padding-10 > * + * {
  padding-left: 3.125rem;
}

.opd-margin-11 {
  margin: 3.4375rem;
}

.opd-padding-11 {
  padding: 3.4375rem;
}

.opd-margin-h-11 {
  margin-right: 3.4375rem;
  margin-left: 3.4375rem;
}

.opd-padding-h-11 {
  padding-right: 3.4375rem;
  padding-left: 3.4375rem;
}

.opd-margin-v-11 {
  margin-top: 3.4375rem;
  margin-bottom: 3.4375rem;
}

.opd-padding-v-11 {
  padding-top: 3.4375rem;
  padding-bottom: 3.4375rem;
}

.opd-margin-h-r-l-11 {
  margin: 0 3.4375rem;
}

.opd-padding-h-r-l-11 {
  padding: 0 3.4375rem;
}

.opd-margin-v-t-b-11 {
  margin: 3.4375rem 0;
}

.opd-padding-v-t-b-11 {
  padding: 3.4375rem 0;
}

.opd-margin-t-11 {
  margin-top: 3.4375rem;
}

.opd-padding-t-11 {
  padding-top: 3.4375rem;
}

.opd-margin-negative-t-11 {
  margin-top: -3.4375rem;
}

.opd-margin-b-11 {
  margin-bottom: 3.4375rem;
}

.opd-padding-b-11 {
  padding-bottom: 3.4375rem;
}

.opd-margin-negative-b-11 {
  margin-bottom: -3.4375rem;
}

.opd-margin-l-11 {
  margin-left: 3.4375rem;
}

.opd-padding-l-11 {
  padding-left: 3.4375rem;
}

.opd-margin-negative-l-11 {
  margin-left: -3.4375rem;
}

.opd-margin-r-11 {
  margin-right: 3.4375rem;
}

.opd-padding-r-11 {
  padding-right: 3.4375rem;
}

.opd-margin-negative-r-11 {
  margin-right: -3.4375rem;
}

.opd-section-inner-vertical-spaced-margin-11 > * + * {
  margin-top: 3.4375rem;
}

.opd-section-inner-vertical-spaced-padding-11 > * + * {
  padding-top: 3.4375rem;
}

.opd-section-inner-horizontal-spaced-margin-11 > * + * {
  margin-left: 3.4375rem;
}

.opd-section-inner-horizontal-spaced-padding-11 > * + * {
  padding-left: 3.4375rem;
}

.opd-margin-12 {
  margin: 3.75rem;
}

.opd-padding-12 {
  padding: 3.75rem;
}

.opd-margin-h-12 {
  margin-right: 3.75rem;
  margin-left: 3.75rem;
}

.opd-padding-h-12 {
  padding-right: 3.75rem;
  padding-left: 3.75rem;
}

.opd-margin-v-12 {
  margin-top: 3.75rem;
  margin-bottom: 3.75rem;
}

.opd-padding-v-12 {
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
}

.opd-margin-h-r-l-12 {
  margin: 0 3.75rem;
}

.opd-padding-h-r-l-12 {
  padding: 0 3.75rem;
}

.opd-margin-v-t-b-12 {
  margin: 3.75rem 0;
}

.opd-padding-v-t-b-12 {
  padding: 3.75rem 0;
}

.opd-margin-t-12 {
  margin-top: 3.75rem;
}

.opd-padding-t-12 {
  padding-top: 3.75rem;
}

.opd-margin-negative-t-12 {
  margin-top: -3.75rem;
}

.opd-margin-b-12 {
  margin-bottom: 3.75rem;
}

.opd-padding-b-12 {
  padding-bottom: 3.75rem;
}

.opd-margin-negative-b-12 {
  margin-bottom: -3.75rem;
}

.opd-margin-l-12 {
  margin-left: 3.75rem;
}

.opd-padding-l-12 {
  padding-left: 3.75rem;
}

.opd-margin-negative-l-12 {
  margin-left: -3.75rem;
}

.opd-margin-r-12 {
  margin-right: 3.75rem;
}

.opd-padding-r-12 {
  padding-right: 3.75rem;
}

.opd-margin-negative-r-12 {
  margin-right: -3.75rem;
}

.opd-section-inner-vertical-spaced-margin-12 > * + * {
  margin-top: 3.75rem;
}

.opd-section-inner-vertical-spaced-padding-12 > * + * {
  padding-top: 3.75rem;
}

.opd-section-inner-horizontal-spaced-margin-12 > * + * {
  margin-left: 3.75rem;
}

.opd-section-inner-horizontal-spaced-padding-12 > * + * {
  padding-left: 3.75rem;
}

.opd-margin-13 {
  margin: 4.0625rem;
}

.opd-padding-13 {
  padding: 4.0625rem;
}

.opd-margin-h-13 {
  margin-right: 4.0625rem;
  margin-left: 4.0625rem;
}

.opd-padding-h-13 {
  padding-right: 4.0625rem;
  padding-left: 4.0625rem;
}

.opd-margin-v-13 {
  margin-top: 4.0625rem;
  margin-bottom: 4.0625rem;
}

.opd-padding-v-13 {
  padding-top: 4.0625rem;
  padding-bottom: 4.0625rem;
}

.opd-margin-h-r-l-13 {
  margin: 0 4.0625rem;
}

.opd-padding-h-r-l-13 {
  padding: 0 4.0625rem;
}

.opd-margin-v-t-b-13 {
  margin: 4.0625rem 0;
}

.opd-padding-v-t-b-13 {
  padding: 4.0625rem 0;
}

.opd-margin-t-13 {
  margin-top: 4.0625rem;
}

.opd-padding-t-13 {
  padding-top: 4.0625rem;
}

.opd-margin-negative-t-13 {
  margin-top: -4.0625rem;
}

.opd-margin-b-13 {
  margin-bottom: 4.0625rem;
}

.opd-padding-b-13 {
  padding-bottom: 4.0625rem;
}

.opd-margin-negative-b-13 {
  margin-bottom: -4.0625rem;
}

.opd-margin-l-13 {
  margin-left: 4.0625rem;
}

.opd-padding-l-13 {
  padding-left: 4.0625rem;
}

.opd-margin-negative-l-13 {
  margin-left: -4.0625rem;
}

.opd-margin-r-13 {
  margin-right: 4.0625rem;
}

.opd-padding-r-13 {
  padding-right: 4.0625rem;
}

.opd-margin-negative-r-13 {
  margin-right: -4.0625rem;
}

.opd-section-inner-vertical-spaced-margin-13 > * + * {
  margin-top: 4.0625rem;
}

.opd-section-inner-vertical-spaced-padding-13 > * + * {
  padding-top: 4.0625rem;
}

.opd-section-inner-horizontal-spaced-margin-13 > * + * {
  margin-left: 4.0625rem;
}

.opd-section-inner-horizontal-spaced-padding-13 > * + * {
  padding-left: 4.0625rem;
}

.opd-margin-14 {
  margin: 4.375rem;
}

.opd-padding-14 {
  padding: 4.375rem;
}

.opd-margin-h-14 {
  margin-right: 4.375rem;
  margin-left: 4.375rem;
}

.opd-padding-h-14 {
  padding-right: 4.375rem;
  padding-left: 4.375rem;
}

.opd-margin-v-14 {
  margin-top: 4.375rem;
  margin-bottom: 4.375rem;
}

.opd-padding-v-14 {
  padding-top: 4.375rem;
  padding-bottom: 4.375rem;
}

.opd-margin-h-r-l-14 {
  margin: 0 4.375rem;
}

.opd-padding-h-r-l-14 {
  padding: 0 4.375rem;
}

.opd-margin-v-t-b-14 {
  margin: 4.375rem 0;
}

.opd-padding-v-t-b-14 {
  padding: 4.375rem 0;
}

.opd-margin-t-14 {
  margin-top: 4.375rem;
}

.opd-padding-t-14 {
  padding-top: 4.375rem;
}

.opd-margin-negative-t-14 {
  margin-top: -4.375rem;
}

.opd-margin-b-14 {
  margin-bottom: 4.375rem;
}

.opd-padding-b-14 {
  padding-bottom: 4.375rem;
}

.opd-margin-negative-b-14 {
  margin-bottom: -4.375rem;
}

.opd-margin-l-14 {
  margin-left: 4.375rem;
}

.opd-padding-l-14 {
  padding-left: 4.375rem;
}

.opd-margin-negative-l-14 {
  margin-left: -4.375rem;
}

.opd-margin-r-14 {
  margin-right: 4.375rem;
}

.opd-padding-r-14 {
  padding-right: 4.375rem;
}

.opd-margin-negative-r-14 {
  margin-right: -4.375rem;
}

.opd-section-inner-vertical-spaced-margin-14 > * + * {
  margin-top: 4.375rem;
}

.opd-section-inner-vertical-spaced-padding-14 > * + * {
  padding-top: 4.375rem;
}

.opd-section-inner-horizontal-spaced-margin-14 > * + * {
  margin-left: 4.375rem;
}

.opd-section-inner-horizontal-spaced-padding-14 > * + * {
  padding-left: 4.375rem;
}

.opd-margin-15 {
  margin: 4.6875rem;
}

.opd-padding-15 {
  padding: 4.6875rem;
}

.opd-margin-h-15 {
  margin-right: 4.6875rem;
  margin-left: 4.6875rem;
}

.opd-padding-h-15 {
  padding-right: 4.6875rem;
  padding-left: 4.6875rem;
}

.opd-margin-v-15 {
  margin-top: 4.6875rem;
  margin-bottom: 4.6875rem;
}

.opd-padding-v-15 {
  padding-top: 4.6875rem;
  padding-bottom: 4.6875rem;
}

.opd-margin-h-r-l-15 {
  margin: 0 4.6875rem;
}

.opd-padding-h-r-l-15 {
  padding: 0 4.6875rem;
}

.opd-margin-v-t-b-15 {
  margin: 4.6875rem 0;
}

.opd-padding-v-t-b-15 {
  padding: 4.6875rem 0;
}

.opd-margin-t-15 {
  margin-top: 4.6875rem;
}

.opd-padding-t-15 {
  padding-top: 4.6875rem;
}

.opd-margin-negative-t-15 {
  margin-top: -4.6875rem;
}

.opd-margin-b-15 {
  margin-bottom: 4.6875rem;
}

.opd-padding-b-15 {
  padding-bottom: 4.6875rem;
}

.opd-margin-negative-b-15 {
  margin-bottom: -4.6875rem;
}

.opd-margin-l-15 {
  margin-left: 4.6875rem;
}

.opd-padding-l-15 {
  padding-left: 4.6875rem;
}

.opd-margin-negative-l-15 {
  margin-left: -4.6875rem;
}

.opd-margin-r-15 {
  margin-right: 4.6875rem;
}

.opd-padding-r-15 {
  padding-right: 4.6875rem;
}

.opd-margin-negative-r-15 {
  margin-right: -4.6875rem;
}

.opd-section-inner-vertical-spaced-margin-15 > * + * {
  margin-top: 4.6875rem;
}

.opd-section-inner-vertical-spaced-padding-15 > * + * {
  padding-top: 4.6875rem;
}

.opd-section-inner-horizontal-spaced-margin-15 > * + * {
  margin-left: 4.6875rem;
}

.opd-section-inner-horizontal-spaced-padding-15 > * + * {
  padding-left: 4.6875rem;
}

.opd-margin-16 {
  margin: 5rem;
}

.opd-padding-16 {
  padding: 5rem;
}

.opd-margin-h-16 {
  margin-right: 5rem;
  margin-left: 5rem;
}

.opd-padding-h-16 {
  padding-right: 5rem;
  padding-left: 5rem;
}

.opd-margin-v-16 {
  margin-top: 5rem;
  margin-bottom: 5rem;
}

.opd-padding-v-16 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.opd-margin-h-r-l-16 {
  margin: 0 5rem;
}

.opd-padding-h-r-l-16 {
  padding: 0 5rem;
}

.opd-margin-v-t-b-16 {
  margin: 5rem 0;
}

.opd-padding-v-t-b-16 {
  padding: 5rem 0;
}

.opd-margin-t-16 {
  margin-top: 5rem;
}

.opd-padding-t-16 {
  padding-top: 5rem;
}

.opd-margin-negative-t-16 {
  margin-top: -5rem;
}

.opd-margin-b-16 {
  margin-bottom: 5rem;
}

.opd-padding-b-16 {
  padding-bottom: 5rem;
}

.opd-margin-negative-b-16 {
  margin-bottom: -5rem;
}

.opd-margin-l-16 {
  margin-left: 5rem;
}

.opd-padding-l-16 {
  padding-left: 5rem;
}

.opd-margin-negative-l-16 {
  margin-left: -5rem;
}

.opd-margin-r-16 {
  margin-right: 5rem;
}

.opd-padding-r-16 {
  padding-right: 5rem;
}

.opd-margin-negative-r-16 {
  margin-right: -5rem;
}

.opd-section-inner-vertical-spaced-margin-16 > * + * {
  margin-top: 5rem;
}

.opd-section-inner-vertical-spaced-padding-16 > * + * {
  padding-top: 5rem;
}

.opd-section-inner-horizontal-spaced-margin-16 > * + * {
  margin-left: 5rem;
}

.opd-section-inner-horizontal-spaced-padding-16 > * + * {
  padding-left: 5rem;
}

.opd-margin-17 {
  margin: 5.3125rem;
}

.opd-padding-17 {
  padding: 5.3125rem;
}

.opd-margin-h-17 {
  margin-right: 5.3125rem;
  margin-left: 5.3125rem;
}

.opd-padding-h-17 {
  padding-right: 5.3125rem;
  padding-left: 5.3125rem;
}

.opd-margin-v-17 {
  margin-top: 5.3125rem;
  margin-bottom: 5.3125rem;
}

.opd-padding-v-17 {
  padding-top: 5.3125rem;
  padding-bottom: 5.3125rem;
}

.opd-margin-h-r-l-17 {
  margin: 0 5.3125rem;
}

.opd-padding-h-r-l-17 {
  padding: 0 5.3125rem;
}

.opd-margin-v-t-b-17 {
  margin: 5.3125rem 0;
}

.opd-padding-v-t-b-17 {
  padding: 5.3125rem 0;
}

.opd-margin-t-17 {
  margin-top: 5.3125rem;
}

.opd-padding-t-17 {
  padding-top: 5.3125rem;
}

.opd-margin-negative-t-17 {
  margin-top: -5.3125rem;
}

.opd-margin-b-17 {
  margin-bottom: 5.3125rem;
}

.opd-padding-b-17 {
  padding-bottom: 5.3125rem;
}

.opd-margin-negative-b-17 {
  margin-bottom: -5.3125rem;
}

.opd-margin-l-17 {
  margin-left: 5.3125rem;
}

.opd-padding-l-17 {
  padding-left: 5.3125rem;
}

.opd-margin-negative-l-17 {
  margin-left: -5.3125rem;
}

.opd-margin-r-17 {
  margin-right: 5.3125rem;
}

.opd-padding-r-17 {
  padding-right: 5.3125rem;
}

.opd-margin-negative-r-17 {
  margin-right: -5.3125rem;
}

.opd-section-inner-vertical-spaced-margin-17 > * + * {
  margin-top: 5.3125rem;
}

.opd-section-inner-vertical-spaced-padding-17 > * + * {
  padding-top: 5.3125rem;
}

.opd-section-inner-horizontal-spaced-margin-17 > * + * {
  margin-left: 5.3125rem;
}

.opd-section-inner-horizontal-spaced-padding-17 > * + * {
  padding-left: 5.3125rem;
}

.opd-margin-18 {
  margin: 5.625rem;
}

.opd-padding-18 {
  padding: 5.625rem;
}

.opd-margin-h-18 {
  margin-right: 5.625rem;
  margin-left: 5.625rem;
}

.opd-padding-h-18 {
  padding-right: 5.625rem;
  padding-left: 5.625rem;
}

.opd-margin-v-18 {
  margin-top: 5.625rem;
  margin-bottom: 5.625rem;
}

.opd-padding-v-18 {
  padding-top: 5.625rem;
  padding-bottom: 5.625rem;
}

.opd-margin-h-r-l-18 {
  margin: 0 5.625rem;
}

.opd-padding-h-r-l-18 {
  padding: 0 5.625rem;
}

.opd-margin-v-t-b-18 {
  margin: 5.625rem 0;
}

.opd-padding-v-t-b-18 {
  padding: 5.625rem 0;
}

.opd-margin-t-18 {
  margin-top: 5.625rem;
}

.opd-padding-t-18 {
  padding-top: 5.625rem;
}

.opd-margin-negative-t-18 {
  margin-top: -5.625rem;
}

.opd-margin-b-18 {
  margin-bottom: 5.625rem;
}

.opd-padding-b-18 {
  padding-bottom: 5.625rem;
}

.opd-margin-negative-b-18 {
  margin-bottom: -5.625rem;
}

.opd-margin-l-18 {
  margin-left: 5.625rem;
}

.opd-padding-l-18 {
  padding-left: 5.625rem;
}

.opd-margin-negative-l-18 {
  margin-left: -5.625rem;
}

.opd-margin-r-18 {
  margin-right: 5.625rem;
}

.opd-padding-r-18 {
  padding-right: 5.625rem;
}

.opd-margin-negative-r-18 {
  margin-right: -5.625rem;
}

.opd-section-inner-vertical-spaced-margin-18 > * + * {
  margin-top: 5.625rem;
}

.opd-section-inner-vertical-spaced-padding-18 > * + * {
  padding-top: 5.625rem;
}

.opd-section-inner-horizontal-spaced-margin-18 > * + * {
  margin-left: 5.625rem;
}

.opd-section-inner-horizontal-spaced-padding-18 > * + * {
  padding-left: 5.625rem;
}

.opd-margin-19 {
  margin: 5.9375rem;
}

.opd-padding-19 {
  padding: 5.9375rem;
}

.opd-margin-h-19 {
  margin-right: 5.9375rem;
  margin-left: 5.9375rem;
}

.opd-padding-h-19 {
  padding-right: 5.9375rem;
  padding-left: 5.9375rem;
}

.opd-margin-v-19 {
  margin-top: 5.9375rem;
  margin-bottom: 5.9375rem;
}

.opd-padding-v-19 {
  padding-top: 5.9375rem;
  padding-bottom: 5.9375rem;
}

.opd-margin-h-r-l-19 {
  margin: 0 5.9375rem;
}

.opd-padding-h-r-l-19 {
  padding: 0 5.9375rem;
}

.opd-margin-v-t-b-19 {
  margin: 5.9375rem 0;
}

.opd-padding-v-t-b-19 {
  padding: 5.9375rem 0;
}

.opd-margin-t-19 {
  margin-top: 5.9375rem;
}

.opd-padding-t-19 {
  padding-top: 5.9375rem;
}

.opd-margin-negative-t-19 {
  margin-top: -5.9375rem;
}

.opd-margin-b-19 {
  margin-bottom: 5.9375rem;
}

.opd-padding-b-19 {
  padding-bottom: 5.9375rem;
}

.opd-margin-negative-b-19 {
  margin-bottom: -5.9375rem;
}

.opd-margin-l-19 {
  margin-left: 5.9375rem;
}

.opd-padding-l-19 {
  padding-left: 5.9375rem;
}

.opd-margin-negative-l-19 {
  margin-left: -5.9375rem;
}

.opd-margin-r-19 {
  margin-right: 5.9375rem;
}

.opd-padding-r-19 {
  padding-right: 5.9375rem;
}

.opd-margin-negative-r-19 {
  margin-right: -5.9375rem;
}

.opd-section-inner-vertical-spaced-margin-19 > * + * {
  margin-top: 5.9375rem;
}

.opd-section-inner-vertical-spaced-padding-19 > * + * {
  padding-top: 5.9375rem;
}

.opd-section-inner-horizontal-spaced-margin-19 > * + * {
  margin-left: 5.9375rem;
}

.opd-section-inner-horizontal-spaced-padding-19 > * + * {
  padding-left: 5.9375rem;
}

.opd-margin-20 {
  margin: 6.25rem;
}

.opd-padding-20 {
  padding: 6.25rem;
}

.opd-margin-h-20 {
  margin-right: 6.25rem;
  margin-left: 6.25rem;
}

.opd-padding-h-20 {
  padding-right: 6.25rem;
  padding-left: 6.25rem;
}

.opd-margin-v-20 {
  margin-top: 6.25rem;
  margin-bottom: 6.25rem;
}

.opd-padding-v-20 {
  padding-top: 6.25rem;
  padding-bottom: 6.25rem;
}

.opd-margin-h-r-l-20 {
  margin: 0 6.25rem;
}

.opd-padding-h-r-l-20 {
  padding: 0 6.25rem;
}

.opd-margin-v-t-b-20 {
  margin: 6.25rem 0;
}

.opd-padding-v-t-b-20 {
  padding: 6.25rem 0;
}

.opd-margin-t-20 {
  margin-top: 6.25rem;
}

.opd-padding-t-20 {
  padding-top: 6.25rem;
}

.opd-margin-negative-t-20 {
  margin-top: -6.25rem;
}

.opd-margin-b-20 {
  margin-bottom: 6.25rem;
}

.opd-padding-b-20 {
  padding-bottom: 6.25rem;
}

.opd-margin-negative-b-20 {
  margin-bottom: -6.25rem;
}

.opd-margin-l-20 {
  margin-left: 6.25rem;
}

.opd-padding-l-20 {
  padding-left: 6.25rem;
}

.opd-margin-negative-l-20 {
  margin-left: -6.25rem;
}

.opd-margin-r-20 {
  margin-right: 6.25rem;
}

.opd-padding-r-20 {
  padding-right: 6.25rem;
}

.opd-margin-negative-r-20 {
  margin-right: -6.25rem;
}

.opd-section-inner-vertical-spaced-margin-20 > * + * {
  margin-top: 6.25rem;
}

.opd-section-inner-vertical-spaced-padding-20 > * + * {
  padding-top: 6.25rem;
}

.opd-section-inner-horizontal-spaced-margin-20 > * + * {
  margin-left: 6.25rem;
}

.opd-section-inner-horizontal-spaced-padding-20 > * + * {
  padding-left: 6.25rem;
}

/* AUTO MARGINS */
/* Margin auto for all single directions */
.opd-margin-t-auto {
  margin-top: auto;
}

.opd-margin-b-auto {
  margin-bottom: auto;
}

.opd-margin-l-auto {
  margin-left: auto;
}

.opd-margin-r-auto {
  margin-right: auto;
}

/**
 * TYPOGRAPHIC
 *
 * Utilities/helpers for typographic styles
 * Headings and paragraph mainly
 */
/* ------------------------------------ *\
  #FONT-FAMILY
\* ------------------------------------ */
.opd-font-family-main {
  font-family: "Lora", serif;
}

.opd-font-family-title {
  font-family: "Nib Pro", serif;
}

/* ------------------------------------ *\
#FONT-SIZE
\* ------------------------------------ */
/* Made with rem() custom function - see global/functions.scss */
/* Set start size and end size for typographic sizes range */
/* Generate classes */
.opd-font-size-12 {
  font-size: 0.75rem;
}

.opd-font-size-13 {
  font-size: 0.8125rem;
}

.opd-font-size-14 {
  font-size: 0.875rem;
}

.opd-font-size-15 {
  font-size: 0.9375rem;
}

.opd-font-size-16 {
  font-size: 1rem;
}

.opd-font-size-17 {
  font-size: 1.0625rem;
}

.opd-font-size-18 {
  font-size: 1.125rem;
}

.opd-font-size-19 {
  font-size: 1.1875rem;
}

.opd-font-size-20 {
  font-size: 1.25rem;
}

.opd-font-size-21 {
  font-size: 1.3125rem;
}

.opd-font-size-22 {
  font-size: 1.375rem;
}

.opd-font-size-23 {
  font-size: 1.4375rem;
}

.opd-font-size-24 {
  font-size: 1.5rem;
}

.opd-font-size-25 {
  font-size: 1.5625rem;
}

.opd-font-size-26 {
  font-size: 1.625rem;
}

.opd-font-size-27 {
  font-size: 1.6875rem;
}

.opd-font-size-28 {
  font-size: 1.75rem;
}

.opd-font-size-29 {
  font-size: 1.8125rem;
}

.opd-font-size-30 {
  font-size: 1.875rem;
}

.opd-font-size-31 {
  font-size: 1.9375rem;
}

.opd-font-size-32 {
  font-size: 2rem;
}

.opd-font-size-33 {
  font-size: 2.0625rem;
}

.opd-font-size-34 {
  font-size: 2.125rem;
}

.opd-font-size-35 {
  font-size: 2.1875rem;
}

.opd-font-size-36 {
  font-size: 2.25rem;
}

.opd-font-size-37 {
  font-size: 2.3125rem;
}

.opd-font-size-38 {
  font-size: 2.375rem;
}

.opd-font-size-39 {
  font-size: 2.4375rem;
}

.opd-font-size-40 {
  font-size: 2.5rem;
}

.opd-font-size-41 {
  font-size: 2.5625rem;
}

.opd-font-size-42 {
  font-size: 2.625rem;
}

.opd-font-size-43 {
  font-size: 2.6875rem;
}

.opd-font-size-44 {
  font-size: 2.75rem;
}

.opd-font-size-45 {
  font-size: 2.8125rem;
}

.opd-font-size-46 {
  font-size: 2.875rem;
}

.opd-font-size-47 {
  font-size: 2.9375rem;
}

.opd-font-size-48 {
  font-size: 3rem;
}

.opd-font-size-49 {
  font-size: 3.0625rem;
}

.opd-font-size-50 {
  font-size: 3.125rem;
}

.opd-font-size-51 {
  font-size: 3.1875rem;
}

.opd-font-size-52 {
  font-size: 3.25rem;
}

.opd-font-size-53 {
  font-size: 3.3125rem;
}

.opd-font-size-54 {
  font-size: 3.375rem;
}

.opd-font-size-55 {
  font-size: 3.4375rem;
}

.opd-font-size-56 {
  font-size: 3.5rem;
}

.opd-font-size-57 {
  font-size: 3.5625rem;
}

.opd-font-size-58 {
  font-size: 3.625rem;
}

.opd-font-size-59 {
  font-size: 3.6875rem;
}

.opd-font-size-60 {
  font-size: 3.75rem;
}

/* ------------------------------------ *\
  #HEADINGS
\* ------------------------------------ */
/* Separate headings visualizations styles and semantic tags */
/* Set in mixins.scss  */
.opd-h1 {
  font-size: clamp(1.75rem, 1rem + 2vw, 3rem);
  line-height: 1.2;
  font-weight: 500;
  font-family: "Nib Pro", serif;
}

.opd-h2 {
  font-size: clamp(1.5rem, 1rem + 1.2vw, 2.25rem);
  line-height: 1.2;
  font-weight: 500;
  font-family: "Nib Pro", serif;
}

.opd-h3 {
  font-size: clamp(1.5rem, 1rem + 1.2vw, 2rem);
  line-height: 1.2;
  font-weight: 500;
  font-family: "Nib Pro", serif;
}

.opd-h4 {
  font-size: clamp(1.25rem, 1rem + 1.2vw, 1.75rem);
  line-height: 1.3;
  font-weight: 500;
  font-family: "Nib Pro", serif;
}

.opd-h5 {
  font-size: clamp(1.125rem, 1rem + 1.2vw, 1.5rem);
  line-height: 1.4;
  font-weight: 500;
  font-family: "Nib Pro", serif;
}

.opd-h6 {
  font-size: clamp(1rem, 1rem + 1.2vw, 1.25rem);
  line-height: 1.4;
  font-weight: 500;
  font-family: "Nib Pro", serif;
}

/* Font family main */
.opd-h3-main {
  font-size: clamp(1.5rem, 1rem + 1.2vw, 2rem);
  line-height: 1.2;
  font-weight: 500;
  font-family: "Lora", serif;
}

.opd-h4-main {
  font-size: clamp(1.25rem, 1rem + 1.2vw, 1.75rem);
  line-height: 1.3;
  font-weight: 500;
  font-family: "Lora", serif;
}

.opd-h5-main {
  font-size: clamp(1.125rem, 1rem + 1.2vw, 1.5rem);
  line-height: 1.4;
  font-weight: 500;
  font-family: "Lora", serif;
}

.opd-h6-main {
  font-size: clamp(1rem, 1rem + 1.2vw, 1.25rem);
  line-height: 1.4;
  font-weight: 500;
  font-family: "Lora", serif;
}

.opd-p {
  font-size: clamp(0.875rem, 1rem + 1.5vw, 1.125rem);
  line-height: 1.6;
  font-weight: 400;
}
@media all and (max-width: 767px) {
  .opd-p {
    font-size: 0.875rem;
  }
}

.opd-p-l {
  font-size: clamp(1.125rem, 1rem + 1.2vw, 1.5rem);
  line-height: 1.6;
  font-weight: 400;
}

.opd-p-s {
  font-size: clamp(0.875rem, 1rem + 1.5vw, 1rem);
  line-height: 1.6;
  font-weight: 400;
}

.opd-p-xs {
  font-size: clamp(0.75rem, 1rem + 1.5vw, 0.875rem);
  line-height: 1.6;
  font-weight: 400;
}

/*  TEXT  */
/* ------------------------------------ *\
  #TEXT-COLOR
\* ------------------------------------ */
/* Manage text color */
/* accent color */
.opd-text-accent {
  color: #752E4A;
}

/* secondary color */
.opd-text-secondary {
  color: #1C4D5E;
}

/* light color */
.opd-text-light {
  color: hsl(0deg, 1%, 60%);
}

/* light blue gray color */
.opd-text-light-blue-gray {
  color: hsl(214deg, 22%, 59%);
}

/* text-inverse - white */
.opd-text-inverse {
  color: #ffffff;
}

/* ------------------------------------ *\
    #WHITE-SPACE-NOWRAP
\* ------------------------------------ */
.opd-whitespace-nowrap {
  white-space: nowrap;
}

/* ------------------------------------ *\
    #TEXT
\* ------------------------------------ */
.opd-text-italic {
  font-style: italic;
}

.opd-font-weight-regular {
  font-weight: 400;
}

.opd-font-weight-medium {
  font-weight: 500;
}

.opd-font-weight-semibold {
  font-weight: 600;
}

.opd-font-weight-bold {
  font-weight: 700;
}

.opd-text-underline {
  text-decoration: underline;
}

/* ------------------------------------ *\
  #PAGE-BODY
\* ------------------------------------ */
/* Manage text formatting inside page/content type body */
/* Has dynamic  */
.opd-page-body--paragraph {
  /* Event body - no <p> tag */
  font-size: clamp(0.875rem, 1rem + 1.5vw, 1.125rem);
  line-height: 1.6;
  font-weight: 400;
}
@media all and (max-width: 767px) {
  .opd-page-body--paragraph {
    font-size: 0.875rem;
  }
}
.opd-page-body > a:not([class]) {
  text-decoration: underline;
  font-weight: 700;
  word-break: break-all;
}
.opd-page-body > h2:not([class]) {
  font-size: clamp(1.5rem, 1rem + 1.2vw, 2rem);
  line-height: 1.2;
  font-weight: 500;
  font-family: "Nib Pro", serif;
}
.opd-page-body > h3:not([class]) {
  font-size: clamp(1.25rem, 1rem + 1.2vw, 1.75rem);
  line-height: 1.3;
  font-weight: 500;
  font-family: "Nib Pro", serif;
}
.opd-page-body > h4:not([class]) {
  font-size: clamp(1.125rem, 1rem + 1.2vw, 1.5rem);
  line-height: 1.4;
  font-weight: 500;
  font-family: "Nib Pro", serif;
}
.opd-page-body > h5:not([class]) {
  font-size: clamp(1rem, 1rem + 1.2vw, 1.25rem);
  line-height: 1.4;
  font-weight: 500;
  font-family: "Nib Pro", serif;
}
.opd-page-body > h6:not([class]) {
  font-size: clamp(1rem, 1rem + 1.2vw, 1.25rem);
  line-height: 1.4;
  font-weight: 500;
  font-family: "Nib Pro", serif;
}
.opd-page-body > p:not([class]) {
  font-size: clamp(0.875rem, 1rem + 1.5vw, 1.125rem);
  line-height: 1.6;
  font-weight: 400;
}
@media all and (max-width: 767px) {
  .opd-page-body > p:not([class]) {
    font-size: 0.875rem;
  }
}
.opd-page-body > ul:not([class]),
.opd-page-body > ol:not([class]) {
  font-size: clamp(0.875rem, 1rem + 1.5vw, 1.125rem);
  line-height: 1.6;
  font-weight: 400;
  line-height: 1.85;
}
@media all and (max-width: 767px) {
  .opd-page-body > ul:not([class]),
  .opd-page-body > ol:not([class]) {
    font-size: 0.875rem;
  }
}
.opd-page-body > h2:not([class]) + * {
  margin-top: 1.33em;
}
.opd-page-body > h3:not([class]) + * {
  margin-top: 1.25em;
}
.opd-page-body > h4:not([class]) + * {
  margin-top: 1.2em;
}
.opd-page-body > h5:not([class]) + * {
  margin-top: 1.15em;
}
.opd-page-body > h6:not([class]) + * {
  margin-top: 1.1em;
}
.opd-page-body > * + h2:not([class]) {
  margin-top: 1.45em;
}
.opd-page-body > * + h3:not([class]) {
  margin-top: 1.25em;
}
.opd-page-body > * + h4:not([class]) {
  margin-top: 1.2em;
}
.opd-page-body > * + h5:not([class]) {
  margin-top: 1.15em;
}
.opd-page-body > * + h6:not([class]) {
  margin-top: 1.1em;
}
.opd-page-body > p:not([class]) + p:not([class]) {
  margin-top: 1.3em;
}
.opd-page-body > * + ul:not([class]),
.opd-page-body > * + ol:not([class]) {
  margin-top: 1.3em;
}
.opd-page-body > picture:not([class]) {
  display: block;
}
.opd-page-body > picture:not([class]) source + img {
  margin-top: 0;
}
.opd-page-body .opd-list a {
  text-decoration: none;
}
.opd-page-body .opd-list a:hover, .opd-page-body .opd-list a:focus {
  text-decoration: underline;
}
.opd-page-body .opd-card--base {
  --card-spacer-y-t: 1.5625rem;
}
.opd-page-body .opd-card__title {
  font-size: clamp(0.875rem, 1rem + 1.5vw, 1.125rem);
}

/* STRUTTURA ORGANIZZATIVA */
.opd-section-organization-structure * + ul,
.opd-section-organization-structure * + ol {
  margin-top: 1em;
  margin-bottom: 0;
  padding-left: 1.875rem;
  font-size: clamp(0.875rem, 1rem + 1.5vw, 1rem);
  line-height: 1.6;
  font-weight: 400;
  line-height: 1.6;
}
.opd-section-organization-structure * + ul li + li,
.opd-section-organization-structure * + ol li + li {
  margin-top: 0.66em;
}
.opd-section-organization-structure * + ul {
  list-style: none;
}
.opd-section-organization-structure * + ul li::before {
  content: "";
  display: inline-block;
  height: 2px;
  width: 0.5em;
  margin-right: 0.5em;
  background-color: currentColor;
  vertical-align: middle;
}
.opd-section-organization-structure h3 {
  font-size: clamp(1.125rem, 1rem + 1.2vw, 1.5rem);
  line-height: 1.4;
  font-weight: 500;
  font-family: "Lora", serif;
}
.opd-section-organization-structure h4 {
  font-size: clamp(1rem, 1rem + 1.2vw, 1.25rem);
  line-height: 1.4;
  font-weight: 500;
  font-family: "Lora", serif;
  color: hsl(215deg, 14%, 35%);
}
.opd-section-organization-structure h4::before {
  content: "";
  display: inline-block;
  height: 2px;
  width: 0.9375rem;
  margin-right: 0.9375rem;
  background-color: currentColor;
  vertical-align: middle;
}
.opd-section-organization-structure h5 {
  padding-left: 1.875rem;
}
.opd-section-organization-structure h5,
.opd-section-organization-structure h6 {
  font-family: "Lora", serif;
  font-weight: 500;
}
.opd-section-organization-structure h5 {
  font-size: clamp(0.875rem, 1rem + 1.5vw, 1.125rem);
}
.opd-section-organization-structure h6 {
  margin-left: 3.75rem;
  font-size: clamp(0.875rem, 1rem + 1.5vw, 1rem);
}
.opd-section-organization-structure h6 + ol, .opd-section-organization-structure h6 + ul {
  margin-left: 1.875rem;
}
.opd-section-organization-structure h4 {
  margin-top: 1.66em;
}
.opd-section-organization-structure h5 {
  margin-top: 1.33em;
}
.opd-section-organization-structure h6 {
  margin-top: 1.25em;
}
.opd-section-organization-structure + .opd-section-organization-structure {
  border-top: 1px solid hsl(0deg, 0%, 85%);
  margin-top: 2.5rem;
  padding-top: 2.5rem;
}
h2 + .opd-section-organization-structure {
  padding-top: 0.9375rem;
}

/**
 * UTILITIES
 *
 * Utilities/helpers classes and styles
 */
/* ------------------------------------ *\
  #ALIGNMENTS
\* ------------------------------------ */
/* Flexbox/grid helper classes for items alignment */
.opd-justify-content-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.opd-align-items-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.opd-align-self-center {
  -ms-flex-item-align: center;
      align-self: center;
}

.opd-justify-items-center {
  justify-items: center;
}

.opd-align-content-center {
  -ms-flex-line-pack: center;
      align-content: center;
}

@media all and (min-width: 768px) {
  .opd-justify-items-center-tablet {
    justify-items: center;
  }
}
.opd-justify-content-baseline {
  -webkit-box-pack: baseline;
      -ms-flex-pack: baseline;
          justify-content: baseline;
}

.opd-align-items-baseline {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}

.opd-align-self-baseline {
  -ms-flex-item-align: baseline;
      align-self: baseline;
}

.opd-justify-items-baseline {
  justify-items: baseline;
}

.opd-align-content-baseline {
  -ms-flex-line-pack: baseline;
      align-content: baseline;
}

@media all and (min-width: 768px) {
  .opd-justify-items-baseline-tablet {
    justify-items: baseline;
  }
}
.opd-justify-content-space-between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.opd-align-items-space-between {
  -webkit-box-align: space-between;
      -ms-flex-align: space-between;
          align-items: space-between;
}

.opd-align-self-space-between {
  -ms-flex-item-align: space-between;
      align-self: space-between;
}

.opd-justify-items-space-between {
  justify-items: space-between;
}

.opd-align-content-space-between {
  -ms-flex-line-pack: justify;
      align-content: space-between;
}

@media all and (min-width: 768px) {
  .opd-justify-items-space-between-tablet {
    justify-items: space-between;
  }
}
.opd-justify-content-space-around {
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

.opd-align-items-space-around {
  -webkit-box-align: space-around;
      -ms-flex-align: space-around;
          align-items: space-around;
}

.opd-align-self-space-around {
  -ms-flex-item-align: space-around;
      align-self: space-around;
}

.opd-justify-items-space-around {
  justify-items: space-around;
}

.opd-align-content-space-around {
  -ms-flex-line-pack: distribute;
      align-content: space-around;
}

@media all and (min-width: 768px) {
  .opd-justify-items-space-around-tablet {
    justify-items: space-around;
  }
}
.opd-justify-content-space-evenly {
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
}

.opd-align-items-space-evenly {
  -webkit-box-align: space-evenly;
      -ms-flex-align: space-evenly;
          align-items: space-evenly;
}

.opd-align-self-space-evenly {
  -ms-flex-item-align: space-evenly;
      align-self: space-evenly;
}

.opd-justify-items-space-evenly {
  justify-items: space-evenly;
}

.opd-align-content-space-evenly {
  -ms-flex-line-pack: space-evenly;
      align-content: space-evenly;
}

@media all and (min-width: 768px) {
  .opd-justify-items-space-evenly-tablet {
    justify-items: space-evenly;
  }
}
.opd-justify-content-flex-start {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.opd-align-items-flex-start {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.opd-align-self-flex-start {
  -ms-flex-item-align: start;
      align-self: flex-start;
}

.opd-justify-items-flex-start {
  justify-items: flex-start;
}

.opd-align-content-flex-start {
  -ms-flex-line-pack: start;
      align-content: flex-start;
}

@media all and (min-width: 768px) {
  .opd-justify-items-flex-start-tablet {
    justify-items: flex-start;
  }
}
.opd-justify-content-flex-end {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.opd-align-items-flex-end {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.opd-align-self-flex-end {
  -ms-flex-item-align: end;
      align-self: flex-end;
}

.opd-justify-items-flex-end {
  justify-items: flex-end;
}

.opd-align-content-flex-end {
  -ms-flex-line-pack: end;
      align-content: flex-end;
}

@media all and (min-width: 768px) {
  .opd-justify-items-flex-end-tablet {
    justify-items: flex-end;
  }
}
.opd-justify-content-start {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
}

.opd-align-items-start {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}

.opd-align-self-start {
  -ms-flex-item-align: start;
      align-self: start;
}

.opd-justify-items-start {
  justify-items: start;
}

.opd-align-content-start {
  -ms-flex-line-pack: start;
      align-content: start;
}

@media all and (min-width: 768px) {
  .opd-justify-items-start-tablet {
    justify-items: start;
  }
}
.opd-justify-content-end {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
}

.opd-align-items-end {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}

.opd-align-self-end {
  -ms-flex-item-align: end;
      align-self: end;
}

.opd-justify-items-end {
  justify-items: end;
}

.opd-align-content-end {
  -ms-flex-line-pack: end;
      align-content: end;
}

@media all and (min-width: 768px) {
  .opd-justify-items-end-tablet {
    justify-items: end;
  }
}
/* TEXT ALIGN */
.opd-text-left {
  text-align: left;
}

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

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

/* ------------------------------------ *\
  #WRAP
\* ------------------------------------ */
/* Flexbox WRAP/NOWRAP */
.opd-flex-wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.opd-flex-nowrap {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

/* Flex flow */
.opd-flex-direction-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.opd-flex-direction-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

/* ------------------------------------ *\
  #DISPLAY
\* ------------------------------------ */
/* Display property management classes */
.opd-display-block {
  display: block;
}

@media all and (max-width: 767px) {
  .opd-display-block-mobile {
    display: block;
  }
}
@media all and (max-width: 568px) {
  .opd-display-block-mobile-s {
    display: block;
  }
}
@media all and (min-width: 768px) {
  .opd-display-block-tablet {
    display: block;
  }
}
@media all and (min-width: 1024px) {
  .opd-display-block-tablet-l {
    display: block;
  }
}
@media all and (min-width: 1147px) {
  .opd-display-block-desktop {
    display: block;
  }
}
.opd-display-inline-block {
  display: inline-block;
}

@media all and (max-width: 767px) {
  .opd-display-inline-block-mobile {
    display: inline-block;
  }
}
@media all and (max-width: 568px) {
  .opd-display-inline-block-mobile-s {
    display: inline-block;
  }
}
@media all and (min-width: 768px) {
  .opd-display-inline-block-tablet {
    display: inline-block;
  }
}
@media all and (min-width: 1024px) {
  .opd-display-inline-block-tablet-l {
    display: inline-block;
  }
}
@media all and (min-width: 1147px) {
  .opd-display-inline-block-desktop {
    display: inline-block;
  }
}
.opd-display-inline {
  display: inline;
}

@media all and (max-width: 767px) {
  .opd-display-inline-mobile {
    display: inline;
  }
}
@media all and (max-width: 568px) {
  .opd-display-inline-mobile-s {
    display: inline;
  }
}
@media all and (min-width: 768px) {
  .opd-display-inline-tablet {
    display: inline;
  }
}
@media all and (min-width: 1024px) {
  .opd-display-inline-tablet-l {
    display: inline;
  }
}
@media all and (min-width: 1147px) {
  .opd-display-inline-desktop {
    display: inline;
  }
}
.opd-display-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media all and (max-width: 767px) {
  .opd-display-flex-mobile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media all and (max-width: 568px) {
  .opd-display-flex-mobile-s {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media all and (min-width: 768px) {
  .opd-display-flex-tablet {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media all and (min-width: 1024px) {
  .opd-display-flex-tablet-l {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media all and (min-width: 1147px) {
  .opd-display-flex-desktop {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.opd-display-grid {
  display: grid;
}

@media all and (max-width: 767px) {
  .opd-display-grid-mobile {
    display: grid;
  }
}
@media all and (max-width: 568px) {
  .opd-display-grid-mobile-s {
    display: grid;
  }
}
@media all and (min-width: 768px) {
  .opd-display-grid-tablet {
    display: grid;
  }
}
@media all and (min-width: 1024px) {
  .opd-display-grid-tablet-l {
    display: grid;
  }
}
@media all and (min-width: 1147px) {
  .opd-display-grid-desktop {
    display: grid;
  }
}
.opd-display-inline-flex {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

@media all and (max-width: 767px) {
  .opd-display-inline-flex-mobile {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
  }
}
@media all and (max-width: 568px) {
  .opd-display-inline-flex-mobile-s {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
  }
}
@media all and (min-width: 768px) {
  .opd-display-inline-flex-tablet {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
  }
}
@media all and (min-width: 1024px) {
  .opd-display-inline-flex-tablet-l {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
  }
}
@media all and (min-width: 1147px) {
  .opd-display-inline-flex-desktop {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
  }
}
.opd-display-inline-grid {
  display: inline-grid;
}

@media all and (max-width: 767px) {
  .opd-display-inline-grid-mobile {
    display: inline-grid;
  }
}
@media all and (max-width: 568px) {
  .opd-display-inline-grid-mobile-s {
    display: inline-grid;
  }
}
@media all and (min-width: 768px) {
  .opd-display-inline-grid-tablet {
    display: inline-grid;
  }
}
@media all and (min-width: 1024px) {
  .opd-display-inline-grid-tablet-l {
    display: inline-grid;
  }
}
@media all and (min-width: 1147px) {
  .opd-display-inline-grid-desktop {
    display: inline-grid;
  }
}
.opd-display-none {
  display: none;
}

@media all and (max-width: 767px) {
  .opd-display-none-mobile {
    display: none;
  }
}
@media all and (max-width: 568px) {
  .opd-display-none-mobile-s {
    display: none;
  }
}
@media all and (min-width: 768px) {
  .opd-display-none-tablet {
    display: none;
  }
}
@media all and (min-width: 1024px) {
  .opd-display-none-tablet-l {
    display: none;
  }
}
@media all and (min-width: 1147px) {
  .opd-display-none-desktop {
    display: none;
  }
}
/* ------------------------------------ *\
  #ACCESSIBLE-HIDDEN-TEXT
\* ------------------------------------ */
/* Accessible hidden text 
* Hide text visually keeping it accessible by screen readers */
.opd-accessible-hidden-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(100%);
          clip-path: inset(100%);
  white-space: nowrap;
  opacity: 0;
}

/* Hide elements in accessible way - focusable  */
/* Color is dinamically managed - for right contrast with section background */
.opd-accessible-hidden-text-focusable {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(100%);
          clip-path: inset(100%);
  white-space: nowrap;
  opacity: 0;
  --_accessible-hidden-text-focusable-bg: var(--accessible-hidden-text-focusable-bg, transparent);
  --_accessible-hidden-text-focusable-color: var(--accessible-hidden-text-focusable-color, inherit);
  --_accessible-hidden-text-focusable-z-index: var(--accessible-hidden-text-focusable, 45);
}
.opd-accessible-hidden-text-focusable:active, .opd-accessible-hidden-text-focusable:focus {
  clip: auto;
  -webkit-clip-path: unset;
          clip-path: unset;
  overflow: visible;
  height: auto;
  width: auto;
  padding: 0.3125rem;
  background-color: var(--_accessible-hidden-text-focusable-bg);
  opacity: 1;
  color: var(--_accessible-hidden-text-focusable-color);
  z-index: var(--_accessible-hidden-text-focusable-z-index);
}

/* TEMPORARY */
.opd-skip-to-next-section-link {
  display: none;
}

/* ------------------------------------ *\
  #DISABLED-CLASS
\* ------------------------------------ */
/* MANAGE disabled elements - opacity and eventually cursor */
.is-disabled {
  opacity: 0.8;
  cursor: not-allowed;
  -webkit-filter: saturate(0.1);
          filter: saturate(0.1);
}
.is-disabled, .is-disabled * {
  cursor: not-allowed;
}

/* ------------------------------------ *\
  #NOT-SCROLLABLE
\* ------------------------------------ */
/* For body scrolling management - when mobile menu's open */
.not-scrollable {
  overflow: hidden !important;
}

/* ------------------------------------ *\
    #RESPONSIVE VISIBILITY HELPERS
  \* ------------------------------------ */
/* Manage responsive display */
@media all and (max-width: 767px) {
  .opd-mobile-hidden {
    display: none !important;
  }
}

/* Manage responsive display */
@media all and (min-width: 768px) {
  .opd-mobile-visible-only {
    display: none !important;
  }
}

/* Manage responsive display */
@media all and (min-width: 1025px) {
  .opd-mobile-tablet-visible-only {
    display: none !important;
  }
}

/* Manage responsive display */
@media all and (max-width: 1024px) {
  .opd-mobile-tablet-hidden-only {
    display: none !important;
  }
}

/* ------------------------------------ *\
  #POSITIONS
\* ------------------------------------ */
.opd-position-relative {
  position: relative;
}

/* ------------------------------------ *\
    #MEDIA-QUERIES
  \* ------------------------------------ */
@media all and (max-width: 767px) {
  .opd-accessible-hidden-text-mobile {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(100%);
            clip-path: inset(100%);
    white-space: nowrap;
    opacity: 0;
  }
}
/* ------------------------------------ *\
  #BACKGROUNDS
\* ------------------------------------ */
/* Background color managing */
.opd-background-color-white {
  background-color: #ffffff;
}
.opd-background-color-accent {
  background-color: #752E4A;
}
.opd-background-color-secondary {
  background-color: #1C4D5E;
}
.opd-background-color-gray-light {
  background-color: hsl(40deg, 20%, 97%);
}
.opd-background-color-gray-blue-light {
  background-color: hsl(214deg, 22%, 59%);
}
.opd-background-color-gray-dark {
  background-color: hsl(215deg, 14%, 25%);
}
.opd-background-color-gray-darker {
  background-color: hsl(213deg, 16%, 13%);
}
.opd-background-color-pale {
  background-color: hsl(41deg, 22%, 83%);
}

/* ------------------------------------ *\
  #BORDERS
\* ------------------------------------ */
/* Basic border direction and color managing */
/* Generated Border Colour Utitilty Class */
.opd-border-top {
  border-top: 1px solid;
}

.opd-border-right {
  border-right: 1px solid;
}

.opd-border-bottom {
  border-bottom: 1px solid;
}

.opd-border-left {
  border-left: 1px solid;
}

.opd-border-color-normal {
  border-color: hsl(0deg, 0%, 85%);
}
.opd-border-color-dark {
  border-color: hsl(40deg, 14%, 75%);
}
.opd-border-color-accent {
  border-color: #752E4A;
}

/* ------------------------------------ *\
    #SKIP-LINKS
  \* ------------------------------------ */
/* Accessible links to main page elements */
.opd-skip-links {
  position: fixed;
  top: 0;
  left: 0;
}
.opd-skip-links a {
  padding: 0.625rem;
  font-weight: 500;
}
.opd-skip-links a:focus {
  background-color: #ffffff;
}

/* ------------------------------------ *\
  #MENU-ANIMATION
\* ------------------------------------ */
@-webkit-keyframes toggle-sticky-menu {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes toggle-sticky-menu {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* ------------------------------------ *\
  #VISUAL-STYLE-HELPERS
\* ------------------------------------ */
/* Helper classes for decorations in fullsite editor theme blocks */
/* ------------------------------------ *\
  #HAS-LOGO-SEMITRANSPARENT
\* ------------------------------------ */
/* Visual helper for block with svg logo background  */
/* Used also in full site editor page */
.has-logo-semitransparent-background {
  background-image: var(--decoration-logo-semitransparent);
  background-position: right bottom;
  background-repeat: no-repeat;
}

/* ------------------------------------ *\
  #HAS-LOGO-BG-HEADER
\* ------------------------------------ */
.has-logo-gray-background-header {
  background-repeat: no-repeat;
  background-position: right center;
  background-size: auto clamp(50px, 75%, 740px);
  background-image: var(--decoration-logo-semitransparent-gray);
}

.is-cover-block-simple {
  --_block-header-height: var(--block-header-height, auto);
  --_block-header-min-height: var(--block-header-min-height, 15em);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: var(--_block-header-height);
  min-height: var(--_block-header-min-height);
  background-image: var(--decoration-logo-semitransparent-gray);
}
.is-cover-block-simple > * {
  width: 100%;
}
@media all and (min-width: 768px) {
  .is-cover-block-simple {
    --block-header-height: 33vh;
    --block-header-min-height: 20em;
  }
}

/* ------------------------------------ *\
  #HAS-SECTION-DECORATION
\* ------------------------------------ */
.has-section-decoration {
  --decoration-width: var(--section-decoration-width-mobile);
  --decoration-height: var(--section-decoration-width-mobile);
  --decoration-position: left bottom;
  --decoration-size: cover;
}
.has-section-decoration.is-layout-flex {
  gap: 1.25rem;
}
.has-section-decoration > .wp-block-group {
  /* Add top spacing to inner text wrapper group */
  padding-top: clamp(1.875rem, 8vw, 7.5rem);
}
.has-section-decoration::before {
  content: "";
  display: block;
  width: var(--decoration-width);
  min-width: var(--decoration-width);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: var(--decoration-height);
  background: var(--decoration-image) var(--decoration-position) no-repeat;
  background-size: var(--decoration-size);
}
.has-section-decoration.is-conservazione-ricerca {
  --decoration-image: var(--decoration-conservazione-e-ricerca);
}
.has-section-decoration.is-museo {
  --decoration-image: var(--decoration-museo);
}
.has-section-decoration.is-formazione {
  --decoration-image: var(--decoration-scuola-formazione-studio);
}
.has-section-decoration.has-section-decoration-padding-top {
  /* SECTION DECORATION WITH PADDING-TOP equal to decoration height + spacing */
}
.has-section-decoration.has-section-decoration-padding-top > .wp-block-group {
  /* Add top spacing to inner text wrapper group */
  padding-top: calc(var(--decoration-height) + 1.25rem);
}
@media all and (min-width: 768px) {
  .has-section-decoration {
    --decoration-width: var(--section-decoration-width-tablet);
    --decoration-height: var(--section-decoration-height-tablet);
  }
}
@media all and (min-width: 1025px) {
  .has-section-decoration {
    --decoration-width: var(--section-decoration-width-desktop);
    --decoration-height: var(--section-decoration-height-desktop);
  }
}

/* ------------------------------------ *\
  #HAS-PLACEHOLDER-BG
\* ------------------------------------ */
/* Visual helper for block with svg image placeholder  */
/* Used also in full site editor page */
.has-placeholder-bg {
  background-image: url("/wp-content/themes/opd/assets/images/placeholder-hero.svg");
  background-repeat: no-repeat;
  background-position: right center;
}

/* HOMEPAGE ISTITUTO BANNER overlapping images */
/* Manage top negative margin */
.has-overlapping-negative-top-margin.wp-block-group {
  margin-top: -25%; /* minus 1/4 of image */
}

/* Manage banner primary image proportions */
.opd-hp-banner-img img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.opd-hp-banner-img--primary img {
  aspect-ratio: 4/3.5;
}
.opd-hp-banner-img--secondary img {
  aspect-ratio: 3/2;
}

/* Responsive fullsite flex row */
@media all and (max-width: 767px) {
  .is-layout-flex-mobile-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

/* Responsive fullsite flex row fullwidth */
@media all and (max-width: 767px) {
  .is-layout-flex-mobile-fullwidth {
    width: 100%;
  }
}

/* ------------------------------------ *\
  #IS-HERO-IMAGE-BASE
\* ------------------------------------ */
.is-hero-image-base.wp-block-image, .is-hero-image-base.wp-block-post-featured-image {
  display: block;
  position: relative;
}
.is-hero-image-base.wp-block-image img, .is-hero-image-base.wp-block-post-featured-image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  aspect-ratio: 12/5;
}
.is-hero-image-base.wp-block-image .wp-element-caption, .is-hero-image-base.wp-block-post-featured-image .wp-element-caption {
  margin-top: 0;
  margin-bottom: 0;
  padding: 1.5rem;
  background-color: hsla(0deg, 0%, 0%, 0.31);
  position: absolute;
  bottom: 0;
  left: 0;
  color: #ffffff;
  font-size: 0.75rem;
}

/* ------------------------------------ *\
  #HAS-LEFT-DECORATION-BLOCK
\* ------------------------------------ */
/* Manage block decoration in fse */
/*  */
.has-left-decoration {
  padding-left: var(--_block-left-padding);
  --card-line-spacing-base: 0.625rem;
  --card-line-height: 2px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.has-left-decoration a {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.has-left-decoration::before {
  content: "";
  display: inline-block;
  width: calc(0.5 * var(--card-line-spacing-base)); /* half card padding */
  height: var(--card-line-height);
  margin-right: calc(0.5 * var(--card-line-spacing-base)); /* half card padding */
  margin-left: calc(-1 * var(--card-line-spacing-base)); /* card padding */
  background-color: var(--card-line-bg, currentColor);
}

/* ------------------------------------ *\
  #BLOCK-COVER-GRADIENT
\* ------------------------------------ */
/* Manage block cover gradient in composite fse cover hero */
.wp-block-cover.has-background-gradient {
  --hero-content-gradient-angle: 0deg;
  --hero-content-gradient-fse: linear-gradient(
      var(--hero-content-gradient-angle),
      rgba(0, 0, 0, 0.1) 0%,
      rgba(0, 0, 0, 0.15) 25%,
      rgba(0, 0, 0, 0.25) 30%,
      rgba(0, 0, 0, 0.6) 43%,
      rgba(0, 0, 0, 0.66) 50%,
      rgba(0, 0, 0, 0.78) 100%
  );
}
.wp-block-cover.has-background-gradient .wp-block-cover__background {
  background: var(--hero-content-gradient-fse) !important;
}
@media all and (min-width: 782px) {
  .wp-block-cover.has-background-gradient {
    --hero-content-gradient-angle: 180deg;
  }
}

/* ------------------------------------ *\
  #MOBILE-FLEX-WRAP
\* ------------------------------------ */
/* Used in fse button wrapper */
.is-mobile-flex-wrap.is-layout-flow {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

/* ------------------------------------ *\
  #IS-SECTION-LOGO
\* ------------------------------------ */
@media all and (max-width: 767px) {
  .is-section-logo-wrapper.is-layout-flex {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
}

/* Manage section logos responsivness in homepage */
.is-section-logo.wp-block-group {
  --logo-width: 63px;
}
.is-section-logo.wp-block-group figure {
  width: var(--logo-width);
}
@media all and (max-width: 767px) {
  .is-section-logo.wp-block-group {
    --logo-width: 42px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .is-section-logo.wp-block-group p {
    font-size: 0.875rem !important;
  }
}

/* ------------------------------------ *\
  #IS-LINK
\* ------------------------------------ */
/* Used in fse block for homepage logos links to OPD sections */
.is-link.wp-block-group {
  position: relative;
}
.is-link.wp-block-group a {
  display: block;
  text-decoration: none;
}
.is-link.wp-block-group a::before {
  content: "";
  display: block;
  width: calc(var(--logo-width) + 1rem);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}
.is-link.wp-block-group a:hover, .is-link.wp-block-group a:focus {
  text-decoration: underline;
}

/* ------------------------------------ *\
  #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (min-width: 768px) {
  .is-cover-block-simple {
    --block-header-height: 45vh;
    --block-header-min-height: 15em;
  }
  .is-hero-image-base--square.wp-block-image img, .is-hero-image-base--square.wp-block-post-featured-image img {
    aspect-ratio: 1/1;
  }
}