body {
    font-family: 'Rubik', 'Arial', sans-serif;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 400;
    color: var(--bodycolor);
    padding-top: 133.9px;
}
:root {
    --primarycolor: #ec6188;
    --secondarycolor: #52a2cf;
    --tertiarycolor: #1e4664;
    --greycolor: #efefef;
    --bodycolor: /*#424242*/#1e4664;
}
html {
    scrollbar-color: var(--primarycolor) var(--bodycolor);
    scrollbar-width: thin;
}
*::-moz-selection,
*::-webkit-selection,
*::selection {
    background: var(--primarycolor);
    color: #fff;
}
p, h2, h3, h4, p + img, ul, ul + img, ol, ol + img, .kwMarginTop, p + .kw2ColSection, h2 + .kw2ColSection, .kw2ColSection + img, .kwBodySection img + img {
    margin-top: 30px;
    margin-bottom: 0;
}
p + p, h1 + p, h2 + p, h3 + p, h4 + p, ul + p, p + ul, ol + p, p + ol, h1 + ul, h2 + ul, h3 + ul, h4 + ul, ul + ul {
    margin-top: 14px;
}
li > .kwCleanList, .kwSmallMargin {
    margin-top: 7px;
}

.kw100 {
    width: 100%;
}

[style="color: red;"],
[style="background: red;"] {
    display: none;
}

/* accordion */
.collapse {
    overflow: hidden;
}

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

/* margin sopra e sotto articolo */
.entry-header {
    margin-bottom: 0;
}
article.item {
    margin-bottom: 0;
}
#sp-main-body {
    padding: 0;
}

/* impaginazione senza eccessi ai lati */
.container {
    max-width: 1300px;
    padding: 0;
    width: 1300px;
}
.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;
}

/* fonts */
h1, .kwH1Style {
    font-size: 3.3em;
    font-weight: 700;
    margin: 0;
    line-height: 1;
}
h2, .kwH2Style {
    font-size: 2.4em;
    font-weight: 700;
    line-height: 1;
}
h3, .kwH3Style {
    font-size: 1.3em;
    font-weight: 700;
}
h4, .kwH4Style {
    font-size: 1.1em;
    font-weight: 700;
}
.kwDomanda {
    font-weight: 500;
    text-transform: uppercase;
    opacity: 0.5;
}
.kwDomanda + h1, 
.kwDomanda + h2 {
    margin-top: 7px;
}
.kwColorPrimaryText {
    color: var(--primarycolor);
}
.kwColorSecondaryText {
    color: var(--secondarycolor);
}
.kwColorTertiaryText {
    color: var(--tertiarycolor);
}
.kwColorPrimaryText::-moz-selection,
.kwColorPrimaryText::-webkit-selection,
.kwColorPrimaryText::selection,
.kwColorSecondaryText::-moz-selection,
.kwColorSecondaryText::-webkit-selection,
.kwColorSecondaryText::selection,
.kwColorTertiaryText::-moz-selection,
.kwColorTertiaryText::-webkit-selection,
.kwColorTertiaryText::selection {
    color: rgba(255, 255, 255, .5);
}
.kwBgPrimary::-moz-selection,
.kwBgPrimary::-webkit-selection,
.kwBgPrimary::selection {
    background: rgba(255, 255, 255, .5);
}
.kwNote {
    font-size: 0.85em;
    font-style: italic;
}
.kwContentLink {
    color: var(--tertiarycolor);
    text-decoration: underline 2px var(--secondarycolor);
}
.kwContentLink:hover {
    text-decoration: underline 2px var(--secondarycolor);
}
.kwLightedText {
    background-color: #ffef00;
    color: #555;
}
.kwLightedText::-moz-selection,
.kwLightedText::-webkit-selection,
.kwLightedText::selection {
    background-color: #ffd700;
    color: var(--primarycolor);
}
/*.kwSmallSubtitle {
margin: 14px 0 0;
font-family: Cormorant;
font-size: 1.6em;
font-style: italic;
line-height: 1;
}*/
.kwSmallSubtitle {
    margin: 14px 0 0;
    font-size: 1.3em;
    font-style: italic;
    line-height: 1.2;
    font-weight: 500;
}

/* ico */
.kwFrecciaGiuPrimary {
    height: 2em;
    display: inline-block;
    width: 4em;
    vertical-align: text-top;
    background-image: url(../../../images/graphics/freccia-giu-primary.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.kwFrecciaGiuSecondary {
    height: 2em;
    display: inline-block;
    width: 4em;
    vertical-align: text-top;
    background-image: url(../../../images/graphics/freccia-giu-secondary.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* cta */
.kwCta,
#bfSubmitButton {
    color: #fff;
    padding: 15px 28px;
    text-transform: uppercase;
    margin: 28px auto 0;
    transition: ease-out 0.2s;
    cursor: pointer;
    display: inline-block;
    text-shadow: none;
    background: var(--primarycolor);
    border-radius: 28px;
    font-weight: 700;
    position: relative;
    font-size: 1em;
    border: none;
}
.kwCta:hover,
#bfSubmitButton:hover,
.kwCta:focus,
#bfSubmitButton:focus {
    color: #fff;
}
.kwCta::before,
#bfSubmitButton::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: #f24770;
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 30px;
    clip-path: circle(0 at 0 50%);
    transition: cubic-bezier(.39,.01,.59,.98) 1s;
    z-index: 1;
}
.kwCta:hover::before,
#bfSubmitButton:hover::before,
.kwCtaContattiFissi:hover::before {
    clip-path: circle(140% at 0px 50%);
}
.kwCta span,
#bfSubmitButton span,
.kwCtaContattiFissi span {
    position: relative;
    z-index: 1;
}
.kwCtaSecondary {
    background: var(--secondarycolor);
}
.kwCtaSecondary::before {
    background: #398bbc;
}
.kwRotatePlus {
    -webkit-transition: all .8s cubic-bezier(.475,.425,0,.995);
    -o-transition: all .8s cubic-bezier(.475,.425,0,.995);
    transition: all .8s cubic-bezier(.475,.425,0,.995);
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
    display: inline-block;
}
.kwCta[aria-expanded="true"] .kwRotatePlus {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(45deg);
}
.kwBgPrimary .kwCta {
    background: #fff;
    color: var(--bodycolor);
}
.kwBgPrimary .kwCta::before {
    background: #ffe6ed;
}

/* liste */
.kwCheckList {
    list-style: none;
    padding-left: 0;
}
.kwCheckList > li {
    display: grid;
    grid-template-columns: 28px auto;
    align-items: center;
    grid-gap: 7px;
    margin-top: 7px;
}
.kwCheckList > li::before {
    content: "";
    display: block;
    height: 21px;
    width: 28px;
    background-image: url(../../../images/graphics/check.svg);
    background-position: center;
    background-repeat: no-repeat;
    align-self: start;
}
.kwWrongList > li::before {
    background-image: url(../../../images/graphics/decheck.svg);
}
.kwCleanList {
    padding-left: 16px;
}
.kwCleanList > li {
    margin-top: 7px;
}
.kwCleanList > li:first-child {
    margin-top: 0;
}
.kwListNumber {
    padding: 0;
    list-style: none;
    margin: 0;
}
.kwListNumber > li {
    counter-increment: step;
    position: relative;
    padding-left: 30px;
    margin-top: 7px;
}
.kwListNumber > li::before {
    left: 0;
    position: absolute;
    content: counter(step) ".";
    font-size: 1.2em;
    line-height: 0.9em;
    font-weight: 700;
}
.kwListNumber > li {
    counter-increment: step;
    position: relative;
    padding-left: 21px;
    margin-top: 7px;
}
.kw2ColUl {
    display: grid;
    grid-template-columns: repeat(2,auto);
    grid-gap: 0 28px;
    align-items: start;
}

/* form */
.bfElemWrap.control-group {
    margin-top: 14px;
}
.bfQuickMode .controls label.control-label {
    width: 100%;
    min-width: 100%;
}
.kwFormW {
    width: 100%;
    max-width: 1140px;
    margin: auto;
}
.bfQuickMode i.icon-asterisk {
    font-size: 1em;
    vertical-align: baseline;
    color: var(--bodycolor);
    margin: 0;
    display: inline;
    line-height: 1.3;
}
i.icon-asterisk::before {
    content: "*";
    font-family: 'Rubik', 'Arial', sans-serif;
}

/* check privacy */
#bfElemWrap20 > .controls > div,
#bfElemWrap86 > .controls > div {
    display: grid;
    grid-template-columns: 21px auto;
    grid-gap: 7px;
}
#bfLabel20 + span,
#bfLabel86 + span {
    grid-column-start: 1;
    grid-row-start: 1;
}
#bfLabel20,
#bfLabel86 {
    margin: 0;
    text-align: left;
}

/* 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;
}
/* top bar */
#sp-top-bar .custom {
    display: grid;
    grid-template-columns: repeat(2, auto);
    justify-content: space-between;
    padding: 14px 0;
    border-bottom: 3px solid var(--primarycolor);
}
#sp-kwtopbar a {
    color: #fff;
}
.kwContattiTopBar {
    display: grid;
    grid-template-columns: repeat(4, auto);
    grid-gap: 21px;
}
#sp-kwtopbar a.kwCtaTopBar {
    color: var(--primarycolor);
    font-weight: 700;
    text-transform: uppercase;
}

/* header */
.sp-megamenu-parent > li.kwPreventivoHeader > a {
    color: var(--primarycolor);
    font-weight: 700;
}
#sp-header.menu-fixed,
#sp-header.menu-fixed .logo,
#sp-header.menu-fixed #offcanvas-toggler::after {
    height: 70px;
}
#sp-header.menu-fixed .sp-megamenu-parent > li > a,
#sp-header.menu-fixed .sp-megamenu-parent > li > span {
    line-height: 70px;
}
#sp-header.menu-fixed .sp-megamenu-parent.menu-slide-down .sp-has-child:hover > .sp-dropdown {
    top: 70px;
}
.sp-megamenu-parent > li:first-child > a {
    margin-left: 0;
}

/* offcanvas menu */
#offcanvas-toggler::after {
    content: " ";
    display: block;
    width: 40px;
    height: 90px;
    background: url(../../../images/graphics/nav.svg);
    background-repeat: repeat;
    background-repeat: no-repeat;
    background-position: center;
    -webkit-transition: all .8s cubic-bezier(.475,.425,0,.995);
    -o-transition: all .8s cubic-bezier(.475,.425,0,.995);
    transition: all .8s cubic-bezier(.475,.425,0,.995);
}
.close-offcanvas > i {
    display: none;
}
.kwHeadOffcanvasMenu {
    height: 80px;
    border-bottom: 2px solid #fff;
}
.kwHeadOffcanvasMenu > a > img {
    margin: auto;
    width: 105px;
    height: 80px;
}
.close-offcanvas > i {
    display: none;
}
.close-offcanvas::after {
    content: " ";
    display: block;
    width: 40px;
    height: 63px;
    background: url(../../../images/graphics/close-nav.svg);
    background-repeat: repeat;
    background-repeat: no-repeat;
    background-position: center;
}
.full-screen-ftop .offcanvas-menu .offcanvas-inner .sp-module ul.nav > li > ul > li {
    padding: 0;
    margin-top: 14px;
}
.full-screen-ftop .offcanvas-menu .offcanvas-inner .sp-module ul.nav > li > ul > li > ul {
    grid-column-end: 2;
    padding-left: 20px;
    border-left: 1px solid;
    margin-left: 13px;
}
.full-screen-ftop .offcanvas-menu .offcanvas-inner .sp-module ul.nav > li > ul > li.active::before {
    color: #b4a276;
    font-size: 1.6em;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    border: 1px solid;
    margin-left: 10px;
}
.full-screen-ftop .offcanvas-menu .offcanvas-inner .sp-module ul.nav > li > ul > li > ul > li {
    border: none;
    padding: 0;
}
.full-screen-ftop .offcanvas-menu .offcanvas-inner .sp-module ul.nav > li > ul > li > ul > li > a {
    padding: 10px 0;
}
.customkwHeaderOffcanvas {
    height: 63px;
    padding: 7px calc((100% - 720px) / 2);
    display: grid;
    align-items: center;
    border-bottom: 3px solid var(--primarycolor);
}
.customkwHeaderOffcanvas > a > img {
    width: 33.33333333%;
}
.full-screen-ftop .offcanvas-menu .offcanvas-inner .sp-module ul.nav.menu::before,
.full-screen-ftop .offcanvas-menu .offcanvas-inner .sp-module ul.nav.menu::after {
    display: none;
}
.full-screen-ftop .offcanvas-menu .offcanvas-inner .sp-module ul li ul li a::after {
    opacity: 1;
}
.full-screen-off-canvas-ftop.ltr .offcanvas-menu .sp-module ul > li.active > a,
.full-screen-off-canvas-ftop.ltr .offcanvas-menu .sp-module ul > li.active > span {
    color: var(--secondarycolor);
}
.full-screen-ftop .offcanvas-menu .offcanvas-inner .sp-module ul > li ul > li.active > a {
    color: var(--secondarycolor);
    background: none !important;
    font-size: 1.5em;
}
.customkwCtaPreventivoOffcanvas {
    padding: 21px;
    background: var(--primarycolor);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1.4em;
    line-height: 1;
}
.customkwCtaPreventivoOffcanvas a {
    color: #fff;
}
.full-screen-ftop .offcanvas-menu .offcanvas-inner .sp-module ul li .offcanvas-menu-toggler {
    font-size: 1.6em;
    line-height: 30px;
    margin-left: 7px;
    position: absolute;
    width: 100%;
    text-align: right;
    padding: 0 14px;
}

/* breadcrumb */
#sp-breadcrumbs {
    padding: 7px 0;
    color: #fff;
    background: var(--tertiarycolor);
    opacity: 0.95;
    font-weight: 500;
    font-size: 0.8em;
}
.breadcrumb {
    padding: 0;
    margin: 0;
    background: none;
    border-radius: 0;
}
.breadcrumb > li > a {
    color: #fff;
}
.breadcrumb > li > a:hover {
    color: var(--secondarycolor);
}
.breadcrumb > .active {
    color: #fff;
    font-weight: 300;
}
.breadcrumb > li + li::before {
    content: "";
    width: 17px;
    height: 10px;
    display: inline-block;
    background-image: url(../../../images/graphics/freccia-bodycolor.svg);
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    background-repeat: no-repeat;
    background-position: center;
    -webkit-transition: 2s cubic-bezier(.19,1,.22,1);
    -o-transition: 2s cubic-bezier(.19,1,.22,1);
    transition: 2s cubic-bezier(.19,1,.22,1);
    filter: brightness(200%);
    -webkit-filter: brightness(1000%);
    margin: 0 7px;
}

/* atf */
.kwAtfHome {
    background: var(--greycolor);
    padding: 100px;
    padding-left: calc((100% - 1300px)/2);
    padding-right: calc((100% - 1300px)/2);
    display: grid;
    grid-template-columns: repeat(2,1fr);
    align-content: center;
    position: relative;
}
.kwAtfHome .kwAtfImg {
    position: absolute;
    top: 0;
    right: 0;
    max-width: 50%;
}
.kwAtf {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    background: var(--greycolor);
}
.kwAtf .kwAtfText {
    display: grid;
    align-content: center;
    padding: 100px 63px 100px calc(100% - 650px);
}
.kwAtf .kwAtfImg {
    width: 100%;
}
.kwCleanAtf {
    width: 63%;
}
.kwAtfText .kwCta {
    margin: 28px auto 0 0;
}

/* anteprima servizi */
.kwTabServizi {
    margin-top: 28px;
    display: grid;
    grid-template-columns: repeat(4,1fr);
    grid-gap: 28px 56px;
}
.kwCleanAtf + .kwTabServizi {
    margin-top: 63px;
}
.kwCellServizio {
    position: relative;
    display: grid;
    grid-gap: 7px;
    grid-template-rows: auto max-content;
    perspective: 1000px;
    -webkit-perspective: 1000px;
}
.kwImgRotateEffect > .kwImgBgServizio {
    position: absolute;
    /*opacity: 0.42;*/
    height: calc(100% - 7px);
    width: 100%;
    object-fit: cover;
}
.kwDoubleCell {
    grid-column-end: span 2;
}
.kwImgServizio {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}
.kwCellServizio .kwDomanda {
    font-size: 0.8em;
}
.kwTextServizio {
    font-size: 1.15em;
    font-weight: 700;
}
a.kwTextServizio {
    color: var(--bodycolor);
}
a.kwTextServizio::after,
.full-screen-ftop .offcanvas-menu .offcanvas-inner .sp-module ul li ul li a::after {
    content: "";
    width: 21px;
    height: 10px;
    display: inline-block;
    margin-left: 5px;
    background-image: url(../../../images/graphics/freccia-primarycolor.svg);
    opacity: 0.5;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    -webkit-transition: all 2s cubic-bezier(.19,1,.22,1);
    -o-transition: all 2s cubic-bezier(.19,1,.22,1);
    transition: all 2s cubic-bezier(.19,1,.22,1);
}
a.kwTextServizio:hover {
    color: var(--secondarycolor);
}
.kwCellServizio:hover a.kwTextServizio::after,
a.kwTextServizio:hover::after,
.full-screen-ftop .offcanvas-menu .offcanvas-inner .sp-module ul li ul li a:hover::after {
    opacity: 1;
    -webkit-transform: translateX(7px);
    -o-transform: translateX(7px);
    transform: translateX(7px);
}
.kwContTextServizio {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    -webkit-transition: transform 2s cubic-bezier(.19,1,.22,1);
    -o-transition: transform 2s cubic-bezier(.19,1,.22,1);
    transition: transform 2s cubic-bezier(.19,1,.22,1);
}
.kwCellServizio:hover .kwContTextServizio {
    -webkit-transform: translateX(7px);
    -ms-transform: translateX(7px);
    transform: translateX(7px);
}
.kwImgRotateEffect {
    -webkit-transform: scale(1) rotateY(0);
    -ms-transform: scale(1) rotateY(0);
    transform: scale(1) rotateY(0);
    -webkit-transition: all .8s cubic-bezier(.475,.425,0,.995);
    -o-transition: all .8s cubic-bezier(.475,.425,0,.995);
    transition: all .8s cubic-bezier(.475,.425,0,.995);
    /*will-change: transform;*/
    overflow: hidden;
    padding-bottom: 7px;
    border-radius: 7px;
}
.kwImgRotateEffect > img {
    object-fit: cover;
    height: 100%;
    object-position: top;
}
.kwCellServizio:hover .kwImgRotateEffect {
    -webkit-transform: scale(0.95) rotateY(-7deg);
    -ms-transform: scale(0.95) rotateY(-7deg);
    transform: scale(0.95) rotateY(-7deg);
}
.kwLowZoomContent {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    -webkit-transition: -webkit-transform 2s cubic-bezier(.19,1,.22,1);
    -o-transition: transform 2s cubic-bezier(.19,1,.22,1);
    transition: transform 2s cubic-bezier(.19,1,.22,1);
    position: relative;
    /*will-change: transform;*/
}
.kwLowZoomContent:hover,
.kwCellServizio:hover .kwLowZoomContent,
.kwSliderCaseHistory .uk-margin:hover .kwLowZoomContent,
.kwCellStorieSuccesso:hover .kwLowZoomContent {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}

/* slider widgetkit */
.uk-slidenav-position a.uk-slidenav {
    display: block !important;
    opacity: 1;
    height: 15px;
    width: 30px;
    margin-top: -7.5px;
    line-height: 15px;
    font-size: 15px;
}
a.uk-slidenav-previous::before {
    content: "";
    width: 30px;
    height: 15px;
    display: inline-block;
    background-image: url(../../../images/graphics/freccia-bodycolor-left.svg);
    -webkit-transform: rotate(180deg) translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    background-repeat: no-repeat;
    background-position: center;
    -webkit-transition: 2s cubic-bezier(.19,1,.22,1);
    -o-transition: 2s cubic-bezier(.19,1,.22,1);
    transition: 2s cubic-bezier(.19,1,.22,1);
    opacity: 0.5;
}
a.uk-slidenav-next::before {
    content: "";
    width: 30px;
    height: 15px;
    display: inline-block;
    background-image: url(../../../images/graphics/freccia-bodycolor.svg);
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    background-repeat: no-repeat;
    background-position: center;
    -webkit-transition: 2s cubic-bezier(.19,1,.22,1);
    -o-transition: 2s cubic-bezier(.19,1,.22,1);
    transition: 2s cubic-bezier(.19,1,.22,1);
    opacity: 0.5;
}
a.uk-slidenav-previous:hover::before {
    -webkit-transform: translateX(-7px);
    -ms-transform: translateX(-7px);
    transform: translateX(-7px);
    opacity: 1;
}
a.uk-slidenav-next:hover::before {
    -webkit-transform: translateX(7px);
    -ms-transform: translateX(7px);
    transform: translateX(7px);
    opacity: 1;
}

/* numeri */
#numeri {
    padding-top: 35px;
    padding-bottom: 35px;
}
.kwNumeriTab {
    display: grid;
    grid-template-columns: repeat(6,auto);
    grid-gap: 28px 35px;
    align-items: start;
    justify-items: center;
    padding: 0;
    list-style: none;
}
.kwCellNumero {
    display: grid;
    text-align: center;
    align-items: start;
}
.kwNumero {
    font-size: 3em;
    color: var(--secondarycolor);
    line-height: 1;
    letter-spacing: -0.05em;
}
.kwLabelNumero {
    font-weight: 700;
    font-size: 0.9em;
    letter-spacing: -0.05em;
}

/* gallery widgetkit */
div.uk-modal-caption {
    display: none;
}
.uk-grid.kwGalleryLavori {
    padding: 0 28px 35px;
}
.kwGalleryLavori div.uk-panel-teaser {
    border: 4px solid #fff;
    border-radius: 14px;
    overflow: hidden;
}
.kwGallerySiti.uk-grid,
.kwGallerySiti div.uk-grid-margin,
.kwGalleryLavori div.uk-grid-margin {
    margin-top: 28px;
}
.kwGallerySiti div.uk-panel-teaser {
    border-bottom: 4px solid var(--tertiarycolor);
}
div.uk-modal,
.modal-open .modal {
    z-index: 9999;
}
div.uk-modal {
    background: rgba(0,0,0,.5);
}
div.uk-modal-dialog {
    border: none;
    border-radius: 0;
    box-shadow: none;
}
.uk-modal-dialog-lightbox > a.uk-close:first-child {
    top: 10px;
    right: 10px;
    opacity: 0.7;
    height: 40px;
    width: 40px;
    background-image: url(../../../images/graphics/close-nav-primary.svg);
    -webkit-transition: all .8s cubic-bezier(.475,.425,0,.995);
    -o-transition: all .8s cubic-bezier(.475,.425,0,.995);
    transition: all .8s cubic-bezier(.475,.425,0,.995);
    background-color: transparent;
    padding: 10px;
    box-shadow: none;
    filter: brightness(10) drop-shadow(0px 0px 2px rgba(0,0,0,.2));
}
.uk-modal-dialog-lightbox > a.uk-close:first-child:hover {
    opacity: 1;
}
a.uk-close-alt::after {
    display: none;
}
.uk-modal-dialog-lightbox a.uk-slidenav-next::before {
    background-image: url(../../../images/graphics/freccia-primarycolor.svg);
    filter: brightness(10) drop-shadow(0px 0px 2px rgba(0,0,0,.4));
    opacity: 0.7;
}
.uk-modal-dialog-lightbox a.uk-slidenav-previous::before {
    background-image: url(../../../images/graphics/freccia-primarycolor-left.svg);
    filter: brightness(10) drop-shadow(0px 0px 2px rgba(0,0,0,.4));
    opacity: 0.7;
}
.uk-modal-dialog-lightbox a.uk-slidenav-next:hover::before,
.uk-modal-dialog-lightbox a.uk-slidenav-previous:hover::before {
    opacity: 1;
}

/* gallery certificati */
#certificazioni .kwSection,
#lavori .kwSection,
.kwGalleryCertificati {
    padding-bottom: 35px;
}
.kwGalleryCertificati.uk-slidenav-position a.uk-slidenav {
    top: -49px;
    bottom: auto;
    margin: 0;
    filter: brightness(1000%);
}
.kwGalleryCertificati.uk-slidenav-position a.uk-slidenav-next {
    right: calc((100% - 1300px)/2);
}
.kwGalleryCertificati.uk-slidenav-position a.uk-slidenav-previous {
    right: calc((100% - 1300px)/2 + 49px);
    left: auto;
}
.kwGalleryCertificati .uk-slider > li,
.kwGalleryCaseHistory .uk-slider > li,
.kwPerspectiveCont {
    perspective: 1000px;
    -webkit-perspective: 1000px;
}
.kwGalleryCertificati .uk-slider > li > div,
.kwGalleryCaseHistory .uk-slider > li > div {
    -webkit-transform: scale(1) rotateY(0);
    -ms-transform: scale(1) rotateY(0);
    transform: scale(1) rotateY(0);
    -webkit-transition: all .8s cubic-bezier(.475,.425,0,.995);
    -o-transition: all .8s cubic-bezier(.475,.425,0,.995);
    transition: all .8s cubic-bezier(.475,.425,0,.995);
}
.kwGalleryCaseHistory .uk-slider > li > div {
    border-radius: 14px;
}
.kwGalleryCertificati .uk-slider > li > div:hover {
    -webkit-transform: scale(0.95) rotateY(-14deg);
    -ms-transform: scale(0.95) rotateY(-14deg);
    transform: scale(0.95) rotateY(-14deg);
}
.kwGalleryCertificati .uk-slider > li > div.uk-overlay {
    padding-bottom: 81%;
    display: inline-table;
    background-size: contain;
    height: auto !important;
}

/* gallery case history */
.kwGalleryCaseHistory {
    background: var(--secondarycolor);
    padding: 28px;
}
.kwGalleryCaseHistory .uk-slider > li > div:hover {
    -webkit-transform: scale(0.9) rotateY(-11deg);
    -ms-transform: scale(0.9) rotateY(-11deg);
    transform: scale(0.9) rotateY(-11deg);
}
.kwGalleryCaseHistory .uk-overlay-panel {
    border: 4px solid #fff;
    border-radius: 14px;
}
.kwGalleryCaseHistory {
    background: var(--secondarycolor);
    padding: 35px 28px;
    margin-bottom: 21px;
}
.kwGalleryCaseHistory .uk-overlay {
    padding-bottom: 61% !important;
}
.kwGalleryCaseHistory.uk-slidenav-position a.uk-slidenav {
    filter: brightness(1000%);
    filter: brightness(10) drop-shadow(0px 0px 2px rgba(0,0,0,.4));
}
.kwGalleryCaseHistory.uk-slidenav-position a.uk-slidenav.uk-slidenav-next {
    right: 49px;
}
.kwGalleryCaseHistory.uk-slidenav-position a.uk-slidenav.uk-slidenav-previous {
    left: 49px;
}

/* anteprime case history */
#sp-case-history {
    background: #ffe6ed;
    color: var(--primarycolor);
    text-align: center;
    padding-bottom: 21px;
}
#sp-case-history .kwSection {
    padding-bottom: 42px;
}
#sp-case-history .kwCleanTextSection {
    margin: auto;
}
.uk-slidenav-position.kwSliderCaseHistory {
    padding-bottom: 36px;
}
.kwSliderCaseHistory .uk-margin {
    background: #fff;
    display: grid;
    grid-template-columns: repeat(2,1fr);
    color: var(--bodycolor);
    border: 4px solid #ffa7bd;
    -webkit-transform: scale(1) rotateY(0);
    -ms-transform: scale(1) rotateY(0);
    transform: scale(1) rotateY(0);
    -webkit-transition: all .8s cubic-bezier(.475,.425,0,.995);
    -o-transition: all .8s cubic-bezier(.475,.425,0,.995);
    transition: all .8s cubic-bezier(.475,.425,0,.995);
    border-radius: 14px;
    overflow: hidden;
}
.kwSliderCaseHistory .uk-margin:hover {
    -webkit-transform: scale(0.95) rotateY(-7deg);
    -ms-transform: scale(0.95) rotateY(-7deg);
    transform: scale(0.95) rotateY(-7deg);
}
.kwSliderCaseHistory .uk-overlay-panel {
    padding: 0;
}
.kwSliderCaseHistory .uk-slider > li {
    -webkit-transition: transform 2s cubic-bezier(.19,1,.22,1);
    -o-transition: transform 2s cubic-bezier(.19,1,.22,1);
    transition: transform 2s cubic-bezier(.19,1,.22,1);
    -webkit-transform: scale(1) translate(50%);
    -ms-transform: scale(1) translate(50%);
    transform: scale(1) translate(50%);
    perspective: 1000px;
    -webkit-perspective: 1000px;
    will-change: transform;
}
.kwSliderCaseHistory .uk-slider > li.uk-active {
    -webkit-transform: scale(1.17) translate(0);
    -ms-transform: scale(1.17) translate(0);
    transform: scale(1.17) translate(0);
    z-index: 1;
}
.kwSliderCaseHistory .uk-slider > li.uk-active:first-child {
    transition-delay: 2s;
}
.kwSliderCaseHistory .uk-slider > li.uk-active + li {
    -webkit-transform: scale(1) translate(-50%);
    -ms-transform: scale(1) translate(-50%);
    transform: scale(1) translate(-50%);
}
.kwSliderCaseHistory .uk-slider > li.uk-active:first-child + li {
    transition-delay: 2s;
}
.kwContTextAntCaseHistory {
    display: grid;
    align-content: center;
    padding: 28px 56px;
    text-align: left;
}
.kwLogoAntCaseHistory {
    max-width: 203px;
    max-height: 133px;
    object-fit: contain;
    object-position: left;
    min-width: auto;
    min-height: auto;
}
.kwTextAntCaseHistory {
    font-weight: 700;
    font-size: 1.1em;
}
.kwContTextAntCaseHistory .kwCta {
    margin-left: 0;
}
.kwSliderCaseHistory.uk-slidenav-position a.uk-slidenav {
    top: auto;
    bottom: 0;
    margin: 0;
}
.kwSliderCaseHistory.uk-slidenav-position a.uk-slidenav-next {
    right: calc(50% - 40px);
}
.kwSliderCaseHistory.uk-slidenav-position a.uk-slidenav-previous {
    left: calc(50% - 40px);
}
.kwSliderCaseHistory a.uk-slidenav-previous::before {
    background-image: url(../../../images/graphics/freccia-primarycolor-left.svg);
}
.kwSliderCaseHistory a.uk-slidenav-next::before {
    background-image: url(../../../images/graphics/freccia-primarycolor.svg);
}
.kwImgAntCaseHistory {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

/* anteprime case history - pagina */
.kwTabStorieSuccesso {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-gap: 28px 56px;
}
.kwCellStorieSuccesso {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    border: 4px solid var(--tertiarycolor);
    -webkit-transform: scale(1) rotateY(0);
    -ms-transform: scale(1) rotateY(0);
    transform: scale(1) rotateY(0);
    -webkit-transition: all .8s cubic-bezier(.475,.425,0,.995);
    -o-transition: all .8s cubic-bezier(.475,.425,0,.995);
    transition: all .8s cubic-bezier(.475,.425,0,.995);
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
}
.kwCellStorieSuccesso:hover {
    -webkit-transform: scale(0.95) rotateY(-7deg);
    -ms-transform: scale(0.95) rotateY(-7deg);
    transform: scale(0.95) rotateY(-7deg);
}

/* brand clienti */
#sp-brand-clienti {
    background: var(--greycolor);
    margin-top: 21px;
}
.kwSliderClienti {
    margin-top: 50px;
}
.kwSliderClienti.uk-slidenav-position a.uk-slidenav,
.kwSliderClienti.uk-notouch a.uk-hidden-notouch,
.kwSliderClienti.uk-touch a.uk-hidden-touch{
    display: block !important;
    color: var(--bodycolor);
}
.kwSliderClienti .uk-slider-container {
    width: calc(100% - 120px);
    margin: auto;
}
.kwSliderClienti .uk-panel.uk-overlay.uk-overlay-hover.uk-cover-background {
    background-size: contain;
}

/* consulenza */
#sp-contattaci .custom {
    display: grid;
    grid-template-columns: 35% 49%;
    justify-content: space-between;
}
.kwColTel {
    display: grid;
    grid-gap: 28px;
}
.kwColForm {
    align-self: end;
}
.kwTitleContatto {
    font-size: 1.2em;
    font-weight: 700;
}
.kwCellContatto {
    display: grid;
    grid-gap: 7px;
}
.kwNumeroTelefono {
    color: var(--secondarycolor);
    font-weight: 700;
    font-size: 3em;
    line-height: 1;
}
.kwInfoContattoText {
    line-height: 1.7;
}
.kwTabContatti {
    grid-template-columns: repeat(2,1fr);
    margin-top: 28px;
    align-items: start;
    grid-template-rows: 89px auto;
    display: grid;
    grid-gap: 28px;
}
.kwCellContatto.kwCellForm {
    grid-column-start: 2;
    grid-row-start: 1;
    grid-row-end: span 2;
}

/* testimonianze */
#sp-testimonianze {
    background: #e0f4ff;
    color: var(--secondarycolor);
    text-align: center;
    padding-bottom: 7px;
}
#sp-testimonianze .kwCleanTextSection {
    margin: auto;
    text-align: center;
}
.kwTestimonianzeTab {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    grid-gap: 28px 56px;
    align-items: start;
    margin-top: 28px;
}
.kwCellTestimonianza {
    display: grid;
    grid-template-columns: 77px auto;
    grid-gap: 21px;
    text-align: left;
}
.kwReviewContent {
    color: var(--secondarycolor);
    display: grid;
    grid-gap: 14px;
}
.kwTitleTestimonianza {
    font-style: italic;
    font-size: 1.2em;
    font-weight: 500;
}
.kwStelleRecensioni {
    font-size: 1.2em;
    color: var(--primarycolor);
    line-height: 1;
}
.kwValueRecensione {
    font-weight: 500;
    margin-right: 7px;
}
.kwBodyTestimonianza {
    font-style: italic;
    font-size: 0.9em;
}
.kwNomeReferente {
    font-size: 1.5em;
    font-family: Cormorant;
    font-weight: 700;
    line-height: 1;
}
.kwRuoloReferente {
    padding-top: 7px;
    border-top: 2px solid;
    margin-top: 7px;
    display: block;
    font-weight: 300;
    font-size: 0.9em;
}
.kwNomeAzienda {
    font-size: 0.8em;
    text-transform: uppercase;
    font-weight: 500;
}
.kwLogoReview {
    border-radius: 100%;
    border: 4px solid;
}
#sp-brand-clienti + #sp-testimonianze {
    margin-top: 21px;
}
.kwRigaRatValue {
    display: block;
    margin-top: 28px;
    line-height: 28px;
    text-transform: uppercase;
    font-weight: 500;
    font-size: 0.7em;
    opacity: 0.5;
}

/* testimonianze google */
.kwTestimonianzeGoogleTab {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    text-align: left;
    grid-gap: 28px 56px;
}
.kwCellTestimonianzaGoogle {
    display: grid;
    align-content: start;
    grid-gap: 14px;
}
.kwCellTestimonianzaGoogle p[itemprop="reviewBody"] {
    margin: 0;
    border-bottom: 4px solid;
    background-color: #fff;
    overflow: hidden;
    border-radius: 7px;
}
.kwReviewAnt {
    cursor: pointer;
    -webkit-transform: scale(1) translateX(0);
    -ms-transform: scale(1) translateX(0);
    transform: scale(1) translateX(0);
    -webkit-transition: all .8s cubic-bezier(.475,.425,0,.995);
    -o-transition: all .8s cubic-bezier(.475,.425,0,.995);
    transition: all .8s cubic-bezier(.475,.425,0,.995);
}
.kwReviewAnt:hover {
    -webkit-transform: scale(1.1) translateX(-3.7%);
    -ms-transform: scale(1.1) translateX(-3.7%);
    transform: scale(1.1) translateX(-3.7%);
}
.kwPopupContain {
    justify-content: center;
    align-content: center;
    padding: 0 !important;
}
.kwPopupContain.in {
    display: grid !important;
}
.kwReviewPopup {
    width: 100%;
    max-width: 1200px;
    position: relative;
    border-radius: 7px;
    overflow: hidden;
}
.kwReviewPopup > button {
    position: absolute;
    top: 10px;
    right: 10px;
    opacity: 0.5;
    height: 40px;
    width: 40px;
    background-image: url(../../../images/graphics/close-nav-primary.svg);
    -webkit-transition: all .8s cubic-bezier(.475,.425,0,.995);
    -o-transition: all .8s cubic-bezier(.475,.425,0,.995);
    transition: all .8s cubic-bezier(.475,.425,0,.995);
}
.kwReviewPopup > button.close:focus,
.kwReviewPopup > button.close:hover {
    opacity: 1;
}
.kwReviewImg {
    max-height: calc(100vh - 40px);
    width: auto;
    max-width: calc(100vw - 40px);
}
body.modal-open {
    padding: 0 !important;
}

/* pagina contatti */
.kwTabPagContatti {
    display: grid;
    grid-template-columns: 56% 35%;
    justify-content: space-between;
    margin-top: 28px;
}
.kwTabPagContatti .kwNumeroTelefono {
    line-height: 1.3;
    font-size: 2.3em;
}
.kwGoogleMapsLinkText {
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.9em;
    position: absolute;
    bottom: 21px;
    left: 35px;
}

/* pagina preventivo */
.kwPreventivoPage #sp-main-body {
    text-align: center;
}
.kwPreventivoPage #sp-main-body .kwCleanAtf {
    margin: auto;
}
.kwPreventivoBen {
    display: grid;
    grid-template-columns: repeat(3,196px);
    grid-gap: 28px;
    text-align: center;
    justify-items: center;
    justify-content: center;
    padding: 0;
    list-style: none;
}
.kwPreventivoBen > li {
    display: grid;
    grid-gap: 7px;
    justify-items: center;
}
.kwIcoBen {
    width: 70px;
}
.kwTextBen {
    font-weight: 500;
    letter-spacing: -0.05em;
    font-size: 1.1em;
    line-height: 1.1;
}
.kwPreventivoPage .kwTabPagContatti {
    padding: 28px 35px;
    background-color: var(--primarycolor);
    color: #fff;
    text-align: left;
}
.kwPreventivoPage .kwTabPagContatti a {
    color: #fff;
}
.kwPreventivoPage .kwTabPagContatti .kwCellBodyCleanSection {
    border-color: var(--tertiarycolor);
}

/* footer */
#sp-footer .custom {
    display: grid;
    grid-template-columns: 290px auto;
    grid-gap: 49px;
    justify-content: space-between;
}
.kwFootTextRow {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    grid-gap: 49px;
}
.kwFootTextCell {
    display: grid;
    grid-gap: 7px;
    align-content: start;
}
.kwFootTextCell.kwDoubleCell {
    grid-template-columns: repeat(2,auto);
}
.kwFootTextCell.kwDoubleCell .kwTextServizio {
    grid-column-end: span 2;
}
.kwFootHr {
    border-top: 3px solid var(--primarycolor);
    margin: 28px 0;
}
.kwBottomFoot .nav.menu {
    display: grid;
    grid-template-columns: repeat(3,auto);
    justify-content: right;
    grid-gap: 21px;
    text-transform: uppercase;
}
.kwBottomFoot .nav.menu::before, .kwBottomFoot .nav.menu::after {
    display: none;
}
.kwBottomFoot {
    display: grid;
    grid-template-columns: repeat(2,auto);
    grid-gap: 63px;
    align-items: end;
    margin-bottom: 14px;
    font-size: 0.8em;
}
.kwFootSocial {
    padding-top: 7px;
    display: grid;
    grid-template-columns: repeat(3,auto);
    grid-gap: 14px;
    justify-content: left;
}
.kwRoundedIco {
    height: 42px;
    width: 42px;
    line-height: 42px;
    text-align: center;
    font-size: 1.3em;
    background: #fff;
    border-radius: 100%;
    color: var(--tertiarycolor);
}
.kwRoundedIco:hover {
    color: var(--primarycolor);
    -webkit-transition: all .8s cubic-bezier(.475,.425,0,.995);
    -o-transition: all .8s cubic-bezier(.475,.425,0,.995);
    transition: all .8s cubic-bezier(.475,.425,0,.995);
}

/* whatsapp */
.kwWhatsappCta {
    background: #25D366;
    color: #fff;
    position: fixed;
    bottom: 60px;
    right: 10px;
    height: 70px;
    width: 70px;
    font-size: 50px;
    border-radius: 100%;
    box-shadow: 0 0 15px rgba(0,0,0,.2);
    transition: ease-out 0.2s;
    z-index: 6;
    text-align: center;
    line-height: 70px;
    animation-duration: 6s;
    animation-name: oscuraini;
}
.kwWhatsappCta:hover, .kwWhatsappCta:focus {
    background: #25D366;
    color: #fff;
    opacity: 0.75;
}

/* contatti fissi */
#kwFooterFixed {
    transform: translateY(90px);
    -webkit-transition: all .8s cubic-bezier(.475,.425,0,.995);
    -o-transition: all .8s cubic-bezier(.475,.425,0,.995);
    transition: all .8s cubic-bezier(.475,.425,0,.995);
}
.kwContattiFissi {
    grid-template-columns: repeat(3,1fr);
    padding-left: calc((100% - 1300px)/2);
    padding-right: calc((100% - 1300px)/2);
    height: 49px;
    align-items: center;
    background: var(--tertiarycolor);
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 2;
    display: grid;
    text-align: center;
    font-size: 1.14em;
    font-weight: 500;
    color: #fff;
}
.kwContattiFissi a {
    letter-spacing: 0.4px;
    color: #fff;
    -webkit-transition: all .8s cubic-bezier(.475,.425,0,.995);
    -o-transition: all .8s cubic-bezier(.475,.425,0,.995);
    transition: all .8s cubic-bezier(.475,.425,0,.995); 
}
.kwContattiFissi .kwIcon {
    height: 30px;
    width: 30px;
    display: inline-block;
    vertical-align: middle;
}
.kwContattiFissiCell {
    display: grid;
    align-items: center;
    height: 49px;
}
.kwContattiFissi a:hover {
    color: var(--secondarycolor);
}
.kwCtaContattiFissi {
    background: var(--primarycolor);
    font-weight: 700;
    text-transform: uppercase;
    position: relative;
    font-size: 0.9em;
    letter-spacing: -0.05em;
    line-height: 1.1;
}
a.kwCtaContattiFissi:hover {
    color: #fff;
}
.kwCtaContattiFissi::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: #f24770;
    position: absolute;
    left: 0;
    top: 0;
    clip-path: circle(0 at 0 50%);
    transition: cubic-bezier(.39,.01,.59,.98) 1s;
    z-index: 1;
}
.kwContattiFissiPhone {
    line-height: 1;
}
.kwTextContattiFissiMob {
    display: none;
}
.kwContattiFissiCell {
    align-content: center;
    grid-gap: 3px;
}

/* thankyoupage */
.kwThankyoupage .kwSection {
    text-align: center;
}
.kwThankSocialMod h2 {
    font-size: 2em;
    font-weight: 400;
    letter-spacing: -0.05em;
}
.kwThankSocialTab {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(3,auto);
    justify-content: center;
    grid-gap: 14px;
}
.kwThankSocialTab .kwRoundedIco {
    font-size: 2.1em;
    width: 63px;
    height: 63px;
    line-height: 63px;
}

/* 404 */
.kw404Picture {
    max-height: calc(100vh - 230px);
    width: auto;
    justify-self: right;
    height: auto;
}

/* sezioni */
.kwSection,
#sp-main-body.kwSection {
    padding: 63px calc((100% - 1300px)/2);
}
.kwBorderSection {
    border-bottom: 2px solid var(--greycolor);
}
.kw2ColSection {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-gap: 63px;
}
.kw2ColSection .kw2ColSection {
    text-align: left;
    grid-gap: 28px;
    margin-top: 14px;
}
.kwCleanTextSection {
    width: 35%;
}
.kwColVideo {
    padding-bottom: 56.25%;
    position: relative;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 0 0 5px rgba(0,0,0,.2);
}
.kwColVideo > iframe {
    position: absolute;
    top: 0;
    left: 0;
}
.kwBgPrimary {
    background-color: var(--primarycolor);
    color: #fff;
}
.kwBgSecondary {
    background-color: var(--secondarycolor);
    color: #fff;
}
.kwBgTertiary {
    background-color: var(--tertiarycolor);
    color: #fff;
}
.kwBgGrey {
    background-color: var(--greycolor);
}
div.kwSection.kwBgPrimary:last-child,
div.kwSection.kwBgSecondary:last-child,
div.kwSection.kwBgTertiary:last-child,
div.kwSection.kwBgGrey:last-child,
[itemprop="articleBody"] div.kwBgPrimary:last-child,
[itemprop="articleBody"] div.kwBgSecondary:last-child {
    margin-bottom: 21px;
}
div.kwBgPrimary + div.kwBgSecondary,
div.kwBgSecondary + div.kwBgPrimary,
div.kwBgGrey + div.kwBgPrimary,
div.kwBgGrey + div.kwBgSecondary {
    margin-top: 21px;
}
.kw2ColCleanSection {
    display: grid;
    grid-template-columns: 35% 50%;
    justify-content: space-between;
}
.kwCellBodyCleanSection {
    padding-left: 14px;
    border-left: 3px solid var(--primarycolor);
    align-self: end;
}
.kwBodySection {
    width: 100%;
    max-width: 910px;
    padding: 63px 0;
    margin-left: calc((100% - 1300px)/2);
}
.kwArticleImg {
    box-shadow: 0 0 15px var(--greycolor);
    border: 4px solid #fff;
}
.kwColImg {
    align-self: center;
}
.kwMarginSection {
    margin-top: 63px;
}
.kwEvidentCont {
    font-size: 1.2em;
    font-weight: 500;
    margin-top: 28px;
    padding: 28px;
    border: 4px solid var(--greycolor);
}
.kwEvidentTitle {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 1.3em;
}
.kwBorderCell {
    padding: 21px 28px;
    background: var(--greycolor);
    border-bottom: 7px solid var(--secondarycolor);
    border-radius: 7px;
}
.kwTabBigSmallText {
    display: grid;
    grid-template-columns: 4fr 3fr;
    grid-gap: 63px;
    margin-top: 28px;
    text-align: left;
}
.kwCellBigText {
    font-size: 1.1em;
}
.kwCellSmallText {
    padding-left: 14px;
    border-left: 4px solid var(--secondarycolor);
    font-size: 16px;
    font-weight: 400;
    font-style: italic;
    align-self: end;
}
.kwAttentionBanner {
    padding: 14px 28px;
    background: var(--tertiarycolor);
    color: #fff;
    font-weight: 500;
    display: grid;
    grid-template-columns: 56px auto 56px;
    grid-gap: 21px;
    text-align: center;
    align-items: center;
    box-shadow: 14px 7px 0 var(--secondarycolor);
    border-radius: 7px;
}
.kwAttentionBanner::before {
    content: " ";
    width: 56px;
    height: 56px;
    display: block;
    background-image: url(../../../images/graphics/cartello-attenzione-primary.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.kwAttentionBanner::after {
    content: " ";
    width: 56px;
    height: 56px;
    display: block;
    background-image: url(../../../images/graphics/cartello-attenzione-primary.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.kwRowCarat {
    display: grid;
    grid-template-columns: repeat(7,1fr);
    grid-gap: 63px;
    margin-top: 28px;
    align-items: center;
}
.kwRowCarat .kwColText {
    grid-column-end: span 4;
}
.kwRowCarat .kwColImg {
    grid-column-end: span 3;
    box-shadow: 14px 7px 0 var(--tertiarycolor);
    border-radius: 7px;
}
.kwRowCarat .kwColText:first-child {
    padding-left: 14px;
    border-left: 4px solid var(--secondarycolor);
}
.kwRowCarat .kwColText:last-child {
    padding-right: 14px;
    border-right: 4px solid var(--secondarycolor);
    text-align: right;
}

/* browser page */
.customkwBrowserPage {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: #1e4664;
    z-index: 999999999;
    padding: 10vw calc((100% - 940px)/2);
    text-align: center;
    color: #fff;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    body {
        background-color: #1e4664;
    }
    .kwCta {
        background: #ec6188;
    }
    .kwCta:hover {
        background: #f24770;
    }
    .kwCta::before {
        display: none;
    }
}

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

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

    /* impaginazione senza eccessi ai lati */
    .container {
        max-width: 1140px;
        width: 1140px;
        padding: 0;
    }

    /* atf */
    .kwAtf .kwAtfText {
        padding: 100px 63px 100px calc(100% - 560px);
    }

    /* anteprime case history */
    .kwContTextAntCaseHistory {
        padding: 28px;
    }
    .kwSliderCaseHistory > div.uk-slider-container > ul.uk-slider {
        min-height: 430px !important;
    }
    .kwSliderCaseHistory ul > li > div.uk-overlay {
        height: 430px !important;
    }

    /* consulenza */
    #sp-contattaci .custom {
        grid-template-columns: 42% 49%;
    }

    /* gallery certificati */
    .kwGalleryCertificati.uk-slidenav-position a.uk-slidenav-next {
        right: calc((100% - 1140px)/2);
    }
    .kwGalleryCertificati.uk-slidenav-position a.uk-slidenav-previous {
        right: calc((100% - 1140px)/2 + 49px);
    }

    /* contatti fissi */
    .kwContattiFissi {
        padding: 0 calc((100% - 1140px)/2);
    }

    /* sezioni */
    .kwSection,
    #sp-main-body.kwSection,
    .kwAtfHome,
    #jmap_sitemap {
        padding: 63px calc((100% - 1140px)/2);
    }
    .kwBodySection {
        padding: 63px 0;
        margin-left: calc((100% - 1140px)/2);
    }
}

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

    body {
        padding-top: 133px;
    }

    /* impaginazione senza eccessi ai lati */
    .container {
        max-width: 940px;
        width: 940px;
        padding: 0;
    }

    /* fonts */
    h1, .kwH1Style {
        font-size: 3.5em;
    }

    /* cta */
    .kwCta {
        padding: 14px 21px;
    }

    /* top bar */
    #sp-top-bar {
        font-size: 0.7em;
    }

    /* header */
    #sp-header {
        top: 43px;
    }
    .sp-megamenu-parent > li > a,
    .sp-megamenu-parent > li > span {
        margin-left: 21px;
        font-size: 0.75em;
    }
    .sp-megamenu-parent > li:first-child {
        display: none;
    }

    /* anteprima servizi */
    .kwTabServizi {
        grid-gap: 28px 35px;
    }

    /* anteprime case history */
    #sp-case-history .kwSection {
        padding-bottom: 35px;
    }
    .kwContTextAntCaseHistory {
        padding: 28px 21px;
    }
    .kwLogoAntCaseHistory {
        max-width: 176px;
    }
    .kwTextAntCaseHistory {
        font-size: 0.9em;
        margin-top: 14px;
    }
    .kwContTextAntCaseHistory .kwCta {
        margin-top: 21px;
    }
    .kwSliderCaseHistory ul > li > div.uk-overlay {
        height: 355px !important;
    }
    .kwSliderCaseHistory > div.uk-slider-container > ul.uk-slider {
        min-height: 355px !important;
    }

    /* anteprime case history - pagina */
    .kwTabStorieSuccesso {
        grid-gap: 28px 35px;
    }

    /* gallery certificati */
    .kwGalleryCertificati.uk-slidenav-position a.uk-slidenav-next {
        right: calc((100% - 940px)/2);
    }
    .kwGalleryCertificati.uk-slidenav-position a.uk-slidenav-previous {
        right: calc((100% - 940px)/2 + 49px);
    }

    /* consulenza */
    #sp-contattaci .custom {
        grid-template-columns: 49% 42%;
    }
    .kwTabContatti {
        grid-gap: 28px 35px;
    }
    .kwCellForm {
        grid-column-end: span 2;
    }

    /* testimonianze */
    .kwTestimonianzeTab,
    .kwTestimonianzeGoogleTab {
        grid-gap: 28px 35px;
        grid-template-columns: repeat(2,1fr);
    }
    .kwCellTestimonianza {
        grid-template-columns: 63px auto;
        grid-gap: 14px;
    }
    .kwRigaRatValue {
        margin-top: 21px;
    }

    /* footer */
    #sp-footer {
        padding: 49px 0;
    }
    #sp-footer .custom {
        grid-gap: 49px;
        grid-template-columns: 235px auto;
    }
    .kwFootTextRow {
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 28px 35px;
    }
    .kwFootTextCell.kwDoubleCell {
        grid-gap: 7px 28px;
        grid-row-start: 2;
        grid-template-columns: repeat(2,1fr);
    }
    .kwBottomFoot {
        grid-gap: 56px;
    }

    /* pagina contatti */
    .kwTabPagContatti {
        grid-gap: 56px;
        grid-template-columns: repeat(2,auto);
    }
    .kwTabPagContatti .kwNumeroTelefono {
        font-size: 2em;
    }
    .kwGoogleMapsLinkText {
        left: 28px;
    }

    /* contatti fissi */
    .kwContattiFissi {
        font-size: 1.1em;
        padding: 0 calc((100% - 940px)/2);
    }

    /* sezioni */
    .kwSection,
    #sp-main-body.kwSection,
    .kwAtfHome,
    #jmap_sitemap,
    .kwBodySection {
        padding: 49px calc((100% - 940px)/2);
        margin: 0;
    }
    .kwCleanTextSection,
    .kwCleanTextCol {
        width: 63%;
    }
    .kwAtf .kwAtfText {
        padding: 49px 49px 49px calc(100% - 470px);
    }
    .kwCleanAtf + .kwTabServizi {
        margin-top: 49px;
    }
    .kw2ColSection,
    .kwTabBigSmallText,
    .kwRowCarat {
        grid-gap: 49px;
    }
    .kwMarginSection {
        margin-top: 49px;
    }
}

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

    body {
        font-size: 16px;
        padding-top: 111.6px;
    }

    /* impaginazione senza eccessi ai lati */
    .container {
        max-width: 720px;
        width: 720px;
    }

    /* dispositivi */
    .kwDesktop {
        display: none;
    }
    .kwTablet {
        display: inherit;
    }

    /* fonts */
    h1, .kwH1Style {
        font-size: 3.2em;
    }
    h2, .kwH2Style {
        font-size: 2.7em;
    }

    /* top bar */
    .kwIndirizzoTopBar {
        display: none;
    }
    .kwContattiTopBar {
        grid-template-columns: repeat(3, auto);
    }

    /* header */
    #sp-header {
        top: 41.6px;
    }
    #sp-header,
    #sp-header .logo,
    #sp-header #offcanvas-toggler::after {
        height: 70px;
    }
    #sp-header.menu-fixed,
    #sp-header.menu-fixed .logo,
    #sp-header.menu-fixed #offcanvas-toggler::after  {
        height: 63px;
    }
    #sp-header .sp-megamenu-parent > li > a,
    #sp-header .sp-megamenu-parent > li > span {
        line-height: 70px;
    }
    #sp-header.menu-fixed .sp-megamenu-parent > li > a,
    #sp-header.menu-fixed .sp-megamenu-parent > li > span {
        line-height: 63px;
    }
    #sp-logo {
        max-width: 290px;
    }
    #sp-menu {
        width: calc(100% - 290px);
    }
    #sp-header > .container > .row {
        display: flex;
    }

    /* breadcrumbs */
    #sp-breadcrumbs {
        font-size: 0.75em;
    }

    /* atf */
    .kwAtfHome .kwAtfImg {
        bottom: 0;
        height: 100%;
        object-fit: cover;
        object-position: left;
    }
    .kwAtfLogo {
        width: 196px;
    }

    /* gallery case history */
    .kwGalleryCaseHistory {
        padding: 21px 14px;
    }
    .kwGalleryCaseHistory.uk-slidenav-position a.uk-slidenav.uk-slidenav-next {
        right: 28px;
    }
    .kwGalleryCaseHistory.uk-slidenav-position a.uk-slidenav.uk-slidenav-previous {
        left: 28px;
    }

    /* anteprime case history */
    .uk-slidenav-position.kwSliderCaseHistory {
        width: 100%;
        max-width: 630px;
        margin: auto;
    }
    .kwSliderCaseHistory .uk-slider > li,
    .kwSliderCaseHistory .uk-slider > li.uk-active,
    .kwSliderCaseHistory .uk-slider > li.uk-active + li {
        -webkit-transform: scale(1) translate(0);
        -ms-transform: scale(1) translate(0);
        transform: scale(1) translate(0);
    }
    #sp-case-history .kwSection {
        padding-bottom: 14px;
    }
    .kwSliderCaseHistory > div.uk-slider-container > ul.uk-slider {
        min-height: 406px !important;
    }
    .kwSliderCaseHistory ul > li > div.uk-overlay {
        height: 406px !important;
    }
    .kwContTextAntCaseHistory {
        padding: 28px 35px;
    }
    .kwTextAntCaseHistory {
        font-size: 1.1em;
    }

    /* anteprime case history - pagina */
    .kwTabStorieSuccesso {
        grid-template-columns: auto;
    }

    /* numeri */
    .kwNumeriTab {
        grid-template-columns: repeat(4,auto);
        grid-gap: 21px 35px;
    }
    #numeri {
        padding-top: 21px;
        padding-bottom: 21px;
    }

    /* gallery widgetkit */
    .uk-grid.kwGalleryLavori {
        padding: 0 14px 21px;
    }
    #certificazioni .kwSection, #lavori .kwSection, .kwGalleryCertificati {
        padding-bottom: 21px;
    }
    .kwGalleryLavori div.uk-grid-margin {
        margin-top: 21px;
    }

    /* gallery certificati */
    .kwGalleryCertificati.uk-slidenav-position a.uk-slidenav {
        top: -35px;
    }
    .kwGalleryCertificati.uk-slidenav-position a.uk-slidenav-next {
        right: calc((100% - 720px)/2);
    }
    .kwGalleryCertificati.uk-slidenav-position a.uk-slidenav-previous {
        right: calc((100% - 720px)/2 + 49px);
    }

    /* testimonianze */
    .kwRigaRatValue {
        margin-top: 14px;
        line-height: 14px;
    }

    /* footer */
    #sp-footer {
        padding: 35px 0;
    }
    #sp-footer .custom {
        grid-gap: 28px;
        grid-template-columns: auto;
        justify-content: unset;
    }
    .kwFootLogo {
        width: 240px;
    }
    .kwBottomFoot {
        grid-gap: 35px;
        margin-bottom: 42px;
    }
    .kwBottomFoot .nav.menu {
        justify-content: right;
    }

    /* pagina contatti */
    .kwTabPagContatti {
        grid-gap: 49px;
    }
    .kwGoogleMapsLinkText {
        left: 21px;
        bottom: 14px;
    }
    .kwTabPagContatti .kwNumeroTelefono {
        font-size: 1.5em;
    }

    /* pagina preventivo */
    .kwPreventivoBen {
        grid-template-columns: repeat(3,1fr);
    }

    /* contatti fissi */
    .kwContattiFissi {
        padding: 0 calc((100% - 720px)/2);
    }

    /* sezioni */
    .kwSection,
    #sp-main-body.kwSection,
    .kwAtfHome,
    #jmap_sitemap,
    .kwBodySection {
        padding: 35px calc((100% - 720px)/2);
    }
    .kwTabServizi,
    .kwTabContatti,
    .kwTestimonianzeTab,
    .kwTestimonianzeGoogleTab,
    .kwFootTextRow {
        grid-gap: 21px 28px;
    }
    .kwAtf .kwAtfText {
        padding: 35px 35px 35px calc(100% - 370px);
    }
    .kw2ColCleanSection {
        grid-template-columns: 2fr 3fr;
        grid-gap: 35px;
    }
    .kwMarginSection,
    .kwCleanAtf + .kwTabServizi {
        margin-top: 35px;
    }
    .kwTabBigSmallText {
        grid-gap: 35px;
    }
    .kwTabBigSmallText {
        grid-template-columns: auto;
        grid-gap: 0;
        margin-top: 14px;
    }
    .kwAttentionBanner {
        padding: 14px;
        grid-template-columns: 35px auto 35px;
        grid-gap: 14px;
        box-shadow: none;
    }
    .kwAttentionBanner::before,
    .kwAttentionBanner::after {
        width: 35px;
        height: 35px;
    }
    .kwCellSmallText {
        padding: 28px 0 0;
        border-left: none;
        border-top: 7px solid var(--secondarycolor);
        font-size: 1em;
    }
    .kwRowCarat {
        grid-template-columns: auto;
        grid-gap: 21px;
        max-width: 490px;
        margin: 35px auto 0;
    }
    .kwRowCarat .kwColText:first-child,
    .kwRowCarat .kwColText:last-child {
        padding: 0;
        text-align: center;
        grid-column-end: span 1;
        border-left: none;
        border-right: none;
    }
    .kwRowCarat .kwColImg {
        grid-column-end: span 1;
        grid-row-start: 2;
        width: 84%;
        margin: auto;
        box-shadow: none;
        border-bottom: 7px solid var(--tertiarycolor);
    }
}

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

    body {
        font-size: 16px;
        padding-top: 63px;
    }
    p, h2, h3, h4, p + img, ul, ul + img, ol, ol + img, .kwMarginTop, p + .kw2ColSection, h2 + .kw2ColSection, .kw2ColSection + img, .kwBodySection img + img {
        margin-top: 14px;
    }

    /* impaginazione senza eccessi ai lati */
    .container {
        width: auto;
        padding: 0 14px;
    }
    .kwSection .container {
        padding: 0;
    }

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

    /* form */
    .bfQuickMode .controls label.control-label {
        max-width: 100% !important;
        min-width: 100% !important;
        width: 100% !important;
    }
    #bfSubmitButton {
        float: none !important;
    }

    /* liste */
    .kw2ColUl {
        grid-template-columns: auto;
    }

    /* header */
    #sp-header {
        top: 0;
    }
    #sp-header,
    #sp-header .logo,
    #sp-header #offcanvas-toggler::after  {
        height: 63px;
    }
    #sp-header .sp-megamenu-parent > li > a,
    #sp-header .sp-megamenu-parent > li > span {
        line-height: 63px;
    }

    /* offcanvas */
    .customkwHeaderOffcanvas > a > img {
        width: 66.66666667%;
    }
    .customkwHeaderOffcanvas {
        padding: 7px 14px;
    }
    .full-screen-ftop .offcanvas-menu .close-offcanvas {
        right: 14px;
    }
    .full-screen-off-canvas-ftop.ltr .offcanvas-menu .sp-module ul > li {
        padding: 0 14px;
    }
    .full-screen-off-canvas-ftop.ltr .offcanvas-menu {
        top: 0;
    }

    /* breadcrumbs */
    .breadcrumb > li + li::before {
        height: 7px;
        width: 14px;
    }

    /* atf */
    .kwAtfHome,
    .kwAtf {
        grid-template-columns: auto;
    }
    .kwAtfText {
        position: relative;
        z-index: 1;
    }
    .kwAtfHome .kwAtfImg {
        /*top: 0;
        height: 100%;
        max-width: 84%;
        opacity: 0.3;
        filter: blur(14px);*/
        display: none;
    }
    .kwAtf .kwAtfText {
        padding: 28px 14px;
    }
    .kwAtfLogo {
        width: 189px;
        margin-bottom: 14px;
    }
    .kwAtfHome + .kwMobile {
        margin-top: -28px;
        position: relative;
        z-index: 1;
    }

    /* anteprima servizi */
    .kwTabServizi {
        grid-template-columns: repeat(2,1fr);
    }
    .kwCellServizio.kwDoubleCell {
        grid-column-end: span 1;
    }
    .kwContTextAntCaseHistory {
        padding: 21px 14px;
        text-align: center;
        justify-items: center;
    }
    .kwContTextAntCaseHistory .kwCta {
        margin: 14px auto 0;
        padding: 14px;
    }
    .kwLogoAntCaseHistory {
        max-width: 108px;
    }
    .kwTextAntCaseHistory {
        font-size: 1em;
    }
    .kwImgAntCaseHistory {
        height: 266px;
        object-fit: cover;
    }
    .kwSliderCaseHistory > div.uk-slider-container > ul.uk-slider {
        min-height: 274px !important;
    }
    .kwSliderCaseHistory ul > li > div.uk-overlay {
        height: 274px !important;
    }
    .kwCellServizio.kwDoubleCell.kwDoubleCellMob {
        grid-column-end: span 2;
    }

    /* numeri */
    .kwNumeriTab {
        grid-template-columns: repeat(3,auto);
        grid-gap: 14px 28px;
    }

    /* gallery certificati */
    .kwGalleryCertificati.uk-slidenav-position a.uk-slidenav-next {
        right: 14px;
    }
    .kwGalleryCertificati.uk-slidenav-position a.uk-slidenav-previous {
        right: 63px;
    }

    /* consulenza */
    #sp-contattaci .custom {
        text-align: center;
        grid-gap: 21px;
        grid-template-columns: auto;
    }
    .kwCellForm {
        grid-column-end: span 1;
    }
    #sp-contattaci .kwCleanTextCol {
        text-align: center;
        margin: auto;
    }
    .kwTabContatti {
        margin-top: 14px;
        grid-template-columns: auto;
        grid-template-rows: auto;
    }
    .kwCellContatto {
        text-align: center;
    }
    .kwCellContatto.kwCellForm {
        grid-column-start: 1;
        grid-row-start: 3;
        grid-row-end: span 1;
    }

    /* testimonianze */
    .kwTestimonianzeTab,
    .kwTestimonianzeGoogleTab {
        grid-template-columns: auto;
    }
    .kwCellTestimonianza {
        grid-template-columns: auto;
        text-align: center;
        justify-items: center;
    }
    .kwReviewContent {
        grid-gap: 7px;
    }
    .kwLogoReview {
        width: 63px;
    }
    .kwCellTestimonianza::before {
        content: "";
        width: 70px;
        height: 2px;
        background: var(--secondarycolor);
        opacity: 0.5;
        margin-bottom: 7px;
    }
    .kwFirmaTestimonianza {
        display: grid;
        justify-content: center;
    }
    .kwNumRatingRecensioni {
        right: -7px;
        bottom: -21px;
    }

    /* footer */
    #sp-footer {
        padding: 28px 0;
    }
    .kwFootTextRow {
        grid-template-columns: auto;
    }
    .kwFootTextCell.kwDoubleCell {
        grid-column-end: span 1;
        grid-template-columns: auto;
    }
    .kwFootTextCell.kwDoubleCell .kwTextServizio {
        grid-column-end: span 1;
    }
    #sp-footer .custom {
        text-align: center;
    }
    .kwFootTextRow {
        grid-template-columns: auto;
        grid-gap: 28px;
    }
    .kwBottomFoot {
        grid-template-columns: auto;
        grid-gap: 21px;
        margin-bottom: 35px;
    }
    .kwBottomFoot .nav.menu {
        justify-content: center;
    }
    .kwFootLogo {
        width: 231px;
        margin: auto;
    }
    .kwFootSocial {
        justify-content: center;
    }

    /* pagina contatti */
    .kwTabPagContatti {
        grid-template-columns: auto;
        grid-gap: 21px;
        justify-content: inherit;
    }
    .kwGoogleMapsLinkText {
        left: 14px;
    }
    .kwTabPagContatti .kwNumeroTelefono {
        font-size: 1.4em;
    }

    /* pagina preventivo */
    .kwPreventivoPage .kwTabPagContatti {
        padding: 21px 14px;
    }
    .kwPreventivoBen {
        grid-gap: 21px;
    }
    .kwTextBen {
        font-size: 1em;
    }
    .kwIcoBen {
        width: 56px;
    }

    /* contatti fissi */
    .kwContattiFissi {
        grid-template-columns: repeat(2,1fr);
        height: 49px;
    }
    .kwContattiFissiMail {
        display: none;
    }
    .kwContattiFissiCell {
        height: 49px;
    }
    .kwContattiFissiPhone {
        font-size: 1.3em;
        display: grid;
        align-content: center;
    }
    .kwTextContattiFissiMob {
        display: inline;
        font-size: 0.55em;
    }

    /* 404 */
    .kw404Picture {
        height: auto;
        justify-self: center;
    }

    /* sezioni */
    .kwSection,
    #sp-main-body.kwSection,
    .kwAtfHome,
    #jmap_sitemap,
    .kwBodySection {
        padding: 28px 14px;
    }
    .kw2ColSection {
        grid-template-columns: auto;
        grid-gap: 28px;
    }
    .kw2ColSection .kw2ColSection {
        grid-template-columns: repeat(2,1fr);
        grid-gap: 21px;
    }
    .kwCleanTextSection,
    .kwCleanTextCol,
    .kwCleanAtf {
        width: 82%;
    }
    .container .kwSection {
        padding: 28px 0;
    }
    .kw2ColCleanSection {
        grid-template-columns: auto;
        grid-gap: 14px;
    }
    .kwCellBodyCleanSection {
        border-left: none;
        border-top: 3px solid var(--primarycolor);
        padding: 14px 0 0;
    }
    .kwMarginSection,
    .kwCleanAtf + .kwTabServizi {
        margin-top: 28px;
    }
    .kwEvidentCont {
        padding: 21px 14px;
    }
    .kwEvidentTitle {
        font-size: 1.2em;
    }
    .kwBorderCell {
        padding: 21px;
    }
    .kwRowCarat {
        grid-gap: 14px;
    } 
    .kwTitleCarat {
        font-size: 1.3em;
        text-transform: uppercase;
    }
    .kwTitleCarat + p {
        margin-top: 7px;
    }
    .kwRowCarat .kwColImg {
        width: 100%;
    }
}