/*-----------------------------
* ----------- COLOURS ----------
*-----------------------------*/

:root {
    --neutral-w: #010101;
    --neutral-w-rgb: 18, 18, 18;
    --primary-t2: #0BBBEF;
    --primary-t2-rgb: 11, 187, 239;
    --dark-blue: #0048F6;
    --dark-blue-rgb: 0, 72, 246;
    --neutral-k3: #63738C;
    --neutral-k9: #DAE2ED;
    --neutral-k9-rgb: 218, 226, 237;
    --neutral-k1: #2A2A2A;
    --neutral-k1-rgb: 42, 42, 42;
    --neutral-k10: #FAFAFA;
    --neutral-k10-rgb: 250, 250, 250;
    --neutral-rgb: 18, 18, 18;
    --full-black: #000000;
    --full-black-rgb: 0, 0, 0;

    /* set from js after menu rendering */
    --menu-logo-height: 64px;
    --menu-padding-y: 20px;
    --menu-padding-x: 40px;
    --menu-height: calc((var(--menu-padding-y) * 2) + var(--menu-logo-height));
    --menu-height-with-wpadminbar: calc(var(--menu-height) + var(--wp-admin--admin-bar--height, 0px));

    /* generic variables */

    --fast-anim-duration: .25s;
    --normal-anim-duration: .5s;
    --slow-anim-duration: .4s;

    /* bubble */
    --chat-blue: linear-gradient(127deg, #0048F6 21.04%, #0680F3 93.56%);
    --chat-border: #121212d9;

}


@font-face {
    font-family: "MavenPro-SemiBold";
    src: url("fonts/MavenPro/MavenPro-SemiBold.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "MavenPro-Black";
    src: url("fonts/MavenPro/MavenPro-Black.ttf") format("truetype");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "MavenPro-ExtraBold";
    src: url("fonts/MavenPro/MavenPro-ExtraBold.ttf") format("truetype");
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "MavenPro-Medium";
    src: url("fonts/MavenPro/MavenPro-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "MavenPro-Bold";
    src: url("fonts/MavenPro/MavenPro-Bold.ttf") format("truetype");
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "MavenPro-Regular";
    src: url("fonts/MavenPro/MavenPro-Regular.ttf") format("truetype");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

body.is-scrolled {
    --menu-logo-height: 46px;
    --menu-padding-y: 10px;
    --menu-height: calc((var(--menu-padding-y) * 2) + var(--menu-logo-height));
}

/* reset */

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

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

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

/* Accessibilità: Indicatore di focus globale (WCAG 2.4.7 - Tecnica G195) */
*:focus-visible {
    outline: 3px solid var(--primary-t2) !important;
    outline-offset: 2px !important;
}

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

button {
    cursor: pointer;
    -webkit-font-smoothing: inherit;
    -moz-osx-font-smoothing: inherit;
    -webkit-appearance: none;
    line-height: normal;
    border: none;
    -webkit-font-smoothing: inherit;
    -moz-osx-font-smoothing: inherit;
    -webkit-appearance: none;
}

input,
label,
select,
button,
textarea {
    margin: 0;
    border: 0;
    padding: 0;
    display: inline-block;
    vertical-align: middle;
    white-space: normal;
    background: none;
    line-height: 1;
    font-size: 13px;
}

.screen-reader-only {
    position: absolute;
    width: 1px;
    clip: rect(0 0 0 0);
    overflow: hidden;
    white-space: nowrap;
}

html.lenis,
html.lenis body {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior-y: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior-y: contain;
}

body {
    font-family: "MavenPro-Regular", Arial;
    background-color: #010101;
    color: #ffffff;
    line-height: normal;
    padding-bottom: 90px;
    overflow-x: hidden;
}

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

a,
a:visited,
a:active,
a:hover,
a:focus {
    color: inherit;
    text-decoration: inherit;
}

strong,
b {
    font-family: "MavenPro-Bold", Arial;
}

/* typography */

h1,
.h1-style {
    font-size: 56px;
    font-family: "MavenPro-Regular", Arial;
    color: #fff;
}

h2,
.h2-style {
    font-size: 48px;
    padding-bottom: 24px;
    display: block;
    font-family: "MavenPro-Regular", Arial;
}

h3,
.h3-style {
    font-size: 32px;
    padding-bottom: 24px;
    display: block;
    font-family: "MavenPro-Bold", Arial;
}

h4,
.h4-style {
    font-size: 24px;
    font-family: "MavenPro-Regular", Arial;
}


h5 {
    font-size: 24px;
    font-family: "MavenPro-Regular", Arial;
}

p {
    font-size: 16px;
    font-weight: 400;
}

strong h1,
strong .h1-style,
strong h2,
strong .h2-style,
strong h3,
strong .h3-style,
strong h4,
strong .h4-style {
    font-family: "MavenPro-Bold", Arial;
}

strong .large-p {
    font-family: "MavenPro-Bold", Arial;
}

.large-p {
    font-size: 24px;
    font-family: "MavenPro-Regular", Arial;
}

.disclaimer-xs-text {
    font-size: 14px;
    font-family: "MavenPro-Regular", Arial;
}

.bold-xs {
    font-size: 14px;
    font-family: "MavenPro-Bold";
}

.a-link {
    font-family: "MavenPro-Medium";
    font-weight: 500;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: center;
    border-bottom: 1px solid transparent;
    padding-bottom: 4px;
}

.a-small-bold-link {
    font-family: "MavenPro-Bold";
    font-weight: 700;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: center;
    color: var(--primary-t2);
    text-transform: uppercase;
}

.small-text {
    font-family: "MavenPro-Regular";
    font-weight: 400;
    font-size: 14px;
    line-height: 100%;
}

.dark-text {
    color: var(--neutral-w);
}

.blue-text {
    color: var(--primary-t2);
}

.bold-text {
    font-family: "MavenPro-Bold";
    font-weight: 700;
}

.capitalise {
    text-transform: capitalize;
}

.txt-wrp ul {
    list-style-type: disc
}

.txt-wrp ul li::marker {
    color: var(--primary-t2);
    font-size: 1.2em;
}

h2 .h2-style,
h3 .h3-style {
    padding-bottom: 0px;
}

/* CTA STYLE */

.cta_wrapper {
    padding-top: 40px;
}

.cta-column .cta_wrapper {
    padding-top: 20px;
}

.cta_btn {
    min-width: 280px;
    display: inline-block;
    text-align: center;
    border-radius: 120px;
    padding: 16px 24px;
    font-size: 16px;
    line-height: normal;
    font-family: "MavenPro-Bold";
    font-weight: bold;
    cursor: pointer;
    max-width: 100%;
    border: 1px solid;
    height: fit-content;
    /* line-height: 51px; */
}

.cta_btn .text {
    color: var(--neutral-w);
}

.cta_btn.smaller_cta {
    min-width: 118px;
    padding: 8px 16px;
}

.cta_btn.buddyblue_cta {
    background-color: #0bbbef;
    border-color: #0bbbef;
}

.cta_btn.white_cta {
    background-color: #ffffff;
    border-color: #ffffff;
}

.cta_btn.empty_cta {
    color: #ffffff;
    font-size: 16px;
    background-color: inherit;
    border-color: #ffffff;
}

.cta_btn.empty_cta .text {
    color: #ffffff;
}

.cta_btn.empty_cta.cta_negative {
    color: var(--neutral-w);
    font-size: 16px;
    background-color: inherit;
    border-color: var(--neutral-w);
}

.cta_btn.empty_cta.cta_negative .text {
    color: inherit;
}

.cta_btn.no_border_blue_text,
.cta_btn.no_border_white_text,
.cta_btn.no_border_default_text {
    border: none;
    font-size: 14px;
    text-transform: uppercase;
    padding: 0;
    text-align: left;
    min-width: auto;
    position: relative;
}

.cta_btn.no_border_blue_text:focus-visible,
.cta_btn.no_border_white_text:focus-visible,
.cta_btn.no_border_default_text:focus-visible {
    outline: 3px solid var(--primary-t2);
}

.cta_btn.no_border_blue_text .text {
    color: var(--primary-t2);
}

.cta_btn.no_border_blue_text:after {
    content: "";
    width: 16px;
    height: 16px;
    background-image: url(../img/arrow-right-blue.svg);
    background-size: 16px;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    padding-left: 4px;
    bottom: 0px;
}

.cta_btn.no_border_white_text .text {
    color: var(--neutral-k10);
}

.cta_btn.no_border_white_text:after {
    content: "";
    width: 16px;
    height: 16px;
    background-image: url(../img/arrow-right-white.svg);
    background-size: 16px;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    padding-left: 4px;
    bottom: 0px;
}

.cta_btn.no_border_default_text .text {
    color: var(--neutral-k1);
}

.cta_btn.no_border_default_text:after {
    content: "";
    width: 16px;
    height: 16px;
    background-image: url(../img/arrow-right-black.svg);
    background-size: 16px;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    padding-left: 4px;
    bottom: 0px;
}

.icon_accordion_black {
    background-image: url(../img/arrow-right-black.svg);
    width: 20px;
    height: 20px;
    transform: rotate(90deg);
}

.icon_accordion_white {
    background-image: url(../img/arrow-right-white.svg);
    width: 20px;
    height: 20px;
    background-size: cover;
}

.cta_btn.cta-fit-width {
    width: fit-content;
    min-width: unset;
}

.background-schema_white .cta_btn.empty_cta:not(.bb-modal-box .cta_btn.empty_cta) {
    border-color: var(--neutral-w);
    outline: solid 1px var(--neutral-w);
}

.background-schema_white .cta_btn.empty_cta .text:not(.bb-modal-box .cta_btn.empty_cta .text) {
    color: var(--neutral-w);
}




/*-----------------------------
* ----------- LAYOUT ----------
*-----------------------------*/

.d-flex {
    display: flex;
}

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

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

.justify_center {
    justify-content: center;
}

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

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

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

.flex-col.valign_center {
    justify-content: center;
}

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

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

.centered {
    align-items: center;
}

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

.align-start {
    align-items: flex-start;
}

.align-end {
    align-items: flex-end;
}

.align-self-end {
    align-self: flex-end;
}

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

.grid {
    display: grid;
}

.grid-two-columns {
    grid-template-columns: 1fr 1fr;
}

.g-xxxl {
    gap: 80px;
}

.g-xl {
    gap: 40px;
}

.g-36 {
    gap: 36px;
}

.g-lg {
    gap: 32px;
}

.g-md {
    gap: 24px;
}

.g-sm {
    gap: 16px;
}

.g-xs {
    gap: 14px;
}

.g-xxs {
    gap: 9px;
}

.g-xxxs {
    gap: 8px;
}

.full-width {
    width: 100%;
}

.full-height {
    height: 100%;
}

.page-height {
    height: 100vh;
}

.width-fit-content {
    width: fit-content;
}

.height-fit-content {
    height: fit-content;
}

.w50 {
    width: 50%;
}


.relative {
    position: relative;
}

.full-absolute {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.mobile_only {
    display: none !important;
}

.desktop_only {
    display: block !important;
}

header .mobile_only {
    display: none !important;
}

header .desktop_only {
    display: block !important;
}

.no-padding {
    padding: 0px;
}

.no-margin-text * {
    margin: 0px;
}

.no-padding-text * {
    padding: 0px;
}

.pt-40 {
    padding-top: 40px;
}

.pb-180-80 {
    padding-top: 180px;
    padding-bottom: 80px;
}

.max-900 {
    max-width: 900px;
    padding: 0px 24px;
    margin: 0 auto;
}

/* token */

.radius-sm {
    border-radius: 8px;
}

.radius {
    border-radius: 16px;
}

.radius-big {
    border-radius: 20px;
}

.image-cover {
    object-fit: cover;
}

.line-clamp,
.line-clamp-1 {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.line-clamp-2 {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

/*------------------------------*/
/*------------ MEDIA -----------*/
/*------------------------------*/

.background-image {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

/* video */

.html5_vid_wrapper {
    width: 100%;
    height: auto;
    position: relative;
}

.html5_vid_container_outer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
}

._playing .html5_vid_container_outer,
._autoplaying .html5_vid_container_outer {
    opacity: 1;
    z-index: 1;
    -webkit-transition: all .6s ease-in-out;
    -o-transition: all .6s ease-in-out;
    transition: all .6s ease-in-out;
}

.fullScreenVideo ._playing .html5_vid_container_outer {
    z-index: inherit;
}

.html5_vid_container {

    width: 100%;
    height: auto;
    position: relative;

}


html.overflow_hidden,
html.fullScreenVideo {
    overflow: hidden;
}

.fullScreenVideo ._playing .html5_vid_container {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 99999999;
    background: #000;
    max-width: inherit !important;
    margin: 0 !important;
}

html.fullScreenVideo #header-wrapper {
    height: 0;
    z-index: 0;
}

.fullScreenVideo ._playing .vsVideoPlayerHTML5 {
    height: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-top: 0 !important;
}

._playing.html5_vid_wrapper .vid_cover,
._autoplaying.html5_vid_wrapper .vid_cover {
    z-index: -1;
    opacity: 0;
    -webkit-transition: all .6s ease-in-out;
    -o-transition: all .6s ease-in-out;
    transition: all .6s ease-in-out;
}

/*player*/
.html5_vid_wrapper .html5_vid_cta {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    cursor: pointer;
    width: 98px;
    height: 98px;
    line-height: 98px;
    border: none;
    border-radius: 50%;
    color: #000;
    /*background-color: rgba(255,255,255,.45);
    -webkit-transition: border-color .4s,outline .4s,background-color .4s;
    -o-transition: border-color .4s,outline .4s,background-color .4s;
    transition: border-color .4s,outline .4s,background-color .4s;*/
    background-image: url(../img/videoControlBarIcon/black/icon-play.svg);
    background-repeat: no-repeat;
    background-position: 55%;
}

.html5_vid_wrapper:not(._autoplaying) .html5_vid_cta {
    z-index: 5;
}

.html5_vid_wrapper._playing .html5_vid_cta {
    z-index: inherit;
}

/*end player*/
.html5_vid_wrapper video {
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
}

.video_wrapper .vid_cover.no-cover {
    display: none;
}

.video_wrapper .vid_cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

._playing .vsVideoPlayerHTML5,
._autoplaying .vsVideoPlayerHTML5 {
    opacity: 1;
}

._autoplaying .html5_vid_cta {
    opacity: 0;
}

.container-video-controls {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    /*background: -o-linear-gradient(rgba(0,0,0,0.04), rgba(0,0,0,0.55));
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,0.04)), to(rgba(0,0,0,0.55)));
    background: linear-gradient(rgba(0,0,0,0.04), rgba(0,0,0,0.55));*/
    -webkit-transition: opacity 1s cubic-bezier(0.4, 0, 0.6, 1);
    -o-transition: opacity 1s cubic-bezier(0.4, 0, 0.6, 1);
    transition: opacity 1s cubic-bezier(0.4, 0, 0.6, 1);
    opacity: 0;
}

.m-dev .container-video-controls {
    background: none;
    opacity: 1;
}

.container-video-controls.user-hover {
    opacity: 1;
}

.sm-dev-ios .container-video-controls {
    display: none;
}

.inner-container-video-controls {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    cursor: none;
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
    -webkit-transition: opacity 0.4s cubic-bezier(0.4, 0, 0.6, 1) 0.05s, -webkit-transform 0.5s cubic-bezier(0.4, 0, 0.6, 1);
    transition: opacity 0.4s cubic-bezier(0.4, 0, 0.6, 1) 0.05s, -webkit-transform 0.5s cubic-bezier(0.4, 0, 0.6, 1);
    -o-transition: opacity 0.4s cubic-bezier(0.4, 0, 0.6, 1) 0.05s, transform 0.5s cubic-bezier(0.4, 0, 0.6, 1);
    transition: opacity 0.4s cubic-bezier(0.4, 0, 0.6, 1) 0.05s, transform 0.5s cubic-bezier(0.4, 0, 0.6, 1);
    transition: opacity 0.4s cubic-bezier(0.4, 0, 0.6, 1) 0.05s, transform 0.5s cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform 0.5s cubic-bezier(0.4, 0, 0.6, 1);
    z-index: 5;
}

.m-dev .inner-container-video-controls,
.user-hover .inner-container-video-controls {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition: opacity 0.4s cubic-bezier(0, 0, 0.2, 1) 0.25s, -webkit-transform 0.5s cubic-bezier(0, 0, 0.2, 1) 0.2s;
    transition: opacity 0.4s cubic-bezier(0, 0, 0.2, 1) 0.25s, -webkit-transform 0.5s cubic-bezier(0, 0, 0.2, 1) 0.2s;
    -o-transition: opacity 0.4s cubic-bezier(0, 0, 0.2, 1) 0.25s, transform 0.5s cubic-bezier(0, 0, 0.2, 1) 0.2s;
    transition: opacity 0.4s cubic-bezier(0, 0, 0.2, 1) 0.25s, transform 0.5s cubic-bezier(0, 0, 0.2, 1) 0.2s;
    transition: opacity 0.4s cubic-bezier(0, 0, 0.2, 1) 0.25s, transform 0.5s cubic-bezier(0, 0, 0.2, 1) 0.2s, -webkit-transform 0.5s cubic-bezier(0, 0, 0.2, 1) 0.2s;
    cursor: default;
}

.video-controls {
    margin: 0 auto;
    width: 100%;
    position: absolute;
    bottom: 10px;
    left: 0;
}

.video-controls .video-controls-wrap {
    /*max-width: 1160px;*/
    max-width: 100%;
    padding: 0 40px;
    margin: 0 auto;
    height: 50px;
    position: relative;
    /*text-align:center;*/
    -webkit-transition: opacity 0.15s ease-in-out;
    -o-transition: opacity 0.15s ease-in-out;
    transition: opacity 0.15s ease-in-out;
    z-index: 2;
}

.video-controls .video-controls-wrap .barelement,
.videoCover i.player {
    display: inline-block;
    vertical-align: middle;
    padding: 5px;
    height: 50px;
    cursor: pointer;
    line-height: 20px;
    margin-left: -2px;
    margin-right: -2px;
}

.video-controls .video-controls-wrap input {
    height: 1em;
    margin: 0px;
    padding: 0px;
}

.video-controls .video-controls-wrap input[type=range] {
    -webkit-appearance: none;
    width: 100%;
    padding: 0;
    background: none;
    line-height: 20px;
    height: 20px;
    color: #fff;
    border: none;
}

.video-controls .video-controls-wrap input[type=range]:focus {
    outline: none;
}

.video-controls .video-controls-wrap input[type=range]::-webkit-slider-runnable-track {
    width: 100%;
    height: 2px;
    cursor: pointer;
    background: #ffffff;
    border: 0.2px solid #cccccc;
}

.video-controls .video-controls-wrap input[type=range]::-webkit-slider-thumb {
    border: 1px solid #ffffff;
    height: 8px;
    width: 8px;
    border-radius: 50%;
    background: #ffffff;
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -3px;
}

.video-controls .video-controls-wrap input[type=range]:focus::-webkit-slider-runnable-track {
    background: #ffffff;
}

.video-controls .video-controls-wrap input[type=range]::-moz-range-track {
    width: 100%;
    height: 2px;
    cursor: pointer;
    background: #ffffff;
    border: 0.2px solid #010101;
}

.video-controls .video-controls-wrap input[type=range]::-moz-range-thumb {
    border: 1px solid #ffffff;
    height: 8px;
    width: 8px;
    border-radius: 50%;
    background: #ffffff;
    cursor: pointer;
}

.video-controls .video-controls-wrap input[type=range]::-ms-track {
    width: 100%;
    height: 2px;
    cursor: pointer;
    background: transparent;
    border-color: transparent;
    color: transparent;
}

.video-controls .video-controls-wrap input[type=range]::-ms-fill-lower {
    background: #ffffff;
    border-radius: 2.6px;
}

.video-controls .video-controls-wrap input[type=range]::-ms-fill-upper {
    background: #ffffff;
    border-radius: 2.6px;
}

.video-controls .video-controls-wrap input[type=range]::-ms-thumb {
    border: 1px solid #ffffff;
    height: 8px;
    width: 8px;
    border-radius: 50%;
    background: #ffffff;
    cursor: pointer;
}

.video-controls .video-controls-wrap input[type=range]:focus::-ms-fill-lower {
    background: #ffffff;
}

.video-controls .video-controls-wrap input[type=range]:focus::-ms-fill-upper {
    background: #ffffff;
}

.video-controls .video-controls-wrap div.play-btn,
.video-controls .video-controls-wrap div.pause-btn,
.video-controls .video-controls-wrap div.mute-btn {
    cursor: pointer;
}

.video-controls .video-controls-wrap div.volume-bar-btn {
    width: 6%;
}

.video-controls .video-controls-wrap div.timeline {
    height: 2px;
    background: #ccc;
    width: 100%;
    margin-top: 9px;
}

.video-controls .video-controls-wrap .timeline-wrap {
    width: 70%;
    padding: 0px;
}

.video-controls .video-controls-wrap .timeline-advanced {
    height: 2px;
    background: #fff;
    width: 0px;
}

.video-controls .video-controls-wrap .timeline-advanced-cursor {
    width: 8px;
    height: 8px;
    border-radius: 5px;
    background: #fff;
    margin-top: -5px;
    margin-left: -4px;
    pointer-events: none;
}

.video-controls .video-controls-wrap .barelement i {
    width: 40px;
    height: 40px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    display: inline-block;
}

.video-controls .video-controls-wrap .barelement i.icon-fullscreen {
    /*background-image: url(../img/videoControlBarIcon/white/icon-fullscreen.svg);*/
}

.video-controls .video-controls-wrap .barelement i.icon-mute {
    /*background-image: url(../img/videoControlBarIcon/white/icon-mute.svg);*/
}

.video-controls .video-controls-wrap .barelement i.icon-unmuted {
    /*background-image: url(../img/videoControlBarIcon/white/icon-unmuted.svg);*/
}

.video-controls .video-controls-wrap .barelement i.play-icon {
    background-image: url(../img/videoControlBarIcon/black/icon-play.svg);
}

.video-controls .video-controls-wrap .barelement i.icon-pause {
    background-image: url(../img/videoControlBarIcon/black/icon-pause.svg);
}

/* NO CONTROLS VISIBLE - ONLY PLAY/PAUSE */

.video-controls .video-controls-wrap div.mute-btn,
.video-controls .video-controls-wrap div.timeline-wrap,
.video-controls .video-controls-wrap div.volume-bar-btn,
.video-controls .video-controls-wrap div.fullscreen-btn {
    display: none;

}

/* accessibility */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/*:focus-visible {
    outline: 2px solid #005fcc;
    box-shadow: 0 0 0 4px #005fcc;
    outline-offset: 3px;
}*/

.barelement.play-btn:focus-visible,
.mobile-ham-btn:focus-visible,
.mobile-ham-btn-close:focus-visible {
    outline-color: var(--primary-t2);
}

/* background schema */
.background-schema_gray {
    background: var(--neutral-k1, #2A2A2A);
}

.background-schema_white {
    background: var(--neutral-k10);
}

.background-schema_white .text-wrapper {
    color: var(--neutral-w);
}

/* layer overlay */
.layer-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0.7;
    background: linear-gradient(270deg, rgba(0, 0, 0, 0.00) 0%, #000 60.34%);
    z-index: 2;
    pointer-events: none;
}

.background-schema_white .cta_btn:focus-visible {
    outline-color: var(--primary-t2);
}

.layer-overlay-2 {
    z-index: 2;
    pointer-events: none;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.70) 59.9%);
}

.blur-layer-desc {
    background: rgba(18, 18, 18, 0.8);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /*backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    will-change: opacity; /* Dice alla GPU di non ricalcolare il blur, ma solo l'opacità */
    /*transform: translate3d(0,0,0);*/
}

/* curve effect */
.curve-effect.gradient {
    position: absolute;
    --wide-offset: 40px;
    --in-out-offset: 40px;
    --gradient-thickness: 40px;
    z-index: 2;
}

.curve-effect.gradient-right {
    top: 0;
    right: -2px;
}

.curve-effect.gradient-vertical {
    width: var(--gradient-thickness);
    height: calc(100% + (var(--wide-offset) * 2));
    transform: translate(0, calc(var(--wide-offset) * -1));
    background: radial-gradient(ellipse at right center, var(--neutral-w) 0%, var(--neutral-w) 70%, #12121200 70.1%);
}

.background-schema_gray .curve-effect.gradient-vertical {
    background: radial-gradient(ellipse at right center, var(--neutral-k1) 0%, var(--neutral-k1) 70%, #2A2A2A00 70.1%);
}

.background-schema_white .curve-effect.gradient-vertical {
    background: radial-gradient(ellipse at right center, var(--neutral-k10) 0%, var(--neutral-k10) 70%, #FAFAFA00 70.1%);
}

.curve-effect.gradient-horizontal {
    top: unset;
    bottom: -2px;
    left: 0;
    --gradient-thickness: 100px;
    --custom-color: var(--neutral-k9);
    transform: translateX(calc(var(--wide-offset) * -1));
    width: calc(100% + (var(--wide-offset) * 2));
    height: var(--gradient-thickness);
    background: radial-gradient(ellipse at center bottom, var(--custom-color) 0%, var(--custom-color) 70%, #12121200 70.5%);
}

/* sticky banner */
.h-sticky-banner {
    font-size: 14px;
    font-family: "MavenPro-Bold", Arial;
    position: fixed;
    top: var(--wp-admin--admin-bar--height, 0px);
    height: 32px;
    width: 100%;
    background-color: var(--primary-t2);
    display: flex;
    justify-content: center;
    align-items: center;
}

.h-sticky-banner .cta_wrapper {
    padding-top: 0px;
}

/* CURVE TOTAL WIDTH */
.full-blue-gradient-wrapper {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    overflow-x: hidden;
}

.full-blue-gradient {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    background: radial-gradient(circle at center -426%, var(--neutral-w) 0%, var(--neutral-w) 92%, var(--dark-blue) 99%, var(--primary-t2) 100%);
}

/*socials*/
.social-banner .play-icon {
    background-image: url(../img/videoControlBarIcon/black/icon-pause.svg);
    height: 32px;
    width: 32px;
    background-size: cover;
}

.social-banner .pause-icon {
    background-image: url(../img/videoControlBarIcon/black/icon-play.svg);
    height: 32px;
    width: 32px;
    background-size: cover;
}

/*---*/

/* ANIMATION REVEAL IMAGE */
.reveal-panel {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--neutral-w);
    z-index: 2;
    height: 100%;
}

.background-schema_gray .reveal-panel {
    background: var(--neutral-k1);
}

.background-schema_white .reveal-panel {
    background: var(--neutral-k10);
}

/* BUBBLE CHAT */

#floatingChatBtn {
    position: fixed;
    bottom: 27px;
    right: 40px;
    z-index: 1000;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.chat-bubble {
    background: linear-gradient(127deg, #0048F6 21.04%, #0680F3 93.56%);
    /*background-color: linear-gradient(127deg, #0048F6 21.04%, #0680F3 93.56%);*/
    /*box-shadow: 0 0 16.674px 0 rgba(11, 185, 237, 0.80), 0 1.112px 8.337px 0 rgba(0, 0, 0, 0.80);*/
    cursor: pointer;
    /*overflow: hidden;*/
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 30px;
    width: 278px;
    height: 64px;
    border-radius: 35px;
    transition: all 1s cubic-bezier(0.76, 0, 0.24, 1);
    position: relative;
    z-index: 2;
    border: 4px solid var(--chat-border);
}

.chat-bubble::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 4px solid rgba(255, 255, 255, 0.50);
    border-radius: inherit;
    pointer-events: none;
    z-index: 20;
    opacity: 1;
    transition: all 1s cubic-bezier(0.76, 0, 0.24, 1);
}

.chat-content-wrapper {
    flex-grow: 1;
    overflow: hidden;
    white-space: nowrap;
    display: flex;
    align-items: center;
    transition: all 1s cubic-bezier(0.76, 0, 0.24, 1);
    max-width: 200px;
    opacity: 1;
    z-index: 2;
}

.bubble-gradient-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('../img/bubble.svg');
    background-size: cover;
    opacity: 0;
    pointer-events: none;
    z-index: 0;
    transition: opacity 0.5s ease;
}

.chat-text-split {
    font-family: "MavenPro-Bold";
    font-size: 16px;
    color: #ffffff;
    display: flex;
    opacity: 1;
    transition: opacity 0.2s ease;
}

.chat-text-split span {
    display: inline-block;
    opacity: 0;
    transform: translateY(10px);
    animation: textUp 0.4s forwards ease-out;
}

.chat-text-split span.space {
    width: 5px;
}

.chat-action-wrapper {
    position: relative;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

.chat-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 45px;
    height: 32px;
    flex-shrink: 0;
    z-index: 2;
}

#floatingChatBtn.minimized .bubble-gradient-overlay {
    opacity: 1;
    transition-delay: 0.8s;
}

#floatingChatBtn.minimized .chat-bubble::after {
    opacity: 0;
}

.chat-dots span {
    display: block;
    width: 10px;
    height: 10px;
    background-color: #FFFFFF;
    border-radius: 50%;
    animation: jump 1.2s infinite linear both;
}

.chat-dots span:nth-child(1) {
    animation-delay: 0s;
}

.chat-dots span:nth-child(2) {
    animation-delay: 0.15s;
}

.chat-dots span:nth-child(3) {
    animation-delay: 0.3s;
}

.chat-icon {
    position: absolute;
    width: 32px;
    height: 32px;
    opacity: 0;
    transform: scale(0.5);
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.chat-tail {
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 20px solid var(--chat-blue);
    position: absolute;
    bottom: 5px;
    right: 0px;
    z-index: 3;
    rotate: -45deg;
    opacity: 0;
    transform: scale(0);
    transform-origin: top right;
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}


#floatingChatBtn.minimized .chat-bubble {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    padding: 0;
    justify-content: center;
}

#floatingChatBtn.minimized .chat-content-wrapper {
    flex-grow: 0;
    max-width: 0;
    padding: 0;
    opacity: 0;
}

#floatingChatBtn.minimized .chat-text-split {
    opacity: 0;
    transition-delay: 0.7s;
}

#floatingChatBtn.minimized .chat-text-split span {
    animation: none;
    opacity: 1;
    transform: translateY(0px);
}

#floatingChatBtn.minimized .chat-tail {
    opacity: 1;
    transform: scale(1);
    right: 4px;
    bottom: 4px;
    transition-delay: 0.8s;
    z-index: 2;
}

#floatingChatBtn.dots-stopped .chat-dots span {
    animation: none;
    transform: translateY(0) scale(1);
    opacity: 1;
}

#floatingChatBtn.intro-completed .chat-dots {
    opacity: 0 !important;
    pointer-events: none;
}

#floatingChatBtn.intro-completed .chat-icon {
    opacity: 1 !important;
    transform: scale(1) !important;
}

/* hover */

#floatingChatBtn.force-open .chat-bubble {
    width: 278px !important;
    height: 64px !important;
    border-radius: 35px !important;
    padding: 0 30px !important;
    justify-content: space-between !important;
    /*background-color: #ffffff !important;*/
    /*border: 2px solid var(--primary-t2);*/
}

#floatingChatBtn.force-open .chat-content-wrapper {
    flex-grow: 1 !important;
    max-width: 200px !important;
    width: auto !important;
    opacity: 1 !important;
    transition: none !important;
}

#floatingChatBtn.force-open .chat-text-split {
    opacity: 1 !important;
    transition: none !important;
}


#floatingChatBtn.force-open .chat-text-split span {
    opacity: 1 !important;
    transform: translateY(0) !important;
    animation: none !important;
}


#floatingChatBtn.force-open .chat-tail {
    opacity: 0 !important;
    transition: none !important;
}


#floatingChatBtn.force-open .bubble-gradient-overlay {
    opacity: 0 !important;
    transition: none !important;
}

#floatingChatBtn.force-open .chat-dots span {
    background-color: black;
    animation: none !important;
}


@keyframes textUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes jump {

    0%,
    30%,
    50%,
    80%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-18px);
    }
}

/* -------- MODAL START -------*/

body.btn-login-generic-hidden .bb-modal-dynamic-wrapper button.open_login_IF,
body.btn-login-mobile-menu-hidden .mobile_only.menu-drawer .wrp-m-btns button.open_login_IF {
    display: none;
}

.bb-modal-wrapper,
.bb-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    pointer-events: none;
}

/*.bb-modal[data-btn="dynamic-trigger"] {
    display: none;
}*/

/*.bb-modal.is-open {
    display: block !important;
}

.bb-modal dialog[open] {
    display: flex !important;
    flex-direction: column;
}*/

.bb-modal {
    display: none;
    outline: solid 1px white;
}


.bb-modal.invisible {
    display: none;
}

.bb-modal-box {
    width: 555px;
    padding: 24px 40px 40px 40px;
    background-color: var(--neutral-k1);
    border: unset;
    color: white;
}

.bb-modal-overlay {
    background: rgba(0, 0, 0, 0.60);
    backdrop-filter: blur(8px);
}

.bb-modal.active {
    pointer-events: all;
}

.bb-modal-close-btn:focus {
    outline: 1px solid var(--neutral-k10);
}

/* --------- MODAL END  -------*/


/* play/pause module */

.rotator-control-btn,
.slider-control-btn {
    z-index: 10;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: all 0.3s ease;
}

.rotator-control-btn .icon-pause,
.rotator-control-btn .icon-play,
.slider-control-btn .icon-pause,
.slider-control-btn .icon-play {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
}

.wrp-ctas {
    display: flex;
    flex-direction: row;
    gap: 16px;
}

/* alignment */
.alignment_center {
    text-align: center;
}

.alignment_left {
    text-align: left;
}

.alignment_right {
    text-align: right;
}

/* accordion btn down */
.icon {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    flex-shrink: 0;
    display: inline-block;
}

.icon-wrp {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    background-color: var(--neutral-w);
}

.icon_accordion {
    background-image: url(../img/arrow-white-down.svg);
    width: 20px;
    height: 20px;
}

/* accordion style generic */
.container-accordion {
    text-align: center;
}

.container-accordion .acc-btn {
    width: 100%;
    font-size: 16px;
    border-radius: 16px;
    font-family: "MavenPro-Regular";
    color: var(--neutral-k10);
    background-color: var(--neutral-k1);
    text-align: left;
    padding: 20px 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.container-accordion .acc-btn .label {
    padding-right: 8px;
    width: calc(100% - 40px);
    font-family: "MavenPro-Bold";
}

.container-accordion .acc-response {
    padding: 0px 40px;
    text-align: left;
    display: none;
}

.container-accordion .acc-response-wrp {
    padding: 24px 0px;
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid var(--neutral-k3);
}

.container-accordion .acc-response-wrp:last-child {
    border-bottom: none;
}

.container-accordion .acc-response-wrp .acc-response-content {
    padding-right: 16px;
}

.container-accordion .cnt-acc-item {
    width: 100%;
    border-radius: 16px;
    margin-bottom: 16px;
}

.container-accordion .cnt-acc-item.hide-faq-lm {
    display: none;
}

.container-accordion .cnt-acc-item:last-child {
    margin-bottom: 0px;
}

.container-accordion .cnt-acc-item.open-accordion {
    border: 1px solid var(--neutral-k3);
}

.container-accordion .cnt-acc-item.open-accordion .acc-btn {
    background-color: transparent;
}

.container-accordion .cnt-acc-item.open-accordion .acc-btn .label {
    padding-right: 16px;
}

.container-accordion .cnt-acc-item.open-accordion .icon-wrp {
    background-color: var(--neutral-k1);
}

.container-accordion .cnt-acc-item.open-accordion .icon-wrp .icon_accordion {
    transform: rotate(180deg);
}

/* generic */
.accordion-block .text-wrapper,
.faq-block .text-wrapper {
    padding-bottom: 56px;
}

.faq-block .container-accordion .acc-response {
    padding-bottom: 20px;
}

.faq-block .load-more {
    margin-top: 40px;
}

.faq-block .load-more.cta_btn.no_border_blue_text:after {
    rotate: 90deg;
    margin-left: 4px;
}

.faq-block .load-more.cta_btn.no_border_blue_text.fully-expanded:after {
    rotate: 270deg;
    margin-left: 4px;
}

/* accordion simple */

.container-accordion-simple .accordion-title {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.container-accordion-simple .accordion-content {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-20px);
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.container-accordion-simple .accordion-section.is-open .accordion-content {
    max-height: min-content;
    opacity: 1;
    transform: translateY(0);
    padding-top: 0;
    padding-top: 24px;
}

.container-accordion-simple .accordion-section h3 {
    font-size: 24px;
    padding-bottom: 0px;
}

.container-accordion-simple .accordion-section {
    border-bottom: 1px solid #C2CDDD;
    padding: 24px 0px;
}

.container-accordion-simple .accordion-section.is-open .accordion-title-btn .icon_accordion_black,
.container-accordion-simple .accordion-section.is-open .accordion-title-btn .icon_accordion_white {
    transform: rotate(270deg);
}

.container-accordion-simple .icon_accordion_white {
    transform: rotate(90deg);
}

/* swiper arrow */

.slider-swiper-arrow {
    gap: 18px;
}

.slider-swiper-arrow .swiper-button-prev,
.slider-swiper-arrow .swiper-button-next {
    position: relative;
    right: unset;
    left: unset;
    top: unset;
    margin-top: unset;

    background-color: var(--neutral-k1);
    border-radius: 100rem;
    width: 32px;
    height: 32px;
}

.slider-swiper-arrow .slider-control-btn:focus-visible,
.slider-swiper-arrow .swiper-button-prev:focus-visible,
.slider-swiper-arrow .swiper-button-next:focus-visible {
    outline: solid 3px var(--primary-t2);
}

.background-schema_white .slider-swiper-arrow .slider-control-btn:focus-visible,
.background-schema_white .slider-swiper-arrow .swiper-button-prev:focus-visible,
.background-schema_white .slider-swiper-arrow .swiper-button-next:focus-visible {
    outline: solid 3px var(--primary-t2);
}

.slider-swiper-arrow .swiper-button-prev.swiper-button-disabled,
.slider-swiper-arrow .swiper-button-next.swiper-button-disabled {
    opacity: 0.5;
    pointer-events: none;
    cursor: not-allowed;
}

.slider-swiper-arrow svg {
    width: 16px;
    height: 16px;
    fill: #ffffff;
}

.slider-swiper-arrow svg path {
    fill: #ffffff;
}

.scroll-arrow-wrapper {
    position: absolute;
    left: 0;
    top: calc(100svh - 48px);
    width: 100%;
    height: fit-content;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    z-index: 3;
}

.scroll-arrow-wrapper img {
    width: 32px;
    animation-name: arrow-animation;
    animation-timing-function: cubic-bezier(0.6, 0.1, 0.1, 0.6);
    animation-duration: 2s;
    animation-iteration-count: infinite;
}


/* modal login */

.iframe-modal {
    display: none;
    position: fixed;
    z-index: 99999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(2px);
    /* Effetto sfocato moderno */
}

/* Box contenitore */
.iframe-modal .iframe-modal-content {
    margin: 5% auto;
    padding: 0;
    width: 100%;
    max-width: 800px;
    justify-content: center;
    display: flex;
    align-items: center;
    min-height: calc(100% - 3.5rem);
    position: relative;
    border-radius: 20px;
    margin: 1.75rem auto;
    overflow: hidden;
}

.iframe-modal .iframe-modal-content .sn_modal_container {
    width: 100%;
    min-height: 600px;
    background-color: #121212;
    position: relative;
    padding: 55px 60px 40px 60px;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.iframe-modal .iframe-modal-content .sn_modal_container_inner {
    width: 100%;
    height: 600px;
    background-color: #ffffff;
}

.iframe-modal .iframe-close {
    color: #121212;
    position: absolute;
    top: 5px;
    right: 5px;
    font-size: 28px;
    font-family: "MavenPro-Regular", Arial;
    cursor: pointer;
    z-index: 100;
    background: #121212;
    padding: 0 8px;
    width: 33px;
    height: 33px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.iframe-modal .iframe-close span {
    background-image: url("../img/buddy-close.svg");
    width: 16px;
    height: 16px;
    background-size: contain;
    background-repeat: no-repeat;
    display: flex;
}

.iframe-modal .iframe-close:focus-visible,
.iframe-modal .iframe-close:focus,
.bb-modal-close-btn:focus-visible,
.bb-modal-close-btn:focus {
    outline: 3px solid var(--primary-t2);
}

/* Iframe */
.iframe-modal .iframe-modal-content iframe {
    border: none;
    width: 100%;
    height: 100%;
}

@media screen and (min-width: 1200px) {
    .iframe-modal .iframe-modal-content {
        max-width: 1046px;
    }
}

@media screen and (max-width: 768px) {
    .iframe-modal .iframe-modal-content .sn_modal_container {
        padding: 20px 30px;
    }
}


/*404*/
.error404 {
    padding-top: calc(var(--menu-height) + var(--sticky-h-height) + 80px);
}

.error-404 {
    padding-left: 24px;
    padding-right: 24px;
}

.error-404 .page-content {
    padding-bottom: 120px;
    text-align: center;
}

.error-404 .subtext {
    padding-top: 24px;
}

.error-404 .cta_btn {
    margin-top: 40px;
    color: #121212;
}

/* Stili personalizzati Liste */

/* Stile Lista Checkbox */
ul.list-checkbox {
    list-style: none !important;
    padding-left: 0px;
    margin-left: 0px !important;
}

ul.list-checkbox li::marker,
ul.list-custom-bullet li::marker {
    content: "";
    display: none;
}

ul.list-checkbox li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 10px;
}

ul.list-checkbox li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 3px;
    width: 22px;
    height: 22px;
    background-color: var(--primary-t2);
    border-radius: 4px;
    z-index: 1;
}

ul.list-checkbox li::after {
    content: '✔';
    position: absolute;
    left: 5px;
    top: -6px;
    width: 20px;
    height: 20px;
    font-size: 20px;
    z-index: 2;
    pointer-events: none;
}

/* Stile Lista Pallino Personalizzato */
ul.list-custom-bullet {
    list-style: none !important;
    margin-left: 0px !important;
}

ul.list-custom-bullet li::before {
    content: '•';
    color: var(--primary-t2);
    font-weight: bold;
    display: inline-block;
    width: auto;
    background-color: inherit;
    font-size: 1.2em;
    margin-right: 10px;
}


@keyframes arrow-animation {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-15px);
    }

    100% {
        transform: translateY(0px);
    }
}

/** WP settings */

@media screen and (max-width: 600px) {
    #wpadminbar {
        position: fixed;
    }
}

@media screen and (max-width: 1300px) {
    :root {
        --menu-padding-x: 24px;
    }
}

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

    header .mobile_only {
        display: block !important;
    }

    header .desktop_only {
        display: none !important;
    }

    :root {
        --menu-logo-height: 36px;
        --menu-padding-x: 24px;
        --menu-padding-y: 8px;
    }

    .error404 {
        padding-top: calc(var(--menu-height) + var(--sticky-h-height) + 40px);
    }

    .error-404 .page-content {
        padding-bottom: 80px;
    }

    /* horizontal-image-text curve is on bottom for mobile */
    .curve-effect.gradient-right {
        top: unset;
        bottom: 0;
        left: 0;
        right: inherit;
        margin-right: inherit;
    }

    .curve-effect.gradient-vertical {
        transform: translateX(calc(var(--wide-offset) * -1));
        width: calc(100% + (var(--wide-offset) * 2));
        height: var(--gradient-thickness);
        background: radial-gradient(ellipse at center bottom, var(--neutral-w) 0%, var(--neutral-w) 70%, #12121200 70.5%);
    }

    .background-schema_gray .curve-effect.gradient-vertical {
        background: radial-gradient(ellipse at center bottom, var(--neutral-k1) 0%, var(--neutral-k1) 70%, #2A2A2A00 70.5%);
    }

    .background-schema_white .curve-effect.gradient-vertical {
        background: radial-gradient(ellipse at center bottom, var(--neutral-k10) 0%, var(--neutral-k10) 70%, #FAFAFA00 70.5%);
    }

    .curve-effect.gradient-horizontal {
        --gradient-thickness: 20px;
        height: var(--gradient-thickness);
    }

    .cta_btn.smaller_cta {
        padding: 16px 24px;
    }

    .w50 {
        width: 100%;
    }

    .bb-modal-box {
        width: unset;
        margin: 0 20px;
    }

    .wrp-ctas {
        display: flex;
        flex-direction: column;
        gap: 8;
    }

    .wrp-ctas .cta_wrapper:not(:first-child) {
        padding-top: 16px;
    }

}

@media screen and (max-height: 600px) and (min-width: 1024px) {

    h1,
    .h1-style {
        font-size: 48px;
    }
}

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

    /*font style mobile*/
    h1,
    .h1-style {
        font-size: 40px;
    }

    h2,
    .h2-style {
        font-size: 36px;
    }

    h3,
    .h3-style {
        font-size: 32px;
    }

    .mobile_only {
        display: block !important;
    }

    .desktop_only {
        display: none !important;
    }

    .a-link {
        font-size: 24px;
    }

    .cta_btn {
        min-width: 240px;
    }

    /* padding */
    .pb-180-80 {
        padding-top: 80px;
        padding-bottom: 40px;
    }

    /* video */
    .video-controls .video-controls-wrap {
        padding: 0 24px;
    }

    /* layer overlay */
    .layer-overlay {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.70) 50.21%);
    }

    .full-blue-gradient-wrapper,
    .full-blue-gradient {
        top: unset;
        bottom: 0;
    }

    .full-blue-gradient {
        height: 50vh;
    }

    #floatingChatBtn {
        right: 24px;
    }

    /* mobile flex changes */

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

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

    /* chat open mobile */

    #floatingChatBtn:not(.force-open) .chat-bubble::after {
        content: none;
    }

    #floatingChatBtn:not(.force-open) .chat-bubble {
        width: 88px !important;
        height: 88px !important;
        border-radius: 50% !important;
        padding: 0 !important;
        justify-content: center !important;
    }

    #floatingChatBtn:not(.force-open) .chat-content-wrapper,
    #floatingChatBtn:not(.force-open) .chat-text-split {
        display: none !important;
        opacity: 0 !important;
        width: 0 !important;
    }

    /*#floatingChatBtn:not(.force-open) .chat-dots span {
        animation: none !important;
        transform: translateY(0) !important;
        opacity: 1 !important;
    }*/

    #floatingChatBtn:not(.force-open) .chat-tail {
        opacity: 1 !important;
        transform: scale(1) !important;
        right: 4px !important;
        bottom: 4px !important;
    }

    #floatingChatBtn:not(.force-open) .bubble-gradient-overlay {
        opacity: 1 !important;
    }

    /* hover */

    #floatingChatBtn.force-open .chat-bubble {
        width: 278px !important;
        height: 64px !important;
        border-radius: 35px !important;
        padding: 0 30px !important;
        justify-content: space-between !important;
        background-color: #ffffff !important;
        /*border: 2px solid var(--primary-t2);*/
    }

    #floatingChatBtn.force-open .chat-content-wrapper {
        flex-grow: 1 !important;
        max-width: 200px !important;
        width: auto !important;
        opacity: 1 !important;
        transition: none !important;
        display: flex !important;
    }

    #floatingChatBtn.force-open .chat-text-split {
        opacity: 1 !important;
        transition: none !important;
    }


    #floatingChatBtn.force-open .chat-text-split span {
        opacity: 1 !important;
        transform: translateY(0) !important;
        animation: none !important;
    }


    #floatingChatBtn.force-open .chat-tail {
        opacity: 0 !important;
        transition: none !important;
    }


    #floatingChatBtn.force-open .bubble-gradient-overlay {
        opacity: 0 !important;
        transition: none !important;
    }

    #floatingChatBtn.force-open .chat-dots span {
        background-color: black;
        animation: none !important;
    }

    /* accordion mobile */
    .container-accordion .acc-btn {
        padding: 16px 24px;
    }

    .container-accordion .acc-response-wrp {
        padding: 16px 0px;
        flex-direction: column;
    }

    .container-accordion .acc-response {
        padding: 0px 24px;
    }

    .container-accordion .acc-response-wrp .acc-extra {
        padding-top: 8px;
    }

    .accordion-block .text-wrapper,
    .faq-block .text-wrapper {
        padding-bottom: 16px;
    }

}