/*importazione font google*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400..900;1,6..96,400..900&display=swap');
/*animation keyframes*/
@keyframes letMeAppear{
    from{
        opacity: 0;
        bottom: calc(0);
    }
    to{
        opacity: 1;
        bottom: calc(60px + 25px + 10px); 
    }
}
@keyframes slideMeFromLeft{
    from{
        opacity: 0;
        left: -10%;
    }
    to{
        opacity: 1;
        left: 75%;
    }
}
@keyframes slideBoxOut {
    from{
    }
    to{
    }
}
@keyframes increaseOpacity {
    from{
        opacity: 0;
    }
    to{
        opacity: 1;
    }
}
@keyframes speedScrollRight{
    from{
        transform: translate3d(calc(-100vw * 4), 0px, 0px);
    }
    to{
        transform: translate3d(0px, 0px, 0px);
    }
}
@keyframes pulseIcon{
    from{
        transform: scale(1);
    }
    to{
        transform: scale(1.2);
    }
}
html, body{
    font-family: Arial, Helvetica, sans-serif;
    color: rgb(0,0,0);
    width: 100vw;
    max-width: 100vw;
    min-width: 100vw;
    height: auto;
    min-height: 100vh;
    /*overflow: hidden;*/
    padding: 0;
    margin: 0;
    font-family: 'Poppins', sans-serif;
    overflow: hidden;
    user-select: none;
}
*{
    margin: 0;
    padding: 0;
    position: relative;
    float: left;
}
span, br, strong, em, a{
    margin: unset;
    padding: unset;
    position: unset;
    float: unset;
}
.show{
    display: block !important;
}
.hideMe{
    display: none !important;
}
.strong{
    font-weight: bold !important;
}
.forbitten{
    color: rgb(180,180,180) !important;
    cursor: not-allowed !important;
}
.fontWeightClass{
    font-weight: 400 !important;
}
#contentItem{
    width: 100vw;
    height: 100vh;
    min-width: 100vw;
    min-height: 100vh;
    max-width: 100vw;
    max-height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
}
/*gestione animazione logo apertura*/
@keyframes letMeGrowUp{
    from{
        transform: scale(1);
    }
    to{
        transform: scale(10);
    }
}
@keyframes letMeBlur{
    from{
        filter: blur(0px);
        opacity: 1;
    }
    to{
        filter: blur( 25px);
        opacity: 0;
    }
}
.loading{
    width: 100vw;
    height: 100vh;
    min-width: 100vw;
    max-width: 100vw;
    min-height: 100vh;
    max-height: 100vh;
    background: rgb(255,255,255);
    z-index: 999999999;
    position: absolute;
    top: 0;
    left: 0;
}
.animatedLogo{
    width: 10vw;
    position: absolute;
    left: 45vw;
    right: 45vw;
    top: 45vh;
    animation: letMeGrowUp;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}
.blurredClass{
    animation: letMeBlur;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
}
/*gestione pulsanti di configurazione view*/
ul.settingPanel{
    padding: 15px;
    padding-top: 5px;
    padding-bottom: 5px;
    border-radius: 5px;
    background: rgba(255,255,255,0.75);
    box-shadow: 0 0 5px rgb(220,220,220);
    font-size: 1em;
    text-transform: lowercase;
    cursor: pointer;
    position: absolute;
    bottom: 45px;
    left: 25px;
    z-index: 999;
    list-style: none;
}
li.settingItem{
    width: 30px;
    height: 45px;
    padding: 5px;
    margin-right: 15px;
    margin-left: 15px;
}
p.settingName{
    width: 100%;
    height: 15px;
    font-size: 0.6em;
    color: rgb(90,90,90);
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: 300;
    text-align: center;
    line-height: 1em;
}
span.settingIcon{
    width: 100%;
    height: 30px;
    text-align: center;
    color: rgb(0,0,0);
    font-size: 30px;
}
.sharingIcon{
    transform: scale(0.8);
}
.material-symbols-outlined {
  font-variation-settings:
  'FILL' 0,
  'wght' 200,
  'GRAD' -25,
  'opsz' 20
}
h1.testingTitle{
    width: calc(100vw - 25px);
    color: black;
    font-size: 3em;
    margin-top: 25px;
    margin-left: 25px;
    margin-bottom: 25px;
    text-transform: uppercase;
    float: left;
    position: relative;
}
ul.featureList{
    max-width:calc(100% - 50px);
    margin: 0;
    padding: 0;
    list-style: none;
    color: rgb(180,180,180);
    margin: 25px;
    margin-top: 35vh;
    margin-left: 100px;
}
li.featureItem{
    width: 100%;
    margin-bottom: 10px;
    font-weight: 200;
    display: none;
    font-family: 'Poppins', sans-serif;
    font-size: 1.3em;
    color: rgb(150,150,150);
    letter-spacing: 1px;
    float: left;
    clear: both;
}
span.featureName{
    font-size: 0.7em;
    font-weight: 200;
    color: rgb(180,180,180);
}
.imgVerticale, .imgQuadrata, .infoContainer, .infoGridContainer{
    min-width: 50vw !important;
    max-width: 50vw !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
    background-repeat: no-repeat !important;
    background-position: center top !important;
    background-size: cover !important;
}
.landscapeThumb{
    height: 25.3125vw;
    max-height: 25.3125vw;
    min-height: 25.3125vw;
    width: 45vw;
    max-width: 45vw;
    min-width: 45vw;
    margin-left: 2.5vw;
    margin-right: 2.5vw;
    margin-top: calc((100vh - 25.3125vw) / 2);
    margin-bottom: calc((100vh - 25.3125vw) / 2);
    background-repeat: no-repeat !important;
    background-position: center top !important;
    background-size: cover !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
}
.portraitThumb{
    height: 45vw;
    min-height: 45vw;
    max-height: 45vw;
    width: 25.3125vw;
    min-width: 25.3125vw;
    max-width: 25.3125vw;
    margin-left: calc((50vw - 25.3125vw) / 2);
    margin-right: calc((50vw - 25.3125vw) / 2);
    margin-top: calc((100vh - 45vw) / 2);
    margin-bottom: calc((100vh - 45vw) / 2);
    background-repeat: no-repeat !important;
    background-position: center top !important;
    background-size: cover !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
}
.playThumbIcon{
    color: rgb(255,255,255);
    font-size: 8em;
    cursor: pointer;
}
.infoContainer{
    background-color: rgb(255,255,255);
}
.infoGridContainer{
    position: absolute !important;
    top: 0;
    left: 0;
}
.imgOrizzontale{
    min-width: 100vw !important;
    min-height: 100vh !important;
    max-width: 100vw !important;
    max-height: 100vh !important;
    background-repeat: no-repeat !important;
    background-position: center top !important;
    background-size: cover !important;
}
.containBG{
    background-repeat: no-repeat !important;
    background-position: center top !important;
    background-size: contain !important;
}
.swiper, .mainGridContainer, .gridContainer{
    min-width: 100vw;
    max-width: 100vw;
    min-height: 100vh;
    max-height: 100vh;
}
.mainInfo{
    width: 50vw;
    height: 100vh;
    min-width: 50vw;
    min-height: 100vh;
    position: absolute;
    left:0;
}
/*gestione sistema navigazione gallery swiper*/
ul.navigationController{
    padding: 15px;
    padding-top: 5px;
    padding-bottom: 5px;
    border-radius: 5px;
    background: rgba(255,255,255,0.15);
    box-shadow: 0 0 5px rgba(220,220,220,0.15);
    font-size: 1em;
    text-transform: lowercase;
    cursor: pointer;
    position: absolute;
    bottom: 25px;
    right: 25px;
    z-index: 999;
    list-style: none;
    transition: 0.2s;
}
ul.navigationController:hover{
    transition: 0.2s;
    background: rgba(255,255,255,0.75);
    box-shadow: 0 0 5px rgba(220,220,220,0.75);
}
li.navigationItem{
    width: 30px;
    height: 45px;
    padding: 5px;
    margin-right: 15px;
    margin-left: 15px;
}
p.navinateName{
    width: 100%;
    height: 15px;
    font-size: 0.6em;
    color: rgb(90,90,90);
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: 300;
    text-align: center;
    line-height: 1em;
}
.backToOriginButton{
    width: 100%;
    height: 30px;
    text-align: center;
    color: rgb(0,0,0);
    font-size: 30px;
}
.backToOriginButtonVisible{
    animation: increaseOpacity;
    animation-duration: 0.2s;
    animation-fill-mode: forwards;
}
/*setting feature section*/
.modelName{
    width: 100%;
    position: absolute;
    right: 2vw;
    top: calc(50vh - 1em);
    font-size: 5em;
    font-weight: 200;
    font-family: 'Poppins', sans-serif;
    color: rgb(150,150,150);
    text-transform: uppercase;
    text-align: right;
}
.reducedModelName{
    font-size: 3.2em;
}
/*gestione book*/
ul.listBook{
    position: absolute;
    right: 2vw;
    width: 50%;
    list-style: none;
    top: calc(50vh  + 2em);
    font-size: 1em;
}
li.singleBookName{
    color: rgb(150,150,150);
    text-transform: capitalize;
    letter-spacing: 2px;
    text-align: right;
    width: 100%;
    cursor: pointer;
    transition: 0.2s;
}
li.singleBookName:hover{
    opacity: 0.5;
    transition: 0.2s;
}
/*settaggio grid view*/
.picContainer{
    width: 50vw;
    height: 100vh;
    min-height: 100vh;
    overflow: hidden;
    overflow-y: scroll;
    position: absolute;
    right: 0;
    top: 0;
}
.gridImg{
    width: calc((50vw / 4) - 20px);
    height: calc((50vw / 4) - 20px);
    float: left;
    position: relative;
    margin: 10px;
    padding: 0;
    background-size: cover !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    cursor: pointer;
}
.videoPlayIcon{
    font-size: 5em;
    color: rgb(255,255,255) !important;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    position: absolute;
    top: calc(50% - 15px);
    left: calc(50% - 15px);
}
.gridExplosionContainer, .singleImgExplosionContainer{
    background: rgba(255,255,255,0.9);
    backdrop-filter: blur(10px);
    z-index: 999;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    min-width: 100vw;
    min-height: 100vh;
    max-width: 100vw;
    max-height: 100vh;
}
.singleImgExplosionContainer{
    width: auto !important;
    display: flex;
    overflow-x: scroll;
}
#gridExplosionID{
    max-width: unset;
    box-sizing: content-box;
    position: relative;
}
.gridExplosion{
    width: calc(100vw - 100px);
    height: calc(100vh - 100px);
    min-width: calc(100vw - 100px);
    min-height: calc(100vh - 100px);
    max-width: calc(100vw - 100px);
    max-height: calc(100vh - 100px);
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    margin: 50px;
}
span.closeGridExplosion, span.restartGridExplosion{
    font-size: 60px;
    height: 60px;
    width: 60px;
    border-radius: 150px;
    color: rgb(30,30,30);
    border: 1px solid rgb(30,30,30);
    padding: 20px;
    cursor: pointer;
    position: absolute;
    top: 20px;
    right: calc(-50vw + 20px);
    mix-blend-mode: difference;
    z-index: 9999;
}
span.closeImgGridExplosion{font-size: 60px;
    height: 60px;
    width: 60px;
    border-radius: 150px;
    color: rgb(30,30,30);
    border: 1px solid rgb(30,30,30);
    padding: 20px;
    cursor: pointer;
    position: absolute;
    top: 20px;
    right: 20px;
    mix-blend-mode: difference;
    z-index: 9999;
}
span.closeYoutubeGridExplosion{
    font-size: 60px;
    height: 60px;
    width: 60px;
    border-radius: 150px;
    color: rgb(30,30,30);
    border: 1px solid rgb(30,30,30);
    padding: 20px;
    cursor: pointer;
    position: fixed;
    top: 20px;
    right: 20px;
    mix-blend-mode: difference;
    z-index: 9999;
}
span.restartGridExplosion{
    right: 140px;
}
span.closeGridExplosion:hover, span.closeImgGridExplosion:hover{
    transition: 0.2s;
    transform: rotate(-90deg);
}
#imgIndex, #bookLenght, #bookName{
    z-index: 1000;
    mix-blend-mode: difference;
}
#imgIndex{
    position: absolute;
    color: rgb(90,90,90);
    text-align: right;
    bottom: 65px;
    right: 50px;
    font-size: 15em;
    line-height: 1em;
    font-family: "Bodoni Moda", serif;
}
#bookLenght{
    position: absolute;
    color: rgb(120,120,120);
    text-align: right;
    bottom: 50px;
    right: 50px;
    font-size: 2.5em;
    line-height: 1em;
    font-family: "Bodoni Moda", serif;
}
#bookName{
    position: absolute;
    color: rgb(120,120,120);
    text-align: right;
    text-transform: capitalize;
    bottom: 50px;
    right: 120px;
    font-size: 1.5em;
    letter-spacing: 2px;
    width: 300px;
    border-bottom: 1px solid rgb(120,120,120);
    padding-bottom: 10px;
    padding-right: 5px;
    line-height: 1em;
    font-family: "Bodoni Moda", serif;
}
span.navigate-next, span.navigate-before{
    width: 5vw;
    font-size: 12em;
    line-height: 1em;
    position: fixed;
    top: calc(50vh - 0.5em);
    color: rgb(120,120,120);
    transition: 0.2s;
    cursor: pointer;
    opacity: 0.5;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}
span.navigate-next{
    right: 0px;
}
span.navigate-next:hover{
    transition: 0.2s;
    transform: translateX(10px);
    opacity: 1;
}
span.navigate-before{
    left: 0px;
}
span.navigate-before:hover{
    transition: 0.2s;
    transform: translateX(-10px);
    opacity: 1;
}
/*explosion-gallery*/
.explosion-gallery{
    flex-shrink: 0;
    width: calc(100vw - 100px);
    height: calc(100vh - 100px);
    min-width: calc(100vw - 100px);
    min-height: calc(100vh - 100px);
    max-width: calc(100vw - 100px);
    max-height: calc(100vh - 100px);
    margin: 50px;
    display: inline-block;
    display: flex !important;
    align-items: center;
    justify-content: center;
}
.singleImgExplosion{
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
}
/*gestione nota video non disponibile in griglia*/
p.testo-video-grid-explosion-thumb{
    background: rgba(26, 192, 252, 0.8);
    padding: 10px;
    border-bottom: 5px;
    color: rgb(255,255,255);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 1em;
}
/*gestione label suggerimento "aggiungi alla lista"*/
.addRemMessage{
    padding: 15px;
    padding-top: 5px;
    padding-bottom: 5px;
    border-radius: 5px;
    background: rgba(255,255,255,0.75);
    box-shadow: 0 0 5px rgb(220,220,220);
    font-size: 0.8em;
    text-transform: lowercase;
    cursor: pointer;
    position: absolute;
    bottom: calc(60px + 25px + 10px);
    left: 25px;
    z-index: 999;
    list-style: none;
    display: none;
}
.letMeApperClass{
    animation: letMeAppear;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
}
/*gestione layout Composit*/
#composit{
    z-index: 0;
}
.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: 8mm !important;
    line-height: 8mm !important;
    letter-spacing: 2mm !important;
    text-align: center !important;
    margin-top: 5mm !important;
    font-weight: 200;
}
.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;
    background-size: cover !important;
    background-repeat: no-repeat;
    background-position: center top !important;
}
.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
}
.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;
}
.singleImgContainer{
    width: calc((140mm / 2) - 7mm);
    height: calc((160mm / 2) - 7mm);
    margin: 3.5mm !important;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
img.singleCompositImg{
    height: 100%
}
.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{
    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;
}
/*setting bottone download PDF*/
.downloadPdfButton{
    position: absolute;
    color: rgb(0,0,0);
    font-size: 1.5em;
    top: 15vh;
    right: 50px;
    cursor: pointer;
    mix-blend-mode: difference;
    z-index: 9999;
}
/*setting pannello download*/
#downloadSettingContainer, #printSettingContainer{
    position: fixed;
}
.downloadSettingContainerClass, .printSettingContainerClass{
    height: calc(40vh - 30px);
    width: calc((16.65vw * 2) - 0px);
    padding: 0;
    left: calc(50vw - 16.65vw);
    top: 30vh;
    color: rgb(40,40,40);
    z-index: 9999;
    transition: 0.4s;
    transform: rotateY(90deg);
}
.downloadSettingTitle, .printSettingTitle{
    width: 100%;
    text-align: left;
    font-size: 1.2em;
    line-height: 1em;
    font-weight: 300;
    margin-bottom: 50px;
    margin-top: 25px;
    z-index: 9999;
}
ul.downloadSettingBooksList, ul.printSettingBooksList{
    width: calc(100% - 25px);
    list-style: none;
    margin-bottom: 25px;
    font-weight: 200;
    text-align: left;
    padding-left: 25px;
}
li.donwloadSettingsingleBook{
    width: 100%;
    font-size: 1.2em;
    line-height: 1em;
    text-transform: uppercase;
    color: rgb(90,90,90);
    margin-bottom: 10px;
    cursor: pointer;
}
p.downloadSettingButton, p.printSettingButton{
    font-size: 1.2em;
    line-height: 30px;
    color: rgb(255,255,255);
    border: 1px solid rgb(30,30,30);
    background-color: rgb(30,30,30);
    padding: 15px;
    padding-top: 5px;
    padding-bottom: 5px;
    text-align: center;
    transition: 0.5s;
    opacity: 0.8;
    position: absolute;
    cursor: pointer;
    left: 15px;
    bottom: 25px;
}
p.downloadSettingButton:hover{
    transition: 0.2s;
    opacity: 1;
    padding-right: 50px;
}
.downloadSettingIcon, .printSettingIcon{
    position: absolute;
    font-size: 1.2em;
    line-height: 30px;
    color: rgb(255,255,255);
    opacity: 0;
    left: -10%;
}
p.downloadSettingButton:hover > .downloadSettingIcon{
    animation: slideMeFromLeft;
    animation-duration: 0.2s;
    animation-fill-mode: forwards;
}
.closeDownloadSettingContainerButton, .closePrintSettingContainerButton{
    position: absolute;
    color: rgb(30,30,30);
    right: 0;
    top: 0;
    padding: 10px;
    font-size: 1.5em;
    text-align: center;
    transition: 0.5s;
    cursor: pointer;
    z-index: 9999;
}
.closeDownloadSettingContainerButton:hover{
    transition: 0.2s;
    transform: rotate(-90deg);
}
.donwloadSettingItemContainerClass, .printSettingItemContainerClass{
    width: calc(16.65vw - 30px);
    padding: 15px;
    height: 100% !important;
    opacity: 1;
    position: absolute;
    right:0;
    top:0;
    background: rgba(255,255,255,0.75);
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
}
.downloadSettingContainerFully{
    animation: slideBoxOut;
    animation-duration: 0.2s;
    animation-fill-mode: forwards;
}
.downloadSettingItemContainerVisible{
    animation: increaseOpacity;
    animation-delay: 0.15s;
    animation-duration: 0.2s;
    animation-fill-mode: forwards;
}
.flipMe{
    transition: 0.2s;
    transform: rotateY(0deg) !important;
}
/*setting social share panel*/
#status{
    font-size: 0.7em;
    color: #FFF;
    background: rgba(30,30,30, 0.5);
    border-radius: 10px;
    position: absolute;
    bottom: -50px;
    padding: 5px;
    padding-left: 15px;
    padding-right: 15px;
    letter-spacing: 5px;
    font-family: 'Poppins', sans-serif;
    right: 0;
    display: none;
    opacity: 0;
}
@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);
}
.socialSettingContainerClass{
    position: fixed;
    width: 40vw;
    height: 25vh;
    top: 27.5vh;
    left: 30vw;
    padding: 15px;
    background: rgba(255,255,255,0.9);
    box-shadow: 0 0 25px rgba(30,30,30, 0.7);
    border-radius: 5px;
    z-index: 999;
    display: none;
}
.socialSettingItemContainerClass{
    width: 100%;
    min-width: 100%;
    height: auto;
}
.closeSocialSettingContainerButton{
    position: absolute;
    top: 0;
    right: 0;
    padding: 15px;
    cursor: pointer;
}
.socialSettingTitle{
    width: 100%;
    width: 100%;
    text-align: center;
    font-size: 1.1em;
    line-height: 1em;
    font-weight: 300;
    margin-bottom: 50px;
    margin-top: 25px;
    z-index: 9999;
    letter-spacing: 2px;
}
i.socialIcons{
    width: 4vw;
    margin-left: 2vw;
    margin-right: 2vw;
    min-height: 5vh;
    font-size: 1.3em;
    color: rgb(90,90,90);
    display: grid;
    align-items: center;
    text-align: center;
    cursor: pointer;
    transition: 0.2s;
}
i.socialIcons:hover{
    transition: 0.2s;
    transform: scale(1.2);
}
@keyframes mailAppear {
    from{
        transform: translateY(0);
    }
    to{
        transform: translateY(-25px);
    }
}
.email-input{
    width: 100%;
    display: none;
}
.mailAppearAnimation{
    animation: mailAppear;
    animation-duration: 0.2s;
    animation-fill-mode: forwards;
}
.inputInstruction{
    width: 100%;
    text-align: center;
    font-size: 0.9em;
    font-weight: 200;
    color: rgb(90,90,90);
    margin-bottom: 15px;
    letter-spacing: 2px;
}
.emailInputClass{
    width: 50%;
    box-sizing: border-box;
    padding: 10px;
    border: none;
    border-bottom: 1px solid rgb(90,90,90);
    background: transparent;
    margin-right: 0%;
    margin-left: calc(22.5% - 60px);
}
.shareMailButton{
    background: rgb(30,30,30);
    color: rgb(255,255,255);
    width: 100px;
    font-weight: 200;
    text-align: center;
    font-size: 1em;
    letter-spacing: 2px;
    margin-left: 25px;
    margin-right: calc(22.5% - 65px);
    box-sizing: border-box;
    padding: 10px;
    padding-top: 5px;
    padding-bottom: 5px;
    cursor: pointer;
    transition: 0.2s;
}
.shareMailButton:hover{
    transition: 0.2s;
    opacity: 0.5;
}
.validationMessage{
    position: absolute;
    bottom: 10px;
    left: calc(22.5% - 50px);
    font-size: 0.9em;
    letter-spacing: 2px;
    display: none;
}
.validationNegativeMessage{
    color: rgb(168, 65, 65) !important;
}
.validationPositiveMessage{
    color: rgb(26, 192, 252) !important;
}
/*setting button download COMPOSIT*/
p.compositDownload{
    position: absolute;
    bottom: 45px;
    right: 25px;
    font-size: 1em;
    line-height: 30px;
    color: rgb(255,255,255);
    border: 1px solid rgb(30,30,30);
    background-color: rgb(30,30,30);
    padding: 15px;
    padding-top: 5px;
    padding-bottom: 5px;
    font-weight: 200;
    text-align: center;
    text-transform: uppercase;
    transition: 0.5s;
    opacity: 1;
    cursor: pointer;
    border-radius: 50px;
}
p.compositDownload:hover{
    transition: 0.2s;
    opacity: 1;
    padding-right: 50px;
}
.compositDownloadIcon{
    position: absolute;
    font-size: 1.2em;
    line-height: 30px;
    color: rgb(255,255,255);
    opacity: 0;
    left: -10%;
}
p.compositDownload:hover > .compositDownloadIcon{
    animation: slideMeFromLeft;
    animation-duration: 0.2s;
    animation-fill-mode: forwards;
}
.testingAnimation{
    animation: speedScrollRight;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
}
/*layout book*/
.downloadedBook{
    z-index: 0;
}
.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;
}
/*gestione note speciali modello (dinamico)*/
.importantNote{
    width: 23vw;
    min-width: 23vw;
    max-width: 23vw;
    height: 30vh;
    min-height: 30vh;
    max-height: 30vh;
    position: absolute;
    top: 10vh;
    right: 2vw;
    box-sizing: border-box;
    padding: 50px;
    padding-right: 0;
    color: rgb(30,30,30);
    display: none;
}
/*gestione media video*/
/*DEPRECATO VEDI SOTTO NUOVE IMPOSTAZIONI - ASPETTARE A CANCELLARE, PRIMA TESTING APPROFONDITO*/
.videoLandscape{
    margin-top: 10vw;
    margin-bottom: 10vw;
    margin-left: 5vw;
    margin-right: 5vw;
}
.videoPortrait{
    margin-top: 0;
    margin-bottom: 0;
    /*margin-left: 2.5vw;
    margin-right: 2.5vw;*/
    margin-right: calc((100vh - 56.25vh) / 2);
    margin-left: calc((100vh - 56.25vh) / 2);
}
p.titleVideoBook{
    position: absolute;
    bottom: 0;
    color: rgb(255,255,255);
    font-weight: 200;
    font-size: 0.8em;
    letter-spacing: 2px;
    width: 100%;
    box-sizing: border-box;
    padding: 0.5vw;
    padding-top: 0;
    text-align: right;
}
/*
.videoLandscape{
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
    position: absolute;
    top: 2.5vw;
    right: -100vw;
    margin-bottom: 2.5vw;
}
.videoPortrait{
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 25vw;
    margin-right: 25vw;
}
*/
/*gestione anteprime video*/
/*
.thumbContainer, .thumbContainer.swiper{
    position: absolute;
    bottom: 5vw;
    right: 0;
    width: 50vw;
    min-width: 50vw;
    max-width: 50vw;
    height: 5.625vw;
    min-height: 5.625vw;
    max-height: 5.625vw;
    box-sizing: border-box;
    margin: 20px;
}
.singleThumbContainer, .singleThumbContainer.swiper-slide{
    width: 10vw;
    min-width: 10vw;
    max-width: 10vw;
    height: 5.625vw;
    min-height: 5.625vw;
    overflow: hidden;
    box-sizing: border-box;
    display: flex;
}
.singleThumbnail{
    width: 10vw;
    min-height: 5.625vw;
    object-position: center;
    display: flex;
    object-fit: cover;
    align-items: center;
    justify-content: center;
}
*/
/*gestione navigazione in swiper tramite pulsanti*/
.btn-next, .btn-prev{
    z-index: 9999;
    position: absolute;
    top: calc((100vh - 5em) / 2);
    user-select: none;
    mix-blend-mode: exclusion;
    cursor: pointer;
    transition: 0.2s;
}
.btn-next:hover, .btn-prev:hover{
    transform: scale(1.2);
    transition: 0.2s;
}
.navigationArrow{
    font-size: 5em !important;
    font-weight: 200;
    color: rgb(180, 180, 180);
    user-select: none;
}
.swiper-button-next{
    right: 30px;
}
.swiper-button-prev{
    left: 30px;
    display: none;
}
/*risettaggio parametri navigazione*/
.swiper-button-next, .swiper-button-prev {
    color: rgb(30,30,30);
}
.swiper-button-prev:after, .swiper-button-next:after, .swiper-button-prev:before, .swiper-button-next:before {
   --swiper-navigation-size: 5em !important;
   padding: 25px !important;
}
/*azione su icona*/
.favoriteIconChecked{
    font-variation-settings: 'FILL' 1;
}
.favoriteIconCheckedAnimation{
    animation: pulseIcon;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
}

/*gestione rewind*/
.rewindButton{
    position: fixed;
    color: rgb(255,255,255);
    background: rgb(30,30,30);
    width: 30px;
    height: 30px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    bottom: 45px;
    right: 25px;
    z-index: 9999;
    padding: 10px;
    font-size: 2em;
    cursor: pointer;
    transition: 0.2s;
}
.rewindButton:hover{
    transition: 0.2s;
    transform: scale(1.2);
}

/*navigation*/
.navigation{
}
.navigationNext{
    right: 50px;
    position: absolute;
    top: 50vh;
    color: rgb(120,120,120);
}
.navigationBack{
    left: 50px;
    position: absolute;
    top: 50vh;
    color: rgb(120,120,120);
}
/*popup esportazione composit pdf*/
.compositGenerationPopUp{
    position: fixed;
    box-sizing: border-box;
    padding: 20px;
    border-radius: 5px;
    background-color: rgba(255,255,255,0.75);
    box-shadow: 0 0 15px rgb(90,90,90);
    backdrop-filter: blur(5px);
    width: 20vw;
    height: 10vh;
    left: 40vw;
    top: 45vh;
    z-index: 99999;
    align-items: center;
    justify-content: center;
    display: none;
}
.compositGenerationTxt{
    font-size: 0.9em;
    letter-spacing: 2px;
    width: 100%;
    text-align: center;
    text-transform: uppercase;
    color: rgb(30,30,30);
    font-weight: 200;
}
.mobileButton{
    display: none;
}

.swiper-slide{
    background-image: lazy-load;
}
#videoProducerContainer{
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(255,255,255,0.7);
    backdrop-filter: blur(15px);
    z-index: 9999;
    width: 100vw;
    max-width: 100vw;
    min-width: 100vw;
    height: 100vh;
    max-height: 100vh;
    min-height: 100vh;
    display: none;
}
.titleVideoBookProducerContainer{
    width: 40vw;
    position: absolute;
}
.singleVideoBook{
    display: none;
    width: 50vw;
    min-width: 50vw;
    max-width: 50vw;
    height: 100vh;
    min-height: 100vh;
    max-height: 100vh;
    margin-right: -50vw;/*modifica centratura video non YT*/
}
.flexedItem{
    box-sizing: border-box;
    display: flex !important;
    justify-content: center;
    align-items: center;
}
.videoTitle{
    width: 50vw;
    min-width: 50vw;
    max-width: 50vw;
    height: 100vh;
    min-height: 100vh;
    max-height: 100vh;
    box-sizing: border-box;
    padding: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1em;
    font-size: 2.5em;
    text-transform: capitalize;
    font-weight: 200;
    margin-left: 100vw;
}
.colouredHastag{
    color: rgb(26, 192, 252);
    font-weight: lighter;
    font-style: normal;
    text-align: right !important;
    font-size: 6em;
    float: left;
    line-height: 0em;
}
.importantNoteClass{
    font-weight: 300;
    font-family: 'Bodoni Moda', serif;
    font-style: italic;
    text-align: right;
    color: rgb(0,0,0);
    font-size: 2em;
    line-height: 1em;
}
.reducedImportantNote{
    font-size: 1.5em;
    line-height: 1.2em;
}
/*pic description*/
.picDescription{
    position: absolute;
    bottom: 2vh;
    left: 2vw;
    color: rgb(220,220,220);
    padding: 15px;
    border-radius: 5px;
    font-weight: 300;
    letter-spacing: 0.5px;
    font-style: italic;
    font-size: 0.8em;
    max-width: 30vw;
    line-height: 1em;
    text-shadow: 0 0 15px rgb(30,30,30);
}
/*setting book (stampa) e composit*/
.downloadedBook, #composit{
    display: none; /*vengono nascosti in maniera da non esserve visibili quando un utente cambia il book visualizzato a monitor*/
}
/*desktop-setting*/
@media (min-width: 1024px) and (max-width: 1279px){
    /*setting feature section*/
    .modelName{
        font-size: 2.2em;
    }
    .reducedModelName{
        font-size: 1.5em;
    }
    .navigationNext, .navigationBack {
        transform: scale(0.7);
    }
    .rewindButton {
        transform: scale(0.7);
    }
    p.compositDownload {
        transform: scale(0.7);
    }
    ul.settingPanel {
        transform: scale(0.7);
    }
    ul.featureList {
        max-width: calc(100% - 50px);
        margin: 25px;
        margin-top: 25vh;
        margin-left: 75px;
    }
    .importantNote {
        right: 2vw;
        padding: 20px;
        padding-top: 0;
        padding-right: 0;
        width: 100%;
        text-align: right;
        font-size: 1.3em;
    }
    .picDescription{
        color: rgb(220,220,220);
        font-size: 0.7em;
        max-width: 40vw;
    }
}
@media (min-width: 1280px) and (max-width: 1365px){
    /*setting feature section*/
    .modelName{
        font-size: 2.5em;
    }
    .reducedModelName{
        font-size: 1.5em;
    }
    .navigationNext, .navigationBack {
        transform: scale(0.8);
    }
    .rewindButton {
        transform: scale(0.8);
    }
    p.compositDownload {
        transform: scale(0.8);
    }
    ul.settingPanel {
        transform: scale(0.8);
    }
    ul.featureList {
        max-width: calc(100% - 50px);
        margin: 25px;
        margin-top: 25vh;
        margin-left: 100px;
    }
    .picDescription{
        color: rgb(220,220,220);
        font-size: 0.7em;
        max-width: 40vw;
    }
}
@media (min-width: 1366px) and (max-width: 1439px){
    /*setting feature section*/
    .modelName{
        font-size: 3em;
    }
    .reducedModelName{
        font-size: 2.1em;
    }
    .navigationNext, .navigationBack {
        transform: scale(0.8);
    }
    .rewindButton {
        transform: scale(0.8);
    }
    p.compositDownload {
        transform: scale(0.8);
    }
    ul.settingPanel {
        transform: scale(0.8);
    }
    ul.featureList {
        max-width: calc(100% - 50px);
        margin: 25px;
        margin-top: 30vh;
        margin-left: 100px;
    }
    .picDescription{
        color: rgb(220,220,220);
        font-size: 0.7em;
        max-width: 40vw;
    }
}
@media (min-width: 1440px) and (max-width: 1679px){
    /*setting feature section*/
    .modelName{
        font-size: 3em;
    }
    .reducedModelName{
        font-size: 2.1em;
    }
    .navigationNext, .navigationBack {
        transform: scale(0.8);
    }
    .rewindButton {
        transform: scale(0.8);
    }
    p.compositDownload {
        transform: scale(0.8);
    }
    ul.settingPanel {
        transform: scale(0.8);
    }
    ul.featureList {
        max-width: calc(100% - 50px);
        margin: 25px;
        margin-top: 30vh;
        margin-left: 100px;
    }
    .picDescription{
        color: rgb(220,220,220);
        font-size: 0.7em;
        max-width: 40vw;
    }
}
@media (min-width: 1680px) and (max-width: 1919px){
    /*setting feature section*/
    .modelName{
        font-size: 4em;
    }
    .reducedModelName{
        font-size: 2.7em;
    }
    .navigationNext, .navigationBack {
        transform: scale(0.9);
    }
    .rewindButton {
        transform: scale(0.9);
    }
    p.compositDownload {
        transform: scale(0.9);
    }
    ul.settingPanel {
        transform: scale(0.9);
    }
    ul.featureList {
        max-width: calc(100% - 50px);
        margin: 25px;
        margin-top: 30vh;
        margin-left: 100px;
    }
}
@media (min-width: 1920px) and (max-width: 2559px){
}
@media (min-width: 2559px) and (max-width: 3839px){
}
@media (min-width: 3840px) and (max-width: 5120px){
}

/**********/
/* mobile */
/**********/
@media (min-width: 279px) and (max-width: 823px) {
    .desktopButton{
        display: none;
    }
    .infoContainer{
        background-color: rgb(255,255,255);
        filter: grayscale(0%) !important;
    }
    .infoGridContainer{
        position: absolute !important;
        top: 0;
        left: 0;
    }
    .imgOrizzontale, .imgVerticale, .imgQuadrata, .infoContainer, .infoGridContainer {
        min-width: 100vw !important;
        min-height: 100vh !important;
        max-width: 100vw !important;
        max-height: 100vh !important;
        background-repeat: no-repeat !important;
        background-position: center top !important;
        background-size: cover !important;
    }
    .infoContainer{
        z-index: 9999;
        background: transparent;
        filter: grayscale(100%);
    }
    .settingName{
        height: auto;
        font-size: 0.45em;
        letter-spacing: 0px;
        text-transform: uppercase;
        font-weight: 300;
        text-align: center;
        line-height: 0;
        display: block;
    }
    .modelName {
        width: 90vw;
        left: 3vw;
        right: 7vw;
        position: absolute;
        top: 13vh;
        font-size: 3em;
        color: rgb(40,40,40);
        text-align: center !important;
        line-height: 45px;
    }
    .reducedModelName{
        font-size: 1.5em;
    }
    .featureList, ul.listBook {
        display: block;
        position: absolute;
        top: 30vh;
        height: auto;
        min-height: unset;
        max-height: 100vh;
        width: 50vw;
        min-width: 50vw;
        max-width: 50vw;
        margin: 0 !important;
        box-sizing: border-box;
        padding: 0;
        padding-left: 15vw !important;
        padding-right: 2.5vw !important;
        padding-top: 25px !important;
        padding-bottom: 25px !important;
    }
    ul.featureList{
        border-right: 0.5px solid rgb(150,150,150);
    }
    ul.listBook{
        padding-right: 15vw !important;
        padding-left: 2.5vw !important;
        right: 0 !important;
    }
    li.featureItem {
        font-size: 1em;
        color: rgb(40,40,40);
        width: 32.5vw;
        text-align: right !important;
    }
    span.featureName {
        width: 12.5vw;
        float: left;
        text-align: left !important;
        font-size: 0.85em;
        color: rgb(90,90,90);
    }
    li.singleBookName {
        color: rgb(150,150,150);
        text-transform: capitalize;
        letter-spacing: 2px;
        text-align: left;
        width: 100%;
        cursor: pointer;
        transition: 0.2s;
    }
    .selectedBook{
        color: rgb(26, 192, 252) !important;
    }
    .mobileButton{
        display: block;
    }
    .closingButton{
        position: absolute;
        top: 15vh;
        right: 10vw;
        color: rgb(40,40,40);
        font-size: 1em;
        font-weight: 200;
        padding: 20px;
        padding-top: 10px;
        padding-bottom: 10px;
        border: 0.5px solid rgb(40,40,40);
    }
    ul.settingPanel {
        padding: 15px;
        padding-top: 15px;
        padding-bottom: 15px;
        bottom: 65px;
        left: 2.5vw;
        right: 2.5vw;
        width: 95vw;
        min-width: 95vw;
        max-width: 95vw;
        height: 70px;
        min-height: 70px;
        max-height: 70px;
        box-sizing: border-box;
    }
    li.settingItem {
        width: calc((95vw - 30px) / 6);
        height: 45px;
        padding: 0;
        margin-right: 0;
        margin-left: 0;
    }
    span.settingIcon {
        width: 100%;
        height: 30px;
        text-align: center;
        color: rgb(0,0,0);
        font-size: 25px;
        margin: 0 !important;
        padding: 0 !important;
    }
    .rewindButton {
        position: fixed;
        width: 30px;
        height: 15px;
        border-radius: 5px;
        display: flex;
        align-items: center;
        justify-content: center;
        bottom: 95px;
        right: 2.5vw;
        z-index: 9999;
        padding: 10px;
        font-size: 2em;
        cursor: pointer;
        transition: 0.2s;
        background: transparent;
        border: 0.5px solid rgb(40,40,40) !important;
        color: rgb(40,40,40) !important;
        letter-spacing: 1.5px;
    }
    .swiper-button-prev::after, .swiper-button-next::after, .swiper-button-prev::before, .swiper-button-next::before {
        --swiper-navigation-size: 3.5em !important;
        padding: 0 !important;
    }
    .navigationNext {
        right: 2.5vw;
        position: absolute;
        top: 50vh;
        color: rgb(40,40,40);
    }
    .navigationBack {
        left: 2.5vw;
        position: absolute;
        top: 50vh;
        color: rgb(40,40,40);
    }
    p.compositDownload {
        position: absolute;
        bottom: 150px;
        right: unset;
        left: 2.5vw;
        font-size: 0.8em;
        line-height: 30px;
        padding: 10px;
        padding-top: 2.5px;
        padding-bottom: 2.5px;
        background: transparent;
        border: 0.5px solid rgb(40,40,40) !important;
        color: rgb(40,40,40) !important;
        border-radius: 5px !important;
        letter-spacing: 1.5px;
        font-weight: 300 !important;
    }
    .downloadSettingContainerClass, .printSettingContainerClass {
        height: calc(50vh - 30px);
        width: 75vw;
        padding: 0;
        left: 12.5vw;
        top: 25vh;
        color: rgb(40,40,40);
        z-index: 9999;
        transition: 0.4s;
        transform: rotateY(90deg);
    }
    .donwloadSettingItemContainerClass, .printSettingItemContainerClass {
        width: 75vw;
        padding: 15px;
        height: 100% !important;
        opacity: 1;
        position: absolute;
        right: 0;
        top: 0;
        background: rgba(255,255,255,0.95);
        border-top-right-radius: 5px;
        border-bottom-right-radius: 5px;
        border-top-left-radius: 5px;
        border-bottom-left-radius: 5px;
        box-sizing: border-box;
        box-shadow: 0px 0px 250px rgb(40,40,40);
    }    
    /*gestione visione griglia*/
    .picContainer {
        height: 68vh;
        min-height: 68vh;
        top: 12vh;
        padding: 7.5px;
        box-sizing: border-box;
        background: rgba(255,255,255,0.85);
        width: 100vw;
        min-width: 100vw;
        max-width: 100vw;
    }
    .gridImg {
        width: calc(((100vw - 15px) / 3) - 10px);
        height: calc(((100vw - 15px) / 3) - 10px);
        margin: 5px;
        padding: 0;
    }
    .socialSettingContainerClass {
        position: fixed;
        width: 80vw;
        height: 35vh;
        top: 32.5vh;
        left: 10vw;
        background: rgba(255,255,255,0.95);
        box-sizing: border-box;
    }
    i.socialIcons {
        width: calc((70vw - 30px) / 5);
        margin-left: calc((10vw - 0px) / 10);
        margin-right: calc((10vw - 0px) / 10);
        min-height: 5vh;
        font-size: 1.3em;
        color: rgb(90,90,90);
        display: grid;
        align-items: center;
        text-align: center;
        cursor: pointer;
        transition: 0.2s;
        box-sizing: border-box;
    }
    #status{
        bottom: -70px;
    }
    /*griglia*/
    span.closeGridExplosion, span.restartGridExplosion, span.closeGridExplosion {
        font-size: 40px;
        height: 40px;
        width: 40px;
        border-radius: 150px;
        color: rgb(30,30,30);
        border: 1px solid rgb(30,30,30);
        padding: 20px;
        cursor: pointer;
        position: absolute;
        top: 20px;
        right: 20px;
        mix-blend-mode: difference;
        z-index: 9999;
    }
    span.closeYouTubeGridExplosion{
        display: none;
    }
    span.restartGridExplosion {
        right: 120px;
    }
    span.navigate-next, span.navigate-before {
        width: 5vw;
        font-size: 7em;
        line-height: 1em;
        position: fixed;
        top: calc(50vh - 0.5em);
        color: rgb(120,120,120);
        transition: 0.2s;
        cursor: pointer;
        opacity: 0.5;
        z-index: 9999;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    span.navigate-next{
        right: 10px;
    }
    span.navigate-before{
        left: 10px;
    }
    .gridExplosionContainer, .singleImgExplosionContainer {
        z-index: 9999;
    }
    #imgIndex, #bookLenght, #bookName {
        z-index: 10001;
    }
    .validationMessage {
        bottom: -30px !important;
    }
    .selectedBook{
        color: rgb(26, 192, 252) !important;
    }
    .videoLandscape{
        margin-top: calc((16.4583vw * 2) - 15px);
        margin-bottom: 16.4583vw;
    }
    p.titleVideoBook {
        bottom: -16.4583vw;
        color: rgb(120,120,120);
        font-weight: 200;
        font-size: 0.8em;
        letter-spacing: 2px;
        width: 100%;
        box-sizing: border-box;
        padding: 5vw;
          padding-top: 5vw;
        padding-top: 0;
        text-align: center;
    }
    .landscapeThumb{
        height: 50.625vw;
        max-height: 50.625vw;
        min-height: 50.625vw;
        width: 90vw;
        max-width: 90vw;
        min-width: 90vw;
        margin-left: 5vw;
        margin-right: 5vw;
        margin-top: calc((100vh - 50.625vw) / 2);
        margin-bottom: calc((100vh - 50.625vw) / 2);
        background-repeat: no-repeat !important;
        background-position: center top !important;
        background-size: cover !important;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .portraitThumb{
        height: 60vh;
        min-height: 60vh;
        max-height: 60vh;
        width: 33.75vh;
        min-width: 33.75vh;
        max-width: 33.75vh;
        margin-left: calc((100vw - 33.75vh) / 2);
        margin-right: calc((100vw - 33.75vh) / 2);
        margin-top: calc((100vh - 60vh) / 2);
        margin-bottom: calc((100vh - 60vh) / 2);
        background-repeat: no-repeat !important;
        background-position: center top !important;
        background-size: cover !important;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .singleVideoBook {
        display: none;
        width: 100vw;
        min-width: 100vw;
        max-width: 100vw;
        height: 100vh;
        min-height: 100vh;
        max-height: 100vh;
    }
    .videoTitle {
        width: 100vw;
        min-width: 100vw;
        max-width: 100vw;
        height: 50vh;
        min-height: 50vh;
        max-height: 50vh;
        box-sizing: border-box;
        padding: 20px;
        display: flex;
        justify-content: center;
        align-items: self-start;
        line-height: 1em;
        font-size: 1.5em;
        text-transform: capitalize;
        font-weight: 200;
        margin-left: 0vw
    }
    p.titleVideoBook {
        bottom: unset;
        color: rgb(120,120,120);
        font-weight: 200;
        font-size: 0.8em;
        letter-spacing: 2px;
        width: 100%;
        box-sizing: border-box;
        padding: 5vw;
        padding-top: 5vw;
        padding-top: 5vw;
        padding-top: 0;
        text-align: center;
        top: -7vh;
        line-height: 1.2em;
    }
    .importantNote {
        width: 100vw;
        min-width: 100vw;
        max-width: 100vw;
        height: 10vh;
        min-height: 10vh;
        max-height: 10vh;
        position: absolute;
        top: 22vh;
        right: unset;
        box-sizing: border-box;
        padding: 10px;
        padding-right: 0;
        color: rgb(30,30,30);
        display: none;
        font-weight: 300;
    }
    .importantNoteClass {
        text-align: center;
        font-size: 1.3em;
        line-height: 0.9em;
    }
    .colouredHastag {
        font-size: 2em;
        line-height: 0em;
    }
    .picDescription{
        bottom: calc(1vh + 170px);
        font-size: 0.8em;
        max-width: 98vw;
    }
}