@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400..900;1,6..96,400..900&family=Bungee&family=Cookie&family=Gabarito:wght@400..900&family=Jersey+10&family=Meow+Script&family=Syne:wght@400..800&display=swap');

html,
body {
    position: relative;
    margin: 0;
    padding: 0;
    width: 100vw;
    min-height: 100vh;
    height: auto;
    /*overflow-x: hidden;*/
    font-family: 'Outfit', sans-serif;
    scroll-behavior: auto;
    user-select: none;
    background: #FFF;
    overflow-x: hidden;
    overflow-y: hidden;
}

html {
    font-size: 16px;
}

body {
    font-size: 1rem;
}

/* Reset general styles */
* {
    position: relative;
    float: left;
    margin: 0;
    padding: 0;
}

strong,
span,
em,
br,
a {
    position: unset;
    float: unset;
    margin: unset;
    padding: unset;
}

.header {
    width: 100vw;
    max-width: 100vw;
    height: 12vh;
    background: #000;
    border-bottom-left-radius: 120px;
    position: fixed;
    z-index: 999999999;
}

@keyframes headerHidden {
    from {
        transform: translateY(0);
        opacity: 1;
    }

    to {
        transform: translateY(-100%);
        opacity: 0;
    }
}

@keyframes headerShowed {
    from {
        transform: translateY(-100%);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.hidden-header {
    animation: headerHidden 0.2s forwards;
}

.showed-header {
    animation: headerShowed 0.2s forwards;
}
/*
.main-logo {
    position: absolute;
    width: 10vw;
    top: 1.5vw;
    left: 45vw;
    filter: invert(100%);
}
.menu-icon {
    position: absolute;
    top: 1.5vw;
    right: 2vw;
    cursor: pointer;
    color: #000;
    font-size: 1rem;
}
.menu-bar {
    width: 3rem;
    height: 3rem;
    fill: #FFF;
}
.back-icon {
    position: absolute;
    top: 1.5vw;
    right: calc(2vw + 2vw + 1rem);
    cursor: pointer;
    color: #000;
    font-size: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.back-bar {
    width: 2.5rem;
    height: 2.5rem;
    fill: #FFF;
}
*/
/*setting single talent*/
#single-face-data-container {
    width: 100vw;
    min-width: 100vw;
    height: auto;
    min-height: 88vh;
}

img.single-talent-entry-cover {
    width: 25vw;
    height: 25vw;
    border-radius: 250px;
    object-fit: cover;
    object-position: center;
    position: fixed;
    top: 20vh;
    left: 37.5vw;
    opacity: 1;
}

h1.single-talent-entry-name {
    position: fixed;
    bottom: 15vh;
    width: 25vw;
    left: 37.5vw;
    color: #000;
    font-size: 3rem;
    text-align: center;
    text-transform: uppercase;
    font-weight: 100;
    letter-spacing: 0.2rem;
}

img.single-talent-main-cover {
    width: 50vw;
    min-width: 50vw;
    max-width: 50vw;
    min-height: 100vh;
    height: 100vh;
    object-position: 5rem -10.93rem;
    object-fit: cover;
    bottom: 0vh;
    left: -6vw;
    z-index: 999999999;
}

.single-talent-compcard-button {
    background: #FFF;
    color: #000;
    font-family: 'Outfit', sans-serif;
    position: absolute;
    right: 57vw; /*left: 37vw;*/
    bottom: 1rem;
    text-transform: uppercase;
    border: none;
    border-radius: 5rem;
    font-weight: 700;
    z-index: 999999999;
    cursor: pointer;
    padding: 0.5rem;
    padding-right: 1rem;
    padding-left: 1rem;
}

.open-portfolio-button {
  background: #FFF;
  color: #000;
  z-index: 999999999;
  cursor: pointer;
  padding: 0.25rem;
  position: absolute;
  top: -9.9vh;
  left: -11.2vw;
  border: none;
  border-radius: 5rem;
}

.single-talent-compcard-button-desktop {
    display: block;
}

.single-talent-compcard-button-mobile {
    display: none;
}

/*setting datas face*/
.single-talent-datas-container {
    position: absolute;
    right: 2.5vw;
    top: 12vh;
    width: 45vw;
    min-height: 88vh;
}

.single-talent-datas-content {
    width: 45vw;
    position: absolute;
    top: 22rem;
    left: 0;
}

h1.single-talent-main-name {
    position: relative;
    margin-top: 10vh;
    width: 100%;
    text-align: left;
    font-size: 6.5rem;
    font-weight: 750;
    text-transform: uppercase;
    height: auto;
    color: #000;
    opacity: 1;
    letter-spacing: -0.3rem;
    line-height: 6.5rem;
    font-family: 'Outfit', sans-serif;
}

ul.single-talent-menu-container {
    width: 100%;
    margin-top: 1rem;
    margin-bottom: 3rem;
    color: #000;
    font-weight: 300;
    font-size: 1.2rem;
    letter-spacing: 0.2rem;
    list-style: none;
}

li.single-talent-menu-item {
    margin-right: 3rem;
    text-transform: uppercase;
    opacity: 1;
    cursor: pointer;
    max-width: calc(45vw / 5);
}

.single-talent-menu-item-desktop {
    display: block;
}

.single-talent-menu-item-mobile {
    display: none;
}

span.border-bottom-space-features,
span.border-bottom-space-images {
    width: 0%;
    position: absolute;
    bottom: -0.5rem;
    height: 1px;
    background: #9000FF;
    left: 0;
}

@keyframes border-width {
    from {
        width: 0%;
    }

    to {
        width: 100%;
    }
}

.single-talent-menu-item-feature:hover span.border-bottom-space-features,
.single-talent-menu-item-images:hover span.border-bottom-space-images {
    animation: border-width;
    animation-duration: 0.2s;
    animation-fill-mode: forwards;
}

.single-talent-menu-item-selected {
    animation: border-width;
    animation-duration: 0.2s;
    animation-fill-mode: forwards;
}

/*list book*/
.single-talent-book-list {
    width: 100%;
    height: auto;
    /*padding: 1rem;*/
    background: #ffffff80;
    border-radius: 0.5rem;
    backdrop-filter: blur(1rem);
    list-style: none;
    display: none;
}

.single-talent-book-name {
    float: left;
    clear: both;
    margin-bottom: 0.2rem;
    list-style: none;
    transition: 0.2s;
    padding-top: 1rem;
    padding-bottom: 0.5rem;
}

.single-talent-book-name:hover {
    transition: 0.2s;
    transform: translateX(1rem)
}

ul.single-talent-features-list {
    width: 100%;
    margin-top: 2rem;
    height: auto;
    list-style: none;
}

li.single-talent-feature {
    width: 100%;
    color: #000;
    margin-bottom: 1rem;
    font-size: 1rem;
    letter-spacing: 0.2rem;
    font-weight: 100;
}

p.single-talent-nw-feature-name {
    width: 30%;
    font-size: 1.5rem;
    border-bottom: 0.5px solid #000;
    letter-spacing: 0.2rem;
    padding-bottom: 0.3rem;
    text-align: left;
    margin-right: 2%;
    opacity: 1;
    text-transform: uppercase;
    font-weight: 750;
}

p.single-talent-nw-feature-value {
    letter-spacing: 0;
    text-transform: uppercase;
    opacity: 1;
    font-weight: 3000;
    font-family: 'Outfit', sans-serif;
    font-size: 1.2rem;
}

/*setting container img*/
.single-talent-images-container,
.single-talent-certificate-container {
    width: 45vw;
    min-width: 45vw;
    max-width: 45vw;
    height: 45vh;
    min-height: 45vh;
    max-height: 45vh;
    overflow-y: scroll;
    column-count: auto;
    column-gap: 0.2rem;
    row-gap: 0.2rem;
    position: absolute;
    top: 0;
    display: none;
}

.single-talents-book-container,
.single-talent-certificate-container, .single-talent-bio-container {
    width: 45vw;
    min-width: 45vw;
    max-width: 45vw;
    height: 45vh;
    min-height: 45vh;
    max-height: 45vh;
    overflow-y: scroll;
    column-count: auto;
    column-gap: 0.2rem;
    row-gap: 0.2rem;
    position: absolute;
    padding-top: 7vh;
    top: 0;
    display: none;
}
.single-talents-book-certificate-container, .single-talents-certificate-content {
    display: block;
}
.single-talents-book-print-icon-container,
.single-talents-book-download-icon-container {
    position: absolute;
    top: 0;
    right: 2rem;
    width: 2vw;
    height: 2vw;
    padding: 1rem;
    cursor: pointer;
}

.single-talents-book-download-icon-container {
    right: calc(2rem + 2vw + 1rem);
}

img.single-talent-book-single-img {
    width: calc((45vw / 5) - 0.4rem);
    height: calc((45vw / 5) - 0.4rem);
    object-fit: cover;
    object-position: center;
    margin: 0.2rem;
    opacity: 1;
    cursor: pointer;
}

img.single-img-certificate{
    height: calc((45vw / 5) - 1rem);
    width: auto;
    object-fit: contain;
    object-position: center;
    margin: 0.5rem;
    opacity: 1;
    cursor: pointer;
    border: 0.5px solid #afafaf;
}
@keyframes hulk-image {
    from {
        z-index: 1;
        transform: scale(1);
        box-shadow: 0 0 0px rgba(0, 0, 0, 0);
    }

    to {
        z-index: 999;
        transform: scale(1.1);
        box-shadow: 0 0 25px rgba(0, 0, 0, 0.8);
    }
}

@keyframes bruce-banner-image {
    from {
        z-index: 999;
        transform: scale(1.1);
        box-shadow: 0 0 25px rgba(0, 0, 0, 0.8);
    }

    to {
        z-index: 1;
        transform: scale(1);
        box-shadow: 0 0 0px rgba(0, 0, 0, 0);
    }
}

img.single-talent-book-single-img:hover {
    animation: hulk-image;
    animation-duration: 0.2s;
    animation-fill-mode: forwards;
}

/*GESTIONE BIG GALLERY*/
#main-img-zoomed-container {
    background: rgba(255,255,255, 0.8);
    width: 100vw;
    min-width: 100vw;
    max-width: 100vw;
    height: 100vh;
    min-height: 100vh;
    max-height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99999999999999;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(10px);
    display: none;
}

#certificate-link-button{
    position: absolute;
    bottom: 10vh;
    right: 46vw;
    background: #FFF;
    color: #000;
    border-radius: 1.6rem;
    border: none;
    padding: 0.5rem;
    text-transform: uppercase;
    display: none;
    padding-right: 1rem;
    padding-left: 1rem;
    font-size: 1rem;
    letter-spacing: 0.1rem;
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    border: 0.1px solid #000;
    cursor: pointer;
}

.comeBack-button-container-transparent {
    position: absolute;
    top: 25px;
    right: 25px;
    width: 5vw;
    height: 5vw;
    border: 0.5px solid #000;
    background: rgb(0, 0, 0);
    display: flex;
    align-content: center;
    justify-content: center;
    border-radius: 250px;
    z-index: 99999999;
    font-weight: 100;
}

span.close-explosion-gallery {
    font-size: 6em;
    font-weight: 500;
    color: #000;
    transition: 0.2s;
    cursor: pointer;
}
svg.close-explosion-gallery-icon{
    width: 6rem;
    height: 6rem;
}

span.close-explosion-gallery:hover {
    transition: 0.2s;
    transform: rotate(-90deg);
}

/*GESTIONE TITOLO DEL BOOK APERTO*/
h1#main-book-title {
    display: none !important;
}

@keyframes animated-main-title {
    from {
        opacity: 0;
        transform: translateX(-20vw);
    }

    to {
        opacity: 1;
        transform: translateX(0vw);
    }
}

h1.animated-main-book-title {
    animation: animated-main-title;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(0.68, -0.85, 0.265, 1.55);
}

#main-book-img-container {
    height: 100vh;
    min-height: 100vh;
    max-height: 100vh;
    width: auto;
    object-fit: contain;
}

.prev-arrow-container,
.next-arrow-container {
    height: 100vh;
    width: 5vw;
    position: absolute;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.prev-arrow-container {
    left: 0;
}

.next-arrow-container {
    right: 0;
}

.prevImg-button,
.nextImg-button {
    font-weight: 500;
    color: #9000FF;
    transition: 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    font-size: 5em;
    cursor: pointer;
}

.prev-arrow-container:hover {
    transform: translateX(-0.5vw);
    transition: 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.next-arrow-container:hover {
    transform: translateX(0.5vw);
    transition: 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

/*gestione riquadro descrizioni*/
#description-container {
    position: absolute;
    bottom: 50px;
    right: 150px;
    color: #000;
    text-align: right;
    font-style: italic;
    font-weight: 100;
    font-size: 1.2;
    width: 12vw;
    height: auto;
    max-height: 50vh;
    padding: 10px;
    display: none;
}

/*SHARE CONTAINER SETTING*/
#share-container {
    width: 100vw;
    min-width: 100vw;
    max-width: 100vw;
    height: 100vh;
    min-height: 100vh;
    max-height: 100vh;
    position: fixed;
    background: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(15px);
    z-index: 999999999;
    top: 0;
    left: 0;
    display: none;
}

.sharing-container {
    width: 35vw;
    height: 30vh;
    border-radius: 25px;
    box-sizing: border-box;
    position: absolute;
    left: calc((100vw - 35vw) / 2);
    top: 35vh;
}

.closing-sharing-button {
    position: absolute;
    top: -2.5vh;
    right: -2.5vh;
    border-radius: 50px;
    color: #000;
    background: rgba(255, 255, 255, 0.1);
    cursor: pointer;
    transition: 0.2s;
    font-size: 2em;
    padding: 10px;
    border: 0.5px solid #000;
}

.closing-sharing-button:hover {
    transition: 0.2s;
    transform: scale(1.1);
}

#hidden-id-to-share {
    display: none;
}

@keyframes sharing-title-move {
    from {
        opacity: 0;
        transform: translateY(-5vh);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.sharing-title-animation {
    animation: sharing-title-move;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

h1.sharing-title {
    width: 100%;
    font-size: 3em;
    letter-spacing: 3px;
    font-weight: 900;
    color: #000;
    text-align: center;
    opacity: 0;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

p.icon-title {
    width: calc(45vw - 20vw);
    position: relative;
    top: 0;
    left: 0;
    font-weight: 100;
    font-size: 1.5rem;
    letter-spacing: 0.3rem;
    color: #000;
    text-transform: uppercase;
    text-align: center;
    clear: both;
    margin-bottom: 1.5rem;
}

.sharing-text {
    width: 50%;
    margin-left: 25%;
    margin-right: 25%;
    font-size: 0.9em;
    color: #000;
    margin-top: 25px;
    font-weight: 100;
    letter-spacing: 2px;
    text-align: center;
    opacity: 0;
}

.icons-container {
    width: calc(45vw - 20vw);
    margin: 0.5vw;
    margin-right: 12.5vw;
    margin-left: 7.5vw;
    height: auto;
    position: absolute;
    top: 0vh;
    left: 0;
    display: block; /*flex con align-items: center;*/
    clear: both;
}

.sharing-platform-icon {
    font-size: 1.9rem;
    padding: 0.3rem;
    box-sizing: border-box;
    color: #FFF;
    background: #000;
    width: calc((25vw / 5) - 2rem);
    height: calc((25vw / 5) - 2rem);
    margin: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50px;
    cursor: pointer;
    opacity: 1;
}

/*gestione messaggio di conferma copia link*/
#status {    
    font-size: 0.7rem;
    color: #000;
    background: #FFF;
    border-radius: 0.2rem;
    position: absolute;
    bottom: -7.125em;
    padding: 0.312rem;
    padding-left: 1rem;
    padding-right: 1rem;
    letter-spacing: 0.0625rem;
    font-family: 'Poppins', sans-serif;
    right: 0;
    display: none;
    opacity: 0;
    border: 0.5px solid #000;
}

@keyframes move-and-appear {
    0% {
        opacity: 0;
        transform: translateY(0px);
    }

    30% {
        opacity: 1;
        transform: translateY(-30px);
    }

    60% {
        opacity: 1;
        transform: translateY(-30px);
    }

    100% {
        opacity: 0;
        transform: translateY(-30px);
    }
}

.status-animation {
    animation: move-and-appear;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
}

/*gestione shring by mail*/
#mail-sharing-container {
    position: absolute;
    bottom: 0;
    right: 2.5vw;
    width: 45vw;
    height: 60vh;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(5px);
}

.mail-sharing-title {
    width: 40vw;
    height: auto;
    color: #FFF;
    text-transform: uppercase;
    font-weight: 100;
    margin-top: 5vh;
    border-bottom: 0.5px solid #9000FF;
    font-family: 'Outfit', sans-serif;
    font-weight: 750;
    padding-left: 4vw;
    padding-bottom: 0.5rem;
}

.mail-sharing-text {
    color: #FFF;
    width: 100%;
    margin-top: 5vh;
    margin-bottom: 2vh;
    letter-spacing: 0.1rem;
    font-weight: 300;
    font-size: 1.2rem;
    margin-left: 2vw;
}

input.emailInputClass {
    padding: 1rem;
    border-radius: 250px;
    border: none;
    width: 20vw;
    font-size: 1rem;
    margin-left: 2vw;
}

.shareMailButton {
    color: #FFF;
    letter-spacing: 0.3rem;
    border-radius: 5px;
    background: #202020;
    padding: 1.5rem;
    font-weight: 500;
    clear: both;
    margin-top: 1.5rem;
    padding-top: 0.7rem;
    padding-bottom: 0.7rem;
    font-size: 1.1rem;
    cursor: pointer;
    transition: 0.2s;
    margin-left: 2vw;
    font-size: 1.2rem;
}

.shareMailButton:hover {
    background: #101010;
    transition: 0.2s;
}

.validationMessage {
    color: #000;
    width: 50%;
    margin-left: 1.5rem;
    letter-spacing: 0.2rem;
    margin-top: 2.2rem;
    font-weight: 100;
    font-size: 1rem;
    display: none;
}

.validationNegativeMessage {
    color: red;
}

.validationPositiveMessage {
    color: green;
}

.close-email-panel-button {
    color: #000;
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    transform: rotate(90deg);
    left: 1rem;
    top: 1.5rem;
    cursor: pointer;
}

/********************/
/********************/
/*                  */
/* SETTING COMPOSIT */
/*                  */
/********************/
/********************/

/*popup esportazione composit pdf*/
.compositGenerationPopUp {
    position: fixed;
    box-sizing: border-box;
    padding: 20px;
    border-radius: 5px;
    background-color: rgba(255, 255, 255, 0.95);
    box-shadow: 0 0 15px rgb(90, 90, 90);
    backdrop-filter: blur(5px);
    width: 20vw;
    height: 10vh;
    left: 40vw;
    top: 45vh;
    z-index: 9999999999;
    /*99999*/
    align-items: center;
    justify-content: center;
    display: none;
    width: 100vw;
    height: 100vh;
    min-width: 100vw !important;
    min-height: 100vh !important;
    left: 0;
    top: 0;
}

.compositGenerationTxt {
    font-size: 0.9em;
    letter-spacing: 2px;
    width: 100%;
    text-align: center;
    text-transform: uppercase;
    color: rgb(30, 30, 30);
    font-weight: 200;
    width: 40vw;
    height: 20vh;
    position: absolute;
    top: 40vh;
    left: 30vw;
}

/*gestione layout Composit*/
#composit {
    z-index: 0;
    display: none;
    font-family: 'Outfit', sans-serif;
}

.page {
    width: 148mm;
    /* Larghezza A5 */
    height: 210mm;
    /* Altezza A5 */
    /*margin: 20px; /* Margini esterni */
    padding: 10px;
    /* Spaziatura interna */
    box-sizing: border-box;
    page-break-before: always;
    /* Inizia una nuova pagina per ogni blocco con classe 'page' */
    margin-bottom: 0px;
    /* Margine inferiore tra le pagine */
    background-color: white;
}

.compositFront,
.compositBack {
    width: 100%;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    max-width: 100%;
    max-height: 100%;
}

h1.compositName {
    width: 100% !important;
    max-height: 10mm !important;
    font-size: 7mm !important;
    line-height: 8mm !important;
    letter-spacing: 0.5mm !important;
    text-align: center !important;
    margin-top: 5mm !important;
    font-weight: 750;
}

.compositCover {
    width: 125mm !important;
    height: 170mm !important;
    min-width: 125mm !important;
    min-height: 170mm !important;
    max-width: 125mm !important;
    max-height: 170mm !important;
    margin-left: calc(11.5mm - 10px) !important;
    margin-right: calc(11.5mm - 10px) !important;
    margin-top: 5mm !important;
    margin-bottom: 5mm !important;
    background-color: grey;
    display: flex;
    overflow: hidden;
    align-items: center;
    justify-content: center;
    /*
    background-size: cover !important;
    background-repeat: no-repeat;
    background-position: center top !important;
    */
}
/*gestione dell'immagine interna al contenitore della cover*/
img.composit-cover-img{
    min-height: 170mm;
    max-height: 170mm;
    width: auto;
}

.compositFrontLogo {
    width: 30mm;
    min-width: 30mm;
    max-width: 30mm;
    height: auto;
    margin-top: 2.5mm;
    margin-bottom: 2.5mm;
    margin-right: calc((140mm - 30mm) / 2);
    margin-left: calc((140mm - 30mm) / 2);
}

ul.compositFeatureList {
    width: 130mm !important;
    height: 7mm !important;
    min-width: 130mm !important;
    min-height: 7mm !important;
    max-width: 130mm !important;
    max-height: 7mm !important;
    list-style: none !important;
    margin-left: calc(9mm - 10px);
    margin-right: calc(9mm - 10px);
}

li.compositSingleFeature {
    width: calc((130mm / 7) - 3mm);
    height: 7mm !important;
    min-width: calc((130mm / 7) - 3mm);
    min-height: 7mm !important;
    max-width: calc((130mm / 7) - 3mm);
    max-height: 7mm !important;
    margin-left: 1.5mm;
    margin-right: 1.5mm;
    font-size: 0.6em;
    text-align: center;
}

span.compositFeatureName {
    font-weight: 600;
}

.singleCompositImgContainer {
    width: 140mm !important;
    height: 160mm !important;
    min-width: 140mm !important;
    min-height: 160mm !important;
    max-width: 140mm !important;
    max-height: 160mm !important;
    margin-left: calc(4mm - 10px);
    margin-right: calc(4mm - 10px);
    margin-top: 5mm;
}

/*sistema per aumentare qualità img composit, utilizzare l'immagine all'interno di un contenitore come se fosse un backgounrd ma mantenendo la qualità del png*/
.singleCompositImg {
    /*
    width: calc((140mm / 2) - 7mm);
    height: calc((160mm / 2) - 7mm);
    margin: 3.5mm !important;
    position: absolute;
    background-size: contain !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    */
    position: absolute;
    width: 63mm;
    height: 73mm;
    margin: 3.5mm !important;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.singleImgContainer {
    /*
    width: calc((140mm / 2) - 7mm);
    height: calc((160mm / 2) - 7mm);
    */
    width: 63mm;
    height: 73mm;
    margin: 3.5mm !important;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

img.singleCompositImg {
    height: 100%
}

img.single-composit-img {
    min-height: 73mm;
    max-height: 73mm;
    width: auto;
}

.firstCompositImg {
    top: 0;
    left: 0;
}

.secondCompositImg {
    top: 0;
    right: 0;
}

.thirdCompositImg {
    bottom: 0;
    left: 0;
}

.fourthCompositImg {
    bottom: 0;
    right: 0;
}

.compositRearlogo {
    width: 30mm;
    min-width: 30mm;
    max-width: 30mm;
    height: auto;
    margin-top: 5mm;
    margin-bottom: 1.5mm;
    margin-right: calc((140mm - 30mm) / 2);
    margin-left: calc((140mm - 30mm) / 2);
}

p.compositLastInfo {
    /* OLD SETTING 
    width: 90mm;
    height:10mm;
    font-size: 3mm;
    color: rgb(30,30,30);
    text-align: center;
    line-height: 1.1em;
    margin-left: calc((140mm - 90mm) / 2);
    margin-right: calc((140mm - 90mm) / 2);
    margin-top: 1mm;
    margin-bottom: 0mm;
    */
    width: 50mm;
    height: 10mm;
    font-size: 2mm;
    color: rgb(30, 30, 30);
    text-align: center;
    line-height: 1.1em;
    margin-left: 10mm;
    margin-right: 10mm;
    margin-top: 1mm;
    margin-bottom: 0mm;
}

.align-left {
    text-align: left;
}

.align-right {
    text-align: right;
}

.svg-icon-arrow-preimg{
    transform: rotate(180deg);
}


/******************************************/
/******************************************/
/*                                        */
/*   SETTING IMPOSTAZIONE BOOK DOWNLOAD   */
/*                                        */
/******************************************/
/******************************************/

/*layout book*/
.downloadedBook {
    z-index: 0;
    position: fixed;
    left: -100000000000vw;
}

.pageA4 {
    width: calc(210mm - 20px);
    /* Larghezza A4 */
    height: calc(297mm - 20px);
    /* Altezza A4 */
    /*margin: 20px; /* Margini esterni */
    padding: 10px;
    /* Spaziatura interna */
    box-sizing: border-box;
    page-break-before: always;
    /* Inizia una nuova pagina per ogni blocco con classe 'page' */
    margin-bottom: 20px;
    /* Margine inferiore tra le pagine */
    background-color: white;
}

.singleImgBook {
    width: calc(210mm - 7mm) !important;
    height: calc(297mm - 7mm) !important;
    margin: 3.5mm !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    background-size: contain !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
}


/*formati desktop*/
@media (min-width: 1024px) and (max-width: 1279px) {
    html {
        font-size: 10px;
    }
}

@media (min-width: 1280px) and (max-width: 1365px) {
    html {
        font-size: 11px;
    }
}

@media (min-width: 1366px) and (max-width: 1439px) {
    html {
        font-size: 12px;
    }
}

@media (min-width: 1440px) and (max-width: 1679px) {
    html {
        font-size: 14px;
    }
}

@media (min-width: 1680px) and (max-width: 1919px) {
    html {
        font-size: 14px;
    }
}


/*mobile*/

/*GESTIONE CARATTERI MOBILE*/
@media (min-width: 279px) and (max-width: 319px) {
    html {
        font-size: 10px;
    }
}
@media (min-width: 320px) and (max-width: 359px) {
    html {
        font-size: 10.5px;
    }
}
@media (min-width: 360px) and (max-width: 389px) {
    html {
        font-size: 11px;
    }
}
@media (min-width: 390px) and (max-width: 413px) {
    html {
        font-size: 12.75px;
    }
}
@media (min-width: 414px) and (max-width: 429px) {
    html {
        font-size: 13px;
    }
}
@media (min-width: 430px) and (max-width: 479px) {
    html {
        font-size: 13.25px;
    }
}
@media (min-width: 480px) and (max-width: 539px) {
    html {
        font-size: 13.5px;
    }
}
@media (min-width: 540px) and (max-width: 599px) {
    html {
        font-size: 13.75px;
    }
}
@media (min-width: 600px) and (max-width: 679px) {
    html {
        font-size: 13.875px;
    }
}
@media (min-width: 680px) and (max-width: 767px) {
    html {
        font-size: 13.95px;
    }
}
@media (min-width: 768px) and (max-width: 823px) {
    html {
        font-size: 14px;
    }
}

@media (min-width: 279px) and (max-width: 823px) {

    /*setting principale*/
    html,
    body {
        position: relative;
        margin: 0;
        padding: 0;
        width: 100vw;
        min-height: 100vh;
        height: auto;
        /*overflow-x: hidden;*/
        font-family: 'Outfit', sans-serif;
        scroll-behavior: auto;
        user-select: none;
        background: #FFF;
        overflow-x: hidden;
        overflow-y: scroll;
    }

    /*gestione dimensioni banner logo testa*/
    .header {
        height: 6vh;
        background: transparent;
    }

    /*gestione logo e icone navigazione*/
    /*
    .main-logo {
        position: absolute;
        width: 35vw;
        top: 2vw;
        left: 1rem;
        filter: invert(100%);
    }
    .menu-icon {
        position: absolute;
        top: 1.5vw;
        right: 2vw;
        cursor: pointer;
        color: #000;
        font-size: 1rem;
    }
    .menu-bar {
        width: 3rem;
        height: 3rem;
        fill: #FFF;
    }
    .back-icon {
        position: absolute;
        top: 1.5vw;
        right: calc(2vw + 6vw + 1rem);
        cursor: pointer;
        color: #000;
        font-size: 3rem;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .back-icon-container {
        position: absolute;
        top: 0.5rem;
        right: 0.5rem;
        fill: #FFF;
        width: 2rem;
        height: 2rem;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        z-index: 99999999999;
        background: #0000002c;
        border-radius: 5rem;
        padding: 1rem;
    }
    .back-icon-container svg {
        fill: #FFF;
        left: 0.4rem;
    }
    */
    /*gesitone data container*/
    #single-face-data-container {
        min-height: 100vh;
    }

    /*gestione elementi apertura pagina*/
    img.single-talent-entry-cover {
        width: 80vw;
        height: 80vw;
        left: 10vw;
    }

    h1.single-talent-entry-name {
        bottom: 28vh;
        width: 100%;
        left: 0;
        font-size: 2rem;
        opacity: 1;
        z-index: 99;
    }

    

    /*gestione elementi pagina*/
    img.single-talent-main-cover {
        width: 105vw;
        min-width: 105vw;
        max-width: 105vw;
        min-height: auto;
        height: auto;
        object-position: center;
        object-fit: contain;
        top: 0vh;
        left: -2.5vw;
        z-index: 9;
    }

    .single-talent-datas-container {
        position: absolute;
        right: 0;
        bottom: unset;
        top: 45vh;
        width: 100vw;
        min-height: 80vh;
        height: auto;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255, 1) 30%);
        z-index: 15;
        padding-top: 5vh;
    }

    h1.single-talent-main-name {
        position: relative;
        margin-top: 0vh;
        text-align: center;
        font-size: 3.5rem; /*font-size: 2.5rem;*/
        letter-spacing: 0rem;
        line-height: 3.2rem; /*line-height: 2.1rem;*/
        margin-bottom: 2vh;
    }

    .single-talent-compcard-button-desktop {
        display: none;
    }

    .single-talent-compcard-button-mobile {
        display: block;
    }

    .single-talent-compcard-button-mobile {
        padding: 0.5rem;
        background: #FFF;
        color: #000;
        font-family: 'Outfit', sans-serif;
        position: relative;
        left: unset;
        right: unset;
        bottom: unset;
        text-transform: uppercase;
        border: none;
        border-radius: 5rem;
        font-weight: 700;
        z-index: 99999999999;
        cursor: pointer;
        width: auto;
        min-width: 35vw;
        margin-left: 32.5vw;
        margin-bottom: 2vh;
        border: 0.5px solid #000;
        font-size: 1.5rem;
    }

    .open-portfolio-button{
        position: relative;
        top: unset;
        right: unset;
        left: unset;
        top: unset;
        margin: unset;
        float: left;
        margin-top: calc(-2.5rem - 2vh);
        margin-right: unset;
        padding: 0.5rem;
        border: 0.5px solid #000;
        margin-left: calc(50vw - 1.25rem);
    }

    ul.single-talent-menu-container {
        width: 100vw;
        margin-top: 1rem;
        margin-bottom: 1rem;
    }
    li.single-talent-menu-item {
        margin-right: 0.5rem;
        margin-left: 0.5rem;
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: calc((100vw / 3) - 1rem); /*calc((100vw / 5) - 1rem)*/
    }
    
    .single-talent-menu-item-desktop {
        display: none !important;
    }
    
    .single-talent-menu-item-mobile {
        display: block;
        width: calc((100vw / 3) - 1rem); /*calc((100vw / 5) - 1rem)*/
    }

    .single-talent-menu-item-mobile-x4{
        width: calc((100vw / 4) - 1rem); /*calc((100vw / 5) - 1rem)*/
    }

    .single-talent-menu-icon-container {
        width: 100%;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .single-talent-menu-icon-container svg{
        width: 2.5rem;
        height: 2.5rem;
    }

    /*GESTIONE DIFFERENTE SOTTOMENU BOOK*/
    .single-talent-book-list {
        /*different layout*/
        width: 100vw;
        height: 100vh;
        position: fixed;
        top: 1.5rem;
        left: calc(((100vw / 3) + 0.5rem) * -1);
        padding: 1rem;
        box-sizing: border-box;
        background: #ffffff80;
        border-radius: 0rem;
        backdrop-filter: blur(1rem);
        font-size: 1.5rem;
    }

    .single-talent-datas-content {
        width: 90vw;
        position: relative; /*absolute*/
        top: 0; /*35vh*//*25vh*/
        left: 5vw;
        right: 5vw;
    }

    .single-talent-share-container {
        margin-top: 7vh;
    }

    ul.single-talent-features-list {
        margin-top: 0;
        padding-top: 7vh;
    }

    p.single-talent-nw-feature-name {
        width: 40%;
        font-family: 'Outfit', sans-serif;
        font-weight: 750;
        font-size: 1.5rem; /*font-size: 1rem;*/
    }

    p.single-talent-nw-feature-value {
        letter-spacing: 0;
        text-transform: uppercase;
        opacity: 1;
        font-weight: 200;
        font-family: 'Outfit', sans-serif;
        font-size: 1.6rem; /*font-size: 1.2rem;*/
    }

    .single-talent-images-container {
        width: 90vw;
        min-width: 90vw;
        max-width: 90vw;
        height: auto;
        min-height: 30vh;
        max-height: unset;
        overflow-y: visible;
        top: 0;
        left: 0;
        right: 0;
        display: none;
    }

    .single-talents-book-container,
    .single-talent-certificate-container, .single-talent-bio-container {
        width: 90vw;
        min-width: 90vw;
        max-width: 90vw;
        height: auto;
        min-height: 45vh;
        max-height: unset;
        overflow-y: scroll;
        column-count: auto;
        column-gap: 0.2rem;
        row-gap: 0.2rem;
        position: absolute;
        padding-top: 5vh; /*7vh -> aumentato a 11 per lasciare spazio ad icone - 2025/06 -> rese icone fixed in basso a dx*/
        top: 0;
        display: none;
        padding-bottom: 10vh;
    }

    .single-talents-book-print-icon-container,
    .single-talents-book-download-icon-container {
        position: fixed; /* absolute*/
        top: unset; /*0*/
        bottom: 3rem; /*prima impostazione assente*/
        z-index: 9999; /*prima impostazione assente*/
        right: 1rem;
        width: 4vh;
        height: 4vh;
        padding: 0.5rem;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 0.5px solid #000;
        border-radius: 5rem;
        background: #FFF;
        backdrop-filter: blur(1rem);
    }

    .single-talents-book-download-icon-container {
        /*right: calc(0rem + 4vh + 1rem);*/
        right: calc(0rem + 4vh + 2.5rem);
        background: #FFF;
        border: 0.5px solid #000;
        border-radius: 5rem;
        display: flex;
        align-items: center;
        padding: 0.5rem;
    }

    img.single-talent-book-single-img {
        width: calc((90vw / 3) - 0.2rem);
        height: calc((90vw / 3) - 0.2rem);
        margin: 0.1rem;
    }

    .icons-container {
        width: calc(90vw - 10vw);
        margin-right: 5vw;
        margin-left: 5vw;
        left: 0;
        display: flex;
    }

    .single-talent-icon{
        fill: #000;
    }

    .sharing-platform-icon {
        font-size: 3rem; /*font-size: 2rem;*/
        width: calc((90vw / 5) - 1rem);
        height: calc((90vw / 5) - 1rem);
        margin: 0.5rem;
        margin-bottom: 0.5rem;
        margin-bottom: -17vh; /*-25vh*/
        background: transparent;
        color: #000;
        margin-top: 2rem;
    }

    #status {
        font-size: 1.2rem;
        bottom: -12rem;
    }

    li.single-talent-menu-item-images {
        display: block;
        align-items: unset;
        justify-content: unset;
    }

    /*gestione della galleria*/
    #main-book-img-container {
        height: 90vh;
        min-height: 90vh;
        max-height: 90vh;
        width: 100vw;
    }

    /*pulsante chiusura della gallery*/
    svg.close-explosion-gallery-icon {
        width: 3rem;
        height: 3rem;
    }

    .comeBack-button-container-transparent {
        top: 1.5rem;
        right: 1.5rem;
        width: calc(15vh - 4.5rem); /*width: 23vw;*/
        height: calc(15vh - 4.5rem); /*height: 23vw;*/
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .prev-arrow-container,
    .next-arrow-container {
        height: 100vh;
        width: 20vw;
        position: absolute;
        top: 0;
        display: flex;
        align-items: end;
        justify-content: center;
        z-index: 1;
        margin-bottom: 5rem;
    }

    .prevImg-button,
    .nextImg-button {
        font-weight: 500;
        color: #9000FF;
        font-size: 5em;
        cursor: pointer;
        margin-bottom: 7rem;
        background: #00000050;
        border-radius: 50rem;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .svg-icon-arrow{
        width: 2.5rem;
        height: 2.5rem;
        padding: 0.7rem;
        fill: #FFF;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    /*sharing panel*/
    p.icon-title {
        width: 100%;
        position: absolute;
        top: 0;
        left: 0;
        font-weight: 100;
        font-size: 2rem; /*font-size: 1.5rem;*/
        letter-spacing: 0.3rem;
        color: #000;
        text-transform: uppercase;
        text-align: center;
        font-family: 'Outfit', sans-serif;
        line-height: 1.2rem;
    }
        
    #mail-sharing-container {
        z-index: 99999;
        position: absolute;
        bottom: 0;
        right: 0vw;
        width: 100vw;
        height: 60vh;
        background: rgba(0, 0, 0, 0.8);
        backdrop-filter: blur(5px);
        padding: 2rem;
        box-sizing: border-box;
    }

    .mail-sharing-title {
        width: 80vw;
        margin-top: 5vh;
        border-bottom: 0.5px solid #9000FF;
        font-size: 2.5rem;
    }
    .mail-sharing-text {
        font-size: 2rem;
        line-height: 1.9rem;
    }
    input.emailInputClass {
        padding: 1rem;
        border-radius: 250px;
        border: none;
        width: 75vw;
        font-size: 1.5rem; /*font-size: 1rem;*/
    }
    .shareMailButton {
        font-size: 2rem;
    }
    .validationMessage {
        font-weight: 200;
        font-size: 1.8rem;
        line-height: 1.8rem;
    }
    .close-email-panel-button {
        color: #000;
        position: absolute;
        display: flex;
        justify-content: center;
        align-items: center;
        left: 9vw;
        top: 1.5rem;
    }
    #certificate-link-button {
        bottom: 8vh;
        right: 30vw;
    }
    .single-talen-talb-claim {
        position: fixed;
        color: #000;
        text-transform: uppercase;
        font-size: 0.8rem;
        line-height: 1rem;
        text-align: right;
        bottom: calc(1rem + 3vh + 0.4rem);
        right: 1rem;
        font-family: 'Outfit', sans-serif;
        letter-spacing: 0.1rem;
        font-weight: 200;
        cursor: pointer;
        z-index: 99999999;
    }
    .single-talent-tlab-claim-logo {
        position: fixed;
        bottom: 1rem;
        right: 1rem;
        height: 4vh;
        z-index: 999;
    }
}