@charset "UTF-8";





.custom-pointer {
    cursor: url('http://nicol-fortuna-new.local/wp-content/uploads/2024/10/pointer.png') 10 10, auto;
}


body {
    transition: background-color 1.2s ease;
    background-color: #081013;
    cursor: url('http://nicol-fortuna-new.local/wp-content/uploads/2024/10/pointer.png'), auto !important;
}

p {
    text-rendering: optimizeLegibility;
    font-kerning: normal;
}

.bg-nero {
    background-color: #081013;

}

/* font */

@font-face {
    font-family: 'Hendrix regular';
    src: url(../font/BRHendrix-Regular-BF6556d1b5096f9.otf) format('opentype');
}

@font-face {
    font-family: 'Hendrix semibold';
    src: url(../font/BRHendrix-SemiBold-BF6556d1b51cbb8.otf) format('opentype');
}

@font-face {
    font-family: 'Hendrix medium';
    src: url(../font/BRHendrix-Medium-BF6556d1b4e12b2.otf) format('opentype');
}

@font-face {
    font-family: 'Helvetica neue roman';
    src: url(../font/HelveticaNeue-Roman.ttf) format('truetype');
}

@font-face {
    font-family: 'italic old';
    src: url(../font/ppeditorialold-ultralightitalic.otf) format('opentype');
}

.regular {
    font-family: 'Hendrix regular';
}

.italic {
    font-family: 'italic old';
}

.semibold {
    font-family: 'Hendrix semibold';
}

.medium {
    font-family: 'Hendrix medium';
}

.roman {
    font-family: 'Helvetica neue roman';
}

/* navbar mobile */

nav {
    transition: all 1s ease-in-out;
    overflow: hidden;
    /* padding: 5px; */
    background-color: #081013;
    /* border-radius: 10px; */
}

.voci-menu-desktop {
    font-size: 18px;
    color: #fff;
}

.voci-menu-desktop:hover {
    font-size: 18px;
    color: #4A6DF1;

}

.menu-open .menu {
    height: 100vh;
    top: 0;
}

.bi-circle-fill {
    color: #4A6DF1 !important;
}

body.menu-open {
    overflow: hidden;
}

.menu-open .menuvoci {
    display: block !important;
}

.navbar-expanded .navbar-gsap {
    height: 100%;
    background-color: white;
    transition: all 1s ease-in-out;
}

.navbar-expanded .menuvoci {
    display: block !important;
    transition: all 1s ease-in-out;
}

.nav__gsap {
    display: none;
}

label.hamburger {
    display: block;
    background: #fff;
    width: 40px;
    height: 40px;
    position: relative;
    cursor: pointer;
}

input#hamburger {
    display: none;
}

.p-voci-menu {
    color: #fff;
    font-size: 30px;
    line-height: 0px;
    letter-spacing: -0.3px;
}

.line {
    position: absolute;
    height: 2px;
    width: 36px;
    background: #fff;
    transition: 0.5s;
    margin-bottom: 10px;
}

/* steps of 12 are optional, could also be 10, 13 etc */
.line:nth-child(1) {
    top: 10px;
}

.line:nth-child(2) {
    top: 20px;
}



.line:nth-child(3) {
    top: 30px;
}

/* translateY must be same as */
#hamburger:checked+.hamburger .line:nth-child(1) {
    transform: translateY(10px) rotate(-45deg);
    background: #fff;
}

#hamburger:checked+.hamburger .line:nth-child(2) {
    opacity: 0;
}

#hamburger:checked+.hamburger .line:nth-child(3) {
    transform: translateY(-10px) rotate(45deg);
    background: #fff;
}

/* header */

.arrow-btn {
    width: 35px;
    height: 35px;
}

.small-icon {
    width: 18px;
    height: 18px;
}

.button-efx {
    display: inline-grid;
    /* border-radius: 50px;
    padding: 10px;
    width: 150px; */
    /* margin: 15px 5px ; */
    text-decoration: none;
    text-align: left;
    color: #000;
    overflow: hidden;
}

.img-profile-pic {
    max-width: 270px;
}

.main-logo {
    width: 27px;
}

.a-menu {
    color: #272727;
}

/* homepage */

.h2-servizi {
    color: #818D9C;
    letter-spacing: -0.2px;
}

.h1-big {
    font-size: 60px;
    color: #272727;
    line-height: 60px;
    letter-spacing: -1px;
    -webkit-font-smoothing: antialiased;
}

.p-big-text {
    font-size: 65px;
    line-height: 65px;
    letter-spacing: -2px;
    -webkit-font-smoothing: antialiased;
    color: #fff;
    text-rendering: optimizeLegibility;
    font-kerning: normal;
}


.p-big-text-btn {
    font-size: 35px;
    line-height: 35px;
    letter-spacing: -1.2px;
    -webkit-font-smoothing: antialiased;
    color: #fff;
    text-rendering: optimizeLegibility;
    font-kerning: normal;
}



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





    .h1-big {
        font-size: 36px;
        line-height: 42px;
        letter-spacing: -0.7px;
        -webkit-font-smoothing: antialiased;
    }

    .p-big-text {
        font-size: 42px;
        line-height: 43px;
        letter-spacing: -0.7px;
        -webkit-font-smoothing: antialiased;

    }

    .p-big-text-btn {
        font-size: 35px;
        line-height: 35px;
        letter-spacing: -0.7px;
        -webkit-font-smoothing: antialiased;
    }
}

.primo-p {
    width: 570px;
}


/* LOOP TEXT */

.star-loop {
    width: 45px;
}

@media only screen and (max-width: 768px) {
    .star-loop {
        width: 35px;
    }
}

.scrolling-text {
    overflow: hidden;
    width: 100%;
    height: 150px;
    display: flex;
    align-items: center;
    background-color: var(--color-just-black);
}

.scrolling-text .rail {
    display: flex;
}

.scrolling-text .rail h4 {
    white-space: nowrap;
    font-size: 80px;
    font-weight: 600;
    letter-spacing: ls(120);
    line-height: 1em;
    margin: 0 30px 0 0;
    color: #4A6DF1;

}




@media only screen and (max-width: 768px) {
    .primo-p {
        width: 100%;
    }

    .scrolling-text .rail h4 {

        font-size: 45px;
    }

}


.button {
    line-height: 1;
    text-decoration: none;
    display: inline-flex;
    border: none;
    cursor: pointer;
    align-items: center;
    gap: 0.75rem;
    background-color: var(--clr);
    color: #fff;
    border-radius: 10rem;
    font-weight: 600;
    padding: 0.75rem 1.5rem;
    padding-left: 20px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: background-color 0.3s;
}

.button__icon-wrapper {
    flex-shrink: 0;
    width: 25px;
    height: 25px;
    position: relative;
    color: var(--clr);
    background-color: #fff;
    border-radius: 50%;
    display: grid;
    place-items: center;
    overflow: hidden;
}

.button:hover {
    background-color: #081013;
}

.button:hover .button__icon-wrapper {
    color: #000;
}

.button__icon-svg--copy {
    position: absolute;
    transform: translate(-150%, 150%);
}

.button:hover .button__icon-svg:first-child {
    transition: transform 0.3s ease-in-out;
    transform: translate(150%, -150%);
}

.button:hover .button__icon-svg--copy {
    transition: transform 0.3s ease-in-out 0.1s;
    transform: translate(0);
}



.p-standard {
    line-height: 22px;
    letter-spacing: 0.1px;
}

.number-icon {
    width: 55px;
    height: 55px;
    margin-top: -50px;

}

@media only screen and (max-width: 768px) {
    .section-pic {
        height: 1200px;
    }
}

.section-pic {
    height: 300px;
}

.number-icon-2 {
    width: 35px;
    height: 35px;
    margin-top: -3px;
}

@media only screen and (max-width: 768px) {
    .number-icon-2 {
        width: 27px;
        height: 27px;
        margin-top: -3px;
    }
}


.icon-dot {
    width: 8px;
    height: 8px;
}

/* Nasconde le frecce di default dell'accordione */
.accordion-button::after {
    display: none;
}

.accordion-icon {
    width: 16px;
    /* Adatta la dimensione dell'icona come preferisci */
    height: 16px;
    margin-left: auto;
    /* Allinea a destra */
    transition: transform 0.3s ease-in-out;
    /* Aggiunge l'animazione di rotazione */
}

/* Ruota l'icona quando l'accordione è espanso */
.accordion-button:not(.collapsed) .plus-icon {
    transform: rotate(45deg);
}

.accordion-button {
    background-image: "";
}

.accordion-button:not(.collapsed)::after {
    background-image: var(--bs-accordion-btn-active-icon);
    transform: var(--bs-accordion-btn-icon-transform);
}

.accordion-button:not(.collapsed) {
    /* color: var(--bs-accordion-active-color); */
    background-color: #fff;
    box-shadow: none;
    color: #272727
}

.accordion-button:focus {
    display: none;
}

.card-servizi {
    margin: 100px 0 100px 0;
}


.img-mia-desktop {
    width: 550px;
}




/* about me */
.bi-circle-fill {
    color: #818D9C;
    font-size: 17px !important;
    margin-top: 6px;
}

@media only screen and (max-width: 768px) {
    .bi-circle-fill {
        font-size: 12px !important;
    }
}


@media only screen and (min-width: 768px) {
    .picture {
        margin-left: -33px;
    }
}

/* Contenitore per le immagini */
.picture {
    position: relative;
    /* Rende il contenitore un contesto per il posizionamento assoluto */
    display: inline-block;
    width: 100%;
    /* Si assicura che le immagini si adattino correttamente */
    height: auto;
}

/* Immagine attuale (mostrata di default) */
.me-now-pic {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    transition: opacity 0.5s ease;
    /* Effetto smooth */
    z-index: 2;
    /* Porta questa immagine sopra */
    opacity: 1;
}

/* Immagine nascosta (mostrata all'hover) */
.me-old-pic {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    transition: opacity 0.5s ease;
    /* Effetto smooth */
    z-index: 1;
    /* Meno priorità rispetto alla prima immagine */
    opacity: 0;
    /* Nascosta di default */
}





/* Hover effect per rivelare la vecchia immagine */
.picture:hover .me-now-pic {
    opacity: 0;
    /* Nasconde l'immagine attuale */
}

.picture:hover .me-old-pic {
    opacity: 1;
    /* Mostra l'immagine nascosta */
}


/* button bottone */

.btn-new {
    padding: 12px 24px;
    /* Padding iniziale */
    display: inline-block;
    transition: padding 0.3s ease-in-out;
    box-sizing: border-box;
    color: #081013;
}

.btn-new:hover {
    padding: 12px 36px;
    /* Aumenta il padding laterale */
}



.icon-arrow-port {
    width: 25px;
    rotate: 0deg;
    margin-left: 40px;
}

.icon-arrow-footer {
    width: 11px;
    margin-left: 3px;
}

.icon-arrow-new {
    width: 20px;

    /* margin-left: 150px; */
}

@media only screen and (max-width: 768px) {
    .icon-arrow-new {
        width: 20px;
        rotate: 90deg;
        /* margin-left: 210px; */
    }
}


/* CASO STUDIO SINGOLO */

.icon-arrow-back {
    width: 16px;
    rotate: 225deg;
}

@media only screen and (min-width: 768px) {
    .div-sticky-lg {
        position: sticky;
        top: 0;
    }
}



.a-hover-contact {
    /* display: inline-block; */
    font-size: 35px;
}

.line2 {
    cursor: pointer;
    background-image: linear-gradient(to right, #4A6DF1 33%, #0000 33% 66%, #4A6DF1 66%);
    background-position: right bottom;
    background-size: 300% 3px;
    background-repeat: no-repeat;
    padding-bottom: 8px;
    color: #fff;
    display: inline-block;

}

.line1:hover,
.line2:hover {
    background-position: left bottom;
    transition: background-position 1s;
}

.bi-circle-fill {
    font-size: 9px;
    padding-bottom: 5px;
}


/* porfolio slider */



.horizontal {
    padding: 60px 20px 120px;
    box-sizing: border-box;

}

.horizontal__container {
    margin: 0 auto;
    width: 100%;
    position: relative;

}

.overflow-h {
    overflow-x: hidden;
}

.horizontal__list {
    display: flex;
    padding-left: calc(50vw - 600px / 2);

}

.horizontal__item {
    margin-left: 30px;
    box-sizing: border-box;



}

.horizontal__item:first-of-type {
    margin-left: 0;
}


.vertical {
    background: cyan;
}

footer {
    background: black;
}


.gif {
    max-width: 35px;
    height: 35px !important;
}


/* Quando si passa sopra l'elemento, il cursore si ingrandisce */



.img-portfolio {
    width: 500px;
}

/* Impostazioni per il contenitore dell'immagine */
.image-container {
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Impostazioni per l'immagine */
.img-portfolio {
    object-fit: cover;
    transition: transform 0.5s ease-in-out;
}

/* Effetto hover per l'immagine */
.image-container:hover .img-portfolio {
    transform: scale(1.04);
    border-radius: 45deg;
    /* Zoom dell'immagine */
}


.span-year {
    color: #818D9C;
    font-size: 17px;
}

.h3-portfolio {
    font-size: 18px;
    letter-spacing: -0.1px;
}


.p-portfolio-small {
    font-size: 14px;
}



/* 

#app {
    height: 100%;
    height: 100dvh;
    display: flex;
    box-sizing: border-box;
    flex-direction: column;
}

.demo-nav {
    height: 48px;
    background: #222;
    display: flex;
    justify-content: center;
    align-items: stretch;
    font-family: monospace;
    color: #fff;
    gap: 16px;
    box-sizing: border-box;
    padding: 6px 16px;
    z-index: 10;
}

.demo-nav {
    font-size: 12px;
}

.demo-nav label {
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 0px 8px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    position: relative;
    cursor: pointer;
}

.demo-nav label:hover {
    background: rgba(0, 0, 0, 0.1);
}

.demo-nav .dropdown {
    position: absolute;
    background: #111;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    right: 4px;
    top: 4px;
    width: 64px;
    overflow: hidden;
}

.demo-nav .dropdown:not(.visible) {
    display: none;
}

.demo-nav .dropdown span {
    display: block;
    cursor: pointer;
    text-align: right;
    padding: 4px 8px;
    cursor: pointer;
}

.demo-nav .dropdown span:hover {
    background: rgba(255, 255, 255, 0.05);
}

.demo-slider {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 10;
    min-height: 0;
}

.swiper-material {
    height: 600px;
    width: calc(100% - 32px);
    max-width: 100%;
}

@media only screen and (max-width: 768px) {
    .swiper-material {
        height: 450px;
        width: calc(100% - 32px);
        max-width: 100%;
    }
}

.demo-material-image {
    position: absolute;
    left: 0%;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: var(--swiper-material-slide-border-radius);
}

.demo-material-label {
    position: absolute;
    font-size: 24px;
    color: #fff;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 50%;
    box-sizing: border-box;
    padding: 24px;
    display: flex;
    flex-direction: column;
    font-weight: 500;
    justify-content: flex-end;
    align-items: center;
    white-space: nowrap;
    text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.25);
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2) 50%);
} */








footer {
    background-color: #081013;
}

a {
    text-decoration: none;
    cursor: pointer !important;
}


.fade-in {
    opacity: 0;
    animation: fadeIn 0.8s ease-in-out forwards;
}

/* Effetto fade-out quando si clicca su un link */
.fade-out {
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}

/* Animazione di fade-in */
@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

main {
    margin-top: 80px;
}




/* Contenitore dell'immagine */

.hover-image-container {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 700px;
    height: auto;
    display: none;
    z-index: -1 !important;
    pointer-events: none;
}



.mobile-img-caso-studio {
    width: 250px;

}



.p-big-text-portfolio {
    font-size: 40px;
    line-height: 35px;
    letter-spacing: -1px;
    -webkit-font-smoothing: antialiased;
    color: #fff;
    z-index: 999;
}

@media only screen and (max-width: 768px) {
    .p-big-text-portfolio {
        font-size: 32px;

        letter-spacing: -0.7px;
        -webkit-font-smoothing: antialiased;
    }
}


.hover-image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);

}

.clients-list ul {
    list-style: none;
    padding-left: 0px;
    /* margin: 100px 0 100px 0; */
}

.clients-list li {
    z-index: 999 !important;
    margin: 10px 0;
    cursor: pointer;
    transition: color 0.3s ease-in-out;
}

.clients-list li:hover {
    color: #4A6DF1;
}



/* ANIMAZIONE TITLE */

/* Blocca la sezione intro sopra tutto */

/* header.sticky-top {
    z-index:  1 !important;

} */

header.sticky-top {
    position: sticky;
    top: 0;
    z-index: 100;
    /* deve essere < 9999, ma > del resto */
}





.h-sect {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    height: 100vh;
    background: white;
    display: flex;
    align-items: center;
    justify-content: center;
}



/* Blocca lo scroll del body mentre l'intro è attiva */

body.no-scroll {
    overflow: hidden !important;
}

.col-caso-studio {
    margin-top: 150px !important;
}



/* PRELOADER */

.progress-bar-container {
    height: 3px;
    background-color: #eaeaea;
    width: 300px;
}

.progress-bar-fill {
    height: 100%;
    background-color: #4A6DF1;
    width: 0%;
    transition: width 0.2s ease;
}

#progress-percent {
    font-weight: 500;
}


.ul-mobile-portfolio a {
    color: #fff
}

.ul-mobile-portfolio a:hover {
    color: #4A6DF1
}