﻿/*inizio Classi utilizzate anche su CMS*/
.imgResize {
    width: 100%;
}

/* VIDEO RESIZE */
.videoResize, .mapResize {
    width: 100%;
    height: 490px;
}

.videoResizeDoppio1 {
    width: 405px;
    height: 228px;
}

.videoResizeDoppio2 {
    width: 405px;
    height: 240px;
}

.videoResizeHome {
    width: 100%;
    max-width: 870px;
    height: 500px;
}
/*end VIDEO RESIZE */

/* VIDEO BACKGROUND */

@-o-keyframes fadeIn {
    0% {
        background-color: black;
    }

    10% {
        background-color: black;
    }

    40% {
        background-color: #4568dc;
    }

    100% {
        background-color: transparent;
    }
}

@keyframes fadeIn {
    0% {
        background-color: black;
    }

    10% {
        background-color: black;
    }

    40% {
        background-color: #4568dc;
    }

    100% {
        background-color: transparent;
    }
}

.backgroundVideo {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    text-align: center;
    /*box-shadow: inset 0 -60px 7px #000, inset 0 60px 7px #000;*/
    animation-name: fadeIn;
    animation-duration: 10s;
    animation-iteration-count: 1;
    animation-delay: 0s;
    animation-timing-function: ease-in-out;
    -o-animation-name: fadeIn;
    -o-animation-duration: 15s;
    -o-animation-iteration-count: 1;
    -o-animation-delay: 0s;
    -o-animation-timing-function: ease-in-out;
}

    .backgroundVideo iframe {
        user-select: none;
        z-index: -1;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .backgroundVideo .contentOnVideo {
        position: absolute;
        top: 0;
        left: 0;
        color: white;
        width: 100%;
        height: 100%;
    }

        .backgroundVideo .contentOnVideo img {
            width: 100%;
            height: 100%;
        }

/* implementazione per gestione tramite youtube api, quando si riuscirà a farla funzionare: 
    il principio è che la classe backgroundVideo non gestisce più l'animazione, che invece è delegata alle classi fadeInVideo e fadeOutVideo,
    che vengono aggiunte e tolte dagli eventi js delle ytapi

@-o-keyframes fadeIn {
    0% {
        background-color: black;
    }

    20% {
        background-color: black;
    }

    40% {
        background-color: #4568dc;
    }

    100% {
        background-color: transparent;
    }
}

@keyframes fadeIn {
    0% {
        background-color: black;
    }

    20% {
        background-color: black;
    }

    40% {
        background-color: #4568dc;
    }

    100% {
        background-color: transparent;
    }
}

@-o-keyframes fadeOut {
    0% {
        background-color: transparent;
    }

    20% {
        background-color: transparent;
    }

    40% {
        background-color: #4568dc;
    }

    100% {
        background-color: black;
    }
}

@keyframes fadeOut {
    0% {
        background-color: transparent;
    }

    20% {
        background-color: transparent;
    }

    40% {
        background-color: #4568dc;
    }

    100% {
        background-color: black;
    }
}

.backgroundVideo {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    text-align: center;
}

.fadeInVideo {
    animation-name: fadeIn;
    animation-duration: 3s;
    animation-iteration-count: 1;
    animation-delay: 0s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
    -o-animation-name: fadeIn;
    -o-animation-duration: 15s;
    -o-animation-iteration-count: 1;
    -o-animation-delay: 0s;
    -o-animation-timing-function: ease-in-out;
    -o-animation-fill-mode: forwards;
}

.fadeOutVideo {
    animation-name: fadeOut;
    animation-duration: 3s;
    animation-iteration-count: 1;
    animation-delay: 0s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
    -o-animation-name: fadeIn;
    -o-animation-duration: 15s;
    -o-animation-iteration-count: 1;
    -o-animation-delay: 0s;
    -o-animation-timing-function: ease-in-out;
    -o-animation-fill-mode: forwards;
}

.backgroundVideo iframe {
    user-select: none;
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.backgroundVideo .contentOnVideo {
    position: absolute;
    top: 0;
    left: 0;
    color: white;
    width: 100%;
    height: 100%;
}

    .backgroundVideo .contentOnVideo img {
        width: 100%;
        height: 100%;
    }

*/

/*end VIDEO BACKGROUND*/

.imgGrayScaleToColor, .imgGrayScale {
    -webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
    filter: grayscale(100%);
}

    .imgGrayScaleToColor:hover {
        filter: none;
        -webkit-filter: grayscale(0%);
    }

.boxFlex100, .boxFlex100SpBetween, .boxFlex100SpBetweenCenter, .boxFlex100Start, .box3Sezioni {
    width: 100%;
    /*----flexbox-----*/
    display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-box; /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox; /* TWEENER - IE 10 */
    display: -webkit-flex; /* NEW - Chrome */
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    /*align-items: center;*/
}

.boxFlex100 {
    justify-content: center;
}

.boxFlex100SpBetween {
    justify-content: space-between;
}

.boxFlex100SpBetweenCenter {
    justify-content: space-between;
}

.boxFlex100Start {
    justify-content: flex-start;
    align-items: center;
}

.boxFlexContent73Plan {
    width: 73%;
    margin: 0 3px 0 3px;
    text-align: center;
}

.boxFlexContent48, .boxFlexContent48VideoDoppio, .boxFlexContent48Immagini {
    width: 48%;
    margin: 0 3px 0 3px;
    text-align: center;
}

.boxFlexContent48capo {
    width: 48%;
    margin: 0 3px 0 3px;
}

.boxFlexContent48ProgressLeft, .boxFlexContent48ProgressRight {
    width: 48%;
    margin: 0 2px 0 2px;
    padding: 0 5px 0 5px;
}

.boxFlexContent48ProgressLeft {
    text-align: right;
}

.boxFlexContent48ProgressRight {
    text-align: left;
}

    .boxFlexContent48ProgressLeft p, .boxFlexContent48ProgressRight p {
        clear: both;
        margin: 0 0 0 0;
        font-size: 0.85em !important;
    }

.boxFlexContent33 {
    width: 33%;
    /*min-width: 250px;*/
    text-align: center;
}

/* MF 10-06-2019 - aggiunte boxFlexContent15, boxFlexContent18 e boxFlexContent20 per inserire rispettivamente 6, 5 e 4 div affiancati*/

.boxFlexContent20 {
    width: 19.5%;
    margin-left: 3px;
    margin-right: 3px;
    text-align: center;
}

.boxFlexContent18 {
    width: 17.5%;
    margin-left: 3px;
    margin-right: 3px;
    text-align: center;
}

.boxFlexContent15 {
    width: 14.5%;
    margin-left: 3px;
    margin-right: 3px;
    text-align: center;
}

/* MF 2019-12-17 - aggiunta boxFlexContent12 per affiancare 8 div */
.boxFlexContent12 {
    width: 12%;
    margin-left: 2px;
    margin-right: 2px;
    text-align: center;
}
/* <= MF 2019-12-17 fine boxFlexContent12 */

.boxFlexContentLoghi { /* boxFlexContentLoghi questa classe generalizza quello che è definito in boxFlexContent25Loghi, e può essere richiamata insieme a qualsiasi altra classe boxFlexContent... */
    margin-bottom: 12px;
    display: flex;
    justify-content: center;
    flex-direction: column;
}

    .boxFlexContentLoghi img {
        margin: 0 auto;
    }

/* MF 10-06-2019 - fine modifiche*/

.boxFlexContent25, .boxFlexContent25Plan {
    width: 23.5%;
    margin: 0 3px 0 3px;
    text-align: center;
}

.boxFlexContent25Loghi {
    width: 24%;
    margin: 0 3px 12px 3px;
    text-align: center;
    display: flex;
    justify-content: center;
    flex-direction: column;
}

    .boxFlexContent25Loghi img {
        margin: 0 auto;
    }

.boxFlexContent23 {
    width: 23%;
    margin: 0 3px 0 3px;
    text-align: center;
}

.boxFlexContentBorder {
    max-width: 297px;
    margin: 0 5px;
    border: 3px solid #4568dc;
    background-color: #fff;
}

    .boxFlexContentBorder img {
        border-bottom: 3px solid #4568dc;
        margin-bottom: 10px;
    }

.box3Sezioni {
    background-color: rgba(0, 0, 0, 0.7);
    justify-content: space-between;
    /*border-radius: 5px;*/
    padding: 7px;
}

    .box3Sezioni .sezioneBox3 {
        flex: 1;
        font-size: 26px;
        color: #fff;
        text-align: center;
    }

        .box3Sezioni .sezioneBox3:first-child, .box3Sezioni .sezioneBox3:nth-child(2) {
            border-right: 2px solid #fff;
        }

        .box3Sezioni .sezioneBox3 p {
            margin: 10px 0 10px 0 !important;
        }

.colonnaTesto {
    width: 47%;
    margin: 0 5px 0 5px;
}

.left65 {
    float: left;
    width: 65%;
    margin-right: 10px;
}

.right33 {
    float: right;
    width: 33%;
}


.borderVertical, .borderVerticalColonne {
    width: 1px;
    border-left: 1px solid #646464;
}

/* MF 07-06-2019 - giiunte classi per inserire div contenenti testo con bordo laterale */
.borderVerticalLeftText {
    border-left: 1px solid #646464;
}

.borderVerticalLeftRightText {
    border-left: 1px solid #646464;
    border-right: 1px solid #646464;
}

.borderVerticalRightText {
    border-right: 1px solid #646464;
}

/* MF 07-06-2019 - fine modifiche */

/* sovrascrivo stile bootstrap sui btn */

.btn-link {
    color: #4568dc !important;
}

.button {
    padding: 9px 18px;
    margin: 0 auto;
}

.buttonRight {
    padding: 9px 18px;
    margin-bottom: 10px;
    float: right;
}

.buttonLeft {
    padding: 9px 18px;
    margin-bottom: 10px;
    float: left;
}

.buttonSlim {
    padding: 5px 10px;
    margin: 0 auto;
}

.button, .buttonSlim, .buttonRight, .buttonLeft {
    max-width: 300px;
    display: block;
    /*border: 1px solid #646464;*/
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    background-color: #4568dc;
    -webkit-box-shadow: rgba(255,255,255,0.4) 0 1px 0, inset rgba(255,255,255,0.4) 0 1px 0;
    -moz-box-shadow: rgba(255,255,255,0.4) 0 1px 0, inset rgba(255,255,255,0.4) 0 1px 0;
    box-shadow: rgba(255,255,255,0.4) 0 1px 0, inset rgba(255,255,255,0.4) 0 1px 0;
    /*text-shadow: 0 1px 0 #ffffff;*/
    color: #ffffff; /*#0A0A0A*/
    font-size: 14px;
    font-family: 'Overpass Black', 'Verdana', 'Arial', 'Sans Serif';
    text-decoration: none;
    vertical-align: middle;
    -webkit-transition: background-color 0.8s ease-out;
    -moz-transition: background-color 0.8s ease-out;
    -o-transition: background-color 0.8s ease-out;
    transition: background-color 0.8s ease-out;
    /* MF 24/09/2022 - rimuovo bordo perché non centra più con lo stile del sito */
    border: none;
}

    .button a, .buttonSlim a, .buttonRight a, .buttonLeft a {
        color: #ffffff !important;
        text-decoration: none !important;
        /*font-size:inherit !important;*/
        font-weight: normal;
        cursor: pointer;
    }

    .button:hover, .button:active, .buttonSlim:hover, .buttonSlim:active, .buttonRight:hover, .buttonRight:active, .buttonLeft:hover, .buttonLeft:active {
        /*border: 1px solid #4568dc;
            text-shadow: 0 1px 0 #000000;
            background-color: #646464;
            color: #ffffff;*/
        /*opacity: 0.5;*/
        color: #0A0A0A !important; /*#ffffff*/
        background-color: #38AC8F;
        text-decoration: none !important;
    }

    .button *:hover {
        color: #0A0A0A !important; /*#ffffff*/
    }

    .buttonRight:after, .buttonLeft:after {
        display: block;
        float: none;
        clear: both;
    }

    .button a span:hover, .button a span:active { /*.button a:hover, .button a:active*/
        color: #0A0A0A !important; /* #fff*/
    }

.buttonContenutiFiera {
    cursor: pointer;
    margin: 10px 5px 10px 5px;
    text-align: center;
    vertical-align: middle;
}

/* INIZIO Button left-center-right */
.button-justify-right {
    display: flex;
    justify-content: flex-end;
}

    .button-justify-right p {
        width: 100%;
        max-width: 300px;
        margin: 0 25px;
    }

.button-justify-left {
    display: flex;
    justify-content: flex-start;
}

    .button-justify-left p {
        width: 100%;
        max-width: 300px;
        margin: 0 25px;
    }

.button-justify-center {
    display: flex;
    justify-content: center;
}

    .button-justify-center p {
        width: 100%;
        max-width: 300px;
        margin: 0 25px;
    }

/* FINE Button left-center-right */

@media screen and (max-width: 1323px) {
    .videoResizeDoppio1 {
        width: 360px;
        height: 205px;
    }

    .videoResizeDoppio2 {
        width: 360px;
        height: 210px;
    }
}

@media screen and (max-width: 1255px) {
    .boxFlexContent25, .boxFlexContent20, .boxFlexContent18, .boxFlexContent15 { /* MF 10-06-2019 - i blocchi da 5 e 6 div affiancati si ridimensionano come quelli da 4 div affiancati*/
        width: 22%;
        margin: 0 3px 0 3px;
    }
}

@media screen and (max-width: 1215px) {
    .boxFlexContent33 {
        margin: 0 10px 0 10px;
        width: 30%;
    }
}

@media screen and (max-width: 1179px) {
    .videoResizeDoppio1 {
        width: 300px;
        height: 170px;
    }

    .videoResizeDoppio2 {
        width: 300px;
        height: 190px;
    }
}

@media screen and (max-width: 1140px) {
    .videoResize, .mapResize {
        height: 400px;
    }
}

@media screen and (max-width: 1078px) {
    .box3Sezioni .sezioneBox3 {
        font-size: 22px;
    }
}

@media screen and (max-width: 995px) {
    .boxFlexContent25Plan, .boxFlexContent73Plan {
        width: 100%;
    }
}

@media screen and (max-width: 982px) {
    .videoResizeDoppio1 {
        width: 270px;
        height: 152px;
    }

    .videoResizeDoppio2 {
        width: 270px;
        height: 170px;
    }

    .boxFlexContent23 {
        width: 30%;
    }
}

@media screen and (max-width: 968px) {
    .box3Sezioni .sezioneBox3 {
        font-size: 18px;
    }
}

@media screen and (max-width: 955px) {
    .boxFlexContentBorder {
        max-width: 270px;
    }
}

@media screen and (max-width: 950px) {
    .boxFlexContent25, .boxFlexContent20, .boxFlexContent18, .boxFlexContent15 { /* MF 10-06-2019 - i blocchi da 5 e 6 div affiancati si ridimensionano come quelli da 4 div affiancati*/
        width: 45%;
        margin: 0 10px 0 10px;
    }

    .left65 {
        width: 60%;
    }

    .right33 {
        width: 38%;
    }
}

@media screen and (max-width: 920px) {
    .boxFlexContent33 {
        margin: 0 5px 0 5px;
    }
}

@media screen and (max-width: 890px) {
    .videoResizeDoppio1, .videoResizeDoppio2 {
        width: 405px;
        height: 250px;
    }

    .boxFlexContent48VideoDoppio {
        width: 100%;
    }
}

@media screen and (max-width: 875px) {
    .videoResize, .mapResize {
        height: 300px;
    }
}

@media screen and (max-width: 871px) {
    .boxFlexContentBorder {
        max-width: 250px;
    }
}

@media screen and (max-width: 860px) {
    .box3Sezioni {
        background-color: rgba(0, 0, 0, 1);
    }

        .box3Sezioni .sezioneBox3 {
            font-size: 16px;
        }
}

@media screen and (max-width: 850px) {
    .videoResize, .mapResize {
        height: 430px;
    }

    .boxFlexContent25Loghi, .boxFlexContentLoghi { /* MF 10-06-2019 - boxFlexContentLoghi si comporta come boxFlexContent25Loghi qunado si ridimensiona */
        width: 30%;
    }
}

@media screen and (max-width: 871px) {
    .boxFlexContentBorder {
        max-width: 210px;
    }
}

@media screen and (max-width: 750px) {
    .videoResizeHome {
        height: 430px;
    }
}

@media screen and (max-width: 720px) {
    .boxFlexContent48capo {
        width: 98%;
        margin-bottom: 5px;
    }
}

@media screen and (max-width: 700px) {
    .boxFlexContent48Immagini {
        width: 99%;
    }
}

@media screen and (max-width: 692px) {
    .boxFlexContentBorder {
        max-width: 190px;
    }
}

@media screen and (max-width: 665px) {
    .videoResize, .mapResize {
        height: 330px;
    }
}

@media screen and (max-width: 645px) {
    .boxFlexContent33, .boxFlexContent25 {
        margin: 0;
        width: 100%;
    }

    .left65, .right33 {
        width: 100%;
        float: none;
        margin-right: 0;
    }

        .left65 img, .right33 img {
            margin: 0 auto;
            display: block;
        }

    /* INIZIO Button left-center-right */

    .mob-button-justify-left {
        justify-content: flex-start !important;
    }

        .mob-button-justify-left p {
            margin: 0 5px !important;
        }

    .mob-button-justify-center {
        justify-content: center !important;
    }

        .mob-button-justify-center p {
            margin: 0 5px !important;
        }

    .mob-button-justify-right {
        justify-content: flex-end !important;
    }

        .mob-button-justify-right p {
            margin: 0 5px !important;
        }

    /* FINE Button left-center-right */
}

@media screen and (max-width: 632px) {
    .boxFlexContentBorder {
        max-width: 257px;
        margin-bottom: 5px;
    }
}

@media screen and (max-width: 575px) {
    .videoResizeHome {
        height: 330px;
    }
}

@media screen and (max-width: 566px) {
    .boxFlexContentBorder {
        max-width: 230px;
    }
}

@media screen and (max-width: 520px) {
    .boxFlexContent23 {
        width: 48%;
    }
}

@media screen and (max-width: 514px) {
    .boxFlexContentBorder {
        max-width: 200px;
    }
}

@media screen and (max-width: 480px) {
    .videoResize, .mapResize {
        height: 230px;
    }
}

@media screen and (max-width: 454px) {
    .boxFlexContentBorder {
        max-width: 297px;
    }
}

@media screen and (max-width: 450px) {
    .videoResizeDoppio1, .videoResizeDoppio2 {
        width: 350px;
        height: 220px;
    }
}

@media screen and (max-width: 437px) {
    .colonnaTesto {
        width: 99%;
        margin: 0 auto;
    }

    .borderVerticalColonne {
        display: none;
    }
}

@media screen and (max-width: 430px) {
    .videoResizeHome {
        height: 240px;
    }

    .boxFlexContent25Loghi, .boxFlexContentLoghi { /* MF 10-06-2019 - boxFlexContentLoghi si comporta come boxFlexContent25Loghi qunado si ridimensiona */
        width: 40%;
    }
}

@media screen and (max-width: 355px) {
    .boxFlexContent23 {
        width: 99%;
    }
}

@media screen and (max-width: 390px) {
    .videoResizeDoppio1, .videoResizeDoppio2 {
        width: 260px;
        height: 150px;
    }
}

/* MF 2019-12-17 - gestione responsive boxFlexContent12 */
@media screen and (max-width: 1140px) { /**/
    .boxFlexContent12 {
        width: 24%;
    }
}

@media screen and (max-width: 890px) {
    .boxFlexContent12 {
        width: 48%;
    }
}
/* <= MF 2019-12-17 - gestione responsive boxFlexContent12 */

/* ICONE PERSONALIZZATE */
.iconLinkedInWhite {
    content: url(/imgSito/loghiSocial/ICONA_LINKEDIN.png);
    max-width: 20px;
}

/*fine Classi utilizzate anche su CMS*/
