/*
Theme Name: Motus
Theme URI: https://www.konemotus.pt/
Author: Simone Montanari
Author URI: https://www.lascribacchina.it/
Description: Custom theme for KONE Motus
Version: 2.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Requires at least: 5.7
Text Domain: motus

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

= Changelog =
Version 2.0 - 04/06/2024
- KONE Rebranding
*/


/**
 * Variables
 */

:root {
    --custom-accent: var(--light-primary-kone-blue);
    --light-primary-white: #FFFFFF;
    --light-primary-black: #141414;
    --light-primary-kone-blue: #1450F5;
    --light-secondary-sand: #F3EEE6;
    --light-secondary-yellow: #FFE141;
    --light-secondary-light-blue: #D2F5FF;
    --light-secondary-pink: #FFCDD7;
    --light-secondary-green: #AAE1C8;
    --light-accent-accent-red: #FF5F28;
    --light-accent-accent-orange: #FFA023;
    --light-accent-accent-green: #1ED273;
    --light-accent-destructive-text: #F51414;
    --light-grayscale-100-text: var(--light-primary-black);
    --light-grayscale-150-hover: #4F4F4F;
    --light-grayscale-200-inactive: #727272;
    --light-grayscale-300-disabled: #959595;
    --light-grayscale-400-border: #D0D0D0;
    --light-grayscale-500: #E7E7E7;
    --light-grayscale-600-bg-tertiary: #F1F1F1;
    --light-grayscale-700-bg-secondary: #F8F8F8;
    --light-grayscale-800-bg-primary: var(--light-primary-white);
    --light-color-background-bg-blue: #F3F6FE;
    --light-color-background-bg-green: #E8FBF1;
    --light-color-background-bg-orange: #FFF6E9;
    --light-color-background-bg-red: #FFEFE9;
    --light-blue-d-80: #142041;
    --light-blue-d-60: #142C6E;
    --light-blue-d-40: #14389B;
    --light-blue-d-20: #1444C8;
    --light-blue-l-20: #4373F7;
    --light-blue-l-40: #7296F9;
    --light-blue-l-60: #A1B9FB;
    --light-blue-l-80: #D0DCFD;
    --light-blue-l-90: #E7EDFE;
    --light-green-d-80: #10351A;
    --light-green-d-60: #0C5621;
    --light-green-d-40: #087827;
    --light-green-d-20: #18A85C;
    --light-green-l-20: #4BDB8F;
    --light-green-l-40: #78E4AB;
    --light-green-l-60: #A5EDC7;
    --light-green-l-80: #D2F6E3;
    --light-orange-d-80: #433017;
    --light-orange-d-60: #724C1A;
    --light-orange-d-40: #A1681D;
    --light-orange-d-20: #D08420;
    --light-orange-l-20: #FFB34F;
    --light-orange-l-40: #FFC67B;
    --light-orange-l-60: #FFD9A7;
    --light-orange-l-80: #FFECD3;
    --light-red-d-80: #432318;
    --light-red-d-60: #72321C;
    --light-red-d-40: #A14120;
    --light-red-d-20: #D05024;
    --light-red-l-20: #FF7F53;
    --light-red-l-40: #FF9F7E;
    --light-red-l-60: #FFBFA9;
    --light-red-l-80: #FFDFD4;
    --font-primary: "Inter", "Arial", sans-serif;
    --font-secondary: "KONE Information", "Arial", sans-serif;
    --gutter: 1.5rem;
    --max-width: min(1440px, calc(100% - 3rem));
    --narrow-width: min(736px, calc(100% - 3rem));
    --wide-width: min(1116px, calc(100% - 3rem));
}

@media (max-width: 360px) {
    body {
        --gutter: 1rem;
        --max-width: min(1440px, calc(100% - 2rem));
        --narrow-width: min(736px, calc(100% - 2rem));
        --wide-width: min(1116px, calc(100% - 2rem));
    }
}


/**
 * Screen readers text
 */

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important
}

.screen-reader-text:focus {
    background-color: var(--light-grayscale-700-bg-secondary);
    border-radius: 3px;
    -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    color: var(--light-blue-d-20);
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 400;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000
}


/**
 * Typography
 */

@font-face {
    font-family: "KONE Information";
    font-display: swap;
    src: url("fonts/KONE_Information.woff2") format("woff2"), url("fonts/KONE_Information.woff") format("woff")
}

@font-face {
    font-family: "KONE-Icon-Font";
    font-display: swap;
    src: url('icons/kone-icon-font.eot');
    src: url('icons/kone-icon-font.eot?#iefix') format('embedded-opentype'), url('icons/kone-icon-font.woff') format('woff'), url('icons/kone-icon-font.ttf') format('truetype'), url('icons/kone-icon-font.svg#') format('svg');
    font-weight: normal;
    font-style: normal;
}

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

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


/**
 * Elements
 */

html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 1em;
    line-height: 1.15;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

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

body {
    background: var(--light-primary-white);
    color: var(--light-primary-black);
    font-family: var(--font-primary);
    font-size: 16px;
    font-size: 1em;
    font-weight: 400;
    line-height: 1.5;
    margin: 0;
}

h1 {
    font-family: var(--font-primary);
    font-size: 2.5em;
    font-weight: normal;
    letter-spacing: -.05em;
    line-height: 1.1;
    margin-bottom: 0.67em;
    margin-top: 0.67em;
    padding: 0;
    text-transform: uppercase;
}

@media (min-width: 69.75em) {
    h1 {
        font-size: 3.25em;
    }
}

h2 {
    font-family: var(--font-primary);
    font-size: 2em;
    font-weight: normal;
    letter-spacing: -.05em;
    line-height: 1.1;
    margin-bottom: 0.75em;
    margin-top: 0;
    padding: 0;
}

@media (min-width: 69.75em) {
    h2 {
        font-size: 2.5em;
    }
}

h3 {
    font-family: var(--font-primary);
    font-size: 1.75em;
    font-weight: normal;
    letter-spacing: -.05em;
    line-height: 1.1;
    margin-bottom: 0.75em;
    margin-top: 3rem;
    padding: 0;
}

@media (min-width: 69.75em) {
    h3 {
        font-size: 2em;
    }
}

h4 {
    font-family: var(--font-primary);
    font-size: 1.4em;
    font-weight: normal;
    letter-spacing: -.05em;
    line-height: 1.2;
    margin-bottom: 0.75em;
    margin-top: 1.25em;
    padding: 0;
}

h2+h4 {
    font-size: 1.25em;
    margin-bottom: 2em;
    margin-top: -0.75em;
}

b,
strong {
    font-weight: 600
}

p {
    margin: 0 0 1em;
    padding: 0;
}

p+h2 {
    margin-top: 5rem
}

a {
    background-color: transparent;
    color: var(--light-primary-kone-blue);
    display: inline-block;
    text-decoration: underline;
    text-underline-offset: 0.25em;
    transition: all .2s
}

a:hover,
a:focus,
a:active {
    color: var(--light-blue-d-40);
}

blockquote {
    color: var(--light-blue-d-40);
    line-height: 1.25;
    margin: 2.5em 0;
    max-width: 90%;
    overflow: hidden;
    padding: 0;
}

blockquote p {
    color: var(--light-blue-d-40);
    font-size: 1.5em !important;
    margin-bottom: 0;
}

blockquote cite {
    display: block;
    font-style: normal;
    font-weight: 600;
    margin-top: 0.5em;
}

address {
    margin: 0 0 1.5em;
}

dfn,
cite,
em,
i {
    font-style: italic;
}

pre {
    background: #eee;
    font-family: "Courier 10 Pitch", Courier, monospace;
    font-size: 1em;
    line-height: 1.6;
    margin-bottom: 1.6em;
    max-width: 100%;
    overflow: auto;
    padding: 1.6em;
}

code,
kbd,
samp,
tt,
var {
    font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
    font-size: 1em;
}

abbr,
acronym {
    border-bottom: 1px dotted #666;
    cursor: help;
}

mark,
ins {
    background: var(--light-secondary-yellow);
    color: var(--light-primary-black);
    text-decoration: none;
}

big {
    font-size: 125%;
}

small {
    font-size: 80%
}

blockquote {
    quotes: "" "";
}

q {
    quotes: "“" "”" "‘" "’";
}

blockquote:before,
blockquote:after {
    content: "";
}

:focus {
    outline: none;
}


/** Media **/

audio,
video {
    display: inline-block
}

audio:not([controls]) {
    display: none;
    height: 0
}

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


/*----------------------------- Forms */

label {
    display: block;
    font-weight: 400;
    margin-bottom: 0.5em;
}

fieldset {
    margin-bottom: 1em;
}

input,
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
    display: block;
    color: var(--light-grayscale-150-hover);
    background: var(--light-color-background-bg-blue);
    border: 1px solid var(--light-grayscale-400-border);
    border-radius: 20em;
    font-family: var(--font-primary);
    font-size: 1em;
    margin: 0;
    overflow: visible;
    padding: 0.7em;
    width: 100%;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
    color: var(--light-primary-black);
    border-color: var(--light-primary-kone-blue);
}

input[type="radio"],
input[type="checkbox"] {
    margin-right: 0.5em;
}

input[type="radio"]+label,
input[type="checkbox"]+label {
    font-weight: 400;
}

select {
    background: var(--light-color-background-bg-blue);
    border: 1px solid var(--light-grayscale-400-border);
    border-radius: 20em;
    height: 3em;
    margin: 0;
    max-width: 100%;
    text-transform: none
}

textarea {
    border-radius: 0.25em;
    overflow: auto
}

.button,
button,
input[type="button"],
input[type="submit"] {
    -webkit-appearance: none;
    background-color: var(--light-primary-kone-blue);
    border: 2px solid var(--light-primary-kone-blue);
    border-radius: 20em;
    box-shadow: none;
    color: var(--light-primary-white);
    cursor: pointer;
    display: inline-block;
    font-family: var(--font-primary);
    font-size: 1.125em;
    font-weight: 600;
    line-height: 2.375em;
    margin: 0;
    padding: 0 1em;
    text-decoration: none;
    text-transform: none;
    text-shadow: none;
    transition: background-color 0.2s;
    width: auto;
}

.button:after,
.important:after,
button:after {
    content: "\e92a";
    font-family: "KONE-Icon-Font";
    font-size: .9em;
    padding-left: .5em
}

p+.button,
.button:first-child {
    margin-top: 1em;
}

button.important,
a.important,
input[type="reset"],
input[type="button"].important,
input[type="reset"].important,
input[type="submit"].important,
input[type="submit"].wpcf7-submit {
    background-color: var(--custom-accent);
    background-image: none;
    border-color: var(--custom-accent);
    color: var(--light-primary-white);
    margin-bottom: .5em;
}

.button:hover,
.button:focus,
button:hover,
button:focus,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="reset"]:hover,
input[type="reset"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
input[type="submit"].wpcf7-submit:hover,
input[type="submit"].wpcf7-submit:focus {
    background: var(--light-blue-d-40);
    border-color: var(--light-blue-d-40);
    color: #fff;
}

.box-action .button,
.newsletter-box .button,
.site-footer .button {
    background: var(--light-color-background-bg-blue);
    color: var(--light-primary-kone-blue);
    margin-bottom: 0;
}

.box-action .button:hover,
.box-action .button:focus,
.box-action .button:active,
.newsletter-box .button:hover,
.newsletter-box .button:focus,
.newsletter-box .button:active,
.site-footer .button:hover,
.site-footer .button:focus,
.site-footer .button:active {
    background: var(--light-blue-d-40);
    color: var(--light-primary-white);
    text-decoration: none;
}

form .error_message {
    color: var(--light-accent-accent-red);
    font-weight: 700;
    display: block;
    margin-top: 0.5rem;
}


/*----------------------------- Separator */

hr {
    background-color: #eee;
    border: 0;
    height: 1px;
    margin-bottom: 1.5em;
    overflow: visible
}


/*----------------------------- Lists */

ul,
ol {
    margin: 0 0 1.5em;
    padding: 0;
}

ul {
    list-style: disc;
    margin-left: 2em;
}

ol {
    list-style: decimal;
}

li>ul,
li>ol {
    margin-bottom: 0;
    margin-left: 1.5em;
}

dt {
    font-weight: 400;
}

dd {
    margin: 0 1.5em 1.5em;
}

ol+h2,
ul+h2 {
    margin-top: 1.5em;
}


/*----------------------------- Tables */

table {
    border-collapse: collapse;
    margin: 0 0 1.5em;
    width: 100%;
}

thead th {
    border-bottom: 2px solid #bbb;
    padding-bottom: 0.5em;
}

th {
    padding: 0.4em;
    text-align: left;
}

tr {
    border-bottom: 1px solid #eee;
}

td {
    padding: 0.4em;
}

th:first-child,
td:first-child {
    padding-left: 0;
}

th:last-child,
td:last-child {
    padding-right: 0;
}


/* Fixes linked images */

.entry-content a img,
.widget a img {
    -webkit-box-shadow: 0 0 0 8px var(--light-primary-white);
    box-shadow: 0 0 0 8px var(--light-primary-white);
}


/**
 * Clearing and alignments
 */

.clear:before,
.clear:after {
    content: "";
    display: table;
    table-layout: fixed;
}

.clear:after {
    clear: both;
}

.alignleft,
.alignright {
    margin-left: auto;
    margin-right: auto;
}

@media screen and (min-width: 768px) {
    .alignleft {
        float: left;
        margin-right: 2em;
    }
    .alignright {
        float: right;
        margin-left: 2em;
    }
}

.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

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

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

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


/*----------------------------- Layout */

.drawer {
    margin-right: auto;
    margin-left: auto;
    max-width: var(--max-width);
}

.block {
    display: block;
}


/*----------------------------- Header */

.site-header {
    background-color: var(--light-primary-white);
    border-bottom: 1px solid #ccc;
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 1000;
}

.admin-bar .site-header {
    top: var(--wp-admin--admin-bar--height);
}

.topbar {
    background-color: var(--custom-accent);
    color: var(--light-primary-white);
    text-align: center;
}

.topbar a,
.topbar a:visited {
    color: var(--light-primary-white);
    text-decoration: underline;
}

.topbar .drawer {
    font-size: 1.2em;
    padding-bottom: 0.5em;
    padding-top: 0.2em;
}

@media screen and (min-width: 1024px) {
    .topbar .drawer {
        font-size: 1.35em;
    }
}

.site-header .top {
    margin: 0 auto;
    padding-bottom: 0.5em;
    padding-top: 0.5em
}

.site-header .bottom {
    border-top: 1px solid var(--light-grayscale-400-border);
}

.site-header .flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.site-header .branding {
    font-size: 0;
    line-height: 0;
    margin: 0;
}

.site-header .call-to-action {
    display: flex;
    align-items: center;
    padding: .65em 0 .65em 0;
}

.call-to-action .client-area {
    display: none;
}

@media screen and (min-width: 620px) {
    .site-navigation .menu>.client-area {
        display: none !important;
    }
    .call-to-action a.client-area {
        display: inline-block;
        line-height: 1;
        margin-left: 1.5em;
        text-decoration: none
    }
    .call-to-action a.client-area:hover {
        text-decoration: underline;
    }
}

.site-header .green-number-wrapper {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

.site-header .green-number-wrapper p:not(.green-number) {
    display: none;
    font-size: 0.875em;
    margin-bottom: 0;
}

.site-header .green-number-wrapper p:first-child {
    margin-right: 0.2em;
}

.site-header .green-number {
    background-color: var(--custom-accent);
    border-radius: 20em;
    color: var(--light-primary-white);
    font-family: var(--font-secondary);
    padding: .2em .2em .3em;
    margin: 0;
}

.site-header .green-number:hover {
    background-color: var(--light-blue-d-40);
}

.site-header .green-number a {
    color: var(--light-primary-white);
    text-decoration: none;
}

.site-header .green-number a:hover {
    color: var(--light-primary-white);
    text-decoration: none;
}

.small-device,
.bigger-device {
    display: none;
}

@media screen and (min-width: 380px) {
    .site-header .green-number-wrapper p:not(.green-number) {
        display: block;
    }
    .small-device {
        display: inline;
    }
}

@media screen and (min-width: 500px) {
    .bigger-device {
        display: inline;
    }
    .small-device {
        display: none;
    }
}

.site-header label {
    margin: 0.25em 0;
}

.site-header .navigation {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    border-right: 1px solid var(--light-grayscale-400-border);
    width: 50%;
}

.site-header .search {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    background-color: var(--light-primary-white);
    width: 50%;
}

.site-header .search-form {
    display: none;
    background-color: var(--light-grayscale-600-bg-tertiary);
    margin-right: -1em;
    padding: 1em;
    position: absolute;
    text-align: center;
    left: 0;
    width: 100%;
    z-index: 1500;
}

.site-header .search-submit {
    display: inline-block;
    font-size: 1em;
    text-transform: uppercase;
}

.site-header .search-field {
    display: inline-block;
    margin-bottom: 0;
    max-width: 20em;
}

.trigger-nav,
.trigger-search {
    display: none;
}

.trigger-nav-label,
.trigger-search-label {
    text-align: center;
    text-transform: uppercase;
}

.site-header .bottom label:before {
    color: var(--light-primary-kone-blue);
    font-family: "KONE-Icon-Font";
    font-size: 1.25em;
    font-weight: normal;
    padding-right: 0.4em;
}

.trigger-nav-label:before {
    content: "\e93f";
}

.trigger-search-label:before {
    content: "\e91d";
}

.trigger-nav-label span,
.trigger-search-label span {
    line-height: 1.8;
    vertical-align: top;
}

.trigger-nav:checked~.site-navigation,
.trigger-search:checked~.search-form {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
}

.trigger-search:checked~.search-form {
    display: flex;
    justify-content: center;
    gap: 0.5em;
}

.trigger-nav:checked~label[for="trigger-nav"]:before,
.trigger-search:checked~label[for="trigger-search"]:before {
    content: "\e940";
    font-family: "KONE-Icon-Font";
}

@media screen and (min-width: 64em) {
    .site-header .top {
        padding-bottom: 1.5em;
        padding-top: 1em;
    }
    .site-header .bottom {
        border-width: 0;
        margin-left: auto;
        margin-right: auto;
        padding-bottom: 0.6em;
        width: var(--max-width);
    }
    .site-header .call-to-action {
        margin: 0;
        padding: 0;
    }
    .site-header .call-to-action p {
        font-size: 1.125em;
    }
    .site-header .green-number-wrapper p:first-child {
        margin-right: 0.4em;
    }
    .trigger-nav,
    .trigger-nav-label,
    .trigger-search,
    .trigger-search-label {
        display: none;
    }
    .site-header .navigation {
        background-color: inherit;
        border-right: 0;
        font-size: 1em;
        padding-right: 2em;
        width: 72%;
    }
    .site-header .search {
        width: 27%;
    }
    .site-header .search .search-form {
        background-color: transparent;
        display: inline-flex;
        justify-content: end;
        gap: 0.5rem;
        margin: 0;
        padding: 0;
        position: relative;
    }
    .site-header .search .search-form label {
        margin: 0;
    }
    .site-header .search .search-field {
        display: inline-block;
        font-size: 1.1em;
        margin-bottom: 0;
        max-width: 12em;
        padding-top: .2em;
        padding-bottom: .2em;
    }
    .site-header .search .search-submit {
        display: inline-block;
        font-size: 0.8em;
        line-height: 2;
        padding-left: 1em;
        padding-right: 1em;
    }
    .site-header .green-number {
        padding-left: .5em;
        padding-right: .5em;
    }
}

@media screen and (min-width: 76em) {
    .site-header .navigation {
        font-size: 1.1875em;
    }
}


/*----------------------------- Navigation */

.site-navigation {
    display: block;
    position: absolute;
    background-color: var(--light-primary-white);
    border-top: 1px solid var(--light-grayscale-400-border);
    border-bottom: 1px solid var(--light-grayscale-400-border);
    padding: var(--gutter);
    -webkit-transform: translateX(-600%);
    -ms-transform: translateX(-600%);
    transform: translateX(-600%);
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    -o-transition: transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    width: 100%;
    z-index: 1500;
}

.site-navigation li a {
    color: var(--light-primary-black);
    text-decoration: none;
}

.site-navigation li a:hover,
.site-navigation li a:focus,
.site-navigation li a:active {
    color: var(--light-primary-kone-blue);
    text-decoration: underline;
}

.site-navigation .menu,
.site-navigation .sub-menu {
    list-style: none;
}

.site-navigation .menu {
    margin: 0;
}

.site-navigation .sub-menu {
    margin: 0;
    padding-left: 1em;
}

.site-navigation .sub-menu .sub-menu {
    padding-left: 0
}

.site-navigation li {
    padding: .3em 0;
}

.site-navigation .sub-menu li:not(.menu-item-has-children) {
    padding: 0.15em 0;
}

.sub-menu .menu-item-has-children>a {
    color: var(--light-primary-kone-blue);
}

.sub-menu {
    display: none;
}

.menu-item-has-children>a::after {
    content: "\e969";
    display: inline-block;
    font-family: "KONE-Icon-Font";
    margin-left: .2em;
}

.focus>.sub-menu {
    display: block;
}

@media screen and (min-width: 64em) {
    .site-navigation {
        display: block;
        background-color: inherit;
        border: 0;
        padding: 0;
        position: relative;
        top: inherit;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
        width: 100%;
    }
    .site-navigation .menu {
        margin: 0;
    }
    .site-navigation .menu>.menu-item {
        display: inline;
        padding: 0.75em;
        position: relative;
    }
    .site-navigation .menu>.menu-item:first-child {
        padding-left: 0;
    }
    .site-navigation li li a {
        font-size: 1.125em;
    }
    .site-navigation .menu>.menu-item-has-children>.sub-menu {
        background-color: var(--light-grayscale-600-bg-tertiary);
        display: none;
        position: absolute;
        top: 2.5em;
        left: -4em;
        margin: 0;
        opacity: 0;
        padding: 1em 1.5em;
        text-align: left;
        visibility: hidden;
        width: 28em;
        z-index: 5000;
    }
    .site-navigation .menu-item a[href="#"] {
        cursor: default;
    }
    .site-navigation .menu-item a[href="#"]:hover {
        text-decoration: none;
    }
    .site-navigation .menu>.menu-item-has-children.mega-menu>.sub-menu {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: var(--gutter);
        width: 42em;
    }
    .site-navigation .menu-item-has-children:hover .sub-menu {
        display: block;
        opacity: 1;
        visibility: visible;
    }
    .site-navigation .sub-menu>.menu-item-has-children {
        display: inline-block;
        text-align: left;
        padding: 0.25em 0;
        vertical-align: top;
    }
    .site-navigation .menu>.menu-item-has-children.mega-menu>.sub-menu .sub-menu {
        margin-top: calc(var(--gutter) / 2);
    }
    .site-navigation .sub-menu li {
        font-size: .95em;
    }
    .sub-menu .menu-item-has-children:before {
        font-weight: 400;
    }
    .menu-item-has-children>a::after {
        display: none;
    }
}

@media screen and (min-width: 1366px) {
    .site-navigation .menu>.menu-item-has-children>.sub-menu {
        left: -8em
    }
}


/*----------------------------- Content */

.main article>header,
.main>header {
    margin: 0 auto;
    max-width: var(--wide-width);
    padding-top: 6rem;
}

.page article:not(.show-post-thumbnail)>header {
    margin-bottom: 2rem;
    max-width: var(--narrow-width);
}

.title {
    margin: 0;
    padding: 0;
}

.tagline {
    font-size: 1.16em;
    margin: .5em auto 1.5em
}

.show-post-thumbnail .tagline {
    margin-bottom: 4rem;
}

.featured-image {
    max-width: var(--wide-width);
    margin: 0 auto;
}

.content {
    margin: 0 auto;
    max-width: var(--narrow-width);
    padding-bottom: 4rem;
    padding-top: 4rem;
}

.content:empty {
    padding-bottom: 0;
}

article:not(.show-post-thumbnail) .content {
    border-top: 1px solid var(--light-grayscale-400-border);
}

.error404 .main {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--wide-width)
}

.error404 .main article > header {
	margin: 0 auto 1em;
	max-width: none;
	padding-top: 6rem;
}

.error404 .content {
    max-width: none;
    padding: 4em 0;
}

.content ul,
.content ol {
    margin: 1.5em 0 1.5em 2em;
}

.content ul {
    list-style: none;
    padding: 0;
}

.content li {
    margin-bottom: 0.5em;
    position: relative;
}

.content ul li:before,
.table-of-content ul li:before {
    background: var(--light-primary-kone-blue);
    border-radius: 1000px;
    color: var(--light-primary-white);
    content: "\e932";
    display: block;
    font-family: "KONE-Icon-Font";
    line-height: 1;
    position: absolute;
    text-align: center;
    left: -1.5em;
    top: 0.3em;
    height: 0.9em;
    width: 0.9em;
}

.important-text {
    display: block;
    border: 1px solid #eee;
    padding: .5em 1.5em 1.5em;
    margin-bottom: 1.75em;
    text-align: center;
}

.important-text:before {
    display: block;
    color: var(--light-primary-kone-blue);
    content: "\e95e";
    font-family: "KONE-Icon-Font";
    font-size: 2em;
}

.content .search-form {
    text-align: center;
}

.content .search-submit {
    margin-top: 1em;
}

.page-template-default .content > .fullwidth {
	margin-bottom: 3rem;
	margin-top: 3rem;
	margin-left: calc(((min(1366px, 100vw - 6rem) - var(--narrow-width)) / 2 ) * -1);
	width: min(1366px, calc(100vw - 3rem));
}

@media (min-width: 900px) {
	.page-template-default .content > .fullwidth:has(.half-row) {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 6%;
	}
}

/*----------------------------- Footer */

.site-footer {
    background-color: var(--light-primary-kone-blue);
    color: var(--light-primary-white);
    margin-top: 4rem;
}

.site-footer a {
    color: var(--light-primary-white);
    text-decoration: none;
}

.site-footer a:hover,
.site-footer:focus,
.site-foote:active {
    color: var(--light-primary-white);
    text-decoration: underline;
}

.site-footer .widgets {
    padding: 4em 0;
}

.site-footer .widgets .widget {
    margin-bottom: 2em;
    padding: 0;
    width: 100%;
}

.copyright {
    background-color: var(--light-primary-white);
    border-top: 1px solid var(--light-grayscale-400-border);
    color: var(--light-primary-black);
    padding: 2em 1em;
    text-align: center;
}

.copyright .logo {
    display: block;
    position: relative;
    margin: 3em 0;
    text-align: center;
}

.copyright .logo img {
    margin: 0 auto;
}

.copyright section {
    text-align: center;
}

.social {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 0.1rem solid var(--light-secondary-sand);
    padding: 4rem 0 2.5rem;
}

.social .logo {
    margin: 0;
}

.social-links {
    display: flex;
    gap: 1.25em;
    align-items: center;
}

.social-links ul {
    display: flex;
    gap: 1.25em;
    margin: 0;
}

.social-links li {
    display: inline-block;
    position: relative;
    padding: 0;
}

.social-links li a {
    padding: 0;
    white-space: nowrap;
}

.social-links svg {
    fill: var(--light-primary-white);
    height: 2rem;
    overflow: hidden;
    vertical-align: middle;
    width: 2rem;
}

.social-links h3 {
    font-size: 1.25em;
    margin-bottom: 0;
    margin-top: 0.375rem;
}

.legal-links {
    border-top: 1px solid var(--light-primary-white);
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    text-align: center;
}

.menu-footer .menu {
    list-style: none;
    margin: 0;
}

.menu-footer .menu .menu-item {
    display: inline-block;
    padding: 0 0.25em;
}

@media screen and (min-width: 30em) {
    .site-footer .widgets {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 3em;
    }
    .site-footer .widgets .widget {
        margin-bottom: 0;
    }
    .menu-footer .menu .menu-item {
        padding: 0 1em;
    }
}

@media screen and (min-width: 64em) {
    .site-footer .widgets {
        grid-template-columns: repeat(3, 1fr);
        gap: 4em;
    }
}


/*----------------------------- Home */

.hero {
    background-color: var(--light-color-background-bg-blue);
}

.hero-image {
    font-size: 0;
    line-height: 0;
}

.hero-content {
    padding: 2em var(--gutter);
    text-align: center;
}

.hero-content .container {
    display: inline-block;
    text-align: left;
}

.hero-content .container p:last-child {
    margin-bottom: 0;
}

.hero-content h1 {
    margin: 0;
    text-transform: none;
}

.hero-content h2 {
    margin-bottom: .4em;
}

.hero-content ul li {
    margin-bottom: .25em;
}

.hero-content .tagline {
    font-size: 1.5em;
    margin-top: 0;
    margin-bottom: 1.5em;
}

.hero-content .container ul {
    margin-bottom: 1.75em;
    margin-top: 1.75em;
    margin-left: 1em;
}

@media screen and (min-width: 48em) {
    .hero {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        align-items: stretch;
    }
    .hero-content {
        display: flex;
        align-items: center;
        justify-content: end;
    }
    .hero-image img {
        -o-object-fit: cover;
        object-fit: cover;
        height: 100%;
    }
}

@media screen and (min-width: 80em) {
    .hero-content {
        padding: 0;
    }
    .hero-content .container {
        max-width: 47em;
        padding: 3em 2em;
        width: 100%;
    }
}


/*------------------------------ LuckyWP TOC */

.lwptoc {
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: .25em .5em;
    margin: 0;
}

.lwptoc ol.lwptoc_itemWrap,
.lwptoc ul.lwptoc_itemWrap {
    margin: 0 0 0 2em !important;
}

.lwptoc li.lwptoc_item {
    margin-bottom: 0.25em !important;
}

.lwptoc_i {
    padding: 12px;
}


/*----------------------------- Newsletter Box */

.newsletter-box {
    background-color: var(--light-primary-kone-blue);
    color: var(--light-primary-white);
    margin: 2em auto;
    padding: 3em 2em;
    width: var(--wide-width);
}

.newsletter-box label {
    color: var(--light-primary-white);
}

.newsletter-box h2 {
    color: var(--light-primary-white);
    font-size: 1.5em;
    line-height: 1.2;
}

.newsletter-box h2:after {
    display: block;
    background-color: #edeff0;
    content: '';
    height: 1px;
    margin: 0.75em 0 0.75em;
    width: 70px;
}

.newsletter-box .text:before {
    display: block;
    color: var(--light-primary-white);
    content: "\e95b";
    font-family: "KONE-Icon-Font";
    font-size: 1.9em;
    font-weight: 400;
    line-height: 1;
}

.newsletter-box .text {
    margin-bottom: 1em;
}

.newsletter-box .textwidget p:last-child {
    margin-bottom: 0;
}

.mc4wp-success {
    background-color: #58ab27;
    color: var(--light-primary-white);
    font-family: var(--font-secondary);
    margin: 1.5em 0;
    padding: 5px 10px;
    z-index: 1;
}

.newsletter-box .privacy-infos a {
    color: var(--light-primary-white);
    text-decoration: underline;
}

@media screen and (min-width: 46em) {
    .newsletter-box {
        background-color: var(--custom-accent);
        display: grid;
        font-size: 0.9em;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto 1fr;
        padding: 0;
    }
    .newsletter-box>.text {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
        margin-bottom: 0;
        padding: 2em;
    }
    .newsletter-box .text h2 {
        font-size: 1.75em;
        margin-top: 0.5em;
    }
    .newsletter-box .textwidget p {
        font-size: 16px;
    }
    .newsletter-box>.mc-form {
        background-color: var(--light-primary-kone-blue);
        grid-column: 1 / 2;
        grid-row: 2 / 3;
        padding: 1.8em;
    }
    .newsletter-box .privacy-infos a {
        color: var(--light-primary-white);
        text-decoration: underline;
    }
    .newsletter-box>.image {
        background-color: var(--custom-accent);
        grid-column: 2 / 3;
        grid-row: 1 / 3;
        margin-bottom: 0;
        margin-top: 0;
    }
    .newsletter-box>.image img {
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: left top;
        object-position: left top;
        width: 100%;
    }
}

.nav-links {
    display: flex;
    gap: 0.5rem;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    width: var(--wide-width);
}

.nav-links .page-numbers {
    display: inline-block;
    border-radius: .5rem;
    border: 1px solid var(--light-grayscale-400-border);
    padding: 0.6rem 0.7rem;
    box-shadow: 0px 1px 1px 0px color-mix(in srgb, var(--light-primary-black), transparent 94%);
    text-decoration: none;
    transition: all 0.25s;
}

.nav-links .page-numbers:hover,
.nav-links .page-numbers.current {
    background-color: var(--light-primary-kone-blue);
    color: var(--light-primary-white);
}


/*----------------------------- Widgets */

.widget {
    padding: 0 2em 3em;
}

.widget-title {
    font-size: 1.125rem;
    letter-spacing: -.03em;
    font-weight: 600;
    margin-bottom: 1.5em;
}

.widget-title a {
    color: inherit;
}


/* widget forms */

.widget select {
    width: 100%;
}


/* widget lists */

.widget ul {
    list-style: none;
    margin: 0;
}

.widget ul li {
    padding: 0.5em 0;
}

.widget ul li+li {
    margin-top: -1px;
}

.widget ul li ul {
    margin: 0 0 -1px;
    padding: 0;
    position: relative;
}

.widget ul li li {
    border: 0;
    padding-left: 24px;
    padding-left: 1.5rem;
}


/* Text widget */

.widget_text {
    word-wrap: break-word;
}


/* Tag cloud widget */

.tagcloud,
.widget_tag_cloud,
.wp_widget_tag_cloud {
    line-height: 1.5;
}

.widget .tagcloud a,
.widget.widget_tag_cloud a,
.wp_widget_tag_cloud a {
    border: 1px solid var(--light-grayscale-400-border);
    -webkit-box-shadow: none;
    box-shadow: none;
    float: left;
    font-size: 14px !important;
    /* !important to overwrite inline styles */
    font-size: 0.875rem !important;
    margin: 4px 4px 0 0 !important;
    padding: 4px 10px 5px !important;
    position: relative;
    -webkit-transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.3s ease-in-out;
    -o-transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.3s ease-in-out;
    transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.3s ease-in-out;
    width: auto;
    word-wrap: break-word;
    z-index: 0;
}

.widget .tagcloud a:hover,
.widget .tagcloud a:focus,
.widget.widget_tag_cloud a:hover,
.widget.widget_tag_cloud a:focus,
.wp_widget_tag_cloud a:hover,
.wp_widget_tag_cloud a:focus {
    border-color: #bbb;
    -webkit-box-shadow: none;
    box-shadow: none;
    text-decoration: none;
}


/*----------------------------- Media */

img.alignleft,
img.alignright {
    float: none;
    margin: 0;
}

.page .content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
    border: none;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0;
}


/* Make sure embeds and iframes fit their containers. */

embed,
iframe,
object {
    margin-bottom: 1.5em;
    max-width: 100%;
}

.wp-caption,
.gallery-caption {
    color: #666;
    font-size: 13px;
    font-size: 0.8125rem;
    font-style: italic;
    margin-bottom: 1.5em;
    max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption .wp-caption-text {
    margin: 0.8075em 0;
}

figure {
    margin: 1em 0;
}


/*----------------------------- Brochure Download */

.download-brochure {
    text-align: center;
    padding: 1em;
}

.download-brochure a {
    display: inline-block;
    margin: 0 1em;
}

:1290 .product-features+.download-brochure {
    margin-top: -3em;
    padding-bottom: 0;
}


/*----------------------------- Griglia */

.griglia {
    display: grid;
    margin-bottom: 2em;
}

.colonne-2 {
    grid-template-columns: repeat(2, 1fr);
}

.colonne-3 {
    grid-template-columns: repeat(3, 1fr);
}

.colonne-4 {
    grid-template-columns: repeat(4, 1fr);
}


/*----------------------------- Galleries */

.gallery {
    display: grid;
    gap: 1.5em;
    margin: 1.5em 0;
}

.gallery.clear:before,
.gallery.clear:after {
    display: none;
}

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

.gallery-columns-2 {
    grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
    grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
    grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
    grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
    grid-template-columns: repeat(6, 1fr);
}

.gallery-item {
    margin: 0;
    padding: 0;
}

.gallery-item div {
    font-size: 0;
    line-height: 0;
}

.gallery-item a,
.gallery-item a:hover,
.gallery-item a:focus {
    -webkit-box-shadow: none;
    box-shadow: none;
    background: none;
    display: inline-block;
    max-width: 100%;
}

.gallery-item a img {
    display: block;
    -webkit-transition: -webkit-filter 0.2s ease-in;
    transition: -webkit-filter 0.2s ease-in;
    -o-transition: filter 0.2s ease-in;
    transition: filter 0.2s ease-in;
    transition: filter 0.2s ease-in, -webkit-filter 0.2s ease-in;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.gallery-item a:hover img,
.gallery-item a:focus img {
    -webkit-filter: opacity(60%);
    filter: opacity(60%);
}

.gallery-caption {
    display: block;
    text-align: left;
    padding: 0 10px 0 0;
    margin-bottom: 0;
}


/*----------------------------- Highlight Section */

.highlight-section {
    border: 3px solid var(--light-primary-kone-blue);
    margin: 2em 0 2em -1em;
    padding: 2em;
    position: relative;
    width: calc(100% + 2em);
}

.highlight-section p:last-child {
    margin-bottom: 0;
}

.highlight-section .icon {
    background-color: var(--light-primary-kone-blue);
    border-radius: 30px;
    color: #fff;
    font-size: 3em;
    position: absolute;
    left: calc(50% - 0.5em);
    top: -0.5em;
}


/*----------------------------- Products Cards */

.box-products {
    margin-top: 5rem;
    margin-left: auto;
    margin-right: auto;
}

.content .box-products {
    margin-top: 4rem;
    width: 100%;
}

.box-product-category,
.box-product {
    border: 1px solid var(--light-grayscale-400-border);
    padding: var(--gutter);
}

.box-product-category h2,
.box-product h2 {
    font-size: 2em;
    margin: 0 0 1.5rem;
    -webkit-transition: all .2s;
    -o-transition: all .2s;
    transition: all .2s;
}

.box-product-category img,
.box-product img {
    margin-bottom: 1.5em;
    vertical-align: bottom;
}

@media (min-width: 680px) {
    .box-products {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5em;
    }
}

@media (min-width: 1160px) {
    .box-products {
        grid-template-columns: repeat(4, 1fr);
    }
	.home .box-products {
        grid-template-columns: repeat(3, 1fr);
        gap: 2.5em;
    }
}


/*----------------------------- Call-to-action Card */

.box-action {
    background-color: var(--light-primary-kone-blue);
    margin: 7em 0;
    padding: 0;
    overflow: hidden;
    width: 100%;
}

.box-action.download {
    margin: 5em 0;
}

.box-action-text {
    padding: 2em;
}

.box-action.download .box-action-text {
    padding: 1em;
}

.box-action.download .box-action-text h2 {
    margin-bottom: 0;
}

.box-action-text h2,
.box-action-text p {
    color: var(--light-primary-white);
}

.box-action-text p:last-child {
    margin-bottom: 0;
}

.box-action-text>i {
    display: inline-block;
    color: var(--light-primary-white);
    font-size: 1.8em;
}

@media screen and (min-width: 48em) {
    .box-action {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        max-height: 16em;
        max-width: 130rem;
        margin-left: auto;
        margin-right: auto;
        padding: 0;
        outline: .1rem solid #edeff0;
    }
    .box-action.download {
        max-height: 14em;
    }
    .box-action-text,
    .box-action-image {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
        width: 50%;
    }
    .box-action-text {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }
    .box-action.download .box-action-text {
        padding: 2em
    }
    .box-action-image {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }
    .home .box-action {
        max-height: none;
    }
    .box-action-image img {
        display: block;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
    }
}


/*----------------------------- Price Table */

.prices {
    margin: 3em auto;
}

.prices th {
    background-color: var(--light-color-background-bg-blue);
    color: var(--light-primary-kone-blue);
    font-weight: normal;
    font-size: 1.125em;
    text-align: center;
}

.prices .price-how {
    padding: 1em 0 1em 1em;
    font-style: italic;
}

.prices .price-question {
    background-color: var(--light-color-background-bg-blue);
    color: var(--light-primary-kone-blue);
    font-weight: normal;
    font-size: 1.125em;
    padding-left: 1em;
}

.prices .price-answer td {
    text-align: center;
}

.prices .price-answer td:first-child {
    padding-left: 1.1em;
    text-align: left;
}


/*----------------------------- Tabs */


/* Style the tab */

.product-features {
    margin-top: 3em;
    margin-bottom: 4em;
}

br+.product-features {
    margin-top: 0;
}


/* Style the buttons inside the tab */

.product-features .c-tabs-nav button {
    display: inline-block;
	background: unset;
    background-color: var(--light-color-background-bg-blue);
    border: none;
	border-radius: unset;
	color: var(--light-primary-kone-blue);
    cursor: pointer;
    font-family: var(--font-secondary);
    font-size: 1.2em;
    font-weight: 400;
    letter-spacing: .1em;
	line-height: 1;
    margin-right: .5em;
    outline: none;
    padding: .4em 1em;
    text-transform: uppercase;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

.product-features .c-tabs-nav button::after {
	display: none;
}


/* Create an active/current tablink class */

.product-features .c-tabs-nav button.is-active {
    background-color: var(--light-primary-kone-blue);
    color: var(--light-primary-white);
    text-decoration: none;
}


/* Style the tab content */

.product-features .c-tab {
    display: none;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: var(--light-primary-white);
    padding: 1.6em 2em;
    background-color: var(--light-primary-kone-blue);
}

.product-features .c-tab.is-active {
    display: block;
}

.product-features .c-tab.is-active:has(.half-row) {
	display: grid;
}

.c-tab h2,
.c-tab h3,
.c-tab h4 {
    color: var(--light-primary-white);
}

.c-tab h3 {
    border: 0;
    margin-top: 0;
}

.c-tab .wp-caption {
    color: var(--light-primary-white);
}


/*----------------------------- Accordion */

details {
    border: 1px solid var(--light-grayscale-400-border);
    cursor: pointer;
    margin-bottom: 1.25em;
    padding: 1em 3em 1em 1em;
    position: relative;
}

details summary {
    font-size: 1.35em;
    color: var(--light-primary-kone-blue);
    display: block;
}

details summary::after {
    font-family: "KONE-Icon-Font";
    font-size: 2em;
    content: "";
    position: absolute;
    right: 0.1em;
    top: 0
}

details[open] summary {
    margin-bottom: 0.5em;
}

details[open] summary::after {
    content: "";
}

details+h2 {
    margin-top: 4rem;
}

@media (min-width: 768px) {
    details {
        padding-left: 2em;
    }
    details summary::after {
        right: 0.25em;
    }
}

.question {
    font-size: 18px;
    margin-bottom: 0;
}


/*----------------------------- Benefit */

.benefit {
    background-color: var(--light-grayscale-400-border);
    border: 1px solid var(--light-grayscale-400-border);
    gap: 1px;
}

.benefit>.gruppo {
    background-color: #fff;
    padding: 1em 1em 0;
}

.benefit .gruppo>b,
.benefit .gruppo>strong {
    color: var(--light-primary-kone-blue);
    display: block;
    font-size: 1.4em;
    font-weight: normal;
    margin-bottom: calc(var(--gutter) / 2);
}


/*----------------------------- Breadcrumbs */

.breadcrumbs {
    background: var(--light-primary-kone-blue);
    padding: .2em 0;
}

.yoast-breadcrumbs {
    color: var(--light-primary-white);
    font-family: var(--font-secondary);
    font-weight: 300;
    text-transform: uppercase;
}

.yoast-breadcrumbs a,
.yoast-breadcrumbs .breadcrumb_last {
    color: var(--light-primary-white);
    font-size: 0.9em;
}

.xtarget,
.page-template-guide .the-content h2 {
    border-top: 160px solid transparent;
    margin-top: -160px;
    background-clip: padding-box;
}

.ptb {
    margin-top: 2em;
    margin-bottom: 3em;
}


/* ----------------------------------------------------------- Icons */

.main .iti__flag {
    background-image: url('phone-validation/flags.png');
}

.main .iti {
    width: 100%;
}

#country-listbox {
    margin: 0;
    padding: 0;
}

#country-listbox li::before {
    display: none;
    margin: 0;
    padding: 0;
}

@media (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 192dpi) {
    .main .iti__flag {
        background-image: url(phone-validation/flags@2x.png);
    }
}


/* ----------------------------------------------------------- Icons */

.fa {
    color: var(--light-primary-kone-blue);
}

.kone-icon {
    color: var(--light-primary-kone-blue);
    font-family: "KONE-Icon-Font";
    font-size: 2em;
    font-style: normal;
    padding: 0 0.4em;
    font-weight: normal;
}

.icon,
.library-kone-icon-font [class^="icon-"],
.library-kone-icon-font [class*="icon-"] {
    font-family: "KONE-Icon-Font";
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
}

.icon-accept-checkmark:before {
    content: "\e93e";
}

.icon-accessibility:before {
    content: "\e93c";
}

.icon-additional-info:before {
    content: "\e95e";
}

.icon-additional-power-supply:before {
    content: "\e950";
}

.icon-agenda:before {
    content: "\e944";
}

.icon-alarm:before {
    content: "\e915";
}

.icon-analysis:before {
    content: "\e90b";
}

.icon-arrow-down:before {
    content: "\e92c";
}

.icon-arrow-left:before {
    content: "\e929";
}

.icon-arrow-lower-left:before {
    content: "\e92f";
}

.icon-arrow-lower-right:before {
    content: "\e930";
}

.icon-arrow-right:before {
    content: "\e92a";
}

.icon-arrow-up:before {
    content: "\e92b";
}

.icon-arrow-upper-left:before {
    content: "\e92d";
}

.icon-arrow-upper-right:before {
    content: "\e92e";
}

.icon-attachment:before {
    content: "\e91c";
}

.icon-autowalk:before {
    content: "\e936";
}

.icon-bluetooth:before {
    content: "\e910";
}

.icon-brightness-weather:before {
    content: "\e908";
}

.icon-calculate:before {
    content: "\e91e";
}

.icon-call-back:before {
    content: "\e95c";
}

.icon-chat:before {
    content: "\e945";
}

.icon-cloud:before {
    content: "\e941";
}

.icon-delete:before {
    content: "\e90d";
}

.icon-document:before {
    content: "\e94b";
}

.icon-doors:before {
    content: "\e939";
}

.icon-doors-closing:before {
    content: "\e93a";
}

.icon-doors-opening:before {
    content: "\e938";
}

.icon-doors-symbol-1:before {
    content: "\e93b";
}

.icon-doors-symbol-2:before {
    content: "\e93d";
}

.icon-download:before {
    content: "\e919";
}

.icon-earthquake:before {
    content: "\e920";
}

.icon-ebuli:before {
    content: "\e967";
}

.icon-edit:before {
    content: "\e917";
}

.icon-elevator:before {
    content: "\e935";
}

.icon-energy:before {
    content: "\e921";
}

.icon-escalator:before {
    content: "\e937";
}

.icon-exit-floor:before {
    content: "\e902";
}

.icon-facebook:before {
    content: "\e961";
}

.icon-fault:before {
    content: "\e912";
}

.icon-fire:before {
    content: "\e925";
}

.icon-floor-height-opening-travel:before {
    content: "\e951";
}

.icon-freight:before {
    content: "\e926";
}

.icon-google-plus:before {
    content: "\e966";
}

.icon-hero-scroll-down:before {
    content: "\e948";
}

.icon-home:before {
    content: "\e90e";
}

.icon-info-box:before {
    content: "\e95f";
}

.icon-information:before {
    content: "\e913";
}

.icon-kone-capacity-imperial:before {
    content: "\e953";
}

.icon-kone-capacity-metric:before {
    content: "\e954";
}

.icon-kone-control-location:before {
    content: "\e957";
}

.icon-kone-door-type:before {
    content: "\e955";
}

.icon-kone-elevator-configuration:before {
    content: "\e958";
}

.icon-kone-hoistway-entrance:before {
    content: "\e95b";
}

.icon-kone-icons-freight-1:before {
    content: "\e96b";
}

.icon-kone-icons-freight-3:before {
    content: "\e96a";
}

.icon-kone-icons-play-button-triangle:before {
    content: "\e969";
}

.icon-kone-power-supply:before {
    content: "\e959";
}

.icon-kone-speed:before {
    content: "\e956";
}

.icon-landings:before {
    content: "\e94e";
}

.icon-linkedin:before {
    content: "\e964";
}

.icon-live-chat:before {
    content: "\e960";
}

.icon-location-pin:before {
    content: "\e90f";
}

.icon-maintenance:before {
    content: "\e909";
}

.icon-maintenance2:before {
    content: "\e95d";
}

.icon-menu:before {
    content: "\e93f";
}

.icon-message:before {
    content: "\e922";
}

.icon-minus:before {
    content: "\e949";
}

.icon-mobile-phone:before {
    content: "\e943";
}

.icon-network-ip:before {
    content: "\e916";
}

.icon-night-mode:before {
    content: "\e90a";
}

.icon-notification:before {
    content: "\e911";
}

.icon-personas:before {
    content: "\e901";
}

.icon-pfi:before {
    content: "\e962";
}

.icon-play-button:before {
    content: "\e95a";
}

.icon-plus:before {
    content: "\e947";
}

.icon-power:before {
    content: "\e904";
}

.icon-printer:before {
    content: "\e906";
}

.icon-professionals-technicians:before {
    content: "\e94c";
}

.icon-quantity:before {
    content: "\e952";
}

.icon-question:before {
    content: "\e914";
}

.icon-recommendation:before {
    content: "\e927";
}

.icon-reject:before {
    content: "\e940";
}

.icon-reset:before {
    content: "\e90c";
}

.icon-scroll-down:before {
    content: "\e933";
}

.icon-scroll-left:before {
    content: "\e931";
}

.icon-scroll-right:before {
    content: "\e932";
}

.icon-scroll-up:before {
    content: "\e934";
}

.icon-search:before {
    content: "\e91d";
}

.icon-seismic:before {
    content: "\e94f";
}

.icon-service:before {
    content: "\e928";
}

.icon-settings:before {
    content: "\e923";
}

.icon-share:before {
    content: "\e968";
}

.icon-speak-now:before {
    content: "\e903";
}

.icon-students-graduates:before {
    content: "\e94a";
}

.icon-target-time:before {
    content: "\e907";
}

.icon-time:before {
    content: "\e905";
}

.icon-tool:before {
    content: "\e946";
}

.icon-twitter:before {
    content: "\e963";
}

.icon-upload:before {
    content: "\e91b";
}

.icon-usb:before {
    content: "\e91f";
}

.icon-user:before {
    content: "\e900";
}

.icon-wait:before {
    content: "\e924";
}

.icon-weight-kg:before {
    content: "\e91a";
}

.icon-weight-lbs:before {
    content: "\e918";
}

.icon-well-being:before {
    content: "\e94d";
}

.icon-wireless:before {
    content: "\e942";
}

.icon-youtube:before {
    content: "\e965";
}


/* ------------------------------------------------- Lightbox */

body.lb-disable-scrolling {
    overflow: hidden;
}

.lightboxOverlay {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9999;
    background-color: black;
    filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=80);
    opacity: 0.8;
    display: none;
}

.lightbox {
    position: absolute;
    left: 0;
    width: 100%;
    z-index: 10000;
    text-align: center;
    line-height: 0;
    font-weight: normal;
}

.lightbox .lb-image {
    display: block;
    height: auto;
    max-width: inherit;
    max-height: none;
    border-radius: 0;
    /* Image border */
    border: 2px solid white;
}

.lightbox a img {
    border: none;
}

.lb-outerContainer {
    position: relative;
    zoom: 1;
    width: 250px;
    height: 250px;
    margin: 0 auto;
    border-radius: 4px;
    /* Background color behind image.

     This is visible during transitions. */
    background-color: white;
}

.lb-outerContainer:after {
    content: "";
    display: table;
    clear: both;
}

.lb-loader {
    position: absolute;
    top: 43%;
    left: 0;
    height: 25%;
    width: 100%;
    text-align: center;
    line-height: 0;
}

.lb-cancel {
    display: block;
    width: 32px;
    height: 32px;
    margin: 0 auto;
    background: url(lightbox/images/loading.gif) no-repeat;
}

.lb-nav {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 10;
}

.lb-container>.nav {
    left: 0;
}

.lb-nav a {
    outline: none;
    background-image: url('data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
}

.lb-prev,
.lb-next {
    height: 100%;
    cursor: pointer;
    display: block;
}

.lb-nav a.lb-prev {
    width: 34%;
    left: 0;
    float: left;
    background: url(lightbox/images/prev.png) left 48% no-repeat;
    filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -webkit-transition: opacity 0.6s;
    -o-transition: opacity 0.6s;
    transition: opacity 0.6s;
}

.lb-nav a.lb-prev:hover {
    filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
}

.lb-nav a.lb-next {
    width: 64%;
    right: 0;
    float: right;
    background: url(lightbox/images/next.png) right 48% no-repeat;
    filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    -webkit-transition: opacity 0.6s;
    -o-transition: opacity 0.6s;
    transition: opacity 0.6s;
}

.lb-nav a.lb-next:hover {
    filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
}

.lb-dataContainer {
    margin: 0 auto;
    padding-top: 5px;
    zoom: 1;
    width: 100%;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

.lb-dataContainer:after {
    content: "";
    display: table;
    clear: both;
}

.lb-data {
    padding: 0 4px;
    color: #ccc;
}

.lb-data .lb-details {
    width: 85%;
    float: left;
    text-align: left;
    line-height: 1.1em;
}

.lb-data .lb-caption {
    font-size: 16px;
    font-weight: bold;
    line-height: 1em;
}

.lb-data .lb-caption a {
    color: #4ae;
}

.lb-data .lb-number {
    display: block;
    clear: left;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    font-size: 12px;
    color: #999999;
}

.lb-data .lb-close {
    display: block;
    float: right;
    width: 30px;
    height: 30px;
    background: url(lightbox/images/close.png) top right no-repeat;
    text-align: right;
    outline: none;
    filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=70);
    opacity: 0.7;
    -webkit-transition: opacity 0.2s;
    -o-transition: opacity 0.2s;
    transition: opacity 0.2s;
}

.lb-data .lb-close:hover {
    cursor: pointer;
    filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
}


/* Box colore */

.colore-ral {
    display: inline-block;
    color: var(--light-primary-white);
    border: 1px solid #aaa;
    font-size: .75em;
    height: 7em;
    margin-right: 2%;
    max-width: 7em;
    overflow: hidden;
    padding: .25em;
    width: 48%;
}

.ral-rosso {
    background-color: #B32821;
}

.ral-blu {
    background-color: #20214F;
}

.ral-marrone {
    background-color: #212121;
}

.ral-verde {
    background-color: #287233;
}


/* Mixed call-to-action */

.mixed-cta-box {
    margin-top: 2em;
    padding-left: 1em;
    padding-right: 1em;
}

.mixed-cta-box .box-products {
    display: block;
	margin-top: 0;
}

.mixed-cta-box .box-product {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 1.5em auto;
    max-width: none;
    padding: 0;
    text-decoration: none;
    width: 100%;
}

.mixed-cta-box .box-product-content {
    font-size: 0.9em;
    padding: 1em;
    text-align: left;
    width: 66%;
}

.mixed-cta-box .box-product-content h3 {
    font-size: 1.6em;
    margin: 0 0 0.5em 0;
    padding-top: 0;
}

.mixed-cta-box .box-product-content p {
    color: #000;
    padding: 0;
    margin-bottom: 0;
}

.mixed-cta-box .product-img {
    background-color: var(--custom-accent);
    color: var(--light-primary-white);
    display: block;
    width: 34%;
}

.mixed-cta-box .product-img img {
    margin-bottom: 0;
}

.mixed-cta-box .product-img span {
    display: block;
    font-family: var(--font-secondary);
    padding: 0.2em 0.4em;
    text-align: right;
}

.mixed-cta-box .box-contact-form p {
    font-size: 1rem;
}

@media screen and (min-width: 768px) {
    .mixed-cta-box {
        display: grid;
        gap: 5em;
        grid-template-columns: repeat(2, 1fr);
    }
    .mixed-cta-box .box-products {
        display: block;
    }
}


/**
 * Custom CSS
 */

.has-background {
    margin-bottom: 2em;
    padding: 1.5em;
}

.has-background>* {
    margin-left: auto;
    margin-right: auto;
    max-width: 600px;
    font-family: KONE;
    font-size: 1.3rem
}

.has-background i {
    font-size: 3rem;
}

.has-secondary-background {
    background-color: #004987;
    color: #fff;
}

.hide-input {
    display: none !important;
}

.sf_field .text {
    text-align: left !important;
}

.single-local_page .sf_field_00N20000000sgiG {
    display: none;
}

.sf_field_description textarea {
    min-height: 180px;
}

.sf_field sup .required {
    display: none;
}

.gdpr-disclaimer {
    font-size: .85em;
    line-height: 1.3;
}

.featured-image figcaption {
    text-align: right;
    font-size: .8em;
}

.wp-video {
    margin: 2em auto 1em;
}

.single .featured-image {
    text-align: center;
}

span.block+h2 {
    margin-top: 1em;
}

.wpcf7-select {
    min-width: 30%;
}

.page-template-contact .content label.text {
    width: 100% !important;
}

.content h2 b {
    font-weight: 400;
}

.iubenda-cs-close-btn::after {
    display: none;
}