@media (max-width: 767.98px) {
    :root {
        /* set rem = 10px */
        font-size: 10px;

        --wrapper-padding: var(--distance-medium);
    }

    /* FONT SIZES */
    .balboa1 {
        font-size: 6rem;
    }
    .balboa2 {
        font-size: 3.5rem;
    }
    .sharp1 {
        font-size: 2.4rem;
        line-height: 2.7rem;
    }
    .sharp2 {
        font-size: 1.8rem;
    }
    .sharp3 {
        font-size: 1.5rem;
    }
    .sharp4 {
        font-size: 1.4rem;
    }

    /* GENERAL */
    section:first-of-type {
        padding-top: calc(var(--distance-medium) * 3);
    }
    .bottone, .bottone:focus, .bottone:visited, .bottone:hover {
        font-size: 1.1rem;
        line-height: 1;
        height: 30px;
        padding: 0 10px;
    }
    .g-custom {
        --bs-gutter-x: calc(var(--distance-medium) / 4);
        --bs-gutter-y: calc(var(--distance-medium) / 4);
    }
    .gy-custom-triple {
        --bs-gutter-x: var(--distance);
        --bs-gutter-y: var(--distance);
    }

    /* SPACING */
    .cont-testo .sharp1 + * {
        margin-top: var(--distance-half);
    }
    .cont-testo > * + * {
        margin-top: calc(var(--distance) / 3);
    }
    .cont-testo .balboa2 + *,
    .cont-testo * + .balboa2 {
        margin-top: calc(var(--distance) / 3);
    }

    /* CARDS ICON */
    .icon-alert,
    .icon-mensa,
    .icon-fischietto,
    .icon-balloon-circle,
    .icon-balloon-square,
    .icon-bell,
    .icon-bluetooth,
    .icon-case,
    .icon-cash,
    .icon-check-circle,
    .icon-check,
    .icon-clip,
    .icon-code,
    .icon-document,
    .icon-emoji-sad,
    .icon-emoji-smile,
    .icon-error,
    .icon-eye,
    .icon-folder,
    .icon-industry,
    .icon-lamp,
    .icon-lock,
    .icon-mail,
    .icon-moon,
    .icon-pencil,
    .icon-pin,
    .icon-play-circle,
    .icon-play,
    .icon-qipo-bluetooth,
    .icon-scanner,
    .icon-shifts,
    .icon-signal,
    .icon-smartphone,
    .icon-star,
    .icon-sun,
    .icon-sunset,
    .icon-target,
    .icon-thunder,
    .icon-ticket,
    .icon-user,
    .icon-user-2,
    .icon-user-3,
    .icon-warning,
    .icon-watch,
    .icon-waves {
        height: var(--distance-medium);
    }

    /* CARDS */
    .custom-card {
        border-radius: 12px;
    }
    .custom-card .sharp3 {
        font-size: 1.4rem;
    }
    .custom-card .sharp5,
    .custom-card .sharp6 {
        font-size: 1rem;
    }
    .custom-card.card-icon {
        padding: calc(var(--distance-medium) / 4);
    }
    .custom-card.card-icon .sharp3 {
        margin: calc(var(--distance-half) / 3) 0;
    }
    .custom-card.card-calendar {
        padding: calc(var(--distance-medium) / 2) calc(var(--distance-medium) / 4);
        column-gap: calc(var(--distance-medium) / 4);
    }
    .custom-card.card-calendar .calendar .linea {
        height: calc(var(--distance-medium) / 4);
    }
    .custom-card.card-calendar .calendar .linea .active-rect {
        width: calc(var(--distance-medium) / 2);
    }
    .custom-card.card-calendar .calendar {
        row-gap: 3px;
    }
    .custom-card.card-calendar .card-text * + * {
        margin-top: 0;
    }
    .custom-card.card-calendar .card-text {
        width: calc(50% - calc(var(--distance) / 3));
    }
    .custom-card.card-icon.only-icon,
    .mockup .over-mockup .custom-card.card-icon.only-icon {
        padding: calc(var(--distance-medium) / 2);
    }
    .custom-card.card-percentage {
        padding: calc(var(--distance-medium) / 2) calc(var(--distance-medium) / 4);
        column-gap: calc(var(--distance-medium) / 4);
    }
    .custom-card.card-percentage .pie-chart {
        width: calc(45% - calc(var(--distance) / 3));
    }
    .custom-card.card-percentage .card-text {
        width: calc(60% - calc(var(--distance) / 3));
    }
    .custom-card.card-percentage .card-text > * + * {
        margin-top: calc(var(--distance-half) / 3);
    }
    .custom-card.card-percentage .card-text .dati > * span {
        width: calc(var(--distance-medium) / 4);
        height: calc(var(--distance-medium) / 4);
        min-width: calc(var(--distance-medium) / 4);
        min-height: calc(var(--distance-medium) / 4);
    }
    .custom-card.card-columns {
        padding: calc(var(--distance-medium) / 2) calc(var(--distance-medium) / 4);
        column-gap: calc(var(--distance-medium) / 4);
    }
    .custom-card.card-columns .card-text {
        width: calc(50% - calc(var(--distance) / 3));
    }
    .custom-card.card-columns .card-text > * + * {
        margin-top: calc(var(--distance-half) / 3);
    }
    .custom-card.card-caso-studio {
        padding: var(--distance-half) calc(var(--distance-medium) / 2);
    }
    .custom-card.card-caso-studio .card-text {
        width: calc(55% - calc(var(--distance) / 3));
    }
    .custom-card.card-caso-studio .card-chart {
        width: calc(45% - calc(var(--distance) / 3));
    }
    .custom-card.card-caso-studio .card-text > *.sharp3 + *.sharp5 {
        margin-top: calc(var(--distance-half) / 3);
    }
    .custom-card.card-caso-studio .card-chart .dati {
        flex-wrap: wrap;
        row-gap: 8px;
        margin-top: var(--distance-half);
    }
    .custom-card.card-caso-studio .card-chart .dati > * span {
        width: calc(var(--distance-medium) / 4);
        height: calc(var(--distance-medium) / 4);
        min-width: calc(var(--distance-medium) / 4);
        min-height: calc(var(--distance-medium) / 4);
    }
    .custom-card.card-caso-studio .card-chart .dati .sharp6 {
        font-size: 0.8rem;
    }
    .custom-card.card-percentage .pie-chart .mask,
    .custom-card.card-caso-studio .pie-chart .mask {
        width: 60%;
        height: 60%;
    }
    .custom-card.card-caso-studio .card-chart .dati > * + * {
        margin-top: 0;
    }
    .custom-card.card-orario {
        padding: calc(var(--distance-medium) / 2) var(--distance);
    }
    .custom-card.card-orario .giorno, .custom-card.card-orario .ore, .custom-card.card-orario .minuti {
        font-size: 1rem;
    }
    .custom-card.card-orario .card-text > * + * {
        margin-top: calc(var(--distance-half) / 3);
    }

    .nav-point div.active {
        border-width: 7px;
        width: 25px;
        height: 25px;
    }
    .circle-container {
        margin-bottom: calc(var(--distance-medium) / 2);
    }

    /* HEADER */
    header {
        top: 20px;
        height: 50px;
    }
    header .wrapper {
        margin-left: calc(var(--distance-medium) / 4);
        margin-right: calc(var(--distance-medium) / 4);
    }
    .logo, .logo:visited, .logo:focus, .logo:hover {
        width: 48px;
        height: 18px;
    }
    header .login, header .login:focus, header .login:visited, header .login:hover {
        font-size: 1.1rem;
    }
    .btn-hamburger {
        width: 20px;
        height: 13px;
    }
    .loader [class*="icon"] {
        width: 60px;
        height: 60px;
    }

    /* OVERLAY */
    .overlay-content {
        margin-top: 45px;
        height: calc(100% - calc(var(--distance-medium) * 1.5));
    }
    .menu.menu-overlay li a, .menu.menu-overlay li a:visited, .menu.menu-overlay li a:focus, .menu.menu-overlay li a:hover {
        font-size: 1.4rem;
    }
    .social-icons {
        bottom: calc(var(--distance-medium) / 2);
    }

    /* HOMEPAGE */
    #hero.fullscreen {
        overflow: hidden;
        padding-bottom: calc(var(--distance-big) * 1.25);
    }
    .swiper-hero {
        margin-top: var(--distance-big);
    }
    .swiper-cit h2::before {
        width: 27px;
        height: 15px;
        left: 0;
        top: 0;
        transform: translateY(-100%);
        margin-top: 0;
    }
    .swiper-cit h2::after {
        width: 27px;
        height: 15px;
        margin-top: 5px;
        position: relative;
        bottom: auto;
    }
    .mockup {
        max-height: 400px;
    }
    .mockup img.over-mockup {
        transform: translateZ(125px) translateX(-20%) translateY(0%);
    }
    .mockup img.under-mockup {
        transform: translateZ(50px) translateX(-50%) translateY(-50%);
    }
    .mockup img.under-mockup.bottom {
        transform: translateZ(50px) translateX(-60%) translateY(50%);
    }
    #horizontal .circle,
    #horizontal .line {
        display: none;
    }
    #horizontal .cont-testo .sharp1 {
        font-size: 2.5em;
    }
    .sticky-container .cont-section {
        padding-top: var(--distance);
    }
    .swiper-text {
        margin-bottom: calc(var(--distance-medium) / 2);
    }
    #circle .sticky-container {
        height: 100vh;
    }
    #circle .cont-section .bottone {
        display: flex;
        width: max-content;
        margin: 0 auto;
    }
    .centered-gallery {
        min-height: auto;
        padding: calc(var(--distance-big) * 1.25) 0 calc(var(--distance-medium) * 2) 0;
    }
    .swiper-gallery {
        margin: var(--distance) 0;
    }
    .single-image .wrapper .container-fluid {
        row-gap: var(--distance);
    }
    .single-image {
        min-height: auto;
        padding: calc(var(--distance-big) * 1.25) 0 calc(var(--distance-medium) * 2) 0;
    }

    /* FORM SECTION */
    .form-demo {
        padding: calc(var(--distance-big) * 1.25) 0 calc(var(--distance-medium) * 2) 0;
    }
    .form-demo .gy-custom-triple {
        --bs-gutter-y: calc(var(--distance-medium) / 2);
    }
    .form-demo form {
        padding: var(--distance-medium) calc(var(--distance-medium) / 2);
        border-radius: calc(var(--distance-medium) / 2);
    }
    .gform_body .gfield--width-half {
        width: 100%;
    }
    input[type="submit"], input[type="submit"]:focus, input[type="submit"]:hover {
        font-size: 1.1rem !important;
        line-height: 1 !important;
        height: 30px !important;
        padding: 5px 80px !important;
    }

    /* COME FUNZIONA */
    .page-template-page-comefunziona section:first-of-type.fullscreen {
        height: auto;
        padding-bottom: 0;
    }
    .swiper-card {
        margin-top: calc(var(--distance-big) / 2);
    }
    .swiper-card + .swiper-card {
        margin-top: calc(var(--distance) / 3);
    }
    .swiper-card .swiper-slide .custom-card {
        height: 150px;
    }
    .swiper-card .swiper-slide .custom-card.custom-card.card-icon.with-text.horizontal {
        width: 220px;
    }
    .custom-card.card-icon [class*="icon-"] {
        height: calc(var(--distance-medium) * 1.5);
        width: calc(var(--distance-medium) * 1.5);
    }
    .custom-card.card-icon.with-text.horizontal {
        display: flex;
    }

    .gestione-turni {
        padding-top: var(--distance-big);
    }
    .big-card {
        border-radius: 12px;
    }
    .big-card::before {
        width: calc(var(--distance-big) / 2);
        height: calc(var(--distance-big) / 2);
    }
    .big-card::after {
        width: var(--distance);
        height: var(--distance);
        right: calc(calc(var(--distance) * -1) + calc(var(--distance-big) / 4));
    }
    .big-card .col-sx {
        padding: var(--distance) calc(var(--distance-medium) / 2);
        border-radius: 12px;
    }
    .big-card .col-sx .cont-testo p:not([class]) {
        width: 100%;
    }
    .big-card .col-dx {
        padding: var(--distance) calc(var(--distance-medium) / 2);
    }

    .servizio {
        padding-top: calc(var(--distance-big) / 2);
        padding-bottom: var(--distance);
    }
    .card-servizio {
        border-radius: calc(var(--distance-medium) / 2);
    }
    .card-servizio [class*="icon-"] {
        width: var(--distance-medium);
        height: var(--distance-medium);
        margin: calc(var(--distance-medium) / 2);
    }
    .card-servizio [class*="icon-"].big {
        width: calc(var(--distance-big) * 0.75);
        height: calc(var(--distance-big) * 0.75);
        margin: calc(var(--distance-medium) / 2);
    }
    .card-servizio .cont-testo {
        padding: var(--distance-medium) calc(var(--distance-medium) / 2);
        border-radius: calc(var(--distance-medium) / 2);
        text-align: start;
    }
    .card-servizio .cont-testo * + .balboa2 {
        margin-top: calc(var(--distance-big) / 2)
    }
    .cont-servizio > * + * {
        margin-top: var(--distance-medium);
    }

    .caso-studio {
        padding: var(--distance) 0;
    }
    .caso-studio .info {
        margin-bottom: var(--distance-half);
    }
    .caso-studio .title {
        margin-bottom: var(--distance);
    }
    .caso-studio .title .cont-testo .sharp5 {
        font-size: 1rem;
        margin-top: var(--distance);
    }
    .custom-card.card-percentage.only-percentage {
        padding: calc(var(--distance-half) / 3);
    }
    .col-12-mobile {
        width: 91.66667%;
    }
    .custom-card.card-testo {
        padding: calc(var(--distance-medium) / 2);
    }
    .custom-card.card-testo .cont-testo * + .sharp3 {
        margin-top: calc(var(--distance-half) / 3);
    }
    .custom-card.card-testo .cont-testo + .cont-testo {
        margin-top: calc(var(--distance) / 3);
        padding-top: calc(var(--distance) / 3);
    }

    /* GESTIONE PRESENZE */
    section:first-of-type .cont-testo * + .row {
        margin-top: var(--distance);
    }
    .page-template-page-gestionepresenze .min-fullscreen {
        min-height: auto;
    }
    .gestione-turni {
        padding: var(--distance-medium) 0;
    }
    .section-title {
        padding-top: calc(var(--distance-medium) / 2);
    }
    .gestione-turni .card-content {
        padding: calc(var(--distance-medium) / 2);
        border-radius: 12px;
    }
    .gestione-turni .bottone,
    .gestione-turni .bottone:visited,
    .gestione-turni .bottone:focus,
    .gestione-turni .bottone:hover {
        margin-top: var(--distance);
    }

    /* PERCHE QIPO */
    .page-template-page-percheqipo .min-fullscreen {
        min-height: auto;
        padding-bottom: calc(var(--distance-big) / 2);
    }
    .page-template-page-percheqipo .fullscreen {
        height: auto;
        padding-top: var(--distance);
        padding-bottom: var(--distance-medium);
    }

    /* SVILUPPATORI */
    .accordion-container {
        padding-top: 0;
        padding-bottom: 0;
    }
    .accordion-container .accordion-button .balboa2 {
        margin-top: calc(var(--distance) / 3);
    }
    .accordion-container .accordion-body {
        padding-top: 0;
    }

    /* FAQ */
    .page-template-page-faq section:first-of-type {
        padding-bottom: var(--distance-medium);
    }
    .accordion-container.results-container {
        padding-top: var(--distance-medium);
    }
    .filters {
        margin-top: var(--distance);
    }

    /* CONTATTI */
    .hero-contatti {
        padding-bottom: calc(var(--distance-big) / 2);
    }
    .hero-contatti .balboa2 {
        margin-bottom: calc(var(--distance) / 3);
    }
    .hero-contatti .contatto a, .hero-contatti .contatto a:focus, .hero-contatti .contatto a:visited, .hero-contatti .contatto a:hover {
        padding-top: calc(var(--distance) / 3);
        padding-bottom: calc(var(--distance) / 3);
    }

    /* FOOTER */
    footer {
        padding-bottom: var(--distance);
    }
    footer .logo,
    footer .logo:visited,
    footer .logo:focus,
    footer .logo:hover {
        width: 80px;
        height: 30px;
    }
    .menu-footer {
        display: block;
    }
    .menu-footer li + li {
        margin-top: calc(var(--distance) / 3);
    }
    .app-download .g-custom-double {
        --bs-gutter-x: calc(var(--distance-medium) / 2);
        --bs-gutter-y: calc(var(--distance) / 3);
    }
}