    /* EFFECT */

    .effect {
        overflow: hidden;
    }

    .zoom .effect.zoomin img, .effect.zoomin img {
        transform: scale(1, 1);
        transition-duration: 500ms;
        transition-timing-function: ease-out;
    }

    .zoom:hover .effect.zoomin img, .effect.zoomin img:hover {
        transform: scale(1.1, 1.1);
        transition-duration: 500ms;
        transition-timing-function: ease-out;
    }

    .effect.zoomout img {
        transform: scale(1.1, 1.1);
        transition-duration: 500ms;
        transition-timing-function: ease-out;
    }

    .effect.zoomout img:hover {
        transform: scale(1, 1);
        transition-duration: 500ms;
        transition-timing-function: ease-out;
    }

    @-webkit-keyframes custom-floatX {
      0% {
        -webkit-transform: translateX(0px); 
        -moz-transform: translateX(0px); 
        -o-transform: translateX(0px); 
        -ms-transform: translateX(0px);
            transform: translateX(0px);
      }
      50% {
        -webkit-transform: translateX(-30px); 
        -moz-transform: translateX(-30px); 
        -o-transform: translateX(-30px); 
        -ms-transform: translateX(-30px); 
            transform: translateX(-30px); 
      }
      100% {
        -webkit-transform: translateX(0px); 
        -moz-transform: translateX(0px); 
        -o-transform: translateX(0px); 
        -ms-transform: translateX(0px);
            transform: translateX(0px);
      }
    }

    @keyframes custom-floatX {
      0% {
        -webkit-transform: translateX(0px); 
        -moz-transform: translateX(0px); 
        -o-transform: translateX(0px); 
        -ms-transform: translateX(0px);
            transform: translateX(0px);
      }
      50% {
        -webkit-transform: translateX(-30px); 
        -moz-transform: translateX(-30px); 
        -o-transform: translateX(-30px); 
        -ms-transform: translateX(-30px); 
            transform: translateX(-30px); 
      }
      100% {
        -webkit-transform: translateX(0px); 
        -moz-transform: translateX(0px); 
        -o-transform: translateX(0px); 
        -ms-transform: translateX(0px);
            transform: translateX(0px);
      }
    }

    .custom-floatX {
        -webkit-transform: translateX(0px); 
        -moz-transform: translateX(0px); 
        -o-transform: translateX(0px); 
        -ms-transform: translateX(0px);
            transform: translateX(0px);
        -webkit-animation: custom-floatX 3s ease-in-out infinite; /* Safari 4+ */
        -moz-animation: custom-floatX 3s ease-in-out infinite; /* Fx 5+ */
        -o-animation: custom-floatX 3s ease-in-out infinite; /* Opera 12+ */
        -ms-animation: custom-floatX 3s ease-in-out infinite; /* IE */
        animation: custom-floatX 3s ease-in-out infinite;

    }

    @-webkit-keyframes custom-floatX-negative {
      0% {
        -webkit-transform: translateX(-30px); 
        -moz-transform: translateX(-30px); 
        -o-transform: translateX(-30px); 
        -ms-transform: translateX(-30px); 
            transform: translateX(-30px); 
      }
      50% {
        -webkit-transform: translateX(0px); 
        -moz-transform: translateX(0px); 
        -o-transform: translateX(0px); 
        -ms-transform: translateX(0px);
            transform: translateX(0px);
      }
      100% {
        -webkit-transform: translateX(-30px); 
        -moz-transform: translateX(-30px); 
        -o-transform: translateX(-30px); 
        -ms-transform: translateX(-30px); 
            transform: translateX(-30px); 
      }
    }

    @keyframes custom-floatX-negative {
      0% {
        -webkit-transform: translateX(-30px); 
        -moz-transform: translateX(-30px); 
        -o-transform: translateX(-30px); 
        -ms-transform: translateX(-30px); 
            transform: translateX(-30px); 
      }
      50% {
        -webkit-transform: translateX(0px); 
        -moz-transform: translateX(0px); 
        -o-transform: translateX(0px); 
        -ms-transform: translateX(0px);
            transform: translateX(0px);
      }
      100% {
        -webkit-transform: translateX(-30px); 
        -moz-transform: translateX(-30px); 
        -o-transform: translateX(-30px); 
        -ms-transform: translateX(-30px); 
            transform: translateX(-30px); 
      }
    }

    .custom-floatX-negative {
        -webkit-transform: translateX(-30px); 
        -moz-transform: translateX(-30px); 
        -o-transform: translateX(-30px); 
        -ms-transform: translateX(-30px); 
            transform: translateX(-30px); 
        -webkit-animation: custom-floatX-negative 3s ease-in-out infinite; /* Safari 4+ */
        -moz-animation: custom-floatX-negative 3s ease-in-out infinite; /* Fx 5+ */
        -o-animation: custom-floatX-negative 3s ease-in-out infinite; /* Opera 12+ */
        -ms-animation: custom-floatX-negative 3s ease-in-out infinite; /* IE */
        animation: custom-floatX-negative 3s ease-in-out infinite;

    }


    @-webkit-keyframes custom-floatY {
      0% {
        -webkit-transform: translateY(0px); 
        -moz-transform: translateY(0px); 
        -o-transform: translateY(0px); 
        -ms-transform: translateY(0px);
            transform: translateY(0px);
      }
      50% {
        -webkit-transform: translateY(-30px); 
        -moz-transform: translateY(-30px); 
        -o-transform: translateY(-30px); 
        -ms-transform: translateY(-30px); 
            transform: translateY(-30px); 
      }
      100% {
        -webkit-transform: translateY(0px); 
        -moz-transform: translateY(0px); 
        -o-transform: translateY(0px); 
        -ms-transform: translateY(0px);
            transform: translateY(0px);
      }
    }

    @keyframes custom-floatY {
      0% {
        -webkit-transform: translateY(0px); 
        -moz-transform: translateY(0px); 
        -o-transform: translateY(0px); 
        -ms-transform: translateY(0px);
            transform: translateY(0px);
      }
      50% {
        -webkit-transform: translateY(-30px); 
        -moz-transform: translateY(-30px); 
        -o-transform: translateY(-30px); 
        -ms-transform: translateY(-30px); 
            transform: translateY(-30px); 
      }
      100% {
        -webkit-transform: translateY(0px); 
        -moz-transform: translateY(0px); 
        -o-transform: translateY(0px); 
        -ms-transform: translateY(0px);
            transform: translateY(0px);
      }
    }

    .custom-floatY {
        -webkit-transform: translateY(0px); /* Chrome, iOS, Safari e Android */
        -moz-transform: translateY(0px); /* Firefox */
        -o-transform: translateY(0px); /* Opera */
        -ms-transform: translateY(0px); /* IE 9 */
            transform: translateY(0px);
        -webkit-animation: custom-floatY 3s ease-in-out infinite; /* Safari 4+ */
        -moz-animation: custom-floatY 3s ease-in-out infinite; /* Fx 5+ */
        -o-animation: custom-floatY 3s ease-in-out infinite; /* Opera 12+ */
        -ms-animation: custom-floatY 3s ease-in-out infinite; /* IE */
        animation: custom-floatY 3s ease-in-out infinite;

    }



    @-webkit-keyframes custom-floatY-negative {
      0% {
        -webkit-transform: translateY(-30px); 
        -moz-transform: translateY(-30px); 
        -o-transform: translateY(-30px); 
        -ms-transform: translateY(-30px); 
            transform: translateY(-30px); 
      }
      50% {
        -webkit-transform: translateY(0px); 
        -moz-transform: translateY(0px); 
        -o-transform: translateY(0px); 
        -ms-transform: translateY(0px);
            transform: translateY(0px);
      }
      100% {
        -webkit-transform: translateY(-30px); 
        -moz-transform: translateY(-30px); 
        -o-transform: translateY(-30px); 
        -ms-transform: translateY(-30px); 
            transform: translateY(-30px); 
      }
    }

    @keyframes custom-floatY-negative {
      0% {
        -webkit-transform: translateY(-30px); 
        -moz-transform: translateY(-30px); 
        -o-transform: translateY(-30px); 
        -ms-transform: translateY(-30px); 
            transform: translateY(-30px); 
      }
      50% {
        -webkit-transform: translateY(0px); 
        -moz-transform: translateY(0px); 
        -o-transform: translateY(0px); 
        -ms-transform: translateY(0px);
            transform: translateY(0px);
      }
      100% {
        -webkit-transform: translateY(-30px); 
        -moz-transform: translateY(-30px); 
        -o-transform: translateY(-30px); 
        -ms-transform: translateY(-30px); 
            transform: translateY(-30px); 
      }
    }

    .custom-floatY-negative {
        -webkit-transform: translateY(-30px); 
        -moz-transform: translateY(-30px); 
        -o-transform: translateY(-30px); 
        -ms-transform: translateY(-30px); 
            transform: translateY(-30px); 
        -webkit-animation: custom-floatY-negative 3s ease-in-out infinite; /* Safari 4+ */
        -moz-animation: custom-floatY-negative 3s ease-in-out infinite; /* Fx 5+ */
        -o-animation: custom-floatY-negative 3s ease-in-out infinite; /* Opera 12+ */
        -ms-animation: custom-floatY-negative 3s ease-in-out infinite; /* IE */
        animation: custom-floatY-negative 3s ease-in-out infinite;

    }


    @-webkit-keyframes rotate-icon {
      from {
       -webkit-transition: all 0.25s 0s ease-in-out;
        -moz-transition: all 0.25s 0s ease-in-out;
        -o-transition: all 0.25s 0s ease-in-out;
        -ms-transition: all 0.25s 0s ease-in-out;
        transition: all 0.25s 0s ease-in-out;
        opacity: 1;
      }

      to {
	      -webkit-transform:rotate(90deg); /* Chrome, iOS, Safari e Android */
	      -moz-transform:rotate(90deg); /* Firefox */
	      -o-transform:rotate(90deg); /* Opera */
	      -ms-transform:rotate(90deg); /* IE 9 */
	      transform:rotate(90deg); /* tutti i nuovi browser */
        opacity: 1;
      }
    }

    @keyframes rotate-icon {
      from {
       -webkit-transition: all 0.25s 0s ease-in-out;
        -moz-transition: all 0.25s 0s ease-in-out;
        -o-transition: all 0.25s 0s ease-in-out;
        -ms-transition: all 0.25s 0s ease-in-out;
        transition: all 0.25s 0s ease-in-out;
        opacity: 1;
      }

      to {
	      -webkit-transform:rotate(90deg); /* Chrome, iOS, Safari e Android */
	      -moz-transform:rotate(90deg); /* Firefox */
	      -o-transform:rotate(90deg); /* Opera */
	      -ms-transform:rotate(90deg); /* IE 9 */
	      transform:rotate(90deg); /* tutti i nuovi browser */
        opacity: 1;
      }
    }

    .rotate-icon {
      -webkit-animation-name: rotate-icon;
      animation-name: rotate-icon;
    }

    .rotate-icon:before {
	    -webkit-transform:rotate(0deg); /* Chrome, iOS, Safari e Android */
	    -moz-transform:rotate(0deg); /* Firefox */
	    -o-transform:rotate(0deg); /* Opera */
	    -ms-transform:rotate(0deg); /* IE 9 */
	    transform:rotate(0deg); /* tutti i nuovi browser */
       -webkit-transition: all 0.25s 0s ease-in-out;
        -moz-transition: all 0.25s 0s ease-in-out;
        -o-transition: all 0.25s 0s ease-in-out;
        -ms-transition: all 0.25s 0s ease-in-out;
        transition: all 0.25s 0s ease-in-out;
    }

    .rotate45-icon {
      -webkit-animation-name: rotate45-icon;
      animation-name: rotate45-icon;
    }

    .rotate45-icon:before {
      -webkit-transform:rotate(-90deg); /* Chrome, iOS, Safari e Android */
      -moz-transform:rotate(-90deg); /* Firefox */
      -o-transform:rotate(-90deg); /* Opera */
      -ms-transform:rotate(-90deg); /* IE 9 */
      transform:rotate(-90deg); /* tutti i nuovi browser */
       -webkit-transition: all 0.25s 0s ease-in-out;
        -moz-transition: all 0.25s 0s ease-in-out;
        -o-transition: all 0.25s 0s ease-in-out;
        -ms-transition: all 0.25s 0s ease-in-out;
        transition: all 0.25s 0s ease-in-out;
    }

/*    .rotate45-icon:hover:before,*/
    .active .rotate45-icon:before {
      -webkit-transform:rotate(-45deg); /* Chrome, iOS, Safari e Android */
      -moz-transform:rotate(-45deg); /* Firefox */
      -o-transform:rotate(-45deg); /* Opera */
      -ms-transform:rotate(-45deg); /* IE 9 */
      transform:rotate(-45deg); /* tutti i nuovi browser */
       -webkit-transition: all 0.25s 0s ease-in-out;
        -moz-transition: all 0.25s 0s ease-in-out;
        -o-transition: all 0.25s 0s ease-in-out;
        -ms-transition: all 0.25s 0s ease-in-out;
        transition: all 0.25s 0s ease-in-out;
    }



    .box-legend .chiudi:hover,
    .box-legend.active .chiudi,
    .bottone .rotate-icon:hover,
    .btn-collapse.active .bottone .rotate-icon,
    .btn-collapse.active .bottone .rotate-icon:hover,
    .btn-plus.rotate-icon.active,
    .rotate-icon:hover:before,
    .btn:hover .rotate-icon:before,
    .btn-actions:hover .rotate-icon:before,
    .active .rotate-icon:before {
	    -webkit-transform:rotate(90deg); /* Chrome, iOS, Safari e Android */
	    -moz-transform:rotate(90deg); /* Firefox */
	    -o-transform:rotate(90deg); /* Opera */
	    -ms-transform:rotate(90deg); /* IE 9 */
	    transform:rotate(90deg); /* tutti i nuovi browser */
    }

