﻿html {
    height: 100%;
}

body {
    margin: 0px;
    height: 100%;
    background-color: #FFF;
}


* {
    margin: 0px;
    padding: 0px;
    outline: none;
    border: none;
    box-sizing: border-box;
    font-family: 'Raleway', sans-serif;
}

.master {
    display: block;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.miniAdmin {
    position: fixed;
    top: 0;
    right: 0;
    padding: 10px;
    color: #999;
    font-size: 11px;
    z-index: 5;
    text-decoration: none;
    text-transform: uppercase;
    border:0;
}

    .miniAdmin:hover {
        color: #000;
        border:0;
    }

h1, h2 {
    margin-bottom: 8px;
    line-height: 30px;
}

h1 {
    font-family: 'Raleway', sans-serif;
    font-weight: 200;
    text-transform: uppercase;
    font-size: 30px;
    margin: 20px 10px;
    text-align: center;
}

h2 {
    font-family: 'Raleway', sans-serif;
    font-weight: 700;
    font-size: 38px;
}

p {
    clear: both;
    font-family: 'Raleway', sans-serif;
    font-size: 14px;
    line-height: 24px;
    padding: 10px 0;
}

#content_site {
    position: relative;
    z-index: 3;
    width: 100%;
    display: block;
    padding: 40px 0 100px 0 ;
}

.distTop {
    display: block;
    width: 100%;
    height: 150px;
}

.underBoxLogo {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    text-align: center;
    width: 100%;
    z-index: 4;
    padding: 0;
    height: 220px;
}

.underBgTopWhite {
    display: block;
    position: relative;
    width: 100%;
    background-color: #fff;
    height: 60%;
}

.underBgBottomWhite {
    display: block;
    position: relative;
    width: 100%;
    height: 50%;
}




.insidePage .boxLogo {
    text-align: left;
    width: 135px;
    height: 100%;
    background-color: #fff;
    border-right: 1px solid #f5f5f5;
}

.insidePage .logo {
    margin-left: 0;
}

.insidePage .boxMenu {
    position: absolute;
    top: 140px;
    width: 100%;
    text-align: center;
    max-width: none;
    left: 0;
    right: 0;
}

.insidePage .distTop {
}

.insidePage #content_site {
    padding-left: 135px;
    padding-top: 0;
}

.insidePage .underBoxLogo {
    height: 140px;
    width: 135px;
}

.insidePage .boxSquare {
    text-align: left !important;
}


.boxLogo {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    text-align: center;
    width: 100%;
    z-index: 5;
    padding: 10px;
}

.logo {
    position: relative;
    display: block;
    margin: 0 auto;
    width: 113px;
    height: 125px;
    background-image: url(../App_Images/logo-alberto-loro.png);
    background-position: center center;
    background-repeat: no-repeat;
    border:none;
}
.logo:hover {
    border:none;
}
.boxMenu {
    display: block;
    font-family: 'Open Sans Condensed', sans-serif;
    padding: 20px;
    text-align: center;
    color: #f00;
    font-size: 14px;
    font-weight: bold;
    max-width: 190px;
    margin: 0 auto;
    text-decoration: none;
    position: relative;
    cursor: pointer;
}

    .boxMenu:hover {
        color: #000;
    }

        .boxMenu:hover .listMenu {
            visibility: visible;
            opacity: 1;
        }

.listMenu {
    background-color: #000;
    padding: 10px;
    position: absolute;
    top: 55px;
    width: 100%;
    left: 0;
    right: 0;
    visibility: hidden;
    display: block;
    list-style: none;
    opacity: 0;
    -webkit-transition: opacity 0.4s cubic-bezier(.48,1,.63,.97);
    -moz-transition: opacity 0.4s cubic-bezier(.48,1,.63,.97);
    -ms-transition: opacity 0.4s cubic-bezier(.48,1,.63,.97);
    -o-transition: opacity 0.4s cubic-bezier(.48,1,.63,.97);
    transition: opacity 0.4s cubic-bezier(.48,1,.63,.97);
}

    .listMenu a {
        display: block;
        text-decoration: none;
        text-transform: uppercase;
        text-align: center;
        color: #fff;
        font-size: 14px;
        letter-spacing: 1px;
        font-family: 'Open Sans Condensed', sans-serif;
        padding: 10px 0;
        border:none;
    }

        .listMenu a:hover {
            color: #808080;
            border:none;
        }


.boxSquare {
    position: relative;
    width: 100%;
    display: block;
    text-align: center;
}

.square {
    display: inline-block;
    vertical-align: top;
    min-height: 150px;
    width: 150px;
    background-color: #ffffff;
    margin: 10px;
    position: relative;
    overflow: hidden;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    border: 1px solid #dedede;
}

    .square:hover {
        opacity: 0.6;
        border: 1px solid #dedede;
    }

        .square:hover * {
            -webkit-transform: scale(1.05); /* Safari and Chrome */
            -moz-transform: scale(1.05); /* Firefox */
            -ms-transform: scale(1.05); /* IE 9 */
            -o-transform: scale(1.05); /* Opera */
            transform: scale(1.05);
        }

.grad {
    background: -webkit-linear-gradient(bottom, rgba(255, 255, 255, 0.00), rgba(255, 255, 255,1));
    background: -o-linear-gradient(top, rgba(255, 255, 255,0), rgba(255, 255, 255,1));
    background: -moz-linear-gradient(bottom, rgba(255, 255, 255,0), rgba(255, 255, 255,1));
    background: linear-gradient(to top, rgba(255, 255, 255,0), rgba(255, 255, 255,1));
}

.maxWidth {
    max-width: 900px;
    position: relative;
    margin: 0 auto;
}



/*-- LAZY LOAD------------------------------------------------------------------*/
.preloader {
    position: absolute;
    height: 100%;
    width: 100%;
    z-index: 0;
    top: 0;
    left: 0;
    opacity: 1;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    transition: all 0.5s ease;
    background: transparent; /* gif preloader rimossa 2026-07-21 (blur-up) */
}

.endLoadLazy {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    height: 100%;
    width: 100%;
    display: block;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    opacity: 0;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.imagePortfolio {
    margin-left: 270px;
    width: calc( 100% - 270px) !important;
}

    .imagePortfolio .endLoadLazy {
        background-size: 100vh !important;
        position: fixed !important;
        top: unset;
        left: unset;
        width: calc( 100%);
    }

.singleSlide {
    position:absolute;
    top:0;
    left:0;
    height:100%;
    width:100%;
}

.imagePortfolio img {
    display: block;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    transition: all 0.5s ease;
    margin: 0 auto;
}

img.loaded {
    width: auto;
    height: auto;
}

.outerFixed {
    z-index: 4;
    position: fixed !important;
    top: 0;
}

/* ----- CENTER BOX ------*/
.outer {
    display: table;
    position: absolute;
    height: 100%;
    width: 100%;
    text-align: center;
}

.middle {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 100%;
}

.inner {
    margin-left: auto;
    margin-right: auto;
}
/* ----- CENTER BOX ------*/

.listNews {
    list-style: none;
}

    .listNews li {
        margin-bottom: 40px;
    }


.blockList {
    display: block;
    position: relative;
    margin-bottom: 30px;
}

.dataList {
    color: #666;
    font-size: 11px;
    text-transform: uppercase;
}

.titoloList {
    margin: 5px 0;
}

.descList p {
    padding: 0;
}

.fotoList {
    display: block;
    list-style: none;
    margin: 20px 0 30px 0;
}

    .fotoList li {
        height: 70px;
        width: 70px;
        display: inline-block;
        background-color: #f5f5f5;
        margin-right: 1px;
        margin-bottom: 1px;
        vertical-align: top;
        position: relative;
        cursor: pointer;
    }

        .fotoList li:hover {
            opacity: 0.6;
        }

        .fotoList li a {
            height: 70px;
            width: 70px;
            display: block;
            border:0;
        }
            .fotoList li a:hover {
                border:0;
            }

a {
    font-size: 11px;
    color: #666;
    text-decoration: none;
    margin: 3px;
}
a:hover {

    color: #000;
}

    a.btnRect {
        display: inline-block;
        padding: 6px 8px;
        border: 1px solid #999;
    }


.documentList {
    display: block;
    list-style: none;
    margin: 6px 0;
}

    .documentList li {
        display: inline-block;
    }

        .documentList li a {
            display: inline-block;
            padding: 6px 8px;
            border: 1px solid #999;
            font-size: 11px;
            color: #666;
            text-decoration: none;
            margin: 3px;
        }

            .documentList li a:hover {
                border: 1px solid #000;
                color: #000;
            }


.listNews a {
    display: inline-block;
    padding: 6px 8px;
    border: 1px solid #999;
    font-size: 11px;
    color: #666;
    text-decoration: none;
    margin: 3px;
}

    .listNews a:hover {
        border: 1px solid #000;
        color: #000;
    }


/* COL MENU WORKS */
.colWorkMenu {
    position: relative;
    top: 0;
    left: 0;

    width: 135px;
    display: block;
    background-color: #fff;
    border-right: 1px solid #f5f5f5;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    transition: all 0.5s ease;
    transform: translateX(135px);
    -o-transform: translateX(135px);
    -ms-transform: translateX(135px);
    -moz-transform: translateX(135px);
    -webkit-transform: translateX(135px);

}
    .colWorkMenu li {
        vertical-align:top;
        width:134px;
        height:134px;
        display:block;
        background-color:#fff;
    }

    .colWorkMenu li a {
        margin:0;
        width:134px;
        height:134px;
        display:block;
        position:relative;
        border:0;
    }
        .colWorkMenu li a:hover {
            opacity:0.5;
            border:0;
        }

.boxInfoWork {
    position:fixed;
    z-index:10;
    right:0;
    bottom:0;
    padding:10px;
    text-align:right;
    background-color:rgba(250,250,250,0.8);
}
    .boxInfoWork h1 {
        margin:0;
        text-align:right;
    }

#contentPortfolio {
    display:block;
    position:fixed;
    width:100%;
    height:100%;
}

/*------------------------------------*/

    .swiper-container {
        width: 100%;
        height: 100%;
    }
    .swiper-slide {
        text-align: center;
        font-size: 18px;
        background: #fff;
        /* Center slide text vertically */
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center;
    }

.swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: unset;
    top: 40px;
    height: calc(100% - 140px);
    width: 22px;
    right: 8px;
    left: unset;
    vertical-align:middle;
}
.swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    vertical-align:middle;
}
.swiper-pagination-bullet-active {
    opacity: 1;
    background: #f00;
}

/*-- BLUR-UP LOADING (sostituisce la gif preloader) — 2026-07-21 -------------*/
.preloader { background: transparent !important; }
.lazyBlur {
    position: absolute; top: 0; left: 0; z-index: 0;
    height: 100%; width: 100%;
    background-color: #ececec;
    background-size: cover; background-position: center center; background-repeat: no-repeat;
    -webkit-filter: blur(14px); filter: blur(14px);
    -webkit-transform: scale(1.1); transform: scale(1.1);
    opacity: 1;
    -webkit-transition: opacity 0.6s ease; transition: opacity 0.6s ease;
    will-change: opacity;
}
.endLoadLazy { z-index: 1; }


/*-- FOOTER minimale — 2026-07-21 --------------------------------------------*/
.siteFooter {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 3;
    width: 100%; display: block;
    padding: 12px 16px; min-height: 44px;
    border-top: 1px solid #ececec; background: #fff;
}
/* spazio in basso: il contenuto non finisce sotto al footer fisso */

.siteFooter .siteFooter-inner {
    max-width: 900px; margin: 0 auto;
    display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap;
    -webkit-align-items: center; align-items: center;
    -webkit-justify-content: center; justify-content: center;
    gap: 6px 22px; font-size: 12px; color: #666;
    text-transform: uppercase; letter-spacing: .5px;
}
.siteFooter a { color: #666; text-decoration: none; border: 0; }
.siteFooter a:hover { color: #000; border: 0; }
.siteFooter .sf-copy { color: #999; }
/* Dettaglio Work: footer fisso VISIBILE; alzo il box info per non sovrapporlo. */
.master.insidePage .boxInfoWork { bottom: 48px; }


/*-- PAGINE LEGALI (privacy / cookie) — 2026-07-21 ---------------------------*/
.legalDoc { max-width: 760px; margin: 0 auto; text-align: left; padding: 0 16px; }
.legalDoc .legalIntro { color: #666; font-style: italic; }
.legalDoc h2 { font-size: 20px; font-weight: 700; line-height: 1.3; text-transform: none; margin: 26px 0 6px; }
.legalDoc h3 { font-size: 15px; font-weight: 700; margin: 14px 0 2px; }
.legalDoc p { font-size: 14px; line-height: 23px; padding: 4px 0; }
.legalDoc ul { margin: 6px 0 6px 20px; }
.legalDoc li { font-size: 14px; line-height: 23px; padding: 3px 0; }
.legalDoc a { color: #000; text-decoration: underline; border: 0; }
.legalDoc .legalDate { margin-top: 22px; color: #999; font-size: 12px; }


/*-- Pulsante lingua attivo — 2026-07-21 --*/
a.btnRect.active { background-color: #AC0600; color: #FFFFFF; border-color: #AC0600; }


/*-- Immagini dentro il testo CMS (es. placeholder YouTube): responsive.
     !important per BATTERE gli stili inline (style="height:360px;width:640px") — 2026-07-21 --*/
.descList img,
.bodyWork img,
#txBiografia img {
    max-width: 100% !important;
    height: auto !important;
}


/*-- Iframe (video YouTube dal CMS) responsive 16:9. width/height sono attributi HTML:
     width:100% + aspect-ratio impongono il rapporto; !important per sicurezza — 2026-07-21 --*/
.descList iframe,
.bodyWork iframe,
#txBiografia iframe {
    display: block;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9;
    max-width: 100%;
    border: 0;
    margin: 15px 0;
}


/*-- SCALA TIPOGRAFICA coerente (solo corpi + interlinee) — 2026-07-21
     40 pagina > 28 anno-sezione > 22 titolo voce > 16 testo > 12 data.
     Uguale su Testimonials/Press/Events. Font, pesi e colori INVARIATI. --*/
h1 { font-size: 40px; line-height: 1.1; }
.titoloList, .blockList h3 { font-size: 22px; line-height: 1.2; }
.yearSep { font-size: 28px; line-height: 1.2; }
.descList, .descList p { font-size: 16px; line-height: 1.6; }

.dataList {
    list-style-position: inside;
    list-style-type: circle;
}
.dataList {
    font-size: 12px;
}


/*-- Swiper: pallino attivo bordeaux come il logo — 2026-07-21 --*/
.swiper-pagination-bullet-active { background: #ac0000 !important; opacity: 1 !important; }
