:root {
    --kwprimary: #f47a20;
    --kwsecondary: #0062a0;
    --kwgrey: #f2f2f2;
    --kwbgcolor: #ffffff;
    --kwbodycolor: #292929;
    --kwbodyfontfamily: "Wix Madefor Text", sans-serif;
    --kwbodyfontsize: 18px;
    --kwbodylineheight: 1.4;
    --kwtinytext: 0.666666rem;
    --kwsmalltext: 0.888888em;
    --kwbigtext: 1.222223em;
    --kwtextevidenza: 1.39rem;
    --kwh1fontsize: 1.7777777rem;
    --kwh2fontsize: 1.555555rem;
    --kwh3fontsize: 1.1rem;
    --kwletterspacing: 0.1em;
    --kwmarginsmall: 20px;
    --kwmarginmedium: 32px;
    --kwmarginlarge: 54px;
    --kwradius: /*6px*/0;
    --kwtopbarheight: 0px;
    --kwheaderheight: 125px;
    --kwlogoheaderheight: 45px;
    --kwwidthcontainer: auto;
    --kwmargincontainer: 0;
}
body {
    font-family: var(--kwbodyfontfamily);
    font-size: var(--kwbodyfontsize);
    line-height: var(--kwbodylineheight);
    color: var(--kwbodycolor);
    background-color: var(--kwbgcolor);
    font-weight: 500;
    font-optical-sizing: auto;
}
html {
    font-size: var(--kwbodyfontsize);
    scrollbar-color: var(--kwprimary) var(--kwbodycolor);
    scrollbar-width: thin;
    scroll-behavior: smooth;
}
p,
h1,
h2,
h3,
h4,
p + img,
ul,
ul + img,
ol,
ol + img,
.kwMarginMedium {
    margin-top: var(--kwmarginmedium);
    margin-bottom: 0;
}
p + p,
h1 + p,
h2 + p,
h3 + p,
ul + p,
p + ul,
h1 + ul,
h2 + ul,
h3 + ul,
ul + ul,
ol + p,
p + ol,
h1 + ol,
h2 + ol,
h3 + ol,
ol + ol,
.kwList > li + li,
.kwMarginSmall {
    margin-top: var(--kwmarginsmall);
}
figure {
    margin-bottom: 0;
}
.kw100 {
    width: 100%;
}

/* scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: var(--kwbodycolor);
}
::-webkit-scrollbar-thumb {
    background: var(--kwprimary);
}
::-webkit-scrollbar-thumb:hover {
    background: var(--kwprimary);
    opacity: 0.8;
}

/* margin sopra e sotto */
.entry-header {
    margin-bottom: 0;
}
article.item {
    margin-bottom: 0;
}
#sp-main-body {
    /*padding: calc(var(--kwtopbarheight) + var(--kwheaderheight)) 0 0;*/
    padding: 0;
}

/* impaginazione senza eccessi ai lati */
div.container {
    padding: 0;
}
.row {
    margin: 0;
}
.col-lg-1,
.col-lg-10,
.col-lg-11,
.col-lg-12,
.col-lg-2,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-9,
.col-md-1,
.col-md-10,
.col-md-11,
.col-md-12,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-sm-1,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.col-sm-2,
.col-sm-3,
.col-sm-4,
.col-sm-5,
.col-sm-6,
.col-sm-7,
.col-sm-8,
.col-sm-9,
.col-xs-1,
.col-xs-10,
.col-xs-11,
.col-xs-12,
.col-xs-2,
.col-xs-3,
.col-xs-4,
.col-xs-5,
.col-xs-6,
.col-xs-7,
.col-xs-8,
.col-xs-9 {
    padding: 0;
}
.body-innerwrapper {
    overflow-x: visible;
}

/* dispositivi */
.kwDesktop,
.kwTablet {
    display: none;
}
.kwMobile.kwTablet,
.kwMobile.kwDesktop {
    display: block;
}

/* fonts */
h1,
.kwH1Style {
    font-size: var(--kwh1fontsize);
    font-weight: 900;
    text-transform: uppercase;
}
h1 > small {
    font-size: 1.222222rem;
    display: inline-block;
    margin-bottom: var(--kwmarginsmall);
}
h2,
.kwH2Style {
    font-size: var(--kwh2fontsize);
    font-weight: 900;
    text-transform: uppercase;
}
h3,
.kwH3Style {
    font-size: var(--kwh3fontsize);
    font-weight: 900;
    text-transform: uppercase;
}
.kwTextEvidenza {
    font-size: var(--kwtextevidenza);
}
.kwColorPrimaryText {
    color: var(--kwprimary);
}
.kwColorSecondaryText {
    color: var(--kwsecondary);
}
.kwBgSecondary .kwColorSecondaryText {
    color: var(--kwbgcolor);
    opacity: 0.5;
}
.kwColorBodyText {
    color: var(--kwbodycolor);
}
.kwWhiteText {
    color: var(--kwbgcolor);
}
a {
    color: var(--kwprimary);
}
a:hover,
a:focus {
    color: var(--kwsecondary);
}
.kwContentLink {
    color: unset;
    text-decoration: underline;
}
.kwContentLink:hover {
    color: var(--kwprimary);
    text-decoration: underline;
}
.kwTextCenter {
    text-align: center;
}
.kwBigText {
    font-size: var(--kwbigtext);
}
.kwSmallText {
    font-size: var(--kwsmalltext);
}
.kwTinyText {
    font-size: var(--kwtinytext);
}
.kwNote {
    font-size: var(--kwsmalltext);
    font-style: italic;
}
strong {
    font-weight: 800;
}
.kwTextUpper {
    text-transform: uppercase;
}

/* icone */
@font-face {
    font-family: "icomoon";
    src: url("fonts/icomoon.eot?zh33b6");
    src:
        url("fonts/icomoon.eot?zh33b6#iefix") format("embedded-opentype"),
        url("fonts/icomoon.ttf?zh33b6") format("truetype"),
        url("fonts/icomoon.woff?zh33b6") format("woff"),
        url("fonts/icomoon.svg?zh33b6#icomoon") format("svg");
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

[class^="icon-"],
[class*=" icon-"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: "icomoon" !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.icon-check:before {
    content: "\e90b";
}
.icon-flessibilita:before {
    content: "\e90c";
}
.icon-persone:before {
    content: "\e90d";
}
.icon-plus:before {
    content: "\e90e";
}
.icon-sedia:before {
    content: "\e90f";
}
.icon-wi-fi:before {
    content: "\e910";
}
.icon-dimensioni:before {
    content: "\e907";
}
.icon-neve:before {
    content: "\e908";
}
.icon-condividi:before {
    content: "\e909";
}
.icon-x:before {
    content: "\e90a";
}
.icon-arrow:before {
    content: "\e900";
}
.icon-close:before {
    content: "\e901";
}
.icon-cuore:before {
    content: "\e902";
}
.icon-lente:before {
    content: "\e903";
}
.icon-menu:before {
    content: "\e904";
}
.kwIco {
    height: 24px;
    width: 24px;
    line-height: 24px;
    text-align: center;
    background: var(--kwsecondary);
    border-radius: 100%;
    vertical-align: bottom;
    margin-right: 0.25em;
    font-size: 18px;
    color: var(--kwbgcolor);
}

/* tabelle */
.kwTable {
    table-layout: fixed;
    width: 100%;
}
.kwTable thead {
    font-weight: 800;
}
.kwTable tr {
    border-bottom: 1px solid;
}
.kwTable td {
    padding: 10px 7px;
}
.kwWordWrap {
    word-wrap: break-word;
}

/* liste */
.kwList {
    padding-left: 1em;
}
ul.kwSection {
    margin: 0;
}
ul.kw3ColSection:not(.kwSection),
ul.kw4ColSection:not(.kwSection) {
    padding-left: 0;
    list-style: none;
}
ul.kw3ColSection + p {
    margin-top: var(--kwmarginmedium);
}
.kwListBen {
    padding: 0;
}
.kwListBen > li + li {
    margin-top: var(--kwmarginsmall);
}

/* cta */
.kwCta {
    color: #fff;
    padding: 17px 29px;
    text-transform: uppercase;
    transition: ease-out 0.2s;
    cursor: pointer;
    display: inline-block;
    text-shadow: none;
    font-weight: 800;
    position: relative;
    font-size: 1rem;
    border: none;
    background: var(--kwsecondary);
    border-radius: var(--kwradius);
}
.kwCta.kwCtaPrimary {
    background: var(--kwprimary);
}
.kwCta:hover,
.kwCta:focus {
    color: var(--kwbgcolor);
    box-shadow: 0 0 0 7px rgba(0, 98, 160, 0.25);
}
a.ba-form-submit-btn {
    box-shadow: 0 0 0 0 rgba(244, 122, 32, 0.25);
}
.kwCta.kwCtaPrimary:hover,
.kwCta.kwCtaPrimary:focus,
a.ba-form-submit-btn:hover,
a.ba-form-submit-btn:focus {
    box-shadow: 0 0 0 7px rgba(244, 122, 32, 0.25);
}
.kwCtaText {
    color: unset;
    display: inline-block;
    font-size: var(--kwtinytext);
    text-transform: uppercase;
    letter-spacing: var(--kwletterspacing);
    font-weight: 800;
    margin-top: var(--kwmarginsmall);
}
.kwCta.kwSmallText {
    padding: 13px 19px;
    font-size: var(--kwsmalltext);
}

/* cta img */
.kwImgCta {
    position: relative;
    border-radius: var(--kwradius);
    overflow: hidden;
}
.kwFlexSection > .kwImgCta {
    border-radius: 0;
}
.kwImgOfCta {
    padding-bottom: 125%;
    height: 0;
    position: relative;
}
.kwImgOfCta > img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.kwOverlayTextBox {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, .1) 70%);
    color: var(--kwbgcolor);
    align-content: end;
    padding: var(--kwmarginmedium);
    z-index: 1;
    text-align: left;
    transition: ease-out 0.5s;
}
.kwImgCta:hover .kwOverlayTextBox {
    background: none;
    padding-bottom: var(--kwmarginlarge);
}
.kwOverlayTextBox > .kwCtaText {
    transform: translateY(100%);
    opacity: 0;
    transition: ease-out 0.5s;
    color: var(--kwsecondary);
}
.kwOverlayTextBox:hover > .kwCtaText {
    transform: translateY(0);
    opacity: 1;
}
a.kwImgCta::before {
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    background: var(--kwprimary);
    mix-blend-mode: color;
    opacity: 0;
    transition: ease-out 0.5s;
}
.kwImgCta::after {
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    background: rgba(244, 122, 32, 0.8);
    opacity: 0;
    transition: ease-out 0.75s;
    backdrop-filter: blur(7px);
}
a.kwImgCta:hover::before,
.kwImgCta:hover::after {
    opacity: 1;
}

/* linee */
hr.kwSmallDivisor {
    height: 2px;
    background: var(--kwsecondary);
    opacity: 1;
    width: 80px;
    display: inline-block;
    margin: var(--kwmarginsmall) 0 0;
}
.kwBgSecondary hr.kwSmallDivisor {
    background: var(--kwbgcolor);
    opacity: 0.5;
}
.kwFullSeparator:not([size]) {
    margin: 0;
    background: var(--kwgrey);
    opacity: 1;
    height: 2px;
}

/* offcanvas */
#offcanvas-toggler {
    line-height: unset;
    margin: 0;
}
#offcanvas-toggler > i {
    height: var(--kwheaderheight);
    line-height: var(--kwheaderheight);
    color: var(--kwbodycolor);
}
#offcanvas-toggler > i:hover {
    color: var(--kwprimary);
}
#offcanvas-toggler > i.fa-bars::before {
    font-size: 2rem;
    content: "\e904";
    font-family: "icomoon";
}
.close-offcanvas {
    top: 0;
    width: auto;
    font-size: 1.65rem;
    color: #fff;
    height: var(--kwheaderheight);
    padding: 0;
    border: none;
    display: grid;
    align-items: center;
}
.full-screen .offcanvas-menu .close-offcanvas {
    font-size: 2rem;
    padding: 0;
    top: 10px;
    height: calc(var(--kwheaderheight) * 0.5);
    right: var(--kwmargincontainer);
    color: var(--kwbodycolor);
}
.close-offcanvas i.fa-remove::before {
    content: "\e901";
    font-family: "icomoon";
}
.offcanvas-menu {
    background-color: var(--kwbodycolor);
}
.offcanvas-menu .offcanvas-inner .sp-module ul > li.active a {
    color: var(--kwprimary);
}
.offcanvas-menu .offcanvas-inner .sp-module ul > li {
    border: none;
}
.offcanvas-menu .offcanvas-inner .sp-module ul:not(.menukwOffcanvasSecondary, .mod-languages__list) > li + li {
    margin-top: var(--kwmarginmedium);
}
.sp-module ul > li > a::before {
    content: none;
}
.offcanvas-menu .offcanvas-inner .sp-module ul > li a:hover,
.offcanvas-menu .offcanvas-inner .sp-module ul > li a:focus {
    background: none;
    color: #fff;
}
.offcanvas-menu .offcanvas-inner .sp-module ul.nav {
    margin: 0;
}
.offcanvas-menu .offcanvas-inner .sp-module ul > li:hover a,
.offcanvas-menu .offcanvas-inner .sp-module ul > li:focus a,
.offcanvas-menu .offcanvas-inner .sp-module ul > li ul > li > a:hover,
.offcanvas-menu .offcanvas-inner .sp-module ul > li ul > li > a:focus,
.offcanvas-menu .offcanvas-inner .sp-module ul > li ul > li.active > a,
.offcanvas-menu .offcanvas-inner .sp-module ul > li ul > li:hover > a,
.offcanvas-menu .offcanvas-inner .sp-module ul > li ul > li:focus > a {
    background: none !important;
}
.offcanvas-menu .offcanvas-inner .sp-module ul > li ul {
    background: none;
    padding: var(--kwmarginmedium) 0;
}
.offcanvas-menu .offcanvas-inner .sp-module ul > li ul > li > a {
    padding-left: 0;
    text-transform: none;
    font-size: 1.3rem;
}
.full-screen .offcanvas-menu .offcanvas-inner {
    padding: var(--kwmarginmedium) var(--kwmargincontainer) 80px;
}
.kwHeadOffcanvas {
    text-align: center;
    color: var(--kwbodycolor);
}
.kwLogoOffcanvas {
    display: block;
    margin: auto;
    width: max-content;
}
.kwOffcanvasElement {
    font-size: var(--kwsmalltext);
}
.offcanvas-menu .offcanvas-inner .sp-module ul.nav.menukwOffcanvasSecondary {
    display: flex;
    justify-content: center;
    gap: var(--kwmarginmedium);
}
.full-screen .offcanvas-menu .offcanvas-inner .sp-module ul.menukwOffcanvasSecondary li a {
    font-size: var(--kwsmalltext);
    font-weight: 500;
    text-transform: none;
}
.full-screen .offcanvas-menu .offcanvas-inner .sp-module ul li.active > a,
.full-screen .offcanvas-menu .offcanvas-inner .sp-module ul li.active > span,
.full-screen .offcanvas-menu .offcanvas-inner .sp-module ul li.alias-parent-active > span,
.full-screen .offcanvas-menu .offcanvas-inner .sp-module ul li.alias-parent-active > a {
    color: var(--kwprimary);
}
.offcanvas-menu-toggler .fa-angle-down::before {
    font-family: "icomoon";
    font-weight: 400;
    content: "\e900";
    font-size: 0.8em;
}
.offcanvas-menu-toggler .fa-angle-up::before {
    font-family: "icomoon";
    font-weight: 400;
    content: "\e900";
    font-size: 0.8em;
    transform: rotate(180deg);
    display: inline-block;
}

/* new offcanvas */
.full-screen .offcanvas-menu {
    background: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(25px);
    align-content: center;
}
.full-screen:not(.full-screen-off-canvas) .offcanvas-menu {
    background: rgba(255, 255, 255, 0);
}
.full-screen .offcanvas-menu .offcanvas-inner .sp-module {
    padding: 0;
    margin: 0;
    border-bottom: none;
}
.full-screen .offcanvas-menu .offcanvas-inner .sp-module ul.nav.menu {
    padding: var(--kwmarginmedium) 0;
    margin: auto;
    color: var(--kwbodycolor);
    border-top: 1px solid;
    border-bottom: 1px solid;
}
.full-screen .offcanvas-menu .offcanvas-inner .sp-module ul li a {
    color: var(--kwbodycolor);
    font-weight: 800;
    padding: 0;
    font-size: var(--kwh3fontsize);
}
.full-screen .offcanvas-menu .offcanvas-inner .sp-module ul li a:hover {
    color: var(--kwsecondary);
}
.offcanvas-menu .offcanvas-inner .sp-module:not(:last-child) {
    margin-bottom: var(--kwmarginmedium);
}
.full-screen .offcanvas-menu .offcanvas-inner .sp-module ul li.deeper.parent > a {
    margin-left: -20px;
}
.full-screen .offcanvas-menu .offcanvas-inner .sp-module ul li .offcanvas-menu-toggler {
    font-size: var(--kwh3fontsize);
    padding: 0 0 0 10px;
}
.full-screen .offcanvas-menu .offcanvas-inner .sp-module ul li ul li a {
    font-size: 1rem;
    padding: 0;
    font-weight: 500;
}

/* lingue offcanvas */
.kwLingueOffcanvas .sp-module-content div.mod-languages ul {
    column-gap: var(--kwmarginmedium);
    justify-content: center;
}
.kwLingueOffcanvas div.mod-languages ul li {
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    display: block;
}
.kwLingueOffcanvas div.mod-languages ul li + li {
    margin: 0;
}
.kwLingueOffcanvas .sp-module-content div.mod-languages ul li {
    width: 40px;
    height: 40px;
    line-height: 38px;
    text-align: center;
    display: block;
    margin: 0;
    border: 2px solid var(--kwbodycolor);
}
.full-screen .offcanvas-menu .kwLingueOffcanvas .sp-module-content div.mod-languages ul li > a {
    font-size: 1rem;
}
.kwLingueOffcanvas div.mod-languages ul li.lang-active {
    background: var(--kwprimary);
    border-color: var(--kwprimary);
}
.full-screen .offcanvas-menu .offcanvas-inner .kwLingueOffcanvas div.mod-languages ul li.lang-active > a {
    color: var(--kwbgcolor);
}

/* top bar */
#sp-top-bar-fixed {
    /*position: fixed;
    top: 0;
    left: 0;*/
    width: 100%;
    height: var(--kwtopbarheight);
    z-index: 100;
    background: var(--kwsecondary);
    color: var(--kwbgcolor);
    font-size: 0.833333rem;
    align-content: center;
    padding: 0 var(--kwmargincontainer);
}
#sp-top-bar-fixed a {
    color: unset;
}
#sp-top-bar-fixed .menukwTopBarMenu li.active > a {
    color: var(--kwprimary);
}
#sp-kwtopbar .mod-custom {
    display: flex;
    justify-content: space-between;
}
.kwTopBarLeft {
    display: flex;
    gap: 30px;
    justify-content: left;
}
.kwTopBarRight {
    display: flex;
    gap: 30px;
    justify-content: right;
}
#sp-top-bar-fixed a:hover {
    color: var(--kwprimary);
}
.kwTopBarElement {
    align-self: center;
}
.menukwTopBarMenu {
    column-gap: 30px;
    align-content: center;
}

/* lingue */
div.mod-languages ul li,
div.mod-languages ul li.lang-active {
    background: none;
    margin: 0;
    min-width: var(--kwtopbarheight);
    text-align: center;
    display: block;
    height: var(--kwtopbarheight);
}
.mod-languages__list.lang-inline {
    display: flex;
}
#sp-top-bar-fixed div.mod-languages ul.lang-inline li > a {
    padding: 0;
    display: inline-block;
    width: 100%;
    line-height: var(--kwtopbarheight);
    font-weight: 800;
}
#sp-top-bar-fixed div.mod-languages ul li.lang-active > a {
    background-color: var(--kwprimary);
}
#sp-top-bar-fixed div.mod-languages ul li > a:hover {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
}

/* alert */
#sp-alert {
    font-size: var(--kwsmalltext);
    text-align: center;
    padding: 5px 0;
    background: var(--kwgrey);
    color: #828282;
}
.kwMarqueeAlert > .kwScrollEffect {
    flex: none;
    margin: 0 var(--kwmarginmedium);
}
.kwMarqueeAlert > .kwScrollEffect > p::before {
    content: "\f06a";
    margin-right: 10px;
    font-family: "Font Awesome 5 Free";
    font-weight: 700;
}

/* header */
#sp-header {
    background: #fff;
    padding: 0 var(--kwmargincontainer);
    box-shadow: none;
    height: var(--kwheaderheight);
    /*position: fixed;
    top: 0;*/
}
#sp-header .row {
    justify-content: space-between;
}
#sp-header .row > div {
    width: auto;
}
#sp-header .logo {
    height: var(--kwheaderheight);
}
#sp-header .logo > a > img {
    max-height: var(--kwlogoheaderheight);
    position: relative;
    z-index: 1;
}
.sp-megamenu-parent > li > a,
.sp-megamenu-parent > li > span {
    padding: 0;
    font-size: 0.944444rem;
    line-height: var(--kwheaderheight);
    color: var(--kwbodycolor);
    letter-spacing: 0;
    font-weight: 800;
}
.sp-megamenu-parent > li + li {
    margin-left: 36px;
}
.sp-megamenu-parent > li.active > a,
.sp-megamenu-parent > li.alias-parent-active > a,
.sp-megamenu-parent > li:hover > a {
    color: var(--kwbgcolor);
}
#sp-header .logo a:hover::before,
#sp-header .logo a:hover::after {
    opacity: 1;
}

/* loghi header */
#sp-menu > .sp-column {
    display: flex;
    justify-content: space-between;
    column-gap: 36px;
}
#mod-custom144 {
    align-content: center;
}
#mod-custom136 {
    display: flex;
    height: var(--kwheaderheight);
    align-content: center;
    column-gap: 36px;
}
.kwLoghiHeader {
    align-content: center;
}
.kwLoghiHeader > img {
    height: 65px;
    width: auto;
}
.kwUpsAccessPoint {
    display: flex;
    text-align: center;
    align-items: center;
    column-gap: 10px;
}
.kwUpsAccessPoint > span {
    font-size: 13px;
    color: #350000;
    font-weight: 600;
    line-height: 1.3;
    width: 44px;
}

/* breadcrumbs */
#sp-breadcrumbs {
    padding: 7px var(--kwmargincontainer);
    color: var(--kwbodycolor);
}
.breadcrumb {
    font-size: var(--kwtinytext);
    text-transform: uppercase;
    letter-spacing: var(--kwletterspacing);
    padding: 0;
    margin: 0;
    background: none;
    border-radius: 0;
    position: relative;
    font-weight: 700;
}
.breadcrumb + h1 {
    margin-top: var(--kwmarginsmall);
    position: relative;
}
.breadcrumb > span:first-child {
    display: none;
}
.breadcrumb > li > a {
    color: unset;
}
.breadcrumb > li > a:hover {
    color: var(--kwprimary);
}
.breadcrumb > .active {
    color: unset;
}
.breadcrumb-item + .breadcrumb-item::before {
    content: "|";
    color: var(--kwbodycolor);
}

/* above the fold */
.kwFullAtf {
    position: relative;
}
.kwAtfText {
    min-height: 125vw;
    align-content: center;
    position: relative;
    background: rgba(25, 25, 25, 0.4);
}
.kwFullAtf > .kwAtfImg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.kwAtfImg > img,
.kwAtfImg > video {
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.kwIcoMore {
    position: absolute;
    left: calc(50% - 12px);
    bottom: var(--kwmarginmedium);
    animation-name: fadeout;
    animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
    z-index: 3;
}
@keyframes fadeout {
    0% {
        opacity: 0;
    }
    75% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
.kwIcoMore::before {
    content: "";
    display: block;
    height: 40px;
    border-left: 2px solid var(--kwbgcolor);
    position: absolute;
    left: calc(50% - 1px);
    bottom: 2px;
    animation-name: shortening;
    animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
}
@keyframes shortening {
    0% {
        height: 40px;
    }
    100% {
        height: 0;
    }
}
.kwIcoMore::after {
    content: "";
    display: block;
    width: 24px;
    height: 14px;
    background: var(--kwbgcolor);
    clip-path: polygon(0 1px, 1px 0, 12px 12px, 23px 0, 24px 1px, 12px 14px);
}

/* benefits */
.kwBenPoint,
.kwBenIcoPoint {
    padding-left: 47px;
    list-style: none;
    position: relative;
    line-height: 1.3;
    min-height: 2.6em;
    align-content: center;
    align-self: start;
}
.kwBenIco {
    width: 38px;
    height: 38px;
    line-height: 38px;
    display: block;
    text-align: center;
    background: var(--kwsecondary);
    color: var(--kwbgcolor);
    position: absolute;
    left: 0;
    top: 0.2em;
    font-size: 26px;
    border-radius: var(--kwradius);
}
.kwBenPoint::before {
    content: "\e90b";
    font-family: "icomoon";
    width: 38px;
    height: 38px;
    line-height: 38px;
    display: block;
    text-align: center;
    background: var(--kwsecondary);
    color: var(--kwbgcolor);
    position: absolute;
    left: 0;
    top: 0.2em;
    font-size: 26px;
    border-radius: var(--kwradius);
}
.kwBgSecondary .kwBenPoint::before {
    background: rgba(0, 0, 0, 0.2);
    color: var(--kwbgcolor);
}

/* partnership */
.kwBoxPartnership {
    background: var(--kwbgcolor);
    border-radius: var(--kwradius);
    color: var(--kwbodycolor);
    padding: var(--kwmarginmedium) var(--kwmarginsmall);
    height: 100%;
}
.kwPromoText {
    display: flex;
    align-items: center;
    text-transform: uppercase;
    font-weight: 800;
}
.kwTextPromo {
    padding-left: var(--kwmarginsmall);
    margin-left: var(--kwmarginsmall);
    border-left: 2px solid;
}
.kwGreenDiffRent {
    color: #7fc343;
}
.kwBoxPartnership.kwTextCenter {
    align-content: center;
    justify-content: center;
    display: flex;
    flex-wrap: wrap;
}

/* tipologie box */
.kwSchedaBox {
    background: var(--kwgrey);
    display: grid;
    grid-gap: var(--kwmarginsmall);
    padding: var(--kwmarginsmall);
    text-align: left;
    border-radius: var(--kwradius);
}
.kwInfoBox p {
    font-size: var(--kwsmalltext);
    margin-top: 10px;
}
.kwCtaBox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.kwCtaBox > .kwCta {
    font-size: var(--kwsmalltext);
    padding: 13px 17px;
}
/*rimuovere con pubblicazione booking online*/
.kwCtaBox > .kwCta {
    width: 100%;
    text-align: center;
}
/* rimuovere per mostrare i prezzi */
.kwPriceBox {
    display: none;
}
.kwInfoBox p.kwTipsBox {
    margin: var(--kwmarginsmall) 0;
    padding-left: 10px;
    color: #898989;
    border-left: 1px solid;
    line-height: 1.3;
    min-height: 3.9em;
    align-content: center;
}

/* faq */
.kwAccordionItem:not(:last-child) {
    padding-bottom: 28px;
}
.kwTitleAccordion {
    background: var(--kwgrey);
    padding: 17px 65px 17px 17px;
    transition: ease-out 0.2s;
    position: relative;
    border-radius: var(--kwradius);
}
.kwBgSecondary .kwTitleAccordion {
    background: rgba(0, 0, 0, 0.2);
}
.kwTitleAccordion:hover,
.kwTitleAccordion[aria-expanded="true"] {
    box-shadow: 0 0 0 7px rgba(41, 41, 41, .15);
}
.kwBgSecondary .kwTitleAccordion:hover,
.kwBgSecondary .kwTitleAccordion[aria-expanded="true"] {
    box-shadow: 0 0 0 7px rgba(0, 0, 0, 0.08);
}
.kwTitleAccordion::after {
    content: "\e90e";
    color: var(--kwbgcolor);
    font-size: 26px;
    line-height: 38px;
    width: 38px;
    text-align: center;
    height: 38px;
    display: block;
    position: absolute;
    right: 12px;
    top: calc(50% - 19px);
    transition: ease-out 0.2s;
    font-family: "icomoon";
    font-weight: 400;
    background: var(--kwprimary);
    border-radius: var(--kwradius);
}
.kwTitleAccordion[aria-expanded="true"]::after {
    transform: rotate(45deg);
    border-radius: 13px;
}
.kwAccordionContent > p:first-child,
.kwAccordionContent > ul:first-child {
    margin-top: var(--kwmarginsmall);
}
.kwAccordionContent > p:last-child,
.kwAccordionContent > ul:last-child {
    margin-bottom: var(--kwmarginsmall);
}

/* blog */
.kwBlogBreadcrumbs {
    background: #e3e3e3;
}
.kwBlogBreadcrumbs.kwSection {
    padding-top: 10px;
    padding-bottom: 10px;
}
.kwBlogBreadcrumbs .breadcrumb-item.active {
    width: calc(var(--kwwdithcontainer) - 92px);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.kwVediTuttiBlog {
    position: relative;
}
.kwVediTuttiBlog > .kwOverlayTextBox {
    background: rgba(0, 98, 160, 0.8);
    text-align: center;
    align-content: center;
}
.kwVediTuttiBlog > .kwOverlayTextBox > i {
    width: 38px;
    height: 38px;
    line-height: 38px;
    font-size: 26px;
    background: var(--kwprimary);
    margin-top: var(--kwmarginsmall);
    transition: ease-out 0.5s;
    border-radius: var(--kwradius);
}
.kwVediTuttiBlog::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--kwsecondary);
    mix-blend-mode: color;
    transition: ease-out 0.5s;
}
.kwVediTuttiBlog:hover::before {
    background: var(--kwprimary);
}
.kwVediTuttiBlog:hover > .kwOverlayTextBox > i {
    background: var(--kwsecondary);
}
.kw2ColBlog,
.kw3ColBlog {
    display: grid;
    grid-gap: var(--kwmarginlarge);
}
.kwBtnIndice::before {
    content: "[nascondi]";
    text-transform: lowercase;
    font-size: var(--kwtinytext);
}
.kwBtnIndice[aria-expanded="false"]::before {
    content: "[mostra]";
}
.kwIndiceContenuti {
    font-size: var(--kwsmalltext);
}
.kwEditorSection .kwIndiceContenuti a {
    color: var(--kwsecondary);
    text-decoration: none !important;
}
.kwIndiceContenuti a:hover {
    color: var(--kwprimary);
}
.kw2ColBlog .kwShare,
.kw3ColBlog .kwShare {
    justify-self: center;
    text-align: center;
}
.kwArticle h2:target,
.kwArticle h2 > a:target {
    scroll-margin-top: var(--kwmarginmedium);
}
.kwArticle .kwEditorSection figure {
    width: 100%;
}
.kwArticle .kwEditorSection img {
    max-width: 100%;
    margin: var(--kwmarginmedium) auto;
    border-radius: var(--kwradius);
    width: 550px;
}
.kwArticle .kwEditorSection figcaption {
    font-size: 0.777777rem;
    font-style: italic;
    color: #898989;
    text-align: center;
    margin-top: -20px;
}
.kwAnchor {
    scroll-margin-top: var(--kwmarginmedium);
}
.kwBlogAntImg > img {
    transition: ease-out 0.5s;
}
.kwBlogAntImg > img:hover, .kwBlogAntImg > img:focus {
    border-radius: var(--kwradiuslarge);
}
.kwBlogAntImg:focus > img {
    box-shadow: 0 0 0 9px rgba(170, 133, 17, 0.25);
}
.kwDataArticolo {
    color: #898989;
}
.kwColImg {
    position: relative;
}
.kwFigCaption {
    position: absolute;
    bottom: var(--kwmarginmedium);
    right: 0;
    display: flex;
    column-gap: 8px;
    align-items: center;
    opacity: 0.9;
}
.kwFigCaption > p {
    background: var(--kwprimary);
    font-size: 0.777777rem;
    padding: 5px 8px;
    color: var(--kwbgcolor);
    height: 28px;
    align-content: center;
    opacity: 0;
}
.kwFigCaption:hover > p {
    opacity: 1;
}
.kwFigCaption a {
    color: #fbd0b1;
}
.kwFigCaption a:hover {
    text-decoration: underline;
}
.kwFigCaption::after {
    content: "\f030";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    height: 28px;
    width: 28px;
    display: block;
    font-size: 17px;
    line-height: 28px;
    text-align: center;
    background: var(--kwprimary);
    color: var(--kwbgcolor);
    opacity: 1;
}

/* share */
.kwIcoCta {
    height: 40px;
    width: 40px;
    background: var(--kwgrey);
    line-height: 40px;
    text-align: center;
    font-size: 28px;
    color: var(--kwsecondary);
    transition: ease-out 0.5s;
    border-radius: var(--kwradius);
}
.kwShare .kwIcoCta[aria-expanded="true"] {
    border-radius: 13px;
    transform: rotate(45deg);
}
.kwBoxShareIcons {
    font-size: 30px;
    display: flex;
    gap: 0 var(--kwmarginmedium);
    flex-wrap: wrap;
    justify-content: center;
}
.kwBoxShareIcons > .kwSocialShare {
    margin-top: var(--kwmarginmedium);
    color: var(--kwsecondary);
}
.kwSocialShare {
    color: var(--kwsecondary);
}
.kwSocialShare:hover {
    color: var(--kwprimary);
}

/* slider gallery */
.kwSliderGallery .uk-panel.uk-inline-clip.uk-transition-toggle.uk-background-cover {
    height: auto !important;
    padding-bottom: 125%;
}
.uk-scope .uk-icon:not(.uk-preserve) [stroke*="#"]:not(.uk-preserve) {
    stroke-width: 2;
}
.uk-scope .kwSliderGallery.uk-hidden-visually:not(:focus):not(:active):not(:focus-within),
.uk-scope .kwSliderGallery.uk-visible-toggle:not(:hover):not(:focus) .uk-hidden-hover:not(:focus-visible):not(:has(:focus-visible)),
.uk-scope .kwSliderGallery.uk-visible-toggle:not(:hover):not(:focus) .uk-hidden-hover:not(:focus-within) {
    width: unset !important;
    height: unset !important;
    padding: 6.5px 10px !important;
    margin: 15px !important;
    display: block !important;
    opacity: 1 !important;
    overflow: visible !important;
}
.uk-scope .uk-hidden-visually,
.uk-scope .uk-visible-toggle .uk-hidden-hover {
    color: var(--kwbodycolor);
    box-sizing: content-box;
    background: #fff;
    border-radius: 2px;
    padding: 6.5px 10px;
    transition: 0s;
}
.uk-scope .uk-light a.uk-slidenav {
    color: var(--kwbodycolor);
}
.uk-scope .uk-light a.uk-slidenav:hover {
    color: #fff;
    background-color: var(--kwbodycolor);
}
.uk-scope .uk-visible-toggle .uk-hidden-hover > svg {
    width: 11px;
}

/* marquee */
.kwMarquee {
    width: 100%;
    display: flex;
    overflow: hidden;
}
.kwMarqueeContent {
    font-size: 2.777777rem;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--kwprimary);
    line-height: 2;
    flex: none;
}
.kwMarqueeContent > i {
    font-size: 26px;
    line-height: 38px;
    height: 38px;
    width: 38px;
    text-align: center;
    display: inline-block;
    background: var(--kwprimary);
    color: var(--kwbgcolor);
    transform: translateY(-0.25em);
    margin: 0 var(--kwmarginmedium);
    border-radius: var(--kwradius);
}
.kwScrollEffect {
    animation: scroll 40s linear infinite;
}
@keyframes scroll {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(calc(-100% - 1rem));
    }
}

/* contatti fissi */
.kwBoxContatti {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    column-gap: 10px;
    justify-content: space-between;
    z-index: 999999;
    padding: 0 15px 20px;
}
.kwCtaTelefono {
    height: 60px;
    line-height: 40px;
    text-align: center;
    padding: 10px 19px;
    background: var(--kwprimary);
    color: var(--kwbgcolor);
    font-size: 1.5rem;
    font-weight: 800;
    border-radius: 21px;
    width: calc(100% - 70px);
    transition: ease-out 0.2s;
}
.kwCtaTelefono > i {
    animation: phone-animation 7s ease-in-out infinite;
}
.kwCtaTelefono:hover,
.kwCtaTelefono:focus {
    color: var(--kwbgcolor);
    box-shadow: 0 0 0 7px rgba(244, 122, 32, 0.25);
    animation: none;
}
.kwCtaWhatsapp {
    height: 60px;
    line-height: 60px;
    text-align: center;
    background: #25d366;
    color: var(--kwbgcolor);
    font-size: 40px;
    font-weight: 800;
    border-radius: 21px;
    width: 60px;
    transition: ease-out 0.2s;
    animation: shake-animation 7s ease-in-out infinite;
}
.kwCtaWhatsapp:hover,
.kwCtaWhatsapp:focus {
    color: var(--kwbgcolor);
    box-shadow: 0 0 0 7px rgba(37, 211, 102, 0.25);
    animation: none;
}
@keyframes shake-animation {
    0%, 92%, 100% { transform: rotate(0deg) scale(1); }
    93% { transform: rotate(5deg) scale(1.2); }
    95% { transform: rotate(-3deg) scale(1.2); }
    96% { transform: rotate(6deg) scale(1.2); }
    98% { transform: rotate(-7deg) scale(1.2); }
    99% { transform: rotate(4deg) scale(1); }
}
@keyframes phone-animation {
    0%, 50%, 58% { transform: rotate(0deg) scale(1);}
    51% { transform: rotate(-10deg) scale(1.5);}
    53% { transform: rotate(0deg) scale(1.5);}
    55% { transform: rotate(-10deg) scale(1.5);}
    57% { transform: rotate(0deg) scale(1);}
}

/* footer */
#sp-footer {
    background: var(--kwsecondary);
    padding: var(--kwmarginlarge) var(--kwmargincontainer) var(--kwmarginsmall);
    color: #fff;
    text-align: unset;
    font-size: var(--kwsmalltext);
    line-height: 1.75;
}
#sp-footer a {
    color: #fff;
}
#sp-footer a:hover {
    color: var(--kwprimary);
}
.kwFinalFoot {
    display: flex;
    justify-content: space-between;
    font-size: var(--kwtinytext);
    flex-wrap: wrap;
    gap: var(--kwmarginsmall);
}
.sp-module ul.nav.menukwFooterMenu {
    display: inline;
}
.sp-module ul.menukwFooterMenu > li {
    border: none;
    display: inline;
}
.sp-module ul.menukwFooterMenu > li > a {
    display: inline;
    padding: 0;
    line-height: var(--kwbodylineheight);
}
.menukwFooterMenu > li::after {
    content: " -";
}
.menukwFooterMenu > li:last-child::after {
    display: none;
}
.kwLogoFoot {
    height: var(--kwlogoheaderheight);
    width: auto;
}
#sp-footer .kwCellStart > .kwBigText {
    text-transform: uppercase;
}
.kwFooterMenu > .moduletable {
    display: inline;
}
.sp-module ul.menukwMenuServiziFooter > li {
    border: none;
}
.sp-module ul.menukwMenuServiziFooter > li > a {
    padding: 0;
    line-height: 1.88;
}
.kwIcoSocial {
    font-size: 1.6em;
}
.kwIcoSocial + .kwIcoSocial {
    padding-left: var(--kwmarginsmall);
}
.kwCartinaFoot > iframe {
    position: absolute;
    height: 100%;
    width: 100%;
}
.kwCartinaFoot {
    position: relative;
    border-radius: var(--kwradius);
    overflow: hidden;
    padding-bottom: 70.6%;
}
.kwCertFoot {
    display: grid;
    grid-template-columns: 75px auto;
    grid-gap: 15px;
    padding: 15px;
    align-items: center;
    background: var(--kwbgcolor);
    border-radius: var(--kwradius);
    color: var(--kwbodycolor);
    min-height: 111px;
}
.kwDescCertFoot {
    margin: 0;
    font-size: 14px;
}

/* sezione contatti */
.kwRowContatti {
    display: grid;
    grid-gap: var(--kwmarginmedium);
    justify-items: left;
}
.kwFormMobile {
    display: none;
}

/* editor */
/*.kwEditorSection h1,
.kwEditorSection h2 {
color: var(--kwsecondary);
}*/
.kwEditorSection ul {
    padding: 0 0 0 1em;
}
.kwEditorSection ol {
    padding-left: 1.2em;
}
.kwEditorSection ul > li + li,
.kwEditorSection ol > li + li,
.kwEditorSection ol > li li:first-child {
    margin-top: var(--kwmarginsmall);
}
.kwEditorSection a {
    color: unset;
    text-decoration: underline;
}
.kwEditorSection a:hover,
.kwEditorSection a:focus {
    color: var(--kwprimary);
    text-decoration: underline;
}

/* forms */
.ba-field-container textarea::placeholder,
.ba-field-container input[type="text"]::placeholder,
.ba-field-container input[type="number"]::placeholder,
.ba-field-container input[type="email"]::placeholder {
    opacity: 0.5 !important;
}
.text-content-wrapper {
    text-align: left;
}
div.ba-form-page {
    width: 100%;
    max-width: var(--form-width-value);
}
.ba-form-acceptance-field.kwSmallText label.ba-form-checkbox > span {
    height: 1.2em;
    width: 1.2em;
    border-radius: 4px;
}
.ba-form-acceptance-field.kwSmallText .ba-field-container {
    padding-left: 2.4em;
    margin: 0;
}
.ba-form-acceptance-field.kwSmallText label.ba-form-checkbox input[type="checkbox"]:checked + span::before {
    font: normal normal normal 1em/1 "balbooa-form-icons";
}
.ba-form-row:first-child .ba-form-field-item.ba-form-text-field {
    margin: 0;
}
.ba-form-acceptance-field.kwSmallText label.ba-form-checkbox > span {
    top: calc(var(--field-typography-line-height) / 2 - 0.5em);
}
.kwUploadFile .upload-file-input {
    margin-top: var(--kwmarginsmall);
}
.kwUploadFile .upload-file-input {
    margin-top: var(--kwmarginsmall);
    border-bottom: none !important;
}
span.upload-file-btn {
    background: var(--kwbodycolor) !important;
    border-radius: var(--kwradius);
}
.upload-file-empty-text {
    opacity: 0.5;
    display: inline-block;
    margin-left: var(--kwmarginsmall);
    font-size: var(--kwtinytext);
}
.kwWhiteText.ba-form-acceptance-field .ba-form-acceptance-html p {
    color: var(--kwbgcolor);
}
.com-baforms-wrapper :focus-visible {
    outline: 2px solid var(--theme-color) !important;
    outline-offset: -1px;
}
.ba-form-field-item legend.ba-field-label-wrapper {
    margin-top: var(--field-margin-top);
}
.ba-field-container select:invalid {
    color: rgba(39, 39, 38, .5);
}
.ba-form-page .ba-form-page-break-button[data-action="back"] {
    display: none !important;
}
.ba-form-field-item div.ba-field-label-wrapper {
    margin-bottom: 10px;
}
.ba-form-field-item legend.ba-field-label-wrapper {
    font-size: 1rem !important;
    margin-top: 0;
}
.ba-form-field-item div.ba-form-checkbox-wrapper {
    margin-bottom: 0.3rem;
}
.ba-field-container i.ba-form-icons.ba-icon-calendar {
    color: rgba(39, 39, 38, .5);
}
.ba-field-container i.ba-form-icons.ba-icon-calendar::before {
    transform: translateY(-0.125em);
}
.ba-form-field-item.ba-form-dropdown-field + .ba-form-field-item.ba-form-input-field {
    margin-top: 0;
}
.ba-form-field-item.ba-form-text-field {
    border: 2px solid var(--kwprimary);
    border-radius: 6px;
    color: var(--kwprimary);
    padding: 10px;
    margin-top: 25px !important;
    background: rgba(242, 121, 31, 0.1);
}

/* sezioni */
.kwSection {
    padding: var(--kwmarginlarge) var(--kwmargincontainer);
}
.kwSection.kwSectionMedium {
    padding-top: var(--kwmarginmedium);
    padding-bottom: var(--kwmarginmedium);
}
.kwSection.kwSectionCut {
    padding-top: 0;
}
#sp-main-body.kwBodyBasic {
    /*padding: calc(var(--kwtopbarheight) + var(--kwheaderheight) + var(--kwmarginlarge)) var(--kwmargincontainer) var(--kwmarginlarge);*/
    padding: var(--kwmarginlarge) var(--kwmargincontainer);
    min-height: calc(100vh - 75px);
    align-content: center;
}
#sp-main-body.kwBodyThankyoupage {
    min-height: 100vh;
    align-content: center;
}
.kwBgPrimary {
    background: var(--kwprimary);
    color: #fff;
}
.kwBgSecondary {
    background: var(--kwsecondary);
    color: #fff;
}
.kwBgGrey {
    background: var(--kwgrey);
}
.kwBgGradient {
    background: linear-gradient(0deg, rgb(242, 242, 242) 0%, rgba(242, 242, 242, 0) 100%);
}
.kwBgTexture {
    background: repeating-linear-gradient(-45deg, #f06f10, #f06f10 2px, var(--kwprimary) 2px, var(--kwprimary) 13px);
    color: var(--kwbgcolor);
}
.kwBgPrimary .kwContentLink,
.kwBgSecondary .kwContentLink {
    color: var(--kwbgcolor);
}
.kwBgSecondary .kwContentLink:hover,
.kwBgSecondary .kwContentLink:focus {
    color: var(--kwprimary);
}
.kwBgPrimary .kwContentLink:hover,
.kwBgPrimary .kwContentLink:focus {
    color: var(--kwsecondary);
}
.kwBgDark {
    background: var(--kwbodycolor);
    color: #fff;
}
.kwBgDark a:not(.kwCta),
.kwBgTexture a:not(.kwCta, .ba-form-submit-btn) {
    color: var(--kwsecondary);
}
.kw2ColSection,
.kw3ColSection,
.kw4ColSection {
    display: grid;
    grid-gap: var(--kwmarginmedium);
}
.kwMarginLarge {
    margin-top: var(--kwmarginlarge);
}
.kwFlexSection {
    display: flex;
    flex-wrap: wrap;
}
.kwMob100 {
    width: 100%;
}
.kwMob50 {
    width: 50%;
}
.kwRelative {
    position: relative;
}
.kwGapLarge {
    grid-gap: var(--kwmarginlarge);
}
.kwGapMedium {
    grid-gap: var(--kwmarginmedium);
}
.kwGapSmall {
    grid-gap: var(--kwmarginsmall);
}
.kwCellStart {
    align-self: start;
}
.kwRowMap {
    min-height: 600px;
    margin-bottom: -5px;
}
.kwRadius {
    border-radius: var(--kwradius);
}
.kw2ColBox {
    display: grid;
    border-radius: var(--kwradius);
}
.kw2ColBox > .kwColText {
    padding: var(--kwmarginmedium) var(--kwmargincontainer);
}
.kw2ColBox > .kwColImg > img {
    border-radius: var(--kwradius);
}
.kwBox {
    padding: var(--kwmarginsmall);
    border-radius: var(--kwradius);
    height: 100%;
}

/* credits */
.kwCreditsLogo {
    border-radius: 7px;
}

/* essential */
*:first-child {
    margin-top: 0;
}

@media screen and (min-width: 992px) and (max-width: 1200px) {
    #sp-menu > .sp-column {
        display: grid;
        grid-template-columns: repeat(2,auto);
        grid-template-rows: repeat(2,auto);
    }
    .sp-megamenu-wrapper {
        grid-row-end: span 2;
    }
    .sp-megamenu-parent > li > a {
        font-size: 0.85em;
        line-height: 1.4;
        text-align: center;
        align-content: center;
        height: var(--kwheaderheight);
    }
    #mod-custom136 {
        display: flex;
        height: calc(var(--kwheaderheight) - 40px);
        align-content: center;
        column-gap: 22px;
        justify-content: center;
        margin-top: 7px;
    }
    .kwUpsAccessPoint {
        column-gap: 6px;
    }
    .kwUpsAccessPoint > span {
        font-size: 9px;
        width: 30px;
        line-height: 1.2;
    }
    .kwLoghiHeader > img {
        height: 45px;
    }
    #mod-custom144 {
        order: 1;
        margin-top: -20px;
    }
}

@media screen and (min-width: 1200px) and (max-width: 1320px) {
    .sp-megamenu-parent > li > a {
        font-size: 0.85em;
    }
    .kwLoghiHeader > img {
        height: 50px;
    }
    .kwUpsAccessPoint > span {
        font-size: 11px;
    }
    #sp-menu > .sp-column,
    #mod-custom136 {
        column-gap: 28px;
    }
}

@media screen and (max-width: 992px) {
    /* blog */
    .kwOverlayTextBox {
        padding: var(--kwmarginsmall);
    }
}

@media screen and (max-width: 768px) {
    /* top bar */
    .kwTopBarRight {
        width: 100%;
        justify-content: space-between;
    }

    /* header */
    #sp-header {
        border-top: 6px solid var(--kwsecondary);
    }
    #sp-header .logo {
        height: calc(var(--kwheaderheight) * 0.5);
    }
    #sp-header .logo a,
    #offcanvas-toggler > i {
        padding-top: 10px;
    }
    #offcanvas-toggler > i {
        height: calc(var(--kwheaderheight) * 0.5);
        line-height: unset;
    }
    #mod-custom136 {
        height: calc((var(--kwheaderheight) * 0.5) - 6px);
        column-gap: 22px;
    }
    #sp-menu > .sp-column {
        column-gap: 22px;
    }
    .kwLoghiHeader > img {
        height: 42px;
        object-fit: contain;
    }
    #sp-header .row > div#sp-menu {
        width: 100%;
    }
    .sp-megamenu-wrapper {
        position: absolute;
        top: 0;
        right: 0;
    }
    .kwUpsAccessPoint {
        column-gap: 6px;
    }
    .kwUpsAccessPoint > span {
        font-size: 9px;
        width: 30px;
        line-height: 1.2;
    }

    /* cta */
    .kwCtaTel {
        display: none;
    }

    /* cta img */
    #cosa-stai-cercando .kwOverlayTextBox {
        align-content: center;
        background: rgba(0,0,0,.5);
    }
    #cosa-stai-cercando .kwImgCta:hover .kwOverlayTextBox {
        background-color: rgba(0,0,0,0);
    }

    /* forms */
    div.ba-form-page {
        padding: 0 !important;
    }

    /* sezione contatti */
    .kwRowContatti > .kwCta {
        display: none;
    }
    .layout-shaper_helix3kwblog .kwRowContatti > .kwCta {
        display: block;
    }
    .kwFormMobile {
        display: block;
        background: var(--kwbgcolor);
        color: var(--kwbodycolor);
        border-radius: 10px;
        box-shadow: 0 0 10px rgba(0,0,0,.2);
        padding: var(--kwmarginsmall);
    }

    /* contatti fissi */
    .kwBoxContatti::before {
        content: "";
        width: 100%;
        height: 90px;
        position: absolute;
        left: 0;
        bottom: 0;
        /*background: linear-gradient(0deg,rgb(255, 255, 255) 0%, rgba(0, 0, 0, 0) 100%);*/
        background: linear-gradient(0deg,rgb(41, 41, 41) 0%, rgba(41, 41, 41, 0) 100%);
        z-index: -1;
    }

    /* sezioni */
    .kw2ColBox > .kwColText + .kwColImg {
        order: -1;
        padding: var(--kwmarginmedium) var(--kwmarginmedium) 0;
    }

    /* footer */
    #sp-footer {
        padding-bottom: 130px;
    }
    .kwCellServiziFoot {
        order: 1;
    }
    #sp-main-body.kwBodyThankyoupage {
        min-height: calc(100vh - 100px);
        align-content: center;
    }

}

@media screen and (max-width: 576px) {
    :root {
        --kwmargincontainer: 22px;
    }

    /* wrap mobile */
    .kwWrapMobile {
        scroll-behavior: smooth;
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        gap: var(--kwmargincontainer);
        width: 100vw;
        margin-left: calc(calc(0px - var(--kwmargincontainer)));
        margin-right: calc(calc(0px - var(--kwmargincontainer)));
        padding: 0 var(--kwmargincontainer);
        scroll-padding-left: var(--kwmargincontainer);
        scrollbar-color: transparent transparent;
    }
    .kwWrapMobile .kwSchedaBox,
    .kwWrapMobile .kwImgCta {
        width: 275px;
        flex: 0 0 auto;
        scroll-snap-align: start;
        min-height: 260px;
        height: 100%;
    }

    /* tipologie box */
    .kwWrapMobile .kwInfoBox > h3,
    .kwWrapMobile .kwImgCta h3 {
        font-size: 1rem;
    }
    .kwWrapMobile .kwInfoBox > p,
    .kwWrapMobile .kwImgCta p.kwSmallText {
        font-size: 0.777777rem;
    }
    .kwWrapMobile .kwCtaBox > .kwCta {
        font-size: 0.777777rem;
        padding: 13px;
    }
    .kwWrapMobile .kwInfoBox {
        min-height: 140px;
    }

    /* blog */
    .kwBlogBreadcrumbs .breadcrumb-item.active {
        width: calc(100vw - 155px);
    }

    /* sezioni */
    .kw2ColBox > .kwColText + .kwColImg {
        padding: var(--kwmargincontainer) var(--kwmargincontainer) 0;
    }
}

@media screen and (min-width: 576px) {
    :root {
        --kwwidthcontainer: 540px;
    }

    /* impaginazione senza eccessi ai lati */
    .container {
        max-width: var(--kwwidthcontainer) !important;
    }

    /* tipologie box */
    .kwSchedaBox {
        align-content: space-between;
    }

    /* sezioni */
    .kwSection {
        padding: var(--kwmarginlarge) calc((100% - var(--kwwidthcontainer)) / 2);
    }
    #sp-main-body.kwBodyBasic {
        padding: var(--kwmarginlarge) 0;
        min-height: calc(100vh - var(--kwheaderheight) - var(--kwtopbarheight));
    }
    .kwGrid3ColDesktop {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: var(--kwmarginmedium);
    }
    .kw2ColBox > .kwColText {
        padding: var(--kwmarginmedium);
    }

}

@media screen and (min-width: 768px) {
    :root {
        --kwwidthcontainer: 720px;
        --kwbodyfontsize: 18px;
        --kwheaderheight: 86px;
        --kwtopbarheight: 36px;
    }

    /* dispositivi */
    .kwTablet,
    .kwTablet.kwDesktop {
        display: block;
    }
    .kwMobile,
    .kwMobile.kwDesktop {
        display: none;
    }

    /* header */
    /*#sp-header {
    top: var(--kwtopbarheight);
}*/

    /* offcanvas */
    .full-screen-off-canvas.ltr .offcanvas-menu {
        width: 400px;
        max-width: 100%;
    }
    /* offcanvas */
    .full-screen .offcanvas-menu .close-offcanvas {
        right: var(--kwmarginsmall);
    }
    .full-screen .offcanvas-menu .offcanvas-inner {
        padding: var(--kwmarginmedium);
    }

    /* above the fold */
    .kwAtfText {
        min-height: calc(100vh - var(--kwtopbarheight) - var(--kwheaderheight) - 116px);
        display: grid;
        grid-template-columns: 50%;
        justify-items: left;
    }
    .kwMainImg {
        height: 510px;
    }
    .kwMainImg > img {
        height: 100%;
        width: 100%;
        object-fit: cover;
    }
    .kwAtfBoxText {
        position: relative;
        margin-top: calc(0px - 2.5 * (var(--kwmarginlarge)));
        z-index: 4;
    }
    .kwAtfBoxText::before {
        content: "";
        display: block;
        width: calc(100% + 2 * var(--kwmarginmedium));
        height: calc(2.5 * var(--kwmarginlarge));
        position: absolute;
        top: calc(0px - var(--kwmarginlarge));
        left: calc(0px - var(--kwmarginmedium));
        border-radius: 7px 7px 0 0;
        background: var(--kwbgcolor);
    }

    /* blog */
    .kw2ColBlog {
        grid-template-columns: 1fr 40px;
    }
    .kw3ColBlog {
        grid-template-columns: 1fr 3fr 1fr;
    }
    .kw2ColBlog > .kwShare,
    .kw3ColBlog > .kwShare {
        justify-self: right;
        width: 40px;
    }
    .kwBtnIndice {
        display: none;
    }
    /* contatti fissi */
    .kwBoxContatti {
        justify-content: right;
        width: max-content;
        left: auto;
        padding: 0;
        right: var(--kwmarginmedium);
        bottom: var(--kwmarginmedium);
    }
    #telefono-fisso {
        transform: scale(0);
        opacity: 0;
        transition: ease-out 0.2s;
    }
    #telefono-fisso.kwMostraContatti {
        transform: scale(1);
        opacity: 1;
    }
    .kwCtaTelefono {
        font-size: 1.2rem;
    }

    /* footer */
    #sp-footer {
        padding: var(--kwmarginlarge) 0 var(--kwmarginsmall);
    }

    /* sezione contatti */
    .kwRowContatti {
        grid-template-columns: repeat(2, auto);
        align-items: center;
        grid-gap: var(--kwmarginlarge);
        justify-content: space-between;
    }

    /* sezioni */
    .kw2ColSection,
    .kw3ColSection,
    .kw4ColSection {
        grid-template-columns: repeat(2, 1fr);
        align-items: center;
    }
    .kwColText {
        grid-row-start: unset;
    }
    .kw2ColText {
        column-count: 2;
        gap: var(--kwmarginlarge);
    }
    .kwTabl100 {
        width: 100%;
    }
    .kwTabl50 {
        width: 50%;
    }
    .kwTabl33 {
        width: 33.333333%;
    }
    .kwTabl25 {
        width: 25%;
    }
    .kwColSticky {
        align-self: start;
        position: sticky;
        top: var(--kwmarginmedium);
    }
    .kw2ColBox {
        grid-template-columns: repeat(2,1fr);
    }
    .kw2ColBox > .kwColImg {
        padding: var(--kwmarginmedium) var(--kwmarginmedium) var(--kwmarginmedium) 0;
    }
    .kw2ColBox > .kwColImg > img {
        height: 100%;
        width: 100%;
        object-fit: cover;
    }

}

@media screen and (min-width: 992px) {
    :root {
        --kwwidthcontainer: 940px;
        --kwh1fontsize: 2.555555rem;
        --kwh2fontsize: 1.7777777rem;
        --kwh3fontsize: 1.222223rem;
        --kwmarginlarge: 70px;
        --kwmarginmedium: 36px;
        --kwmarginsmall: 24px;
    }

    /* dispositivi */
    .kwMobile,
    .kwTablet,
    .kwMobile.kwTablet {
        display: none;
    }
    .kwDesktop,
    .kwMobile.kwDesktop,
    .kwTablet.kwDesktop {
        display: block;
    }

    /* fonts */
    h1 > small {
        font-size: 1.7777777rem;
    }
    .kwAtfArticle h1 {
        font-size: 1.777777rem;
    }
    .kw3ColBlog h2 {
        font-size: 1.555555rem;
    }

    /* header */
    .sp-megamenu-wrapper {
        order: -1;
    }
    #sp-header .logo a {
        position: relative;
    }
    #sp-header .logo a::before {
        content: "";
        position: absolute;
        width: calc(100% + var(--kwmarginmedium) + ((100vw - var(--kwwidthcontainer)) / 2));
        height: 100%;
        background: var(--kwprimary);
        top: 0;
        left: calc(0px - ((100vw - var(--kwwidthcontainer)) / 2));
        opacity: 0;
        transition: ease-out 0.2s;
    }
    #sp-header .logo a::after {
        content: "";
        height: 100%;
        width: 100%;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        background-image: url(../../../images/logo/logo-maxicubo-self-storage-bergamo-negativo.png);
        background-size: auto var(--kwlogoheaderheight);
        background-repeat: no-repeat;
        background-position: center;
        opacity: 0;
    }
    .kwHomepage #sp-header .logo a::before {
        opacity: 1;
    }
    #sp-header .logo > a:hover > img,
    .kwHomepage #sp-header .logo > a > img {
        opacity: 0;
    }
    .kwHomepage #sp-header .logo > a::after {
        opacity: 1;
    }
    #sp-header:hover .sp-megamenu-parent > li.active::before,
    #sp-header:hover .sp-megamenu-parent > li.alias-parent-active::before,
    .kwHomepage #sp-header:hover .logo a::before {
        opacity: 0.2;
    }
    #sp-header:hover .sp-megamenu-parent > li.active > a,
    #sp-header:hover .sp-megamenu-parent > li.alias-parent-active > a {
        color: var(--kwprimary);
    }
    .kwHomepage #sp-header:hover .logo > a::after {
        background-image: url(../../../images/logo/logo-maxicubo-self-storage-bergamo-orange.png);
    }

    /* megamenu */
    .sp-megamenu-parent .sp-dropdown.sp-menu-center {
        margin-left: 0;
        left: calc(50% - 110px) !important;
        padding-top: var(--kwmarginsmall);
        width: 220px !important;
    }
    .sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
        box-shadow: none;
        background: var(--kwbodycolor);
        padding: var(--kwmarginsmall);
        border-radius: var(--kwradius);
    }
    .sp-megamenu-parent .sp-dropdown li.sp-menu-item > a,
    .sp-megamenu-parent .sp-dropdown li.sp-menu-item span {
        font-weight: 600;
        color: var(--kwbgcolor);
        text-align: center;
        padding: 0;
        font-size: var(--kwsmalltext);
        transition: ease-out 0.2s;
    }
    .sp-megamenu-parent .sp-dropdown li.sp-menu-item + li.sp-menu-item {
        margin-top: var(--kwmarginsmall);
    }
    .sp-megamenu-parent .sp-dropdown li.sp-menu-item > a:hover {
        background: none;
        color: var(--kwprimary);
    }
    .sp-megamenu-parent .sp-dropdown li.sp-menu-item.active > a {
        color: var(--kwprimary);
        background: none;
    }
    .sp-megamenu-parent .sp-dropdown:hover li.sp-menu-item.active > a {
        color: var(--kwprimary);
        opacity: 0.5;
    }
    .sp-megamenu-parent > li::before {
        content: "";
        position: absolute;
        left: -18px;
        top: 0;
        width: calc(100% + 36px);
        height: 100%;
        background: var(--kwprimary);
        opacity: 0;
        transition: ease-out 0.2s;
    }
    .sp-megamenu-parent > li.active::before,
    .sp-megamenu-parent > li.alias-parent-active::before,
    .sp-megamenu-parent > li:hover::before {
        opacity: 1;
    }
    .sp-megamenu-parent > li > a {
        position: relative;
        z-index: 1;
    }
    .sp-megamenu-parent > li.sp-has-child > a::after,
    .sp-megamenu-parent > li.sp-has-child > span::after {
        font-weight: 400;
        content: "\e900";
        font-family: "icomoon";
        font-size: 0.8em;
        margin-left: 0.3em;
    }

    /* partnership */
    .kwBoxPartnership {
        padding: var(--kwmarginmedium);
    }

    /* tipologie box */
    .kwGrid3ColDesktop {
        grid-template-columns: repeat(3, 1fr);
    }

}

@media screen and (min-width: 1200px) {
    :root {
        --kwwidthcontainer: 1140px;
    }

    /* above the fold */
    .kwAtfBoxText::before {
        width: calc(100% + 2 * var(--kwmarginlarge));
        left: calc(0px - var(--kwmarginlarge));
    }

    /* promo */
    .kwPromoText {
        font-size: var(--kwbigtext);
    }

    /* sezioni */
    .kw3ColSection {
        grid-template-columns: repeat(3, 1fr);
        align-items: center;
    }
    .kw4ColSection {
        grid-template-columns: repeat(4, 1fr);
        align-items: center;
    }
    .kwDesk100 {
        width: 100%;
    }
    .kwDesk50 {
        width: 50%;
    }
    .kwDesk33 {
        width: 33.333333%;
    }
    .kwDesk25 {
        width: 25%;
    }
}

@media screen and (min-width: 1320px) {
    :root {
        --kwwidthcontainer: 1250px;
    }
}
