/*!
Theme Name: HG Blu - Cad
Theme URI: https://hgblu.com/
Author: HG Blu
Author URI: https://hgblu.com/
Description: Custom theme for HG Blu - Cad
Tags: blog, accessibility-ready, grid-layout, custom-header, custom-menu, flexible-header, block-styles
Version: 1.0
Requires at least: 6.4.3
Tested up to: 6.4.3
Requires PHP: 7.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hg-blu-perini
This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/
.ff-secondary {
  font-family: "IBM Plex Mono", monospace;
}

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

.uppercase {
  text-transform: uppercase;
}

.title-1 {
  font-size: clamp(16px, 0.5rem + 1vw, 18px);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: 0.2rem;
  text-transform: uppercase;
}

.title-2 {
  font-size: clamp(7rem, 3rem + 1vw, 9rem);
  font-weight: 600;
  line-height: 1.05;
}

.title-3 {
  font-size: clamp(28px, 1rem + 1vw, 40px);
  font-weight: 400;
  line-height: 1.2;
}

.title-4 {
  font-size: clamp(4rem, 2rem + 1vw, 7rem);
  font-weight: 600;
  line-height: 1.1;
}

.title-5 {
  font-size: clamp(1.6rem, 0.8rem + 1vw, 30px);
  font-weight: 400;
  line-height: 1.2;
}

.body-font {
  font-size: clamp(16px, 0.6rem + 1vw, 22px);
  font-weight: 400;
  line-height: 1.35;
}

.body-font-small {
  font-size: clamp(14px, 0.5rem + 1vw, 18px);
  font-weight: 400;
  line-height: 1.4;
}

.wysiwyg p {
  margin-top: 1rem;
}
.wysiwyg p:first-child {
  margin-top: 0;
}
.wysiwyg a {
  text-decoration: underline;
  opacity: 1;
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media (min-width: 1280px) {
  .wysiwyg a:hover {
    opacity: 0.6;
  }
}
.wysiwyg strong {
  font-weight: 700;
}

/* Box Sizing */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Rimuove margini */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Imposta altezza e larghezza al 100% per il body */
html,
body {
  width: 100%;
  overflow-x: clip;
  scroll-behavior: smooth;
}

html {
  font-size: 14px;
}
@media (min-width: 1024px) {
  html {
    font-size: 15px;
  }
}
@media (min-width: 1280px) {
  html {
    font-size: 16px;
  }
}
@media (min-width: 1536px) {
  html {
    font-size: 17px;
  }
}

html::-webkit-scrollbar {
  display: none;
}

/* Rimuove padding per liste */
ul,
ol {
  margin-block-start: 0;
  margin-block-end: 0;
  padding-inline-start: 0;
  padding-inline-end: 0;
}

ul[role=list],
ol[role=list] {
  list-style: none;
  padding: 0;
}

/* Azzera margini per immagini */
img {
  max-width: 100%;
  display: block;
}

/* Imposta una linea di base coerente */
body {
  height: 100%;
  line-height: 1.5;
  font-family: "Fustat", sans-serif;
  font-size: clamp(19px, 19px + 1vw, 22px);
  background-color: #152735;
}

button {
  all: unset;
}

/* Link senza decorazioni */
a {
  text-decoration: none;
  color: inherit;
}

.placeholder {
  min-height: 100vh;
}

.container {
  margin: 0 auto;
  max-width: 640px;
}
@media (min-width: 768px) {
  .container {
    max-width: 768px;
  }
}
@media (min-width: 1024px) {
  .container {
    max-width: 984px;
  }
}
@media (min-width: 1280px) {
  .container {
    max-width: 1220px;
  }
}
@media (min-width: 1536px) {
  .container {
    max-width: 1456px;
  }
}
@media (min-width: 1920px) {
  .container {
    max-width: 1640px;
  }
}

.container-fluid {
  width: 100%;
  margin: 0 auto;
}

.d-flex {
  display: flex;
}

.d-grid {
  display: grid;
}

.d-block {
  display: block;
}

.flex-row {
  flex-direction: row;
}

.flex-column {
  flex-direction: column;
}

.flex-wrap {
  flex-wrap: wrap;
}

.justify-center {
  justify-content: center;
}

.justify-start {
  justify-content: flex-start;
}

.justify-end {
  justify-content: flex-end;
}

.justify-between {
  justify-content: space-between;
}

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

/* Padding and Margin */
.p-0 {
  padding: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.p-6 {
  padding: 3.5rem !important;
}

.p-7 {
  padding: 4rem !important;
}

.px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.px-1 {
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
}

.px-2 {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

.px-3 {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.px-4 {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}

.px-5 {
  padding-left: 3rem !important;
  padding-right: 3rem !important;
}

.px-6 {
  padding-left: 3.5rem !important;
  padding-right: 3.5rem !important;
}

.px-7 {
  padding-left: 4rem !important;
  padding-right: 4rem !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.py-3 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.py-4 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.py-5 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.py-6 {
  padding-top: 3.5rem !important;
  padding-bottom: 3.5rem !important;
}

.py-7 {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

.m-0 {
  margin: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.m-6 {
  margin: 3.5rem !important;
}

.m-7 {
  margin: 4rem !important;
}

.mx-0 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.mx-1 {
  margin-left: 0.25rem !important;
  margin-right: 0.25rem !important;
}

.mx-2 {
  margin-left: 0.5rem !important;
  margin-right: 0.5rem !important;
}

.mx-3 {
  margin-left: 1rem !important;
  margin-right: 1rem !important;
}

.mx-4 {
  margin-left: 1.5rem !important;
  margin-right: 1.5rem !important;
}

.mx-5 {
  margin-left: 3rem !important;
  margin-right: 3rem !important;
}

.mx-6 {
  margin-left: 3.5rem !important;
  margin-right: 3.5rem !important;
}

.mx-7 {
  margin-left: 4rem !important;
  margin-right: 4rem !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.my-3 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.my-4 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.my-5 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.my-6 {
  margin-top: 3.5rem !important;
  margin-bottom: 3.5rem !important;
}

.my-7 {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important;
}

/* Gap */
.gap-0 {
  gap: 0 !important;
}

.gap-1 {
  gap: 0.25rem !important;
}

.gap-2 {
  gap: 0.5rem !important;
}

.gap-3 {
  gap: 1rem !important;
}

.gap-4 {
  gap: 1.5rem !important;
}

.gap-5 {
  gap: 3rem !important;
}

.gap-6 {
  gap: 3.5rem !important;
}

.gap-7 {
  gap: 4rem !important;
}

.button-primary {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  font-family: "IBM Plex Mono", monospace;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 1rem;
  color: #ffffff;
  background-color: #326FB7; /* solo colore di sfondo */
  text-decoration: none;
  overflow: hidden; /* per sicurezza */
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  line-height: 1;
  font-size: clamp(1.2rem, 0.8rem + 1vw, 20px);
}
.button-primary:before {
  content: "";
  position: absolute;
  inset: 5px;
  background: linear-gradient(to right, #ffffff 2px, transparent 2px) 0 0, linear-gradient(to bottom, #ffffff 2px, transparent 2px) 0 0, linear-gradient(to left, #ffffff 2px, transparent 2px) 100% 0, linear-gradient(to bottom, #ffffff 2px, transparent 2px) 100% 0, linear-gradient(to left, #ffffff 2px, transparent 2px) 100% 100%, linear-gradient(to top, #ffffff 2px, transparent 2px) 100% 100%, linear-gradient(to right, #ffffff 2px, transparent 2px) 0 100%, linear-gradient(to top, #ffffff 2px, transparent 2px) 0 100%;
  background-repeat: no-repeat;
  background-size: 7px 7px;
  opacity: 0;
  transition: all 0.3s linear;
}
.button-primary span {
  display: flex;
  justify-content: center;
  align-items: center;
  transform: rotate(0deg);
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.button-primary span svg {
  width: 1rem;
  height: 1rem;
  fill: #ffffff;
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media (min-width: 1280px) {
  .button-primary:hover {
    color: #ffffff;
    background-color: transparent;
  }
  .button-primary:hover:before {
    opacity: 1;
    inset: 0;
  }
  .button-primary:hover span {
    transform: rotate(-90deg);
  }
  .button-primary:hover span svg {
    fill: #ffffff;
  }
}

.button-secondary {
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "IBM Plex Mono", monospace;
  text-transform: uppercase;
  padding: 0.4rem 0.8rem;
  background-color: #ffffff;
  color: #152735;
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  line-height: 1;
  font-size: clamp(1.2rem, 0.8rem + 1vw, 20px);
  font-weight: 600;
  text-decoration: none;
  border-radius: 0.3rem;
  opacity: 1;
}
@media (min-width: 1280px) {
  .button-secondary:hover {
    opacity: 0.5;
  }
}

.builder {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  padding-bottom: 10rem;
}
@media (min-width: 768px) {
  .builder {
    gap: 4rem;
  }
}
@media (min-width: 1280px) {
  .builder {
    gap: 5rem;
  }
}
@media (min-width: 1536px) {
  .builder {
    gap: 6rem;
  }
}
.builder .numeri__wrap {
  width: 100%;
  padding: 1.5rem;
  flex-direction: column;
  color: #ffffff;
  background: linear-gradient(to right, #ffffff 2px, transparent 2px) 0 0, linear-gradient(to bottom, #ffffff 2px, transparent 2px) 0 0, linear-gradient(to left, #ffffff 2px, transparent 2px) 100% 0, linear-gradient(to bottom, #ffffff 2px, transparent 2px) 100% 0, linear-gradient(to left, #ffffff 2px, transparent 2px) 100% 100%, linear-gradient(to top, #ffffff 2px, transparent 2px) 100% 100%, linear-gradient(to right, #ffffff 2px, transparent 2px) 0 100%, linear-gradient(to top, #ffffff 2px, transparent 2px) 0 100%;
  background-repeat: no-repeat;
  background-size: 30px 30px;
}
@media (min-width: 768px) {
  .builder .numeri__wrap {
    padding: 2rem;
    background-size: 35px 35px;
  }
}
@media (min-width: 1280px) {
  .builder .numeri__wrap {
    padding: 3rem;
    flex-direction: row;
    background-size: 45px 45px;
  }
}
.builder .numeri__wrap__text {
  width: 100%;
}
@media (min-width: 1280px) {
  .builder .numeri__wrap__text {
    width: calc(60% - 1.5rem);
  }
}
@media (min-width: 1536px) {
  .builder .numeri__wrap__text {
    width: calc(55% - 1.5rem);
  }
}
@media (min-width: 1920px) {
  .builder .numeri__wrap__text {
    width: calc(50% - 1.5rem);
  }
}
.builder .numeri__wrap__text h2 {
  padding-top: 1rem;
  font-size: clamp(28px, 2.2rem + 1vw, 35px);
}
@media (min-width: 768px) {
  .builder .numeri__wrap__text h2 {
    font-size: clamp(48px, 2.3rem + 1vw, 55px);
  }
}
.builder .numeri__wrap__repeater {
  width: 100%;
  flex-direction: column;
}
@media (min-width: 1280px) {
  .builder .numeri__wrap__repeater {
    width: calc(40% - 1.5rem);
    flex-direction: row;
    flex-wrap: wrap;
  }
}
@media (min-width: 1536px) {
  .builder .numeri__wrap__repeater {
    width: calc(45% - 1.5rem);
  }
}
@media (min-width: 1920px) {
  .builder .numeri__wrap__repeater {
    width: calc(50% - 1.5rem);
  }
}
.builder .numeri__wrap__repeater__item {
  flex-grow: 1;
  box-shadow: 0 0 2rem 0 rgba(255, 255, 255, 0.07);
}
.builder .valori,
.builder .licenze,
.builder .servizi {
  flex-direction: column;
  gap: 1.5rem;
}
@media (min-width: 768px) {
  .builder .valori,
  .builder .licenze,
  .builder .servizi {
    gap: 2rem;
  }
}
@media (min-width: 1280px) {
  .builder .valori,
  .builder .licenze,
  .builder .servizi {
    gap: 3rem;
  }
}
@media (min-width: 1536px) {
  .builder .valori,
  .builder .licenze,
  .builder .servizi {
    gap: 4rem;
  }
}
.builder .valori__intro,
.builder .licenze__intro,
.builder .servizi__intro {
  color: #ffffff;
}
.builder .valori__intro h2,
.builder .licenze__intro h2,
.builder .servizi__intro h2 {
  padding-top: 1rem;
  font-size: clamp(28px, 2.3rem + 1vw, 35px);
}
@media (min-width: 768px) {
  .builder .valori__intro h2,
  .builder .licenze__intro h2,
  .builder .servizi__intro h2 {
    font-size: clamp(48px, 2.3rem + 1vw, 55px);
  }
}
.builder .valori__repeater,
.builder .licenze__repeater,
.builder .servizi__repeater {
  width: 100%;
  gap: 1.5rem;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .builder .valori__repeater,
  .builder .licenze__repeater,
  .builder .servizi__repeater {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1280px) {
  .builder .valori__repeater,
  .builder .licenze__repeater,
  .builder .servizi__repeater {
    grid-template-columns: repeat(3, 1fr);
  }
}
.builder .valori__repeater__item,
.builder .licenze__repeater__item,
.builder .servizi__repeater__item {
  width: 100%;
  background: linear-gradient(to right, #ffffff 2px, transparent 2px) 0 0, linear-gradient(to bottom, #ffffff 2px, transparent 2px) 0 0, linear-gradient(to left, #ffffff 2px, transparent 2px) 100% 0, linear-gradient(to bottom, #ffffff 2px, transparent 2px) 100% 0, linear-gradient(to left, #ffffff 2px, transparent 2px) 100% 100%, linear-gradient(to top, #ffffff 2px, transparent 2px) 100% 100%, linear-gradient(to right, #ffffff 2px, transparent 2px) 0 100%, linear-gradient(to top, #ffffff 2px, transparent 2px) 0 100%;
  background-repeat: no-repeat;
  background-size: 30px 30px;
}
@media (min-width: 768px) {
  .builder .valori__repeater__item,
  .builder .licenze__repeater__item,
  .builder .servizi__repeater__item {
    background-size: 35px 35px;
  }
}
@media (min-width: 1280px) {
  .builder .valori__repeater__item,
  .builder .licenze__repeater__item,
  .builder .servizi__repeater__item {
    background-size: 45px 45px;
  }
}
.builder .valori__repeater__item__bg,
.builder .licenze__repeater__item__bg,
.builder .servizi__repeater__item__bg {
  height: 100%;
  background-color: rgba(255, 255, 255, 0.1);
  padding: 2rem;
  display: flex;
  flex-direction: column;
  color: #ffffff;
}
@media (min-width: 768px) {
  .builder .valori__repeater__item__bg,
  .builder .licenze__repeater__item__bg,
  .builder .servizi__repeater__item__bg {
    padding: 3rem;
  }
}
.builder .valori__repeater__item__bg__icon,
.builder .licenze__repeater__item__bg__icon,
.builder .servizi__repeater__item__bg__icon {
  max-width: 3rem;
  max-height: 3rem;
}
@media (min-width: 768px) {
  .builder .valori__repeater__item__bg__icon,
  .builder .licenze__repeater__item__bg__icon,
  .builder .servizi__repeater__item__bg__icon {
    max-width: 4rem;
    max-height: 4rem;
  }
}
@media (min-width: 1280px) {
  .builder .valori__repeater__item__bg__icon,
  .builder .licenze__repeater__item__bg__icon,
  .builder .servizi__repeater__item__bg__icon {
    max-width: 5rem;
    max-height: 5rem;
  }
}
.builder .valori__repeater__item__bg h3,
.builder .licenze__repeater__item__bg h3,
.builder .servizi__repeater__item__bg h3 {
  margin-top: 1rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  .builder .valori__repeater__item__bg h3,
  .builder .licenze__repeater__item__bg h3,
  .builder .servizi__repeater__item__bg h3 {
    margin-top: 2rem;
  }
}
.builder .licenze__repeater__item__bg {
  height: 100%;
}
.builder .licenze__repeater__item__bg__title {
  color: #89C6FC;
}
.builder .servizi__repeater__item__bg {
  height: 100%;
}
.builder .text-img__wrap {
  flex-direction: column;
}
@media (min-width: 1280px) {
  .builder .text-img__wrap {
    flex-direction: row;
  }
}
.builder .text-img__wrap__image {
  width: 100%;
  border-radius: 0.3rem;
  overflow: hidden;
}
@media (min-width: 1280px) {
  .builder .text-img__wrap__image {
    width: 50%;
  }
}
.builder .text-img__wrap__image img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.builder .text-img__wrap__text {
  order: 2;
  width: 100%;
  color: #ffffff;
}
@media (min-width: 1280px) {
  .builder .text-img__wrap__text {
    order: initial;
    width: calc(50% - 3rem);
  }
}
.builder .text-img__wrap__text h2 {
  font-size: clamp(28px, 2rem + 1vw, 35px);
  font-weight: 700;
  line-height: 1.15;
}
@media (min-width: 1280px) {
  .builder .text-img__wrap__text h2 {
    font-size: clamp(35px, 1.3rem + 1vw, 40px);
  }
}
.builder .text-img__wrap__text a {
  margin-top: 1rem;
}
.builder .loghi__intro {
  color: #ffffff;
}
.builder .loghi__intro h2 {
  font-size: clamp(30px, 2.3rem + 1vw, 35px);
  font-weight: 700;
  line-height: 1.15;
}
@media (min-width: 1280px) {
  .builder .loghi__intro h2 {
    font-size: clamp(46px, 2rem + 1vw, 50px);
  }
}
.builder .loghi__repeater {
  width: 100%;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  align-items: center;
}
@media (min-width: 1024px) {
  .builder .loghi__repeater {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1280px) {
  .builder .loghi__repeater {
    grid-template-columns: repeat(5, 1fr);
  }
}
.builder .loghi__repeater__item a {
  opacity: 1;
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.builder .loghi__repeater__item a img {
  margin: auto;
}
@media (min-width: 768px) {
  .builder .loghi__repeater__item a:hover {
    opacity: 0.5;
  }
}
.builder .info-moduli {
  padding: 4.5rem 1rem 1.5rem 1rem;
  width: 100%;
}
.builder .info-moduli:first-child {
  padding: 3rem 1rem 1.5rem 1rem;
}
.builder .info-moduli:last-child {
  padding: 4.5rem 1rem 3rem 1rem;
}
.builder .info-moduli__wrap {
  padding: 2rem 1rem;
  background: linear-gradient(180deg, rgb(50, 111, 183) 0%, rgba(21, 39, 53, 0) 80%);
  color: #ffffff;
  border-radius: 0.3rem;
}
.builder .info-moduli__wrap__intro {
  flex-wrap: wrap;
}
.builder .info-moduli__wrap__intro__icon {
  max-width: 4rem;
  max-height: 4rem;
}
.builder .info-moduli__wrap__intro h2 {
  font-weight: 700;
}
@media (min-width: 1536px) {
  .builder .info-moduli__wrap__intro h2 {
    width: calc(23% - 4rem - 2rem);
  }
}
@media (min-width: 1920px) {
  .builder .info-moduli__wrap__intro h2 {
    width: calc(25% - 4rem - 2rem);
  }
}
.builder .info-moduli__wrap__repeater {
  flex-direction: column;
  gap: 1rem;
}
@media (min-width: 1280px) {
  .builder .info-moduli__wrap__repeater {
    flex-direction: row;
  }
}
.builder .info-moduli__wrap__repeater__item {
  flex-grow: 1;
  background-color: rgba(255, 255, 255, 0.1);
  padding: 2rem 1rem;
  border-radius: 0.3rem;
}
.builder .info-moduli__wrap__repeater__item__list {
  list-style-type: none;
  counter-reset: plus-counter;
}
.builder .info-moduli__wrap__repeater__item__list li {
  counter-increment: plus-counter;
  position: relative;
  padding-left: 2rem;
}
.builder .info-moduli__wrap__repeater__item__list li::before {
  content: "+";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 700;
}
.builder .cards__wrap {
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 1024px) {
  .builder .cards__wrap {
    grid-template-columns: repeat(2, 1fr);
  }
}
.builder .cards__wrap__item {
  background-color: #89C6FC;
  border-radius: 0.3rem;
}
.builder .cards__wrap__item:nth-child(3) {
  background-color: #dbdbdb;
}
.builder .cards__wrap__last-item {
  width: 100%;
  background: linear-gradient(to right, #ffffff 2px, transparent 2px) 0 0, linear-gradient(to bottom, #ffffff 2px, transparent 2px) 0 0, linear-gradient(to left, #ffffff 2px, transparent 2px) 100% 0, linear-gradient(to bottom, #ffffff 2px, transparent 2px) 100% 0, linear-gradient(to left, #ffffff 2px, transparent 2px) 100% 100%, linear-gradient(to top, #ffffff 2px, transparent 2px) 100% 100%, linear-gradient(to right, #ffffff 2px, transparent 2px) 0 100%, linear-gradient(to top, #ffffff 2px, transparent 2px) 0 100%;
  background-repeat: no-repeat;
  background-size: 30px 30px;
}
@media (min-width: 768px) {
  .builder .cards__wrap__last-item {
    background-size: 35px 35px;
  }
}
@media (min-width: 1280px) {
  .builder .cards__wrap__last-item {
    background-size: 45px 45px;
  }
}
.builder .cards__wrap__last-item__bg {
  height: 100%;
  background-color: rgba(255, 255, 255, 0.1);
}
.builder .cards__wrap__last-item__bg h3 {
  font-weight: 600;
  color: #ffffff;
}
.builder .chiavi__intro {
  color: #ffffff;
}
.builder .chiavi__intro h2 {
  padding-top: 1rem;
  font-size: clamp(30px, 2rem + 1vw, 35px);
}
@media (min-width: 768px) {
  .builder .chiavi__intro h2 {
    font-size: clamp(48px, 2.3rem + 1vw, 55px);
  }
}
.builder .chiavi__repeater {
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 1024px) {
  .builder .chiavi__repeater {
    grid-template-columns: repeat(2, 1fr);
  }
}
.builder .chiavi__repeater__item {
  background: linear-gradient(180deg, rgb(50, 111, 183) 0%, rgba(21, 39, 53, 0) 80%);
  border-radius: 0.4rem;
  color: #ffffff;
}
.builder .chiavi__repeater__item__links {
  flex-wrap: wrap;
}
.builder .faq__intro {
  color: #ffffff;
}
.builder .faq__intro h2 {
  padding-top: 1rem;
  font-size: clamp(30px, 2rem + 1vw, 35px);
}
@media (min-width: 768px) {
  .builder .faq__intro h2 {
    font-size: clamp(48px, 2.3rem + 1vw, 55px);
  }
}
.builder .faq__repeater__item {
  padding: 1rem;
  background-color: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  border-radius: 0.3rem;
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  overflow: hidden;
}
@media (min-width: 1280px) {
  .builder .faq__repeater__item {
    padding: 1.5rem;
  }
}
.builder .faq__repeater__item__question {
  cursor: pointer;
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.builder .faq__repeater__item__question__icon {
  display: block;
  width: 18px;
  height: 18px;
  position: relative;
}
.builder .faq__repeater__item__question__icon span {
  position: absolute;
  width: 18px;
  height: 2px;
  background-color: #ffffff;
  top: 50%;
  transform: translate(0, -50%);
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.builder .faq__repeater__item__question__icon span:last-child {
  transform: rotate(90deg);
}
@media (min-width: 1280px) {
  .builder .faq__repeater__item__question:hover {
    opacity: 0.5;
  }
}
.builder .faq__repeater__item__answer {
  max-height: 0px;
  overflow: hidden;
  margin-top: 0;
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.builder .faq__repeater .faq-active .faq__repeater__item__question .faq__repeater__item__question__icon span:last-child {
  transform: rotate(0deg);
}
.builder .faq__repeater .faq-active .faq__repeater__item__answer {
  max-height: 500px;
  margin-top: 1rem;
}
@media (min-width: 1280px) {
  .builder .faq__repeater .faq-active .faq__repeater__item__answer {
    margin-top: 1.5rem;
  }
}
.builder .form__intro {
  color: #ffffff;
}
.builder .form__intro h3 {
  padding-top: 1rem;
  font-size: clamp(30px, 2rem + 1vw, 35px);
}
@media (min-width: 768px) {
  .builder .form__intro h3 {
    font-size: clamp(48px, 2.3rem + 1vw, 55px);
  }
}
.builder .form__shortcode {
  width: 100%;
}
.builder .form__shortcode .wpforms-submit-container {
  display: flex;
  justify-content: center;
}
.builder .form__shortcode .wpforms-submit-container .wpforms-submit {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  font-family: "IBM Plex Mono", monospace;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 1rem;
  color: #ffffff;
  background-color: #326FB7; /* solo colore di sfondo */
  text-decoration: none;
  overflow: hidden; /* per sicurezza */
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  line-height: 1;
  font-size: clamp(1.2rem, 0.8rem + 1vw, 20px);
  border-radius: 0;
}
.builder .form__shortcode .wpforms-submit-container .wpforms-submit:before {
  content: "";
  position: absolute;
  inset: 5px;
  background: linear-gradient(to right, #ffffff 2px, transparent 2px) 0 0, linear-gradient(to bottom, #ffffff 2px, transparent 2px) 0 0, linear-gradient(to left, #ffffff 2px, transparent 2px) 100% 0, linear-gradient(to bottom, #ffffff 2px, transparent 2px) 100% 0, linear-gradient(to left, #ffffff 2px, transparent 2px) 100% 100%, linear-gradient(to top, #ffffff 2px, transparent 2px) 100% 100%, linear-gradient(to right, #ffffff 2px, transparent 2px) 0 100%, linear-gradient(to top, #ffffff 2px, transparent 2px) 0 100%;
  background-repeat: no-repeat;
  background-size: 7px 7px;
  opacity: 0;
  transition: all 0.3s linear;
}
@media (min-width: 1280px) {
  .builder .form__shortcode .wpforms-submit-container .wpforms-submit:hover {
    color: #ffffff;
    background-color: transparent;
    background-image: none;
  }
  .builder .form__shortcode .wpforms-submit-container .wpforms-submit:hover:before {
    opacity: 1;
    inset: 0;
  }
}
.builder .indirizzo {
  color: #ffffff;
}
.builder .indirizzo__wrap {
  flex-direction: column;
  gap: 3rem;
}
@media (min-width: 1280px) {
  .builder .indirizzo__wrap {
    flex-direction: row;
    gap: 2rem;
  }
}
.builder .indirizzo__wrap__col, .builder .indirizzo__wrap__map {
  width: 100%;
}
@media (min-width: 1280px) {
  .builder .indirizzo__wrap__col, .builder .indirizzo__wrap__map {
    width: calc(33.33% - 1.4rem);
  }
}
.builder .indirizzo__wrap__col iframe, .builder .indirizzo__wrap__map iframe {
  display: block;
  max-width: 100%;
  border-radius: 0.3rem;
}
.builder.builder-front-page .moduli {
  position: relative;
  flex-direction: column;
}
@media (min-width: 1280px) {
  .builder.builder-front-page .moduli {
    flex-direction: row;
  }
}
.builder.builder-front-page .moduli__text {
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  color: #ffffff;
}
@media (min-width: 1280px) {
  .builder.builder-front-page .moduli__text {
    width: calc(60% - 1.5rem);
    position: sticky;
    top: 116px;
  }
}
@media (min-width: 1536px) {
  .builder.builder-front-page .moduli__text {
    width: calc(55% - 1.5rem);
  }
}
.builder.builder-front-page .moduli__text h2 {
  padding-top: 1rem;
  font-size: clamp(30px, 2rem + 1vw, 35px);
}
@media (min-width: 768px) {
  .builder.builder-front-page .moduli__text h2 {
    font-size: clamp(48px, 2.3rem + 1vw, 55px);
  }
}
.builder.builder-front-page .moduli__text .button-primary {
  display: none;
}
@media (min-width: 1280px) {
  .builder.builder-front-page .moduli__text .button-primary {
    display: flex;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.builder.builder-front-page .moduli__repeater {
  width: 100%;
  gap: 3rem;
}
@media (min-width: 1280px) {
  .builder.builder-front-page .moduli__repeater {
    width: calc(40% - 1.5rem);
    gap: 4rem;
  }
}
@media (min-width: 1536px) {
  .builder.builder-front-page .moduli__repeater {
    width: calc(45% - 1.5rem);
    gap: 5rem;
  }
}
.builder.builder-front-page .moduli__repeater__item {
  background: linear-gradient(180deg, rgb(50, 111, 183) 0%, rgba(137, 198, 252, 0) 100%);
  border-radius: 0.4rem;
  color: #ffffff;
}
.builder.builder-front-page .moduli__repeater__item__icon {
  max-width: 6rem;
  max-height: 6rem;
}
@media (min-width: 1280px) {
  .builder.builder-front-page .moduli__repeater__item__icon {
    max-width: 8rem;
    max-height: 8rem;
  }
}
@media (min-width: 1536px) {
  .builder.builder-front-page .moduli__repeater__item__icon {
    max-width: 10rem;
    max-height: 10rem;
  }
}
.builder.builder-front-page .moduli__repeater .button-primary {
  display: flex;
  max-width: 80%;
}
@media (min-width: 1280px) {
  .builder.builder-front-page .moduli__repeater .button-primary {
    display: none;
  }
}
.builder.builder-caratteristiche .moduli__wrap {
  flex-direction: column;
}
@media (min-width: 1280px) {
  .builder.builder-caratteristiche .moduli__wrap {
    flex-direction: row;
    justify-content: space-between;
  }
}
.builder.builder-caratteristiche .moduli__wrap__text {
  color: #ffffff;
  width: 100%;
}
@media (min-width: 1280px) {
  .builder.builder-caratteristiche .moduli__wrap__text {
    width: calc(50% - 1.5rem);
  }
}
.builder.builder-caratteristiche .moduli__wrap__text h2 {
  padding: 3rem 0 1rem 0;
  font-size: clamp(23px, 1.5rem + 1vw, 26px);
  font-weight: 700;
  line-height: 1.15;
}
@media (min-width: 1024px) {
  .builder.builder-caratteristiche .moduli__wrap__text h2 {
    font-size: clamp(24px, 0.8rem + 1vw, 30px);
  }
}
.builder.builder-caratteristiche .moduli__wrap__text a {
  margin-top: 2rem;
}
.builder.builder-caratteristiche .moduli__wrap__schema {
  width: 100%;
}
@media (min-width: 1280px) {
  .builder.builder-caratteristiche .moduli__wrap__schema {
    width: 40%;
  }
}
.builder.builder-caratteristiche .moduli__wrap__schema__main-block {
  padding: 3rem 1.5rem;
  background-color: #89C6FC;
  border-radius: 0.3rem;
  position: relative;
}
.builder.builder-caratteristiche .moduli__wrap__schema__main-block h4 {
  font-size: clamp(1.8rem, 1.7rem + 1vw, 2.2rem);
  font-weight: 400;
}
@media (min-width: 768px) {
  .builder.builder-caratteristiche .moduli__wrap__schema__main-block h4 {
    font-size: clamp(2.3rem, 2rem + 1vw, 40px);
  }
}
.builder.builder-caratteristiche .moduli__wrap__schema__main-block span {
  background-color: #dbdbdb;
  border-radius: 0.3rem;
  letter-spacing: normal;
}
.builder.builder-caratteristiche .moduli__wrap__schema__main-block::after {
  content: "";
  position: absolute;
  display: block;
  bottom: -2.9rem;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  height: 3rem;
  background-color: #89C6FC;
}
.builder.builder-caratteristiche .moduli__wrap__schema h5 {
  margin-top: 3rem;
  color: #ffffff;
}
.builder.builder-caratteristiche .moduli__wrap__schema__repeater {
  flex-direction: column;
}
.builder.builder-caratteristiche .moduli__wrap__schema__repeater__item {
  min-height: calc((100vw - 5rem) / 4);
  background-color: #dbdbdb;
  border-radius: 0.3rem;
}
@media (min-width: 768px) {
  .builder.builder-caratteristiche .moduli__wrap__schema__repeater__item {
    min-height: auto;
  }
}
.builder.builder-caratteristiche .moduli__wrap__schema__repeater__item span {
  background-color: #ffffff;
  border-radius: 0.3rem;
}
.builder.builder-caratteristiche .moduli__wrap__schema__repeater__item:last-child {
  background-color: #326FB7;
  color: #ffffff;
}
.builder.builder-caratteristiche .moduli__wrap__schema__repeater__item:last-child span {
  color: #000000;
}
.builder.builder-caratteristiche .moduli__wrap__schema__repeater a {
  opacity: 1;
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media (min-width: 768px) {
  .builder.builder-caratteristiche .moduli__wrap__schema__repeater a:hover {
    opacity: 0.5;
  }
}
.builder.builder-download .link__intro {
  color: #ffffff;
}
.builder.builder-download .link__intro h2 {
  padding-top: 1rem;
  font-size: clamp(30px, 2rem + 1vw, 35px);
}
@media (min-width: 768px) {
  .builder.builder-download .link__intro h2 {
    font-size: clamp(48px, 2.3rem + 1vw, 55px);
  }
}
.builder.builder-download .link__repeater {
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 1024px) {
  .builder.builder-download .link__repeater {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1280px) {
  .builder.builder-download .link__repeater {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1920px) {
  .builder.builder-download .link__repeater {
    grid-template-columns: repeat(4, 1fr);
  }
}
.builder.builder-download .link__repeater__item {
  justify-self: center;
}
.builder.builder-contatti .text__wrap {
  width: 100%;
  padding: 1.5rem;
  flex-direction: column;
  color: #ffffff;
  background: linear-gradient(to right, #ffffff 2px, transparent 2px) 0 0, linear-gradient(to bottom, #ffffff 2px, transparent 2px) 0 0, linear-gradient(to left, #ffffff 2px, transparent 2px) 100% 0, linear-gradient(to bottom, #ffffff 2px, transparent 2px) 100% 0, linear-gradient(to left, #ffffff 2px, transparent 2px) 100% 100%, linear-gradient(to top, #ffffff 2px, transparent 2px) 100% 100%, linear-gradient(to right, #ffffff 2px, transparent 2px) 0 100%, linear-gradient(to top, #ffffff 2px, transparent 2px) 0 100%;
  background-repeat: no-repeat;
  background-size: 30px 30px;
}
@media (min-width: 768px) {
  .builder.builder-contatti .text__wrap {
    padding: 2rem;
    background-size: 35px 35px;
  }
}
@media (min-width: 1280px) {
  .builder.builder-contatti .text__wrap {
    padding: 3rem;
    flex-direction: row;
    background-size: 45px 45px;
  }
}
.builder.builder-contatti .text__wrap__col1 {
  width: 100%;
}
@media (min-width: 1280px) {
  .builder.builder-contatti .text__wrap__col1 {
    width: calc(50% - 1.5rem);
  }
}
.builder.builder-contatti .text__wrap__col2 {
  width: 100%;
}
@media (min-width: 1280px) {
  .builder.builder-contatti .text__wrap__col2 {
    width: calc(45% - 1.5rem);
  }
}
@media (min-width: 1536px) {
  .builder.builder-contatti .text__wrap__col2 {
    width: calc(40% - 1.5rem);
  }
}
.builder.builder-contatti .text__wrap__col2__title {
  color: #89C6FC;
}

.footer {
  background: linear-gradient(180deg, rgb(21, 39, 53) 0%, rgb(0, 0, 0) 100%);
}
.footer .footer-wrap__logo img {
  max-width: 200px;
}
@media (min-width: 1280px) {
  .footer .footer-wrap__logo img {
    max-width: 310px;
  }
}
.footer .footer-wrap__content {
  color: #ffffff;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .footer .footer-wrap__content {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1280px) {
  .footer .footer-wrap__content {
    grid-template-columns: repeat(3, 1fr);
  }
}
.footer .footer-wrap__content__col {
  width: 100%;
}
.footer .footer-wrap__content__col .wysiwyg {
  font-size: clamp(1.4rem, 1.1vw, 1.8rem);
  font-weight: 400;
}
.footer .footer-wrap__content__col .wysiwyg strong {
  font-weight: 700;
}
.footer .footer-wrap__content__col .wysiwyg em {
  font-size: clamp(1.2rem, 1.1vw, 1.6rem);
  font-style: normal;
  font-weight: 300;
}
.footer .footer-wrap__content__col__link {
  font-size: clamp(1.2rem, 1.1vw, 1.6rem);
  color: #ffffff;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media (min-width: 1280px) {
  .footer .footer-wrap__content__col__link:hover {
    opacity: 0.6;
  }
}
.footer .footer-wrap__content__col__social__list {
  list-style: none;
}
.footer .footer-wrap__content__col__social__list__item {
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media (min-width: 1280px) {
  .footer .footer-wrap__content__col__social__list__item:hover {
    opacity: 0.6;
  }
}
.footer .footer-wrap__content__col__menu__list {
  width: -moz-fit-content;
  width: fit-content;
  list-style: none;
  font-family: "IBM Plex Mono", monospace;
  text-transform: uppercase;
}
.footer .footer-wrap__content__col__menu__list li a {
  font-family: "IBM Plex Mono", monospace;
  text-transform: uppercase;
  position: relative;
  padding: 0.3rem 0.5rem;
  color: #ffffff;
  background-color: transparent; /* solo colore di sfondo */
  text-decoration: none;
  overflow: hidden; /* per sicurezza */
  transition: background-color 0.3s linear, color 0.3s linear;
  line-height: 1;
  font-size: clamp(1rem, 2vw, 1.2rem);
}
.footer .footer-wrap__content__col__menu__list li a:before {
  content: "";
  position: absolute;
  inset: 5px;
  background: linear-gradient(to right, #ffffff 2px, transparent 2px) 0 0, linear-gradient(to bottom, #ffffff 2px, transparent 2px) 0 0, linear-gradient(to left, #ffffff 2px, transparent 2px) 100% 0, linear-gradient(to bottom, #ffffff 2px, transparent 2px) 100% 0, linear-gradient(to left, #ffffff 2px, transparent 2px) 100% 100%, linear-gradient(to top, #ffffff 2px, transparent 2px) 100% 100%, linear-gradient(to right, #ffffff 2px, transparent 2px) 0 100%, linear-gradient(to top, #ffffff 2px, transparent 2px) 0 100%;
  background-repeat: no-repeat;
  background-size: 7px 7px;
  opacity: 0;
  transition: all 0.3s linear;
}
@media (min-width: 1280px) {
  .footer .footer-wrap__content__col__menu__list li a:hover:before {
    opacity: 1;
    inset: 0;
  }
}
.footer .footer-wrap__content__col__menu__list .current-menu-item a:before {
  opacity: 1;
  inset: 0;
}
.footer .footer-wrap__content__col__cta .button-primary {
  font-size: clamp(1.2rem, 1.1vw, 1.6rem);
}
.footer .footer-wrap__credits {
  padding-top: 2rem;
  border-top: 1px solid #ffffff;
  color: #ffffff;
  font-size: clamp(1.2rem, 1vw, 1.4rem);
}
@media (min-width: 1280px) {
  .footer .footer-wrap__credits {
    margin-top: 2rem;
  }
}
.footer .footer-wrap__credits a {
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media (min-width: 1280px) {
  .footer .footer-wrap__credits a:hover {
    opacity: 0.6;
  }
}

.header {
  width: calc(100% + 1px);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  background: linear-gradient(180deg, rgb(50, 111, 183) 0%, rgba(137, 198, 252, 0) 100%);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}
.header .header-wrap {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.header .header-wrap__menu {
  display: none;
}
@media (min-width: 1280px) {
  .header .header-wrap__menu {
    display: flex;
  }
}
.header .header-wrap__menu__list {
  display: flex;
  flex-direction: row;
  list-style: none;
  gap: 1rem;
}
.header .header-wrap__menu__list li a {
  font-family: "IBM Plex Mono", monospace;
  text-transform: uppercase;
  position: relative;
  padding: 0.3rem 0.5rem;
  color: #ffffff;
  background-color: transparent; /* solo colore di sfondo */
  text-decoration: none;
  overflow: hidden; /* per sicurezza */
  transition: background-color 0.3s linear, color 0.3s linear;
  line-height: 1;
  font-size: clamp(1rem, 2vw, 1.2rem);
}
.header .header-wrap__menu__list li a:before {
  content: "";
  position: absolute;
  inset: 5px;
  background: linear-gradient(to right, #ffffff 2px, transparent 2px) 0 0, linear-gradient(to bottom, #ffffff 2px, transparent 2px) 0 0, linear-gradient(to left, #ffffff 2px, transparent 2px) 100% 0, linear-gradient(to bottom, #ffffff 2px, transparent 2px) 100% 0, linear-gradient(to left, #ffffff 2px, transparent 2px) 100% 100%, linear-gradient(to top, #ffffff 2px, transparent 2px) 100% 100%, linear-gradient(to right, #ffffff 2px, transparent 2px) 0 100%, linear-gradient(to top, #ffffff 2px, transparent 2px) 0 100%;
  background-repeat: no-repeat;
  background-size: 7px 7px;
  opacity: 0;
  transition: all 0.3s linear;
}
@media (min-width: 1280px) {
  .header .header-wrap__menu__list li a:hover:before {
    opacity: 1;
    inset: 0;
  }
}
.header .header-wrap__menu__list .current-menu-item a:before {
  opacity: 1;
  inset: 0;
}
.header .header-wrap__hamburger {
  height: 22px;
  width: 26px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media (min-width: 1280px) {
  .header .header-wrap__hamburger {
    display: none;
  }
}
.header .header-wrap__hamburger span {
  position: absolute;
  display: block;
  width: 26px;
  height: 2px;
  background-color: #ffffff;
  transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.header .header-wrap__hamburger span:first-child {
  top: 0;
}
.header .header-wrap__hamburger span:nth-child(2) {
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.header .header-wrap__hamburger span:last-child {
  bottom: 0;
}
.header .header-wrap .hamburger-active span:first-child {
  top: 50%;
  transform: rotate(135deg);
}
.header .header-wrap .hamburger-active span:nth-child(2) {
  opacity: 0;
  left: -2rem;
}
.header .header-wrap .hamburger-active span:last-child {
  top: 50%;
  bottom: auto;
  transform: rotate(-135deg);
}
.header .header-wrap__logo, .header .header-wrap__cta {
  display: flex;
  align-items: center;
}
.header .header-wrap__logo {
  width: auto;
}
@media (min-width: 1280px) {
  .header .header-wrap__logo {
    width: 20%;
  }
}
.header .header-wrap__logo a {
  display: block;
}
.header .header-wrap__logo a img {
  max-width: 196px;
}
@media (min-width: 1280px) {
  .header .header-wrap__logo a img {
    max-width: 256px;
  }
}
.header .header-wrap__cta {
  display: none;
  justify-content: flex-end;
}
@media (min-width: 1280px) {
  .header .header-wrap__cta {
    width: 20%;
    display: flex;
  }
}

.mobile-panel {
  position: fixed;
  top: -102vh;
  left: 0;
  z-index: 90;
  width: 100%;
  height: 100vh;
  background-color: #152735;
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.mobile-panel__menu {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3rem;
}
.mobile-panel__menu__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3rem;
  list-style: none;
}
.mobile-panel__menu__list li a {
  color: #ffffff;
  font-family: "IBM Plex Mono", monospace;
  text-transform: uppercase;
  line-height: 1;
  font-size: 1.4rem;
}
.mobile-panel__menu__cta .button-primary {
  font-size: 1.4rem;
}

.active-panel {
  top: 0;
}

.hero__content {
  padding: 170px 15px 120px 15px;
  color: #ffffff;
}
@media (min-width: 768px) {
  .hero__content {
    padding: 200px 15px 140px 15px;
  }
}
@media (min-width: 1536px) {
  .hero__content {
    padding: 220px 15px 160px 15px;
  }
}
@media (min-width: 1920px) {
  .hero__content {
    padding: 300px 15px 220px 15px;
  }
}
.hero__content__testo {
  padding: 1rem 0;
}
@media (min-width: 768px) {
  .hero__content__testo {
    padding: 1.5rem 0;
    margin: 0 auto;
    max-width: 90%;
  }
}
@media (min-width: 1280px) {
  .hero__content__testo {
    padding: 2rem 0;
    max-width: 75%;
  }
}
@media (min-width: 1536px) {
  .hero__content__testo {
    max-width: 65%;
  }
}

.front-page .hero__content {
  padding: 170px 15px 0 15px;
}
@media (min-width: 768px) {
  .front-page .hero__content {
    padding: 200px 15px 0 15px;
  }
}
@media (min-width: 1536px) {
  .front-page .hero__content {
    padding: 220px 15px 0 15px;
  }
}
@media (min-width: 1920px) {
  .front-page .hero__content {
    padding: 300px 15px 0 15px;
  }
}
.front-page .hero__image__desktop {
  display: none;
}
@media (min-width: 768px) {
  .front-page .hero__image__desktop {
    display: block;
    width: 100%;
  }
}
.front-page .hero__image__mobile {
  display: block;
  width: 100%;
}
@media (min-width: 768px) {
  .front-page .hero__image__mobile {
    display: none;
  }
}

.page-caratteristiche .hero__content__titolo {
  margin: 0 auto;
}
@media (min-width: 768px) {
  .page-caratteristiche .hero__content__titolo {
    max-width: 90%;
  }
}
@media (min-width: 1280px) {
  .page-caratteristiche .hero__content__titolo {
    max-width: 85%;
  }
}
@media (min-width: 1536px) {
  .page-caratteristiche .hero__content__titolo {
    max-width: 80%;
  }
}
.page-caratteristiche .hero__content__testo {
  padding-top: 2rem;
}
@media (min-width: 768px) {
  .page-caratteristiche .hero__content__testo {
    padding-top: 3rem;
    margin: 0 auto;
    max-width: 90%;
  }
}
@media (min-width: 1280px) {
  .page-caratteristiche .hero__content__testo {
    padding-top: 4rem;
    max-width: 75%;
  }
}
.page-caratteristiche .hero__content__img {
  padding-top: 2rem;
}
@media (min-width: 768px) {
  .page-caratteristiche .hero__content__img {
    padding-top: 3rem;
    margin: 0 auto;
    max-width: 90%;
  }
}
@media (min-width: 1280px) {
  .page-caratteristiche .hero__content__img {
    padding-top: 4rem;
    max-width: 75%;
  }
}

.page-download .hero__content__titolo {
  margin: 0 auto;
}
@media (min-width: 768px) {
  .page-download .hero__content__titolo {
    max-width: 90%;
  }
}
@media (min-width: 1280px) {
  .page-download .hero__content__titolo {
    max-width: 80%;
  }
}
@media (min-width: 1536px) {
  .page-download .hero__content__titolo {
    max-width: 75%;
  }
}
@media (min-width: 1536px) {
  .page-download .hero__content__titolo {
    max-width: 70%;
  }
}
.page-download .hero__content__repeater {
  width: 100%;
  margin-top: 8rem;
  padding: 2rem;
  counter-reset: repeater;
  background: linear-gradient(to right, #ffffff 2px, transparent 2px) 0 0, linear-gradient(to bottom, #ffffff 2px, transparent 2px) 0 0, linear-gradient(to left, #ffffff 2px, transparent 2px) 100% 0, linear-gradient(to bottom, #ffffff 2px, transparent 2px) 100% 0, linear-gradient(to left, #ffffff 2px, transparent 2px) 100% 100%, linear-gradient(to top, #ffffff 2px, transparent 2px) 100% 100%, linear-gradient(to right, #ffffff 2px, transparent 2px) 0 100%, linear-gradient(to top, #ffffff 2px, transparent 2px) 0 100%;
  background-repeat: no-repeat;
  background-size: 30px 30px;
}
@media (min-width: 768px) {
  .page-download .hero__content__repeater {
    padding: 3rem;
    background-size: 35px 35px;
  }
}
@media (min-width: 1280px) {
  .page-download .hero__content__repeater {
    background-size: 45px 45px;
  }
}
.page-download .hero__content__repeater__item {
  counter-increment: repeater;
}
.page-download .hero__content__repeater__item__titolo {
  color: #89C6FC;
  font-size: clamp(1.5rem, 1.5rem + 1vw, 2rem);
  font-weight: 600;
  line-height: 1.2;
}
.page-download .hero__content__repeater__item__titolo::before {
  content: "" counter(repeater, decimal-leading-zero) "";
  color: #ffffff;
  font-family: "IBM Plex Mono", monospace;
  font-size: clamp(1rem, 1rem + 1vw, 1.4rem);
}
.page-download .hero__content__repeater__item__testo a {
  text-decoration: underline;
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media (min-width: 1280px) {
  .page-download .hero__content__repeater__item__testo a:hover {
    opacity: 0.6;
  }
}
.page-download .hero__content__repeater__item__testo strong {
  font-weight: 700;
}
.page-download .hero__content__repeater__item__testo em {
  font-style: italic;
}

.front-page {
  position: relative;
}
.front-page .img-background {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
  width: 150%;
  filter: blur(3px);
}
@media (min-width: 1280px) {
  .front-page .img-background {
    top: -10vh;
    left: 20%;
    transform: translateX(0);
    width: 90%;
  }
}

.page-caratteristiche {
  position: relative;
}
.page-caratteristiche .img-background {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) rotate(-133deg);
  z-index: -1;
  width: 200%;
  filter: blur(3px);
}
@media (min-width: 1280px) {
  .page-caratteristiche .img-background {
    top: 5vh;
    width: 120%;
  }
}
.page-caratteristiche .img-background-2 {
  display: none;
  position: absolute;
  z-index: -1;
  filter: blur(3px);
}
@media (min-width: 1280px) {
  .page-caratteristiche .img-background-2 {
    display: block;
    bottom: 5%;
    right: -5%;
    width: 60%;
  }
}

.page-download, .page-supporto {
  position: relative;
}
.page-download .img-background, .page-supporto .img-background {
  position: absolute;
  top: 40%;
  left: 10%;
  transform: rotate(17deg);
  z-index: -1;
  width: 110%;
  filter: blur(3px);
}

.page-contatti {
  position: relative;
}
.page-contatti .img-background {
  position: absolute;
  top: 20%;
  left: -10%;
  transform: rotate(-162deg);
  z-index: -1;
  width: 110%;
  filter: blur(3px);
}

.page-trial {
  position: relative;
}
.page-trial .img-background {
  position: absolute;
  top: -30%;
  left: -50%;
  transform: translateX(50%) rotate(133deg);
  z-index: -1;
  width: 100%;
  filter: blur(3px);
}

html {
  scroll-padding-top: 6rem;
}

:root,
[data-bs-theme=light] {
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-black: #000;
  --bs-white: #fff;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #6c757d;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #212529;
  --bs-primary: #326FB7;
  --bs-secondary: #6c757d;
  --bs-success: #198754;
  --bs-info: #0dcaf0;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 50, 111, 183;
  --bs-secondary-rgb: 108, 117, 125;
  --bs-success-rgb: 25, 135, 84;
  --bs-info-rgb: 13, 202, 240;
  --bs-warning-rgb: 255, 193, 7;
  --bs-danger-rgb: 220, 53, 69;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 33, 37, 41;
  --bs-primary-text-emphasis: rgb(20, 44.4, 73.2);
  --bs-secondary-text-emphasis: rgb(43.2, 46.8, 50);
  --bs-success-text-emphasis: rgb(10, 54, 33.6);
  --bs-info-text-emphasis: rgb(5.2, 80.8, 96);
  --bs-warning-text-emphasis: rgb(102, 77.2, 2.8);
  --bs-danger-text-emphasis: rgb(88, 21.2, 27.6);
  --bs-light-text-emphasis: #495057;
  --bs-dark-text-emphasis: #495057;
  --bs-primary-bg-subtle: rgb(214, 226.2, 240.6);
  --bs-secondary-bg-subtle: rgb(225.6, 227.4, 229);
  --bs-success-bg-subtle: rgb(209, 231, 220.8);
  --bs-info-bg-subtle: rgb(206.6, 244.4, 252);
  --bs-warning-bg-subtle: rgb(255, 242.6, 205.4);
  --bs-danger-bg-subtle: rgb(248, 214.6, 217.8);
  --bs-light-bg-subtle: rgb(251.5, 252, 252.5);
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: rgb(173, 197.4, 226.2);
  --bs-secondary-border-subtle: rgb(196.2, 199.8, 203);
  --bs-success-border-subtle: rgb(163, 207, 186.6);
  --bs-info-border-subtle: rgb(158.2, 233.8, 249);
  --bs-warning-border-subtle: rgb(255, 230.2, 155.8);
  --bs-danger-border-subtle: rgb(241, 174.2, 180.6);
  --bs-light-border-subtle: #e9ecef;
  --bs-dark-border-subtle: #adb5bd;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #212529;
  --bs-body-color-rgb: 33, 37, 41;
  --bs-body-bg: #fff;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-emphasis-color: #000;
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-secondary-color: rgba(33, 37, 41, 0.75);
  --bs-secondary-color-rgb: 33, 37, 41;
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233, 236, 239;
  --bs-tertiary-color: rgba(33, 37, 41, 0.5);
  --bs-tertiary-color-rgb: 33, 37, 41;
  --bs-tertiary-bg: #f8f9fa;
  --bs-tertiary-bg-rgb: 248, 249, 250;
  --bs-heading-color: inherit;
  --bs-link-color: #326FB7;
  --bs-link-color-rgb: 50, 111, 183;
  --bs-link-decoration: underline;
  --bs-link-hover-color: rgb(40, 88.8, 146.4);
  --bs-link-hover-color-rgb: 40, 89, 146;
  --bs-code-color: #d63384;
  --bs-highlight-color: #212529;
  --bs-highlight-bg: rgb(255, 242.6, 205.4);
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #dee2e6;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 0.25;
  --bs-focus-ring-color: rgba(50, 111, 183, 0.25);
  --bs-form-valid-color: #198754;
  --bs-form-valid-border-color: #198754;
  --bs-form-invalid-color: #dc3545;
  --bs-form-invalid-border-color: #dc3545;
}

[data-bs-theme=dark] {
  color-scheme: dark;
  --bs-body-color: #dee2e6;
  --bs-body-color-rgb: 222, 226, 230;
  --bs-body-bg: #212529;
  --bs-body-bg-rgb: 33, 37, 41;
  --bs-emphasis-color: #fff;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-secondary-color: rgba(222, 226, 230, 0.75);
  --bs-secondary-color-rgb: 222, 226, 230;
  --bs-secondary-bg: #343a40;
  --bs-secondary-bg-rgb: 52, 58, 64;
  --bs-tertiary-color: rgba(222, 226, 230, 0.5);
  --bs-tertiary-color-rgb: 222, 226, 230;
  --bs-tertiary-bg: rgb(42.5, 47.5, 52.5);
  --bs-tertiary-bg-rgb: 43, 48, 53;
  --bs-primary-text-emphasis: rgb(132, 168.6, 211.8);
  --bs-secondary-text-emphasis: rgb(166.8, 172.2, 177);
  --bs-success-text-emphasis: rgb(117, 183, 152.4);
  --bs-info-text-emphasis: rgb(109.8, 223.2, 246);
  --bs-warning-text-emphasis: rgb(255, 217.8, 106.2);
  --bs-danger-text-emphasis: rgb(234, 133.8, 143.4);
  --bs-light-text-emphasis: #f8f9fa;
  --bs-dark-text-emphasis: #dee2e6;
  --bs-primary-bg-subtle: rgb(10, 22.2, 36.6);
  --bs-secondary-bg-subtle: rgb(21.6, 23.4, 25);
  --bs-success-bg-subtle: rgb(5, 27, 16.8);
  --bs-info-bg-subtle: rgb(2.6, 40.4, 48);
  --bs-warning-bg-subtle: rgb(51, 38.6, 1.4);
  --bs-danger-bg-subtle: rgb(44, 10.6, 13.8);
  --bs-light-bg-subtle: #343a40;
  --bs-dark-bg-subtle: #1a1d20;
  --bs-primary-border-subtle: rgb(30, 66.6, 109.8);
  --bs-secondary-border-subtle: rgb(64.8, 70.2, 75);
  --bs-success-border-subtle: rgb(15, 81, 50.4);
  --bs-info-border-subtle: rgb(7.8, 121.2, 144);
  --bs-warning-border-subtle: rgb(153, 115.8, 4.2);
  --bs-danger-border-subtle: rgb(132, 31.8, 41.4);
  --bs-light-border-subtle: #495057;
  --bs-dark-border-subtle: #343a40;
  --bs-heading-color: inherit;
  --bs-link-color: rgb(132, 168.6, 211.8);
  --bs-link-hover-color: rgb(156.6, 185.88, 220.44);
  --bs-link-color-rgb: 132, 169, 212;
  --bs-link-hover-color-rgb: 157, 186, 220;
  --bs-code-color: rgb(230.4, 132.6, 181.2);
  --bs-highlight-color: #dee2e6;
  --bs-highlight-bg: rgb(102, 77.2, 2.8);
  --bs-border-color: #495057;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
  --bs-form-valid-color: rgb(117, 183, 152.4);
  --bs-form-valid-border-color: rgb(117, 183, 152.4);
  --bs-form-invalid-color: rgb(234, 133.8, 143.4);
  --bs-form-invalid-border-color: rgb(234, 133.8, 143.4);
}

:root {
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1400px;
}

.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

.col {
  flex: 1 0 0%;
}

.row-cols-auto > * {
  flex: 0 0 auto;
  width: auto;
}

.row-cols-1 > * {
  flex: 0 0 auto;
  width: 100%;
}

.row-cols-2 > * {
  flex: 0 0 auto;
  width: 50%;
}

.row-cols-3 > * {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.row-cols-4 > * {
  flex: 0 0 auto;
  width: 25%;
}

.row-cols-5 > * {
  flex: 0 0 auto;
  width: 20%;
}

.row-cols-6 > * {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
}

.col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
}

.col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-3 {
  flex: 0 0 auto;
  width: 25%;
}

.col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
}

.col-6 {
  flex: 0 0 auto;
  width: 50%;
}

.col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
}

.col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
}

.col-9 {
  flex: 0 0 auto;
  width: 75%;
}

.col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
}

.col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
}

.col-12 {
  flex: 0 0 auto;
  width: 100%;
}

.offset-1 {
  margin-left: 8.33333333%;
}

.offset-2 {
  margin-left: 16.66666667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.33333333%;
}

.offset-5 {
  margin-left: 41.66666667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.33333333%;
}

.offset-8 {
  margin-left: 66.66666667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.33333333%;
}

.offset-11 {
  margin-left: 91.66666667%;
}

.g-0,
.gx-0 {
  --bs-gutter-x: 0;
}

.g-0,
.gy-0 {
  --bs-gutter-y: 0;
}

.g-1,
.gx-1 {
  --bs-gutter-x: 0.25rem;
}

.g-1,
.gy-1 {
  --bs-gutter-y: 0.25rem;
}

.g-2,
.gx-2 {
  --bs-gutter-x: 0.5rem;
}

.g-2,
.gy-2 {
  --bs-gutter-y: 0.5rem;
}

.g-3,
.gx-3 {
  --bs-gutter-x: 1rem;
}

.g-3,
.gy-3 {
  --bs-gutter-y: 1rem;
}

.g-4,
.gx-4 {
  --bs-gutter-x: 1.5rem;
}

.g-4,
.gy-4 {
  --bs-gutter-y: 1.5rem;
}

.g-5,
.gx-5 {
  --bs-gutter-x: 3rem;
}

.g-5,
.gy-5 {
  --bs-gutter-y: 3rem;
}

@media (min-width: 576px) {
  .col-sm {
    flex: 1 0 0%;
  }
  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333333%;
  }
  .offset-sm-2 {
    margin-left: 16.66666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333333%;
  }
  .offset-sm-5 {
    margin-left: 41.66666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333333%;
  }
  .offset-sm-8 {
    margin-left: 66.66666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333333%;
  }
  .offset-sm-11 {
    margin-left: 91.66666667%;
  }
  .g-sm-0,
  .gx-sm-0 {
    --bs-gutter-x: 0;
  }
  .g-sm-0,
  .gy-sm-0 {
    --bs-gutter-y: 0;
  }
  .g-sm-1,
  .gx-sm-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-sm-1,
  .gy-sm-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-sm-2,
  .gx-sm-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-sm-2,
  .gy-sm-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-sm-3,
  .gx-sm-3 {
    --bs-gutter-x: 1rem;
  }
  .g-sm-3,
  .gy-sm-3 {
    --bs-gutter-y: 1rem;
  }
  .g-sm-4,
  .gx-sm-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-sm-4,
  .gy-sm-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-sm-5,
  .gx-sm-5 {
    --bs-gutter-x: 3rem;
  }
  .g-sm-5,
  .gy-sm-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0%;
  }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333333%;
  }
  .offset-md-2 {
    margin-left: 16.66666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333333%;
  }
  .offset-md-5 {
    margin-left: 41.66666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333333%;
  }
  .offset-md-8 {
    margin-left: 66.66666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333333%;
  }
  .offset-md-11 {
    margin-left: 91.66666667%;
  }
  .g-md-0,
  .gx-md-0 {
    --bs-gutter-x: 0;
  }
  .g-md-0,
  .gy-md-0 {
    --bs-gutter-y: 0;
  }
  .g-md-1,
  .gx-md-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-md-1,
  .gy-md-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-md-2,
  .gx-md-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-md-2,
  .gy-md-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-md-3,
  .gx-md-3 {
    --bs-gutter-x: 1rem;
  }
  .g-md-3,
  .gy-md-3 {
    --bs-gutter-y: 1rem;
  }
  .g-md-4,
  .gx-md-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-md-4,
  .gy-md-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-md-5,
  .gx-md-5 {
    --bs-gutter-x: 3rem;
  }
  .g-md-5,
  .gy-md-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0%;
  }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333333%;
  }
  .offset-lg-2 {
    margin-left: 16.66666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333333%;
  }
  .offset-lg-5 {
    margin-left: 41.66666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333333%;
  }
  .offset-lg-8 {
    margin-left: 66.66666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333333%;
  }
  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
  .g-lg-0,
  .gx-lg-0 {
    --bs-gutter-x: 0;
  }
  .g-lg-0,
  .gy-lg-0 {
    --bs-gutter-y: 0;
  }
  .g-lg-1,
  .gx-lg-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-lg-1,
  .gy-lg-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-lg-2,
  .gx-lg-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-lg-2,
  .gy-lg-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-lg-3,
  .gx-lg-3 {
    --bs-gutter-x: 1rem;
  }
  .g-lg-3,
  .gy-lg-3 {
    --bs-gutter-y: 1rem;
  }
  .g-lg-4,
  .gx-lg-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-lg-4,
  .gy-lg-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-lg-5,
  .gx-lg-5 {
    --bs-gutter-x: 3rem;
  }
  .g-lg-5,
  .gy-lg-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex: 1 0 0%;
  }
  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
  .g-xl-0,
  .gx-xl-0 {
    --bs-gutter-x: 0;
  }
  .g-xl-0,
  .gy-xl-0 {
    --bs-gutter-y: 0;
  }
  .g-xl-1,
  .gx-xl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xl-1,
  .gy-xl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xl-2,
  .gx-xl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xl-2,
  .gy-xl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xl-3,
  .gx-xl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xl-3,
  .gy-xl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xl-4,
  .gx-xl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xl-4,
  .gy-xl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xl-5,
  .gx-xl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xl-5,
  .gy-xl-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1400px) {
  .col-xxl {
    flex: 1 0 0%;
  }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xxl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xxl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xxl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xxl-11 {
    margin-left: 91.66666667%;
  }
  .g-xxl-0,
  .gx-xxl-0 {
    --bs-gutter-x: 0;
  }
  .g-xxl-0,
  .gy-xxl-0 {
    --bs-gutter-y: 0;
  }
  .g-xxl-1,
  .gx-xxl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xxl-1,
  .gy-xxl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xxl-2,
  .gx-xxl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xxl-2,
  .gy-xxl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xxl-3,
  .gx-xxl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xxl-3,
  .gy-xxl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xxl-4,
  .gx-xxl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xxl-4,
  .gy-xxl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xxl-5,
  .gx-xxl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xxl-5,
  .gy-xxl-5 {
    --bs-gutter-y: 3rem;
  }
}
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.text-bg-primary {
  color: #fff !important;
  background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-secondary {
  color: #fff !important;
  background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-success {
  color: #fff !important;
  background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-info {
  color: #000 !important;
  background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-warning {
  color: #000 !important;
  background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-danger {
  color: #fff !important;
  background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-light {
  color: #000 !important;
  background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-dark {
  color: #fff !important;
  background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
}

.link-primary {
  color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-primary:hover, .link-primary:focus {
  color: RGBA(40, 89, 146, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(40, 89, 146, var(--bs-link-underline-opacity, 1)) !important;
}

.link-secondary {
  color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-secondary:hover, .link-secondary:focus {
  color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
}

.link-success {
  color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-success:hover, .link-success:focus {
  color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
}

.link-info {
  color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-info:hover, .link-info:focus {
  color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
}

.link-warning {
  color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-warning:hover, .link-warning:focus {
  color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
}

.link-danger {
  color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-danger:hover, .link-danger:focus {
  color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
}

.link-light {
  color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-light:hover, .link-light:focus {
  color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
}

.link-dark {
  color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-dark:hover, .link-dark:focus {
  color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
}

.link-body-emphasis {
  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-body-emphasis:hover, .link-body-emphasis:focus {
  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;
  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
}

.focus-ring:focus {
  outline: 0;
  box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
}

.icon-link {
  display: inline-flex;
  gap: 0.375rem;
  align-items: center;
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
  text-underline-offset: 0.25em;
  backface-visibility: hidden;
}
.icon-link > .bi {
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  fill: currentcolor;
  transition: 0.2s ease-in-out transform;
}
@media (prefers-reduced-motion: reduce) {
  .icon-link > .bi {
    transition: none;
  }
}

.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
  transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));
}

.ratio {
  position: relative;
  width: 100%;
}
.ratio::before {
  display: block;
  padding-top: var(--bs-aspect-ratio);
  content: "";
}
.ratio > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ratio-1x1 {
  --bs-aspect-ratio: 100%;
}

.ratio-4x3 {
  --bs-aspect-ratio: 75%;
}

.ratio-16x9 {
  --bs-aspect-ratio: 56.25%;
}

.ratio-21x9 {
  --bs-aspect-ratio: 42.8571428571%;
}

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}

.sticky-top {
  position: sticky;
  top: 0;
  z-index: 1020;
}

.sticky-bottom {
  position: sticky;
  bottom: 0;
  z-index: 1020;
}

@media (min-width: 576px) {
  .sticky-sm-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-sm-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 768px) {
  .sticky-md-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-md-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 992px) {
  .sticky-lg-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-lg-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1200px) {
  .sticky-xl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1400px) {
  .sticky-xxl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xxl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
.hstack {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-self: stretch;
}

.vstack {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-self: stretch;
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.visually-hidden:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
  position: absolute !important;
}

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: "";
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vr {
  display: inline-block;
  align-self: stretch;
  width: var(--bs-border-width);
  min-height: 1em;
  background-color: currentcolor;
  opacity: 0.25;
}

.nav {
  --bs-nav-link-padding-x: 1rem;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: var(--bs-link-color);
  --bs-nav-link-hover-color: var(--bs-link-hover-color);
  --bs-nav-link-disabled-color: var(--bs-secondary-color);
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.nav-link {
  display: block;
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  font-size: var(--bs-nav-link-font-size);
  font-weight: var(--bs-nav-link-font-weight);
  color: var(--bs-nav-link-color);
  text-decoration: none;
  background: none;
  border: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .nav-link {
    transition: none;
  }
}
.nav-link:hover, .nav-link:focus {
  color: var(--bs-nav-link-hover-color);
}
.nav-link:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(50, 111, 183, 0.25);
}
.nav-link.disabled, .nav-link:disabled {
  color: var(--bs-nav-link-disabled-color);
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  --bs-nav-tabs-border-width: var(--bs-border-width);
  --bs-nav-tabs-border-color: var(--bs-border-color);
  --bs-nav-tabs-border-radius: var(--bs-border-radius);
  --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
  --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);
  --bs-nav-tabs-link-active-bg: var(--bs-body-bg);
  --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
  border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
}
.nav-tabs .nav-link {
  margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
  border: var(--bs-nav-tabs-border-width) solid transparent;
  border-top-left-radius: var(--bs-nav-tabs-border-radius);
  border-top-right-radius: var(--bs-nav-tabs-border-radius);
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  isolation: isolate;
  border-color: var(--bs-nav-tabs-link-hover-border-color);
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: var(--bs-nav-tabs-link-active-color);
  background-color: var(--bs-nav-tabs-link-active-bg);
  border-color: var(--bs-nav-tabs-link-active-border-color);
}
.nav-tabs .dropdown-menu {
  margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills {
  --bs-nav-pills-border-radius: var(--bs-border-radius);
  --bs-nav-pills-link-active-color: #fff;
  --bs-nav-pills-link-active-bg: #326FB7;
}
.nav-pills .nav-link {
  border-radius: var(--bs-nav-pills-border-radius);
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: var(--bs-nav-pills-link-active-color);
  background-color: var(--bs-nav-pills-link-active-bg);
}

.nav-underline {
  --bs-nav-underline-gap: 1rem;
  --bs-nav-underline-border-width: 0.125rem;
  --bs-nav-underline-link-active-color: var(--bs-emphasis-color);
  gap: var(--bs-nav-underline-gap);
}
.nav-underline .nav-link {
  padding-right: 0;
  padding-left: 0;
  border-bottom: var(--bs-nav-underline-border-width) solid transparent;
}
.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {
  border-bottom-color: currentcolor;
}
.nav-underline .nav-link.active,
.nav-underline .show > .nav-link {
  font-weight: 700;
  color: var(--bs-nav-underline-link-active-color);
  border-bottom-color: currentcolor;
}

.nav-fill > .nav-link,
.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}

.nav-justified > .nav-link,
.nav-justified .nav-item {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center;
}

.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
  width: 100%;
}

.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}

.table {
  --bs-table-color-type: initial;
  --bs-table-bg-type: initial;
  --bs-table-color-state: initial;
  --bs-table-bg-state: initial;
  --bs-table-color: var(--bs-emphasis-color);
  --bs-table-bg: var(--bs-body-bg);
  --bs-table-border-color: var(--bs-border-color);
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: var(--bs-emphasis-color);
  --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
  --bs-table-active-color: var(--bs-emphasis-color);
  --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
  --bs-table-hover-color: var(--bs-emphasis-color);
  --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
  border-color: var(--bs-table-border-color);
}
.table > :not(caption) > * > * {
  padding: 0.5rem 0.5rem;
  color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
  background-color: var(--bs-table-bg);
  border-bottom-width: var(--bs-border-width);
  box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
}
.table > tbody {
  vertical-align: inherit;
}
.table > thead {
  vertical-align: bottom;
}

.table-group-divider {
  border-top: calc(var(--bs-border-width) * 2) solid currentcolor;
}

.caption-top {
  caption-side: top;
}

.table-sm > :not(caption) > * > * {
  padding: 0.25rem 0.25rem;
}

.table-bordered > :not(caption) > * {
  border-width: var(--bs-border-width) 0;
}
.table-bordered > :not(caption) > * > * {
  border-width: 0 var(--bs-border-width);
}

.table-borderless > :not(caption) > * > * {
  border-bottom-width: 0;
}
.table-borderless > :not(:first-child) {
  border-top-width: 0;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}

.table-striped-columns > :not(caption) > tr > :nth-child(even) {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}

.table-active {
  --bs-table-color-state: var(--bs-table-active-color);
  --bs-table-bg-state: var(--bs-table-active-bg);
}

.table-hover > tbody > tr:hover > * {
  --bs-table-color-state: var(--bs-table-hover-color);
  --bs-table-bg-state: var(--bs-table-hover-bg);
}

.table-primary {
  --bs-table-color: #000;
  --bs-table-bg: rgb(214, 226.2, 240.6);
  --bs-table-border-color: rgb(171.2, 180.96, 192.48);
  --bs-table-striped-bg: rgb(203.3, 214.89, 228.57);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(192.6, 203.58, 216.54);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(197.95, 209.235, 222.555);
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-secondary {
  --bs-table-color: #000;
  --bs-table-bg: rgb(225.6, 227.4, 229);
  --bs-table-border-color: rgb(180.48, 181.92, 183.2);
  --bs-table-striped-bg: rgb(214.32, 216.03, 217.55);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(203.04, 204.66, 206.1);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(208.68, 210.345, 211.825);
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-success {
  --bs-table-color: #000;
  --bs-table-bg: rgb(209, 231, 220.8);
  --bs-table-border-color: rgb(167.2, 184.8, 176.64);
  --bs-table-striped-bg: rgb(198.55, 219.45, 209.76);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(188.1, 207.9, 198.72);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(193.325, 213.675, 204.24);
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-info {
  --bs-table-color: #000;
  --bs-table-bg: rgb(206.6, 244.4, 252);
  --bs-table-border-color: rgb(165.28, 195.52, 201.6);
  --bs-table-striped-bg: rgb(196.27, 232.18, 239.4);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(185.94, 219.96, 226.8);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(191.105, 226.07, 233.1);
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-warning {
  --bs-table-color: #000;
  --bs-table-bg: rgb(255, 242.6, 205.4);
  --bs-table-border-color: rgb(204, 194.08, 164.32);
  --bs-table-striped-bg: rgb(242.25, 230.47, 195.13);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(229.5, 218.34, 184.86);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(235.875, 224.405, 189.995);
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-danger {
  --bs-table-color: #000;
  --bs-table-bg: rgb(248, 214.6, 217.8);
  --bs-table-border-color: rgb(198.4, 171.68, 174.24);
  --bs-table-striped-bg: rgb(235.6, 203.87, 206.91);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(223.2, 193.14, 196.02);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(229.4, 198.505, 201.465);
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-light {
  --bs-table-color: #000;
  --bs-table-bg: #f8f9fa;
  --bs-table-border-color: rgb(198.4, 199.2, 200);
  --bs-table-striped-bg: rgb(235.6, 236.55, 237.5);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(223.2, 224.1, 225);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(229.4, 230.325, 231.25);
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-dark {
  --bs-table-color: #fff;
  --bs-table-bg: #212529;
  --bs-table-border-color: rgb(77.4, 80.6, 83.8);
  --bs-table-striped-bg: rgb(44.1, 47.9, 51.7);
  --bs-table-striped-color: #fff;
  --bs-table-active-bg: rgb(55.2, 58.8, 62.4);
  --bs-table-active-color: #fff;
  --bs-table-hover-bg: rgb(49.65, 53.35, 57.05);
  --bs-table-hover-color: #fff;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 575.98px) {
  .table-responsive-sm {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 767.98px) {
  .table-responsive-md {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 991.98px) {
  .table-responsive-lg {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1199.98px) {
  .table-responsive-xl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1399.98px) {
  .table-responsive-xxl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.versions-table-intro, .attachments-table-intro, .compatibles-table-intro {
  margin-bottom: 3rem;
}
.versions-table-intro *, .attachments-table-intro *, .compatibles-table-intro * {
  color: #fff;
}

.compatibles-table-footer * {
  color: #fff;
  font-size: 0.8rem;
}

div.wpforms-container-full .wpforms-form .wpforms-field-label,
div.wpforms-container-full .wpforms-form .wpforms-field-sublabel,
div.wpforms-container-full .wpforms-form .wpforms-field-label-inline,
.text-white {
  color: white;
}

#versionsTab .nav-link:not(.active) {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  color: #fff;
  cursor: pointer;
  position: relative;
}
#versionsTab .nav-link:not(.active):hover {
  border-color: transparent;
  color: #fff;
}
#versionsTab .nav-link:not(.active)::before {
  content: "";
  position: absolute;
  inset: 5px;
  background: linear-gradient(to right, #ffffff 2px, transparent 2px) 0 0, linear-gradient(to bottom, #ffffff 2px, transparent 2px) 0 0, linear-gradient(to left, #ffffff 2px, transparent 2px) 100% 0, linear-gradient(to bottom, #ffffff 2px, transparent 2px) 100% 0, linear-gradient(to left, #ffffff 2px, transparent 2px) 100% 100%, linear-gradient(to top, #ffffff 2px, transparent 2px) 100% 100%, linear-gradient(to right, #ffffff 2px, transparent 2px) 0 100%, linear-gradient(to top, #ffffff 2px, transparent 2px) 0 100%;
  background-repeat: no-repeat;
  background-size: 7px 7px;
  opacity: 0;
  transition: all 0.3s linear;
}
#versionsTab .nav-link:not(.active):hover::before {
  opacity: 1;
  inset: 0;
}
#versionsTab .nav-link.active {
  background-color: #326FB7;
  color: #fff;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-left-width: 2px;
  border-right-width: 2px;
  border-top-width: 2px;
}

#versionsTabContent {
  margin-bottom: 10rem;
}
#versionsTabContent .tab-pane {
  color: #fff;
}
#versionsTabContent th {
  text-align: left;
}
#versionsTabContent table {
  -webkit-border-vertical-spacing: 0;
  -webkit-border-horizontal-spacing: 0;
  border-left: 1px solid white;
  border-bottom: 1px solid white;
  border-right: 1px solid white;
}
#versionsTabContent a:hover {
  text-decoration: underline;
}

.table > :not(caption) > * > * {
  background-color: transparent;
  color: #fff;
  border-color: #fff;
  border-style: solid;
  border-width: 1px;
}
