@import url('https://fonts.googleapis.com/css2?family=Anton&family=Bodoni+Moda:ital,opsz,wght@0,6..96,400..900;1,6..96,400..900&family=Bungee&family=Meow+Script&family=Outfit:wght@100..900&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&family=Roboto+Mono:ital,wght@0,100..700;1,100..700&family=Tilt+Warp&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;
}

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;
}

button {
    font-family: 'Outfit', sans-serif;
    letter-spacing: 0.1rem;
    cursor: pointer;
}

strong {
    font-weight: 900;
}

.container {
    width: 100vw;
    height: auto;
    min-height: 100vh;
}

.input-label span.required-symbol{
    float: right;
    color: red;
    font-size: 1rem;
}

/*GESTIONE CONTENUTO DEL CASTING*/
#datas-container {
    width: 100vw;
    height: auto;
    min-height: 88vh;
    margin-top: 12vh;
    background: #FFF;
}

.casting-data-container {
    width: 100vw;
    height: auto;
    min-height: 100vh;
}

.casting-entry-img-cover {
    position: fixed;
    top: 0;
    left: 0;
    filter: blur(5px);
    width: 100vw;
    height: 100vh;
    object-fit: cover;
    object-position: top;
}

.casting-img-cover {
    position: fixed;
    top: 0;
    left: 0;
    filter: blur(1rem);
    width: 100vw;
    height: 100vh;
    object-fit: cover;
    object-position: top;
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.71) 60%, rgba(255, 255, 255, 0) 100%);
}

.casting-datas-content {
    width: 80vw;
    margin: 10vw;
    color: #000;
    text-align: center;
    margin-top: 8vh;
}

.casting-category-list {
    width: 50vw;
    margin-left: 25vw;
    margin-top: 0.7rem;
    margin-bottom: 0.7rem;
    display: flex;
    justify-content: end;
    list-style: none;
}

.casting-category-list-item {
    padding: 0;
    padding-right: 0px;
    padding-left: 0px;
    padding-right: 0;
    padding-left: 0;
    background: transparent;
    color: #000;
    font-size: 0.8rem;
    line-height: 1rem;
    margin-right: 1rem;
    font-weight: 200;
    text-transform: uppercase;
    border-radius: 5rem;
    cursor: pointer;
}

.single-main-casting-button-container {
    width: 50vw;
    margin-bottom: 1rem;
    margin-left: 5vw;
}

.single-main-casting-sharing-button,
.single-main-casting-print-flyer,
.single-main-casting-gotoform-button {
    border: none;
    color: #000;
    background: #FFF;
    font-size: 1rem;
    border-radius: 5rem;
    padding: 1rem;
    padding-bottom: 0.5rem;
    padding-top: 0.5rem;
    text-transform: uppercase;
    margin-left: 0.5rem;
    margin-right: 0.5rem;
}

.single-main-casting-gotoform-button {
    background: #ffc400;
    color: #000;
    font-weight: 900;
}

.casting-main-title {
    width: 50vw;
    margin-left: 5vw;
    text-align: left;
    color: #000;
    font-size: 7rem;
    line-height: 6rem;
    font-weight: 900;
    text-transform: uppercase;
    margin-bottom: 0;
}

span.casting-main-title-decoration {
    display: block;
    height: 1px;
    background: #000;
    width: 50vw;
    margin-left: 0;
    margin-top: 2rem;
}

.go-to-apply-button-container {
    width: 50vw;
    margin-left: 15vw;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 1rem;
    margin-bottom: 1rem;
    display: none;
}

.go-to-apply-button {
    padding: 0.5rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    font-size: 1.5rem;
    line-height: 1.5rem;
    letter-spacing: 0.2rem;
    text-transform: uppercase;
    color: #FFF;
    background: #000;
    border-radius: 5rem;
    cursor: pointer;
    border: none;
}

.casting-datas-detail {
    width: 80vw;
    height: auto;
    margin: 0;
}

.casting-datas-detail-cover-img {
    width: 70vw;
    margin-left: 5vw;
    height: calc(70vw / 1.92);
    max-height: calc(70vw / 1.92);
    object-position: top;
    object-fit: cover;
}

.casting-main-video-container {
    width: 70vw;
    margin-left: 5vw;
    height: calc(70vw / 1.92);
    max-height: calc(70vw / 1.92);
}

.casting-main-video-content,
.casting-video-content,
.video-videobook {
    width: 70vw;
    height: calc(70vw / 1.92);
    max-height: calc(70vw / 1.92);
}

.video-videobook {
    width: 70vw;
    height: calc(70vw / 1.92);
    object-position: top;
    object-fit: cover;
}

.autor-container {
    background: #00000013;
    height: 2.5rem;
    font-size: 0.8rem;
    color: #FFF;
    letter-spacing: 0.1rem;
    line-height: 0.9rem;
    display: flex;
    justify-content: start;
    padding: 0.5rem;
    box-sizing: border-box;
    margin-top: -2.5rem;
    /*lo porto in sovraimpressione al contenuto media*/
}

.casting-main-subtitle {
    width: 60vw;
    margin-left: 5.8vw;
    margin-top: 1rem;
    font-size: 1.5rem;
    line-height: 2rem;
    color: #000;
    font-weight: 200;
    letter-spacing: 0.2rem;
    text-transform: uppercase;
    text-align: left;
}

.single-casting-detail-box-container {
    width: 70vw;
    height: auto;
    margin-top: 2rem;
    margin-right: 5vw;
    margin-left: 5vw;
}

.single-casting-detail-box {
    width: 70vw;
    margin-top: 0.5vw;
    margin-bottom: 0.5vw;
    height: auto;
    background: #f9f9f9;
    border-radius: 1rem;
    padding: 1.5rem;
    box-sizing: border-box;
}

.media-author {
    width: 70vw;
    height: 3rem;
    display: flex;
    align-items: center;
    justify-content: start;
    color: #FFF;
    font-weight: 200;
    text-transform: uppercase;
    background: #00000059;
    position: absolute;
    top: 0;
    left: 0;
    padding: 1rem;
    box-sizing: border-box;
    top: calc((70vw / 1.92) - 3rem);
}

.single-casting-detail-box-title {
    width: 100%;
    text-align: right;
    font-size: 1.5rem;
    line-height: 1.2rem;
    font-weight: 900;
    margin-bottom: 1rem;
}

.single-casting-detail-box-value {
    width: 100%;
    text-align: right;
    font-size: 1.3rem;
    line-height: 1.5rem;
    letter-spacing: 0.1rem;
    font-weight: 350;
}

.single-casting-text-box-container,
.single-casting-external-form-button-container,
.single-casting-external-form-button-container-black {
    width: 70vw;
    height: auto;
    margin-top: 2rem;
}

.single-casting-external-form-button-container-black {
    background: #00000080;
    box-sizing: border-box;
}

.single-casting-text-box,
.single-casting-external-fomr-button-pretext,
.single-casting-external-fomr-button-pretext-terminated-casting {
    width: 70vw;
    padding: 1.5rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
    border-radius: 1rem;
    background: #f9f9f9;
    box-sizing: border-box;
}

.single-casting-external-form-button {
    font-size: 1.2rem;
    letter-spacing: 0.2rem;
    padding: 1rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    background: #000;
    color: #FFF;
    border: none;
    border-radius: 5rem;
    float: right;
    clear: both;
    margin-left: 50vw;
    margin-top: 1.5rem;
}

/*send form loader start setting*/
.loader {
    font-size: 16px;
    text-align: center;
}

.loader span {
    animation: blink 1.4s infinite both;
}

.loader span:nth-child(1) {
    animation-delay: 0s;
}

.loader span:nth-child(2) {
    animation-delay: .2s;
}

.loader span:nth-child(3) {
    animation-delay: .4s;
}

@keyframes blink {
    0% {
        opacity: .2;
    }

    20% {
        opacity: 1;
    }

    100% {
        opacity: .2;
    }
}

.hidden {
    display: none;
}

/*send form loader end setting*/

.single-casting-external-fomr-button-pretext-terminated-casting {
    color: #FFF;
    background: transparent;
    box-sizing: border-box;
}

.single-casting-external-fomr-button-pretext,
.single-casting-external-fomr-button-pretext-terminated-casting {
    font-size: 1.5rem;
    line-height: 1.5rem;
    text-align: right;
    letter-spacing: 0.2rem;
    text-transform: uppercase;
    font-weight: 300;
}

.single-casting-external-fomr-button-pretext-terminated-casting {
    text-align: left;
}

.text-button-expired-casting {
    width: 100%;
    color: #FFF;
    font-size: 1.2rem;
    line-height: 1.2rem;
    margin-bottom: 2rem;
    text-align: right;
    padding: 2rem;
    box-sizing: border-box;
}

.button-expired-casting {
    font-size: 1.2rem;
    font-weight: 700;
    padding: 1.5rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    background: #FFF;
    color: #000;
    border: none;
    border-radius: 5rem;
    cursor: pointer;
    position: relative;
    float: right;
    margin: 1.5rem;
    text-transform: uppercase;
}

.single-casting-transparent-box {
    border-radius: 1rem;
    width: 90vw;
    margin-top: 1rem;
    margin-bottom: 1rem;
    padding: 0;
    background: transparent;
    overflow-x: hidden;
}

.single-casting-book-container-open-button {
    width: auto;
    padding: 0.7rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    background: #000;
    color: #FFF;
    text-transform: uppercase;
    font-weight: 200;
    letter-spacing: 0.2rem;
    font-size: 1.2rem;
    border-radius: 5rem;
    cursor: pointer;
    float: left;
    clear: both;
    margin-bottom: 1rem;
}

.single-casting-books-container {
    width: 70vw;
    min-width: 70vw;
    padding: 1.5rem;
    padding-top: 0;
    margin: 0.5rem;
    border-radius: 1rem;
    box-sizing: border-box;
    display: none;
    clear: both;
    float: left;
}

.single-casting-book-name {
    padding: 0.5rem;
    padding-left: 1rem;
    padding-right: 1rem;
    background: #000;
    letter-spacing: 0.1rem;
    font-size: 1rem;
    line-height: 1.2rem;
    color: #FFF;
    width: auto;
    float: left;
    clear: both;
    margin: 0.5rem;
    font-weight: 200;
    text-transform: uppercase;
    border-radius: 5rem;
    cursor: pointer;
}

.single-casting-text-box-title {
    width: 100%;
    text-align: right;
    font-size: 1.5rem;
    line-height: 1.2rem;
    font-weight: 900;
    margin-bottom: 1rem;
}

.single-casting-book-images-container {
    width: 70vw;
    height: auto;
}

.casting-closing-video-container {
    width: 70vw;
    height: auto;
    display: block;
    clear: both;
    float: left;
}

.casting-book-images {
    width: 70vw;
    height: auto;
    position: relative;
    top: 0;
    left: 0;
    display: none;
}

.single-casting-text-box-value {
    width: 100%;
    text-align: right;
    font-size: 1.1rem;
    line-height: 1.5rem;
    letter-spacing: 0.1rem;
    font-weight: 350;
    margin-top: 2rem;
}

/*GESTIONE BOOK*/
.single-casting-images-container {
    width: 40vw;
    height: auto;
    max-height: calc(40vw / 3);
    margin-right: 1rem;
    margin-bottom: 1rem;
    object-fit: cover;
    object-position: center;
    cursor: pointer;
    display: flex;
}

.single-casting-img {
    width: calc(40vw / 3);
    height: calc(40vw / 3);
    margin-right: 1rem;
    margin-bottom: 1rem;
    object-fit: cover;
    object-position: center;
    cursor: pointer;
    flex-shrink: 0;
}

/*GESTIONE DELLA GALLERY ESPLOSA*/

/*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;
    z-index: 9999999;
}

.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;
}

/*GESTIONE DEL FORM*/
.form-container {
    width: 40vw;
    margin-left: 14vw;
    height: auto;
    margin-top: 5rem;
    margin-bottom: 2rem;
    border-radius: 1rem;
    background: #FFFFFFb1;
    padding: 1vw;
}

.form-title {
    width: 100%;
    font-size: 3rem;
    font-weight: 500;
    text-align: center;
    text-transform: uppercase;
    color: #000;
    margin-bottom: 1.5rem;
}

span.form-subtitle {
    font-size: 1.1rem;
    line-height: 1.1rem;
    color: #444;
    letter-spacing: 0.3rem;
}

.hidden-form-element {
    display: none;
}

/*SETTING IMPORTATO DA MODEL-APPLY-STYLE.CSS (vedi /assets/css/apply/)*/
label.form-element {
    width: 30vw;
    font-size: 1rem;
    font-weight: 450;
    letter-spacing: 0.1rem;
    font-family: 'Outfit', sans-serif;
    color: #000;
    text-align: right;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
}

label.attachment-label{
    margin-top: 1.5rem;
}

input.form-element,
textarea.form-element {
    width: calc(20vw - 1.4rem);
    padding: 0.7rem;
    background: transparent;
    border-radius: 1rem;
    border: 0.2px solid #606060;
    color: #000;
    text-align: right;
    font-size: 1rem;
    margin-left: 10vw;
    background: rgba(255, 255, 255, 0.8);
}

textarea.form-element {
    resize: vertical;
    min-height: 80px;
    max-height: 300px;
}

input.form-element:placeholder {
    color: #909090;
    font-weight: 300;
    letter-spacing: 0.1rem;
    font-size: 1.2rem;
}

input.userAttachment {
    background: transparent;
    border: none;
}

.privacy-container {
    margin-top: 1.5rem;
    width: 30vw;
    height: 10vh;
}

input.singleInput {
    width: 1vw;
    height: 5vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

label#labelId, label#labelAgeId {
    width: 18vw;
    margin-left: 1vw;
    font-size: 0.8rem;
    line-height: 0.8rem;
    letter-spacing: 0.1rem;
    text-align: right;
}

.input-label span {
    position: relative;
    bottom: unset;
    font-size: 0.9rem;
    display: block;
    right: unset;
    color: #555;
    text-transform: lowercase;
    font-weight: 200;
    letter-spacing: 0.15rem;
}

#risultatoForm-Id,
#formLoader {
    width: 19vw;
    position: absolute;
    bottom: -26vh;
    right: 12rem;
    background: transparent;
    color: #000;
    font-size: 0.9rem;
    line-height: 1rem;
    border: 0.5px solid #000;
    padding: 0.5rem;
    border-radius: 0.5rem;
    display: none;

    position: fixed;
    top: 35vh;
    bottom: unset;
    left: calc(50vw - 12.5vw);
    background: #FFF;
    font-size: 1.5rem;
    line-height: 1.5rem;
    padding: 2rem;
    box-sizing: border-box;
}

#closingButtonID {
    width: 10vw;
    padding: 1rem;
    color: #000;
    background: #ffc400;
    border-radius: 0.5rem;
    margin-left: calc(50% - 5vw);
    margin-top: 3rem;
    box-sizing: border-box;
    cursor: pointer;
}
/* CONTAINER PRINCIPALE */
.uploaded-files-container {
    width: calc(20vw - 1.4rem);
    padding: 0.7rem;
    margin-left: 10vw;
    margin-top: 15px;
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 10px;
    overflow: hidden;
    transition: 0.25s;
    background: #fff;
    font-family: Arial, sans-serif;
}

/* HEADER SUPERIORE */
.uploaded-files-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 12px;
    background: #f7f7f7;
    font-weight: 600;
    font-size: 14px;
    width: calc(100% - 1.4rem);
    margin-top: 1rem;
    border-radius: 5px;
}

/* HEADER COLONNE */
.uploaded-files-header-row {
    display: grid;
    grid-template-columns: 1fr 120px 80px;
    padding: 8px 12px;
    background: #fafafa;
    border-bottom: 1px solid #e6e6e6;
    font-size: 12px;
    font-weight: 600;
    color: #666;
}

/* LISTA FILE */
.uploaded-files-list {
    display: block;
    width: calc(100% - 1.4rem);
}

/* RIGA FILE */
.uploaded-file-row {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 120px 80px;
    align-items: center;
    padding: 10px 12px;
    border-bottom: 1px solid #f0f0f0;
    font-size: 13px;
}

/* NOME FILE */
.col-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* SIZE */
.col-size {
    text-align: center;
    color: #777;
}

/* AZIONE */
.col-action {
    text-align: right;
}

/* BUTTON REMOVE */
.remove-uploaded-file {
    background: transparent;
    border: 1px solid #ccc;
    padding: 3px 8px;
    font-size: 11px;
    cursor: pointer;
    border-radius: 3px;
    transition: 0.2s ease;
}

.remove-uploaded-file:hover {
    background: #f2f2f2;
}

/* EMPTY STATE */
.empty-upload-message {
    padding: 12px;
    font-size: 13px;
    color: #999;
    width: 100%;
    text-align: center;
    float: left;
}

/* ERROR STATE */
.uploaded-files-container.error {
    border-color: #e74c3c;
}

.uploaded-files-container.error #uploadedFilesSize {
    color: #e74c3c;
}

/*GESTIONE DIMENSIONE DEI FILE ALLEGATI*/

/*gestione pannello x messaggi errore*/
.error-message {
    color: red !important;
    border: 0.5px solid red !important;
}

span.auto-closing-message,
span#closing-countdown {
    color: #666;
    font-size: 0.7rem;
    width: 100%;
    text-align: center;
    letter-spacing: 0.1rem;
    margin: 0.2rem;
}

input.button {
    position: relative;
    right: 0;
    border: none;
    border-radius: 0.5rem;
    color: #000;
    background: #ffc400;
    font-size: 1rem;
    letter-spacing: 0.1rem;
    padding: 0.7rem;
    text-transform: uppercase;
    width: 5vw;
    text-align: center;
    cursor: pointer;
    float: right;
    margin-right: 10vw;
    margin-top: 5rem;
    margin-bottom: 2rem;
}

.footer {
    width: 100vw;
    background: #222222;
    height: 20vh;
    margin: 0;
    margin-top: 5rem;
}

.studios-logo-footer {
    width: 15vw;
    height: auto;
    margin-left: 2rem;
    margin-top: 2rem;
    filter: invert(100%);
    cursor: pointer;
}

/*GESTIONE DEI LINK ESTERNI TRAMITE IFRAME PER EVITARE USCITA DALLA PAGINA*/
.iframe-container {
    position: fixed;
    left: 0;
    width: 100vw;
    min-width: 100vw;
    height: 100vh;
    min-height: 100vh;
    background: #00000090;
    /*visibility: hidden;*/
    display: none;
}

.iframe-content {
    width: 95vw;
    min-width: 95vw;
    height: 85vh;
    min-height: 85vh;
    position: absolute;
    /*top: 105vh;*/
    bottom: 0vh;
    left: 2.5vw;
    border: 0.5rem solid #FFF;
    border-top-right-radius: 1rem;
    border-top-left-radius: 1rem;
    z-index: 999;
}

.external-link-container {
    width: 95vw;
    min-width: 95vw;
    height: 85vh;
    min-height: 85vh;
    position: absolute;
    bottom: 0;
    left: 0;
    border-top-right-radius: 1rem;
    border-top-left-radius: 1rem;
}

.iframe-closing-button {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: #00000015;
    border-radius: 5rem;
    border: none;
    padding: 1.5rem;
    border: 0.5px solid #FFF;
}

/*GESTIONE DEI 3 RIQUADRI FINALI*/
.single-casting-external-links-container {
    width: 70vw;
    display: flex;
    align-items: center;
}

.single-external-link-container {
    width: calc(((70vw) / 3));
    min-height: 25vh;
    padding: 1rem;
    margin: 1.5rem;
    border-radius: 1rem;
    background: #f9f9f9;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}

.single-external-link-datas-content {
    width: calc((70vw / 3) - 7rem);
    height: auto;
    display: grid;
}

.single-external-text-container {
    width: calc((70vw / 3) - 7rem);
    height: auto;
    min-height: 5vh;
}

.single-external-link-text {
    text-align: left;
    font-weight: 200;
    color: #000;
    font-size: 1.1rem;
    line-height: 1.2rem;
    letter-spacing: 0.1rem;
}

/*GESTIONE DEL LINK (inserito come uno span quindi chiamato con span.single-external-button) INTERNO AL PRENAME BUTTON*/
span.single-external-button-link {
    color: #0055c3;
    text-decoration: underline;
    cursor: pointer;
}

/*GESTIONE DEL LINK ESTERNO COME BOTTONE (contenuto quindi in un markuop html <button></button>*/
.single-external-button-container {
    width: calc((70vw / 3) - 7rem);
    height: 3rem;
    display: flex;
    align-items: center;
    justify-content: start;
}

.single-external-button {
    border: none;
    padding: 1rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    border-radius: 5rem;
    font-size: 1rem;
    letter-spacing: 0.1rem;
    color: #000;
    background: #00000015;
}

/*GESTIONE DEI CASTING PRIMA DEL FOOTER*/

/*GESTIONE ALL CASTING CONTAINER*/
h1.other-casting-title {
    color: #000;
    font-size: 2.5rem;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: -0.2rem;
    padding: 2.5rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    width: 100vw;
    box-sizing: border-box;
    letter-spacing: 0.2rem;
}

.casting-container {
    position: relative;
    margin-left: 0;
    width: 100vw;
    height: auto;
    min-height: 100vh;
    background: #f5f5f5;
    padding-top: 5vh;
}

.all-casting-container-title {
    width: 50vw;
    margin-top: 2rem;
    margin-left: 5vw;
    font-size: 3rem;
    font-weight: 900;
    letter-spacing: -0.05rem;
    text-transform: uppercase;
}

/*GESTIONE SINGLE CASTING*/
.single-casting-container {
    width: calc((96vw / 4) - 2vw);
    margin: 1vw;
    background: #FFF;
    border-radius: 1rem;
    height: 43vh;
    min-height: 43vh;
    overflow: hidden;
    box-shadow: 0 0 0.5rem #00000020;
}

.single-casting-background-img {
    width: calc((96vw / 4) - 2vw);
    min-height: 28vh;
    max-height: 28vh;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 1rem;
    object-fit: cover;
    object-position: top;
}

.single-casting-info-container {
    /*background: linear-gradient(218deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.71) 78%, rgba(255, 255, 255, 0) 100%);*/
    background: #fdfdfd;
    width: calc((96vw / 4) - 2vw);
    padding: 0.5rem;
    box-sizing: border-box;
    height: 18vh;
    min-height: 18vh;
    text-align: right;
    position: absolute;
    bottom: 0;
    border-radius: 1rem;
}

.single-casting-expiration {
    width: calc((((96vw / 4) - 2vw) - 0.9rem) / 2);
    margin-left: calc(((96vw / 4) - 2vw) / 2);
    margin-right: 0.4rem;
    height: auto;
    text-align: right;
    font-size: 0.75rem;
    font-weight: 300;
    line-height: 1rem;
    text-transform: uppercase;
    background: #000;
    color: #FFF;
    padding: 0.2rem;
}

.single-casting-title {
    width: calc(((96vw / 4) - 2vw) - 2rem);
    height: auto;
    margin-bottom: 0.3rem;
    text-align: right;
    font-size: 1.2rem;
    font-weight: 750;
    letter-spacing: 0.05rem;
    line-height: 1rem;
    text-transform: uppercase;
    margin-top: 0.3rem;
    display: grid;
}

span.detail-location-name {
    width: 100%;
    margin: 0;
    margin-bottom: 0.5rem;
    font-size: 0.7rem;
    color: #444;
    text-transform: uppercase;
    letter-spacing: 0.1rem;
    line-height: 1rem;
    font-weight: 200;
    min-height: 1rem;
}

span.detail-single-location-value {
    width: auto;
    margin-left: 0.1rem;
    padding: 0.15rem;
    background: #000;
    border-radius: 5rem;
    color: #FFF;
    font-weight: 500;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.single-casting-sub-title {
    width: calc((96vw / 4) - 4vw);
    height: auto;
    text-align: right;
    text-transform: uppercase;
    font-size: 0.9rem;
    letter-spacing: 0.05rem;
    color: #000;
    font-weight: 300;
    margin-bottom: 1rem;
}

.single-casting-main-info-list {
    width: calc((96vw / 4) - 4vw);
    padding-left: 2vw;
    box-sizing: border-box;
    text-align: right;
    list-style: none;
}

.single-casting-info-item {
    width: calc((96vw / 4) - 6vw);
    margin-bottom: 0.5rem;
    float: right;
}

.info-detail-name {
    color: #000;
    background: #00000015;
    padding: 0.5rem;
    padding-top: 0.1rem;
    padding-bottom: 0.1rem;
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.08rem;
    border-radius: 2rem;
    line-height: 0.8rem;
    clear: both;
    float: right;
    margin-bottom: 0.1rem
}

span.single-detail-value {
    width: calc((96vw / 4) - 6vw);
    font-weight: 300;
    color: #000;
    float: right;
    font-size: 0.9rem;
    line-height: 0.9rem;
    text-align: right;
    text-transform: uppercase;
}

.single-casting-cta-button {
    position: absolute;
    bottom: 1rem;
    right: 1.3rem;
    background: #FFF;
    color: #000;
    font-weight: 500;
    font-size: 1rem;
    text-transform: uppercase;
    border-radius: 0.3rem;
    padding: 0.7rem;
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
    border: none;
    border: 0.5px solid #000;
}

/*GESTIONE DEL PANNELLO SHARING*/
.single-casting-sharing-button {
    position: absolute;
    bottom: 1rem;
    left: 1rem;
    border: none;
    background: #FFF;
    color: #000;
    border-radius: 5rem;
    padding: 0.3rem;
    display: flex;
    align-items: middle;
    justify-items: center;
    border: 0.5px solid #000;
}

/*******************************/
/*gestione del pannello sharing*/
#sharing-panel {
    position: fixed;
    bottom: -70vh;
    left: 35vw;
    width: 30vw;
    min-width: 30vw;
    max-width: 30vw;
    height: 70vh;
    min-height: 70vh;
    max-height: 70vh;
    padding: 2.5rem;
    box-sizing: border-box;
    background: #202020;
    z-index: 9999999999;
}

@keyframes sharing-panel-appear {
    from {
        bottom: -70vh;
        opacity: 0;
    }

    to {
        bottom: 0;
        opacity: 1;
    }
}

.open-sharing-panel {
    animation: sharing-panel-appear;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
}

.close-sharing-panel {
    animation: sharing-panel-close;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
}

@keyframes sharing-panel-close {
    from {
        bottom: 0;
        opacity: 1;
    }

    to {
        bottom: -70vh;
        opacity: 0;
    }
}

.sharing-title {
    color: #FFF;
    font-size: 3rem;
    text-transform: uppercase;
    width: 100%;
    font-weight: 100;
    border-bottom: 0.5px solid #CCC;
}

.icons-container {
    width: 20vw;
    margin-left: calc(5vw - 2.5rem);
    height: auto;
    max-height: 5vw;
}

.social-icon {
    width: calc(15vw / 3);
    height: calc(15vw / 3);
    fill: #FFF;
    color: #FFF;
    font-size: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

#status {
    position: absolute;
    right: 0;
    bottom: -2rem;
    padding: 0.2rem;
    padding-right: 0.4rem;
    padding-left: 0.4rem;
    background: #000;
    color: #FFF;
    font-weight: 100;
    border-radius: 0.3rem;
    display: none;
}

.container-mail-sender {
    width: calc(30vw - 7rem);
    position: absolute;
    bottom: -25vh;
    left: 0;
    padding: 1rem;
    border-radius: 1rem;
    height: 20vh;
    color: #FFF;
}

.inputInstruction {
    font-weight: 100;
    font-size: 1.5rem;
    text-align: left;
    line-height: 0.5rem;
    margin-top: 1rem
}

input.emailInputClass {
    padding: 1rem;
    border-radius: 15.6rem;
    border: none;
    width: 20vw;
    font-size: 1rem;
    margin-top: 2rem
}

.shareMailButton {
    color: #FFF;
    letter-spacing: 0.3rem;
    border-radius: 0.4rem;
    background: #202020;
    padding: 1.5rem;
    font-weight: 100;
    clear: both;
    margin-top: 1.5rem;
    padding-top: 0.7rem;
    padding-bottom: 0.7rem;
    font-size: 1.1rem;
    cursor: pointer;
    transition: 0.2s;
}

.shareMailButton:hover {
    background: #101010;
    transition: 0.2s;
}

.validationMessage {
    color: #FFF;
    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;
}

/**/

.closing-sharing-button {
    position: absolute;
    top: -2.5vh;
    right: -2.5vh;
    border-radius: 3.1rem;
    color: #FFF;
    background: rgba(255, 255, 255, 0.1);
    cursor: pointer;
    transition: 0.2s;
    font-size: 2em;
    padding: 10px;
    border: 0.5px solid #FFF;
    z-index: 999;
}

.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);
    }
}

/********************/
/********************/
/*                  */
/* 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;
    width: 100vw;
    height: 100vh;
    min-width: 100vw !important;
    min-height: 100vh !important;
    left: 0;
    top: 0;
    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;
    width: 40vw;
    height: 20vh;
    position: absolute;
    top: 40vh;
    left: 30vw;
}

/*gestione layout Composit*/
#composit {
    z-index: 999;
    display: none;
    font-family: 'Outfit', sans-serif;
}

.page {
    width: 148mm;
    /* Larghezza A5 */
    height: 210mm;
    /* Altezza A5 */
    /*margin: 20px; /* Margini esterni */
    padding: 0px;
    /*prima 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%;
}

.composit-title-container {
    width: calc(70% - 10mm);
    padding: 5mm;
    height: auto;
    position: absolute;
    top: 5mm;
    background: #000000;
    color: #FFF;
    right: 30%;
}

.composit-text-container {
    width: calc(70% - 10mm);
    max-height: 180mm;
    position: absolute;
    bottom: 0mm;
    right: 30%;
    padding: 5mm;
    background: #000000da;
    color: #FFF;
    text-align: right;
}

h1.compositName {
    width: 100% !important;
    max-height: unset !important;
    font-size: 7mm !important;
    line-height: 7mm !important;
    letter-spacing: 0.5mm !important;
    text-align: left !important;
    font-weight: 750;
    text-transform: uppercase;
}

.compositExpData {
    width: 100% !important;
    font-size: 3mm !important;
    line-height: 3mm !important;
    letter-spacing: 0.5mm !important;
    text-align: left !important;
    margin-top: 2mm !important;
    font-weight: 300;
}

.compositLocation {
    width: 100% !important;
    font-size: 3mm !important;
    line-height: 3mm !important;
    letter-spacing: 0.5mm !important;
    text-align: left !important;
    margin-top: 4mm !important;
    font-weight: 500;
    text-transform: uppercase;
}

.compositData {
    width: 100% !important;
    font-size: 3mm !important;
    line-height: 3mm !important;
    letter-spacing: 0.5mm !important;
    text-align: left !important;
    margin-top: 4mm !important;
    font-weight: 500;
    text-transform: uppercase;
}

.compositReq {
    width: 100% !important;
    font-size: 3mm !important;
    line-height: 3mm !important;
    letter-spacing: 0.5mm !important;
    text-align: left !important;
    margin-top: 4mm !important;
    font-weight: 500;
    text-transform: uppercase;
}

.compositCover {
    width: 148mm !important;
    height: 210mm !important;
    min-width: 148mm !important;
    min-height: 210mm !important;
    max-width: 148mm !important;
    max-height: 210mm !important;
    margin-left: calc(0mm - 0px) !important;
    margin-right: calc(0mm - 0px) !important;
    margin-top: 0mm !important;
    margin-bottom: 0mm !important;
    background-color: grey;
    background-size: cover !important;
    background-repeat: no-repeat;
    background-position: center top !important;
}

.compositDescr {
    width: 100% !important;
    max-height: unset !important;
    font-size: 3mm !important;
    line-height: 3.2mm !important;
    letter-spacing: 0.5mm !important;
    text-align: left !important;
    margin-top: 4mm !important;
    font-weight: 300;
}

.compositFrontLogo {
    position: absolute;
    bottom: 5mm;
    right: 5mm;
    width: 30mm;
    min-width: 30mm;
    max-width: 30mm;
    height: auto;
    filter: invert(100%);
    margin-top: 2.5mm;
}

p.compositLastInfo {
    position: absolute;
    right: 5mm;
    bottom: 50mm;
    width: 30mm;
    height: 10mm;
    font-size: 3mm;
    color: #FFF;
    text-align: center;
    line-height: 3mm;
    margin-left: 1.5mm;
    margin-right: 1.5mm;
}

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;
}



.align-left {
    text-align: left;
}

.align-right {
    text-align: right;
}

.single-name-Feature {
    background: #ffffff75;
    color: #000;
    text-transform: uppercase;
    padding: 0.20mm;
    padding-right: 3mm;
    text-transform: uppercase;
    margin-right: 1mm;
    border-radius: 2rem;
}

/*GESTIONE DISPOSITIVI 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;
    }
}



/*GESTIONE DISPOSITIVI MOBILE*/
@media (min-width: 279px) and (max-width: 823px) {
    .casting-datas-content {
        width: 90vw;
        margin: 5vw;
        margin-top: 0;
    }

    .casting-category-list {
        width: 90vw;
        margin-left: 0;
        margin-top: 0;
        display: flex;
        margin-bottom: 0;
    }

    .casting-category-list-item {
        width: auto;
        box-sizing: border-box;
        padding: 0.5rem;
        padding-bottom: 0.5rem;
        margin-right: 0;
        font-weight: 200;
        text-transform: uppercase;
        margin-top: 0.7rem;
        font-size: 0.6rem;
        padding-bottom: 0;
    }

    .casting-main-title {
        width: 90vw;
        margin-left: 0;
        font-size: 3rem;
        line-height: 2.7rem;
        margin-top: 1rem;
    }

    span.casting-main-title-decoration {
        width: 90vw;
        margin-top: 0.5rem;
    }

    .go-to-apply-button-container {
        width: 90vw;
        margin-left: 0;
        height: 4rem;
    }

    .casting-datas-detail {
        width: 90vw;
        height: auto;
        margin: 0;
    }

    .casting-datas-detail-cover-img {
        width: 100vw;
        margin-left: -5vw;
        height: 24vh;
        max-height: 24vh;
    }

    /*GESTIONE DEL VIDEO*/
    .casting-main-video-container,
    .casting-main-video-content,
    .casting-video-content,
    .video-videobook {
        width: 100vw;
        margin-left: -5vw;
        height: 25vh;
        max-height: 25vh;
    }

    .casting-main-video-content,
    .casting-video-content,
    .video-videobook {
        width: 100vw;
        margin-left: 0;
        height: 25vh;
        max-height: 25vh;
    }

    .video-videobook {
        width: calc(100vw - 0rem);
        height: 25vh;
        object-position: top;
        object-fit: cover;
        margin-left: 0vw;
    }

    .casting-video-author-icon-container {
        padding: 1rem;
    }

    .casting-main-subtitle {
        width: 90vw;
        margin-left: 0;
        margin-top: 1.5rem;
        font-size: 1.5rem;
        line-height: 1.5rem;
        font-weight: 200;
        letter-spacing: 0.1rem;
    }

    .single-casting-detail-box-container {
        width: 90vw;
        margin-right: 0;
        margin-left: 0;
        margin-top: 4rem;
    }

    .single-casting-detail-box {
        width: calc(90vw - 0vw);
        margin: 0;
        margin-top: 1vw;
        margin-bottom: 1vw;
        border-radius: 1rem;
        padding: 1.5rem;
        padding-top: 1rem;
        padding-bottom: 1rem;
    }

    .single-casting-text-box-container {
        width: 90vw;
        margin: 0;
        height: auto;
    }

    .single-casting-text-box {
        width: 90vw;
        padding: 0rem;
        margin: 0;
        margin-top: 1.5rem;
        box-sizing: border-box;
        padding: unset;
        padding-top: 1rem;
        padding-bottom: 1rem;
        padding: 1rem;
    }

    .single-casting-images-container {
        width: 90vw;
        max-height: calc(90vw / 3);
        margin-right: 0;
        margin-bottom: 0;
    }

    .single-casting-book-images-container {
        width: calc(90vw - 3rem);
    }

    .casting-book-images {
        width: 90vw;
        margin-bottom: 2rem;
    }

    .single-casting-img {
        width: calc(((90vw - 3rem) / 3) - 0.5rem);
        height: calc((90vw - 3rem) / 3);
        margin-right: 0.5rem;
        margin-bottom: 0.5rem;
        object-fit: cover;
        object-position: center;
        cursor: pointer;
    }

    /*GESTIONE FORM MOBILE*/
    .form-container {
        width: 90vw;
        margin-left: 0;
        height: auto;
        margin-top: 4rem;
        margin-bottom: 2rem;
        padding: 1rem;
        box-sizing: border-box;
    }

    label.form-element {
        width: calc(90vw - 2rem);
    }

    input.form-element,
    textarea.form-element {
        width: calc(90vw - 4rem - 0.4px);
        padding: 1rem;
        border-radius: 0.5rem;
        border: 0.2px solid #606060;
        font-size: 1rem;
        margin-left: 0rem;
    }

    .privacy-container {
        margin-top: 1.5rem;
        width: calc(100vw - 4rem);
        /*usiamo il padding dei singoli elementi*/
        height: auto;
        min-height: 10vh;
    }

    input.singleInput {
        width: 5vw;
        height: 20vh;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    label#labelId, label#labelAgeId  {
        width: calc(85vw - 4rem);
        margin-left: 1vw;
        font-size: 1rem;
        padding: 1rem;
    }

    input.button {
        position: relative;
        right: unset;
        width: 55vw;
        margin-left: calc(22.5vw - 1rem);
        bottom: unset;
        font-size: 1rem;
        letter-spacing: 0.1rem;
        padding: 0.7rem;
    }

    .closing-logo {
        margin-top: 10vh;
        margin-left: 30vw;
        width: 40vw;
    }

    .closing-title {
        width: calc(100vw - 4rem);
        margin-left: 2rem;
        font-size: 3rem;
        margin-top: 2rem;
        margin-bottom: 2rem;
    }

    .closing-subtitle {
        width: calc(100vw - 4rem);
        margin-left: 2rem;
    }

    #risultatoForm-Id {
        bottom: -3vh;
        right: 0;
        background: transparent;
        color: #000;
        font-size: 0.9rem;
        line-height: 1rem;
        border: 0.5px solid #000;
        padding: 0.5rem;
        border-radius: 0.5rem;
        display: none;
        position: relative;
        margin-left: 0rem;
        width: calc(100vw - 3rem);
        margin-bottom: 5vh;

        padding: 0.5rem;
        border-radius: 0.5rem;
        display: none;
        position: fixed;
        margin-left: 0rem;
        width: calc(100vw - 3rem);
        margin-bottom: 5vh;
        bottom: unset;
        right: unset;
        left: 1.5rem;
        background: white;
        text-align: center;
        font-size: 1.3rem;
        line-height: 1.7rem;
        z-index: 99;
    }

    #closingButtonID {
        width: 80%;
        padding: 1rem;
        color: #000;
        background: #ffc400;
        border-radius: 0.5rem;
        margin-left: 10%;
        margin-top: 3rem;
        box-sizing: border-box;
        cursor: pointer;
    }

    .studios-logo-footer {
        width: 40vw;
    }

    /*GESTIONE PULSANTI*/
    .single-main-casting-button-container {
        width: 90vw;
        margin-bottom: 1rem;
        margin-left: 0vw;
    }

    /*GESTIONE BANNER AUTHOR*/
    .media-author {
        width: 100vw;
        top: calc(25vh - 3rem);
    }

    /*GESTIONE PANNELLI LINK*/
    .single-casting-external-links-container {
        width: 90vw;
        margin-left: 0;
    }

    .single-external-link-container {
        width: calc(((90vw) / 1) - 0rem);
        min-height: 25vh;
        padding: 1rem;
        margin: 0rem;
        border-radius: 1rem;
        background: #f9f9f9;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 1rem;
    }

    .single-casting-transparent-box {
        padding: 0;
        margin-top: 2rem;
        margin-bottom: 2rem;
    }

    .single-casting-book-container-open-button {
        width: 100%;
        padding: 0.7rem;
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 1.5rem;
    }

    .single-casting-books-container {
        width: 100%;
        padding: 1.5rem;
        padding-top: 0;
        margin: 0;
        margin-bottom: 0.5rem;
    }

    /*GESTIONE TESTI*/
    .single-casting-text-box-value {
        font-size: 1.1rem;
        line-height: 1.2rem;
        margin-bottom: 1rem;
    }

    .single-casting-detail-box-value {
        font-size: 1.1rem;
        line-height: 1.2rem;
    }

    /*GESTIONE */
    .single-casting-text-box-container,
    .single-casting-external-form-button-container {
        width: 90vw;
        margin-top: 2rem;
        margin-left: 0vw;
    }

    .single-casting-external-fomr-button-pretext {
        font-size: 1.5rem;
        line-height: 1.5rem;
        text-align: right;
        letter-spacing: 0.2rem;
        text-transform: uppercase;
        font-weight: 300;
    }

    .single-casting-external-fomr-button-pretext,
    .single-casting-external-form-button-container-black {
        width: calc(90vw - 2vw);
        padding: 1rem;
        margin: 0rem;
        margin-left: 0rem;
        margin-right: 0rem;
    }

    .single-casting-external-form-button-container-black {
        margin-top: 1rem;
    }

    .single-casting-external-fomr-button-pretext-terminated-casting {
        padding: 1rem;
        width: 100%;
        text-align: right;
    }

    .text-button-expired-casting {
        padding: 1rem;
        box-sizing: border-box;
    }

    .single-casting-external-form-button {
        margin-left: 0vw;
        margin-top: 1.5rem;
    }

    /*GESTIONE CONTENUTO*/
    .single-external-link-datas-content {
        width: calc((90vw / 1) - 2rem);
        padding: 1rem;
        height: auto;
        display: grid;
    }

    .single-external-text-container {
        width: calc((90vw / 1) - 2rem);
        height: auto;
        min-height: 5vh;
    }

    .single-external-link-text {
        text-align: left;
        font-weight: 200;
        color: #000;
        font-size: 1.1rem;
        line-height: 1.2rem;
        letter-spacing: 0.1rem;
    }

    .single-external-button-container {
        width: calc((90vw / 1) - 2rem);
    }

    /*GESTIONE TITOLO SEZIONE "GUARDA ANCHE"*/
    #data-container {
        width: 90vw;
        min-height: 83vh;
        margin-top: 7vh;
        margin-right: 5vw;
        margin-left: 5vw;
    }

    h1.other-casting-title {
        color: #333333;
        font-size: 3rem;
        line-height: 3rem;
        text-align: left;
        text-transform: uppercase;
        letter-spacing: -0.2rem;
        padding: 1rem;
        width: 100vw;
        box-sizing: border-box;
    }

    /***************************/
    /* GESTIONE DELLA GALLERIA */
    /***************************/

    /*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;
    }


    /*************************************/
    /* GESTIONE SINGLE CASTING WALL VIEW */
    /*************************************/
    .single-casting-container {
        width: calc(90vw / 1);
        margin: 0vw;
        margin-bottom: 5vh;
        border-radius: 1rem;
        height: auto;
        min-height: 30vh;
        overflow: hidden;
    }

    .single-casting-background-img {
        width: calc(90vw / 1);
        min-height: 34vh;
        max-height: 34vh;
    }

    .single-casting-info-container {
        width: calc((90vw / 1) - 0rem);
        padding: 1rem;
        height: auto;
        min-height: 30vh;
    }

    .single-casting-expiration {
        width: calc(90vw - 2rem);
        margin-left: 0;
        margin-right: 0.4rem;
        height: auto;
        text-align: right;
        font-size: 0.75rem;
        font-weight: 300;
        line-height: 1rem;
        text-transform: uppercase;
        background: #000;
        color: #FFF;
        padding: 0.2rem;
    }

    .single-casting-title {
        width: calc((90vw / 1) - 2rem);
    }

    .single-casting-main-info-list {
        width: calc((90vw / 1) - 2rem);
        padding-left: 2vw;
        margin-top: 1rem;
        padding-bottom: 3rem;
    }

    .single-casting-info-item {
        width: calc((90vw / 1) - 2rem);
    }

    span.single-detail-value {
        width: calc((90vw / 1) - 2rem - 2vw);
        margin: 1vw;
        margin-top: 0;
        margin-bottom: 0;
    }

    .info-detail-name {
        color: #000;
        margin: 1vw;
        margin-top: 0;
        margin-bottom: 0;
    }

    /*sharing*/
    #sharing-panel {
        position: fixed;
        bottom: -70vh;
        left: 0vw;
        width: 100vw;
        min-width: 100vw;
        max-width: 100vw;
        padding: 2.5rem;
    }

    .sharing-title {
        font-size: 2.2rem;
        width: calc(100vw - 5rem);
        margin-top: 1rem;
    }

    .icons-container {
        width: calc(100vw - 2.5rem);
        margin: left 0;
        max-height: 5vw;
    }

    .social-icon {
        width: calc((100vw - 2.5rem) / 4);
        height: calc((100vw - 2.5rem) / 4);
        font-size: 2rem;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
    }

    .container-mail-sender {
        width: calc(100vw - 7rem);
        bottom: -30vh;
        left: 0;
        padding: 0rem;
        border-radius: 1rem;
        height: 20vh;
    }

    .inputInstruction {
        font-weight: 100;
        font-size: 1.5rem;
        line-height: 1.5rem;
    }

    input.emailInputClass {
        width: calc(100vw - 7rem);
    }

    .shareMailButton {
        background: #101010;
    }

    .closing-sharing-button {
        right: 1.5vh;
    }

    /*GESTIONE DEL CASTING*/
    .single-casting-container {
        width: 100%;
        margin: 0;
        margin-bottom: 1rem;
        height: auto;
        min-height: unset;
        box-shadow: 0 0 1rem #00000080;
    }

    .single-casting-background-img {
        width: 100%;
        min-height: 28vh;
        max-height: 28vh;
        position: relative;
        top: unset;
        left: unset;
    }

    .single-casting-info-container {
        width: 100%;
        padding: 0.5rem;
        box-sizing: border-box;
        height: 18vh;
        min-height: unset;
        position: relative;
        bottom: unset;
        margin-top: -1.6rem;
    }

    .single-casting-title {
        width: 100%;
        display: grid;
    }

    span.detail-location-name {
        width: 100%;
    }

    #formLoader {
        position: fixed;
        top: 35vh;
        width: 80vw;
        left: unset;
        right: unset;
        right: 10vw;
        padding: 1rem;
        box-sizing: border-box;
        border: 1px solid #000;
        border-radius: 0.5rem;
        color: #333;
        background: #FFF;
    }

    .uploaded-files-container {
        width: calc(90vw - 4rem);
        margin-left: 0;
    }
    
}


/*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;
    }
}