:root { --font-heading: 'Poppins'; --font-text: 'Proxima Nova'; --font-size-base: 1.6rem; --border-radius: 1.5rem; --textcolor: #222D32; --themecolor: #EF7E0B; --themecolor1: #5BAF92; --themecolor2: #222D32; --themecolor3: #ECF0F5; --themecolor4: #CDE7DE; --border: #ECF0F5; --border2: #CFDCEC; }

@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/Poppins-Regular.woff2") format("woff2"); }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/Poppins-Bold.woff2") format("woff2"); }
@font-face { font-family: 'Proxima Nova'; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/proximanova_regular.woff2") format("woff2"); }
@font-face { font-family: 'Proxima Nova'; font-style: normal; font-weight: 900; font-display: swap; src: url("../fonts/proximanova_extrabold.woff2") format("woff2"); }
@use "sass:math";
:root { --max-width: 164rem; --container-small: 128rem; --default-space: 10rem; --grid-gap: 3rem; --padding-default: 4rem; }
@media only screen and (max-width: 767px) { :root { --default-space: 5rem; } }

.container { max-width: var(--max-width); margin-inline: auto; width: 100%; padding-left: calc(var(--container-margin, 6.25rem)*.5); padding-right: calc(var(--container-margin, 6.25rem)*.5); }
@media only screen and (max-width: 767px) { .container { --container-margin: 3rem; } }

section { position: relative; display: flex; width: 100%; padding-top: var(--default-space); padding-bottom: var(--default-space); z-index: 1; }
section::before { content: ''; left: 50%; max-width: 100.2vw; transform: var(--transform, translateX(-50%)); position: absolute; top: 0; bottom: 0; z-index: -1; width: 125.25vw; background: var(--backgroundColor, #fff); }

.block-grid { overflow: visible; width: 100%; margin: 0; padding: 0; list-style: none; display: flex; flex-direction: row; justify-content: flex-start; align-items: stretch; flex-wrap: wrap; gap: var(--grid-margin, 1.875rem); }
@media only screen and (max-width: 767px) { .block-grid { flex-direction: column; } }
.block-grid > li { list-style: none; width: 100%; }
.block-grid.one-up > li { width: 100%; }
.block-grid.two-up > li { width: calc(100% / 2 - var(--grid-gap)); }
.block-grid.three-up > li { width: calc(100% / 3 - var(--grid-gap)); }
.block-grid.four-up > li { width: calc(100% / 4 - var(--grid-gap)); }
.block-grid.five-up > li { width: calc(100% / 5 - var(--grid-gap)); }
.block-grid.six-up > li { width: calc(100% / 6 - var(--grid-gap)); }
@media only screen and (max-width: 767px) { .block-grid.one-up > li { width: 100%; }
  .block-grid.two-up > li { width: 100%; }
  .block-grid.three-up > li { width: 100%; }
  .block-grid.four-up > li { width: 100%; }
  .block-grid.five-up > li { width: 100%; }
  .block-grid.six-up > li { width: 100%; } }

html { box-sizing: border-box; scroll-behavior: smooth; font-size: 62.5%; font-family: var(--font-text); }

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

body { max-height: var(--vh, 100vh); overflow-x: hidden; overflow-y: scroll; font-size: var(--font-size-base); }

@media only screen and (max-width: 767px) { .maincontainer { overflow: hidden; } }

a { color: inherit; text-decoration: none; background-color: transparent; }

h1, h2, h3, h4, h5 { font-family: var(--font-heading); }
h1 span, h2 span, h3 span, h4 span, h5 span { color: var(--themecolor1); }

h1, .h1 { font-size: 5rem; line-height: 1.2; font-weight: 700; }
@media only screen and (max-width: 767px) { h1, .h1 { font-size: 3rem; } }

h2, .h2 { font-size: 4.5rem; line-height: 1.2; font-weight: 700; }
@media only screen and (max-width: 767px) { h2, .h2 { font-size: 2.8rem; } }

h3, .h3 { font-size: 2rem; line-height: 1.2; font-weight: 700; }
@media only screen and (max-width: 767px) { h3, .h3 { font-size: 2.4rem; } }

h5, .h5 { font-size: 2.2rem; font-weight: bold; }

.Content, .ck-content { font-size: 2.1rem; line-height: 1.45; display: flex; flex-direction: column; gap: 1rem; }
@media only screen and (max-width: 767px) { .Content, .ck-content { font-size: 1.8rem; } }
.Content a, .ck-content a { color: var(--themecolor1); }
.Content strong, .ck-content strong { font-weight: bold; }
@media only screen and (max-width: 767px) { .Content ul, .ck-content ul { padding-left: 2rem; } }

.Heading + .Content { margin-top: 1rem; }

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

.Block[style*="--backgroundColor: var(--themecolor)"], .Block[style*="--backgroundColor: var(--themecolor1)"], .Block[style*="--backgroundColor: var(--themecolor2)"] { color: #fff; }
.Block[style*="--backgroundColor: var(--themecolor)"] svg, .Block[style*="--backgroundColor: var(--themecolor1)"] svg, .Block[style*="--backgroundColor: var(--themecolor2)"] svg { fill: #fff; }
.Block[style*="--backgroundColor: var(--themecolor)"] .more, .Block[style*="--backgroundColor: var(--themecolor1)"] .more, .Block[style*="--backgroundColor: var(--themecolor2)"] .more { border-color: #fff; color: #fff; }
.Block[style*="--backgroundColor: var(--themecolor)"] .more:hover, .Block[style*="--backgroundColor: var(--themecolor1)"] .more:hover, .Block[style*="--backgroundColor: var(--themecolor2)"] .more:hover { background: var(--themecolor3); border-color: var(--themecolor3); color: var(--themecolor2); }
.Block[style*="--backgroundColor: var(--themecolor)"] .more:not(.outline), .Block[style*="--backgroundColor: var(--themecolor1)"] .more:not(.outline), .Block[style*="--backgroundColor: var(--themecolor2)"] .more:not(.outline) { background: #fff; color: var(--themecolor2); }
.Block[style*="--backgroundColor: var(--themecolor)"] .more:not(.outline):hover, .Block[style*="--backgroundColor: var(--themecolor1)"] .more:not(.outline):hover, .Block[style*="--backgroundColor: var(--themecolor2)"] .more:not(.outline):hover { background: var(--themecolor3); border-color: var(--themecolor3); color: var(--themecolor2); }
.Block[style*="--backgroundColor: var(--themecolor)"] .more.outline, .Block[style*="--backgroundColor: var(--themecolor1)"] .more.outline, .Block[style*="--backgroundColor: var(--themecolor2)"] .more.outline { border-color: #fff; color: #fff; }
.Block[style*="--backgroundColor: var(--themecolor)"] .more.outline:hover, .Block[style*="--backgroundColor: var(--themecolor1)"] .more.outline:hover, .Block[style*="--backgroundColor: var(--themecolor2)"] .more.outline:hover { background: var(--themecolor3); border-color: var(--themecolor3); color: var(--themecolor2); }
.Block[style*="--backgroundColor: var(--themecolor)"] .tns-custom-arrows button, .Block[style*="--backgroundColor: var(--themecolor1)"] .tns-custom-arrows button, .Block[style*="--backgroundColor: var(--themecolor2)"] .tns-custom-arrows button { border-color: #fff; }
.Block[style*="--backgroundColor: var(--themecolor)"] .tns-custom-arrows button:hover, .Block[style*="--backgroundColor: var(--themecolor1)"] .tns-custom-arrows button:hover, .Block[style*="--backgroundColor: var(--themecolor2)"] .tns-custom-arrows button:hover { background: #fff; }
.Block[style*="--backgroundColor: var(--themecolor)"] .tns-custom-arrows button:hover svg, .Block[style*="--backgroundColor: var(--themecolor1)"] .tns-custom-arrows button:hover svg, .Block[style*="--backgroundColor: var(--themecolor2)"] .tns-custom-arrows button:hover svg { fill: var(--themecolor2); }

:root { --nav-fontsize: 1.6rem; --nav-borderradius: 1.2rem; --button-vspace: 1.2rem; --button-hspace: 2.4rem; --nav_spacing: 1.5rem; }
@media only screen and (max-width: 767px) { :root { --nav_spacing: 1rem; --button-vspace: 1.6rem; --button-hspace: 2.8rem; } }

nav { display: flex; flex-direction: var(--nav_flex-direction, row); justify-content: var(--nav_justify-content, flex-start); flex-wrap: wrap; align-items: var(--nav_align-items, center); gap: var(--nav_spacing, 0.625rem); width: var(--nav_width, 100%); margin-top: var(--nav_topmargin, 1.875rem); user-select: none; cursor: default; width: fit-content; }
@media only screen and (max-width: 767px) { nav { justify-content: center; } }

.more:not(.outline) { background: var(--themecolor); border: 1px solid var(--themecolor); color: #fff; border-radius: var(--nav-borderradius); padding: var(--button-vspace) var(--button-hspace); transition: all .3s ease-in-out; }
.more:not(.outline):hover { background: #D8740E; border-color: #D8740E; }
.more:not(.outline).bg2 { background: #631E3C; border: #631E3C; }
.more:not(.outline).bg2:hover { background: #3d1024; border-color: #3d1024; }
.more.outline { background: transparent; border: 1px solid var(--themecolor2); color: var(--themecolor2); border-radius: var(--nav-borderradius); padding: var(--button-vspace) var(--button-hspace); transition: all .3s ease-in-out; }
.more.outline:hover { background: var(--themecolor2); border-color: var(--themecolor2); color: #fff; }

.editor-styles-wrapper { font-family: var(--font-text); }
.editor-styles-wrapper .Hero { background: red !important; }

.Block:not(.Item).h.v, .Element.h.v { animation-duration: var(--animation-normal-duration, 1.2s); animation-delay: calc(var(--animation-normal-delay, 0s) + var(--animation-column-delay, 0s)); animation-name: var(--animation-normal, fadeInUpTransform); animation-fill-mode: both; backface-visibility: hidden; }

.Block.Item.h.v { animation-duration: var(--animation-advanced-duration, 1s); animation-delay: calc(var(--animation-advanced-delay, 0s) + var(--animation-column-delay, 0s) + var(--a-i, 0s)); animation-name: var(--animation-advanced, fadeInUpTransform); animation-fill-mode: both; backface-visibility: hidden; }

.Block.h, .Element.h { opacity: 0; transition: opacity .3s ease-in-out; }
.Block.v, .Element.v { opacity: 1; }

.Header { z-index: 1001; left: 0; top: 0; right: 0; position: relative; background: #fff; transition: all 0.3s ease; }
@media only screen and (max-width: 767px) { .Header { max-width: 100vw; width: 100%; } }
.Header.sticky { position: fixed; top: 0; left: 0; right: 0; z-index: 999; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); }
.Header #headerTop .container, .Header #headerMiddle .container { display: flex; }
.Header #headerTop .container > *, .Header #headerMiddle .container > * { display: flex; align-items: center; }
.Header #headerTop { background: var(--themecolor2); color: #fff; }
.Header #headerTop .container { justify-content: flex-end; }
.Header #headerTop .container .right { width: fit-content; }
.Header #headerMiddle .container { justify-content: space-between; }
.Header .Brand { --brand-width: 18rem; --brand-margin: 1.5rem; margin: var(--brand-margin) 0; }
@media only screen and (max-width: 767px) { .Header .Brand { --brand-width: 15rem; --brand-margin: 1rem; } }
.Header .Brand span.logo { width: var(--brand-width); display: flex; align-items: center; }
.Header .Brand svg { width: 100%; height: auto; display: block; }
.Header nav { margin-top: 0; }
.Header .navbar { list-style: none; padding: 0; display: flex; justify-self: flex-start; align-items: stretch; }
.Header .navbar > li { margin: 0; padding: 0; }
.Header .navbar > li > a { position: relative; padding: var(--nav-vspace, 0.9375rem) var(--nav-hspace, 0.9375rem); display: flex; align-self: stretch; align-items: center; font-size: 1.8rem; height: 100%; }
.Header .navbar > li > a:hover { color: var(--themecolor); }
.Header .navbar#menu-topnav li.current_page_item a, .Header .navbar#menu-mainnav li.current_page_item a { color: var(--themecolor); }
.Header .navbar.Topnav { --nav-vspace: 1rem; --nav-hspace: 2rem; }
.Header .navbar.Mainnav { --nav-vspace: 1rem; --nav-hspace: 2.5rem; }
.Header .navbar.Ctanav a { --button-vspace: 1.2rem; --button-hspace: 2.4rem; background: var(--themecolor); border: 1px solid var(--themecolor); color: #fff; border-radius: 1.2rem; padding: var(--button-vspace) var(--button-hspace); }
.Header .navbar.Ctanav a:hover { background: var(--themecolor2); border-color: var(--themecolor2); color: #fff; }
@media only screen and (max-width: 767px) { .Header .desktop-only { display: none !important; }
  .Header .hamburger { background: none; border: none; font-size: 3rem; cursor: pointer; color: var(--themecolor2); }
  .Header .mobile-menu { position: fixed; top: 0; left: -100%; height: 100%; background: var(--themecolor3); z-index: 9999; padding: 2rem; transition: left 0.3s ease; overflow-y: auto; display: flex; flex-direction: column; gap: 2rem; width: 100%; max-width: 100vw; max-height: 100vh; }
  .Header .mobile-menu .top { display: flex; align-items: center; justify-content: space-between; }
  .Header .mobile-menu .top .Brand { margin: 0; }
  .Header .mobile-menu nav { flex-direction: column; gap: 1rem; width: 100%; }
  .Header .mobile-menu nav.menu-mainnav-container .Mainnav, .Header .mobile-menu nav.menu-topnav-container .Topnav { flex-direction: column; width: 100%; }
  .Header .mobile-menu nav.menu-mainnav-container .Mainnav li > a, .Header .mobile-menu nav.menu-topnav-container .Topnav li > a { padding-left: 0; }
  .Header .mobile-menu nav.menu-mainnav-container .Mainnav li { border-bottom: 1px solid var(--border2); }
  .Header .mobile-menu nav.menu-mainnav-container .Mainnav li:first-child { border-top: 1px solid var(--border2); }
  .Header .mobile-menu nav.menu-mainnav-container .Mainnav li > a { --nav-vspace: 2rem; font-size: 2.4rem; }
  .Header .mobile-menu nav.menu-ctanav-container { flex: 1; justify-content: flex-end; width: 100%; }
  .Header .mobile-menu nav.menu-ctanav-container .Ctanav, .Header .mobile-menu nav.menu-ctanav-container .Ctanav li, .Header .mobile-menu nav.menu-ctanav-container .Ctanav li a { width: 100%; justify-content: center; }
  .Header .mobile-menu .close { background: none; border: none; font-size: 3rem; color: var(--themecolor2); cursor: pointer; }
  .Header .mobile-menu.open { left: 0; } }
@media only screen and (min-width: 768px) { .Header .mobile-only { display: none !important; }
  .Header .mobile-menu { display: none !important; } }

.footer { --footerMiddle-padding: 14rem; --footerBottom-padding: 2rem; --social-size: 3.5rem; background: var(--themecolor2); color: #fff; }
@media only screen and (max-width: 767px) { .footer { --footerMiddle-padding: 4rem; --footerBottom-padding: 2rem; } }
.footer .navbar { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 1rem; }
.footer .navbar > li { margin: 0; padding: 0; }
.footer .navbar > li > a { position: relative; height: 100%; }
.footer .navbar.Footernav > li a { font-size: 2rem; }
.footer .navbar.Footernav > li a:hover { opacity: 0.6; }
.footer .navbar.bottomnav { flex-direction: row; gap: 3rem; }
.footer .navbar.bottomnav > li:hover { opacity: 0.6; }
.footer .Brand { --brand-width: 25rem; --brand-margin: 1.5rem; margin: var(--brand-margin) 0; }
.footer .Brand span.logo { width: var(--brand-width); display: flex; align-items: center; }
.footer .Brand svg { width: 100%; height: auto; display: block; color: inherit; fill: currentColor; }
.footer .Social { display: flex; gap: 2rem; }
.footer .Social > a { width: var(--social-size); height: var(--social-size); }
.footer .Social > a svg { width: var(--social-size); height: var(--social-size); fill: #fff; }
.footer .Social > a:hover svg { fill: var(--themecolor); }
.footer #footerMiddle, .footer #footerBottom { max-width: var(--max-width); margin-inline: auto; width: 100%; padding-left: calc(var(--container-margin, 6.25rem)*.5); padding-right: calc(var(--container-margin, 6.25rem)*.5); }
.footer #footerMiddle > .container, .footer #footerBottom > .container { display: flex; justify-content: space-between; }
.footer #footerMiddle .container { max-width: var(--container-small); width: 100%; padding: var(--footerMiddle-padding) 0; gap: 38rem; }
@media only screen and (max-width: 767px) { .footer #footerMiddle .container { max-width: 100%; flex-direction: column; gap: 3rem; } }
.footer #footerMiddle .block-grid { flex-wrap: nowrap; gap: 14rem; }
@media only screen and (max-width: 767px) { .footer #footerMiddle .block-grid { gap: 3rem; } }
.footer #footerMiddle nav { width: max-content; }
.footer #footerMiddle .h5 { margin-bottom: 1rem; }
.footer #footerBottom .container { padding: var(--footerBottom-padding) 0; border-top: 1px solid var(--border); }
.footer #footerBottom .container > * { display: flex; align-items: center; gap: 3rem; }
@media only screen and (max-width: 767px) { .footer #footerBottom .container { flex-direction: column-reverse; gap: 3rem; } }
.footer #footerBottom .menu-bottom-nav-container { margin-top: 0; }
.footer .logo.calvagone { display: flex; align-items: flex-end; gap: 1rem; margin-top: 2rem; }
.footer .logo.calvagone .slogan { margin-bottom: 1.5rem; }
.footer .logo.calvagone img { max-width: 23rem; }

.Hero { gap: 8rem; z-index: 0; }
@media only screen and (max-width: 767px) { .Hero { gap: 4rem; }
  .Hero .h1, .Hero .Content.ck-content { text-align: center; } }
@media only screen and (max-width: 767px) { .Hero.with_media { flex-direction: column-reverse; } }
.Hero.with_media > .inner { width: 45%; }
@media only screen and (max-width: 767px) { .Hero.with_media > .inner { width: 100%; display: flex; flex-direction: column; align-items: center; } }
.Hero.with_media > figure { width: 55%; position: relative; }
@media only screen and (max-width: 767px) { .Hero.with_media > figure { width: 100%; } }
.Hero.with_media > figure::before { content: ''; background: var(--themecolor3); clip-path: circle(50% at 50% 50%); position: absolute; display: block; width: 143rem; height: 143rem; left: 3rem; top: 50%; transform: translateY(-50%); }
@media only screen and (max-width: 767px) { .Hero.with_media > figure::before { top: -220%; left: -110%; z-index: -1; width: 110rem; height: 110rem; } }
.Hero.with_media > figure .video-wrapper { overflow: hidden; border-radius: var(--border-radius); }
.Hero.with_media > figure video { width: 100%; height: 100%; }
.Hero.with_media #custom-play svg { --playbutton_size: 15rem; width: var(--playbutton_size); height: var(var(--playbutton_size)); position: absolute; top: calc(50% - (var(--playbutton_size) / 2)); left: calc(50% - (var(--playbutton_size) / 2)); animation: spin 20s linear infinite; transition: transform .3s ease-in-out; }
@media only screen and (max-width: 767px) { .Hero.with_media #custom-play svg { --playbutton_size: 8rem; } }
.Hero.with_media #custom-play svg:hover { cursor: pointer; transform: scale(1.05); }
.Hero.with_media #custom-play .icon { --playicon_size: 3rem; background-color: #fff; width: var(--playicon_size); height: var(--playicon_size); position: absolute; top: calc(50% - (var(--playicon_size) / 2)); left: calc(50% - (var(--playicon_size) / 2) + .7rem); clip-path: polygon(0 0, 0% 100%, 80% 50%); }
@media only screen and (max-width: 767px) { .Hero.with_media #custom-play .icon { --playicon_size: 1.5rem; } }
@keyframes spin { 100% { -webkit-transform: rotate(360deg); -moz-transform: rotate(360deg); -o-transform: rotate(360deg); transform: rotate(360deg); } }
@media only screen and (min-width: 767px) { .Hero:not(.with_media)::before { content: ''; background: var(--themecolor3); content: ''; left: 50%; max-width: 100.2vw; transform: var(--transform, translateX(-50%)); position: absolute; top: 0; bottom: 0; z-index: -1; width: 125.25vw; } }
.Hero:not(.with_media) .inner { display: flex; flex-direction: column; align-items: center; max-width: 95rem; margin-inline: auto; text-align: center; }

.Block.Marquee.Detail { display: flex; overflow: visible; white-space: nowrap; min-height: 14rem; padding: 0; }
@media only screen and (max-width: 767px) { .Block.Marquee.Detail { min-height: 7rem; } }
.Block.Marquee.Detail::before { display: none; }
.Block.Marquee.Detail .wrapper { position: absolute; left: 50%; background: var(--backgroundColor); transform: translateX(-50%); width: 125vw; overflow: visible; display: flex; padding: 4rem; }
@media only screen and (max-width: 767px) { .Block.Marquee.Detail .wrapper { padding: 2rem; } }
.Block.Marquee.Detail .wrapper > ul { display: flex; align-items: center; animation: scroll 800s linear infinite; }
.Block.Marquee.Detail .wrapper > ul span { flex: 0 0 auto; padding: 0 2rem; list-style: none; font-size: 5rem; font-weight: 900; }
@media only screen and (max-width: 767px) { .Block.Marquee.Detail .wrapper > ul span { font-size: 3rem; } }
.Block.Marquee.Detail .wrapper > ul svg { --smint-size: 3.5rem; flex: 0 0 auto; width: var(--smint-size); height: var(--smint-size); transform: rotate(20deg); }
@media only screen and (max-width: 767px) { .Block.Marquee.Detail .wrapper > ul svg { --smint-size: 2.5rem; } }
@keyframes scroll { 0% { transform: translateX(0); }
  100% { transform: translateX(-100%); } }
.Block.Textblock.Detail { gap: 8rem; }
@media only screen and (max-width: 767px) { .Block.Textblock.Detail { flex-direction: column; gap: 4rem; } }
.Block.Textblock.Detail.position_left { flex-direction: row-reverse; }
@media only screen and (max-width: 767px) { .Block.Textblock.Detail.position_left { flex-direction: column-reverse; } }
.Block.Textblock.Detail.position_bottom { flex-direction: column; align-items: center; }
.Block.Textblock.Detail > .inner { width: 45%; display: flex; flex-direction: column; justify-content: center; }
@media only screen and (max-width: 767px) { .Block.Textblock.Detail > .inner { width: 100%; } }
.Block.Textblock.Detail > figure { width: 55%; position: relative; }
@media only screen and (max-width: 767px) { .Block.Textblock.Detail > figure { width: 100%; } }
.Block.Textblock.Detail > figure img { border-radius: var(--border-radius); }

.Block.Step { --nav_topmargin: 0; }
.Block.Step.Overview { flex-direction: column; }
.Block.Step.Overview > .Heading { display: flex; justify-content: space-between; margin-bottom: 3rem; }
.Block.Step.Overview > .Heading > .right { display: flex; align-items: center; gap: 3rem; }
@media only screen and (max-width: 767px) { .Block.Step.Overview nav { display: none; } }
.Block.Step.Item figure { border-radius: var(--border-radius); overflow: hidden; }
.Block.Step.Item .inner { margin-top: 2rem; max-width: 90%; }

.Block.Cta.Detail .inner { max-width: 60rem; margin-inline: auto; text-align: center; display: flex; flex-direction: column; align-items: center; }
.Block.Cta.Detail .inner .Heading { word-break: keep-all; }

.Block.pricing-plans.Overview { flex-direction: column; gap: var(--grid-gap); }
.Block.pricing-plans.Overview > .Heading { text-align: center; }
.Block.pricing-plans.Overview > .Heading .Content { text-align: center; max-width: 60%; margin-inline: auto; }
.Block.pricing-plans.Overview .block-grid { justify-content: center; }
.Block.pricing-plans.Overview .block-grid > li { max-width: 51.5rem; }
.Block.pricing-plans.Item { border-radius: var(--border-radius); background: #fff; padding: var(--padding-default); position: relative; box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px; }
.Block.pricing-plans.Item.extended { background: var(--themecolor1); color: #fff; }
.Block.pricing-plans.Item.extended .label { background: var(--themecolor2); }
.Block.pricing-plans.Item.extended .label::before, .Block.pricing-plans.Item.extended .label::after { background: var(--themecolor2); }
.Block.pricing-plans.Item.extended .Heading { border-color: #fff; }
.Block.pricing-plans.Item.extended .Content.ck-content ul li::before { background: url("../img/check-white.svg"); background-repeat: no-repeat; }
.Block.pricing-plans.Item.extended .more.outline { color: #fff; border-color: #fff; }
.Block.pricing-plans.Item.extended .more.outline:hover { background: #fff; color: var(--textcolor); }
.Block.pricing-plans.Item .Heading { border-bottom: 1px solid var(--textcolor); }
.Block.pricing-plans.Item .Heading > .bottom { margin: 2rem 0; font-size: 2rem; }
.Block.pricing-plans.Item .Heading > .left { display: flex; align-items: center; gap: 20px; flex-direction: row-reverse; justify-content: flex-end; }
@media only screen and (max-width: 767px) { .Block.pricing-plans.Item .Heading > .left { flex-direction: column; align-items: flex-start; gap: 0; } }
.Block.pricing-plans.Item .price { font-size: 5rem; font-weight: 900; position: relative; width: fit-content; }
.Block.pricing-plans.Item .price.discount { font-size: 3rem; }
.Block.pricing-plans.Item .price.discount::after { content: ''; background: var(--themecolor); width: 100%; height: 2px; position: absolute; right: 0; top: 50%; transform: rotate(-10deg); }
.Block.pricing-plans.Item .discount_price { font-size: 5rem; font-weight: 900; }
.Block.pricing-plans.Item .label { width: fit-content; padding: 1rem 2rem; position: relative; background: var(--themecolor1); color: #fff; position: absolute; right: 0; top: var(--padding-default); font-weight: 900; font-size: 1.8rem; }
.Block.pricing-plans.Item .label::before, .Block.pricing-plans.Item .label::after { content: ''; background: var(--themecolor1); height: 50%; width: 1.5rem; position: absolute; z-index: 99; display: block; right: 100%; }
.Block.pricing-plans.Item .label::before { top: 0; clip-path: polygon(100% 0, 0 0, 100% 100%); }
.Block.pricing-plans.Item .label::after { bottom: 0; clip-path: polygon(100% 0, 0 100%, 100% 100%); }
.Block.pricing-plans.Item .Content.ck-content { display: flex; flex-direction: column; gap: .5rem; margin-top: 2rem; }
.Block.pricing-plans.Item .Content.ck-content ul { list-style: none; line-height: 1.8; }
.Block.pricing-plans.Item .Content.ck-content ul > li { padding-left: 2.5rem; position: relative; }
.Block.pricing-plans.Item .Content.ck-content ul > li::before { content: ''; background: url("../img/check-orange.svg"); background-repeat: no-repeat; width: 1.5rem; height: 1.5rem; display: flex; position: absolute; left: 0; top: 1.3rem; }
.Block.pricing-plans.Item nav { text-align: center; width: 100%; margin-top: 4rem; }
.Block.pricing-plans.Item nav a { width: 100%; font-size: 2rem; padding: 2rem; }

.Block.Faq.Overview::before { background: var(--backgroundColor); left: 0%; width: 100%; clip-path: polygon(0 0, 100% 0, 80% 100%, 0% 100%); max-height: 49.5rem; }
@media only screen and (max-width: 767px) { .Block.Faq.Overview::before { display: none; } }
.Block.Faq.Overview .extended-positions { display: flex; width: 100%; }
@media only screen and (max-width: 767px) { .Block.Faq.Overview .extended-positions { flex-direction: column; gap: 5rem; } }
.Block.Faq.Overview .extended-positions > * { width: 50%; }
@media only screen and (max-width: 767px) { .Block.Faq.Overview .extended-positions > * { width: 100%; } }
.Block.Faq.Overview .extended-positions > .left { position: relative; padding-top: 5rem; padding-bottom: 5rem; }
@media only screen and (max-width: 767px) { .Block.Faq.Overview .extended-positions > .left::before { content: ''; background: var(--backgroundColor); left: 50%; transform: translateX(-50%); max-width: 100.2vw; position: absolute; top: 0; bottom: 0; z-index: -1; width: 125.25vw; } }
.Block.Faq.Item { border: 1px solid var(--border); border-radius: var(--border-radius); padding: 3rem 4rem; color: var(--textcolor); }
@media only screen and (max-width: 767px) { .Block.Faq.Item { padding: 2rem  2rem; }
  .Block.Faq.Item .h3 { font-size: 1.8rem; } }
.Block.Faq.Item .question { cursor: pointer; display: flex; justify-content: space-between; }
.Block.Faq.Item .question span.icon svg { --icon-size: 1.5rem; width: var(--icon-size); height: var(--icon-size); fill: var(--textcolor); transition: all .3s ease-in-out; }
.Block.Faq.Item .question.active span.icon svg { transform: rotate(180deg); }
.Block.Faq.Item .answer { display: none; margin-top: 3rem; }
.Block.Faq.Item .answer.active { display: flex; }

.Block.Story.Overview .tns-custom-arrows { position: absolute; top: calc(50% - 5rem); width: 100%; justify-content: space-between; z-index: 999; }
@media only screen and (max-width: 767px) { .Block.Story.Overview .tns-custom-arrows { top: inherit; bottom: 5rem; } }
.Block.Story.Overview .tns-outer { max-width: 100rem; width: 100%; margin-inline: auto; text-align: center; }
.Block.Story.Item .inner { display: flex; flex-direction: column; align-items: center; }

.Block.Contact.Overview { flex-direction: column; gap: var(--padding-default); }
.Block.Contact.Overview > .Heading { flex-direction: column; display: flex; justify-content: center; align-items: center; }
.Block.Contact.Overview .block-grid { max-width: 90rem; margin-inline: auto; }
.Block.Contact.Item { background: #fff; border-radius: var(--border-radius); box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); padding: var(--padding-default); }
.Block.Contact.Item .h2 { font-size: 3.5rem; }
.Block.Contact.Item .wpforms-container { margin-bottom: 5rem; }
.Block.Contact.Item.Address { height: 100%; display: flex; flex-direction: column; max-width: 80%; margin-left: auto; }
@media only screen and (max-width: 767px) { .Block.Contact.Item.Address { max-width: 100%; } }
.Block.Contact .address-container { display: flex; flex-direction: column; gap: 2rem; margin-top: 4rem; }
.Block.Contact .address-item a { display: flex; gap: 1rem; align-items: center; }
.Block.Contact .address-item a span.icon { background: var(--themecolor4); width: 7rem; height: 7rem; border-radius: 100%; display: flex; justify-content: center; align-items: center; border: 1px solid var(--themecolor1); }
.Block.Contact .address-item a span.icon svg { fill: var(--themecolor1); }
.Block.Contact .address-item a span.title { font-size: 2rem; font-weight: 600; }
.Block.Contact .calvagone { display: flex; align-items: flex-end; flex: 1; }
.Block.Contact .calvagone span { margin-bottom: 2rem; font-weight: bold; }
.Block.Contact .calvagone img { max-width: 30rem; }
.Block.Contact form .wpforms-field label { font-size: 1.8rem; font-weight: normal; margin-bottom: 1rem; }
.Block.Contact form .wpforms-field input, .Block.Contact form .wpforms-field textarea { border-color: var(--border); border-radius: var(--border-radius); }
.Block.Contact form .wpforms-submit-container { margin-top: 0; }
.Block.Contact form .wpforms-submit { float: right; background: var(--themecolor); border-radius: var(--border-radius); padding: 1rem 3rem; --wpforms-button-background-color-alt: var(--themecolor); }

.Block.Video.Overview .block-grid { row-gap: 4rem; }
.Block.Video.Item iframe { border-radius: var(--border-radius); }
.Block.Video.Item .Heading { margin-top: 2rem; }
.Block.Video.Item .Heading .h3 { max-width: 80%; }

.tns-custom-arrows { display: flex; align-items: center; gap: 1rem; }
.tns-custom-arrows button { border: none; background: none; padding: 1.5rem; display: flex; border: 1px solid var(--themecolor2); border-radius: 100%; pointer-events: all; cursor: pointer; transition: all .3s ease-in-out; }
.tns-custom-arrows button.slider-prev { transform: rotate(180deg); }
.tns-custom-arrows button.disabled { opacity: 0.5; pointer-events: none; }
.tns-custom-arrows button:hover { background: var(--themecolor2); }
.tns-custom-arrows button:hover svg { fill: #fff; }

/*# sourceMappingURL=style.css.map */
