@import url('reset.css');

::-moz-selection{ background-color: #e0e0e0;}
::selection{ background-color: #e0e0e0;}

a {text-decoration: none; color: #00c1d5; cursor: pointer;}
a:hover {color: #CCC;}

body {
  font-family: 'Open Sans', sans-serif;
  background: #FFF;
  color: #494949;
  font-size: 16px;
  line-height: 27px;
  letter-spacing: 0;
  font-weight: 300;
  -webkit-text-size-adjust: 100%;
}

h1, #home-page h2, #prefooter h2 {font-size: 38px; line-height: 45px; font-weight: 800; color: #494949; font-family: 'Open Sans', sans-serif; text-transform: uppercase; letter-spacing: 0px; margin-bottom: 20px; text-align: left;}
h2 {font-size: 26px; line-height: 35px; font-weight: 700; font-family: 'Open Sans', sans-serif; color: #222; margin-bottom: 20px;}
h3 {font-size: 16px; line-height: 21px; font-weight: 400; color: #02c1d5; font-family: 'Open Sans', sans-serif; letter-spacing: 0; font-style: italic; margin-bottom: 10px; text-align: left;}
h4 {font-size: 15px; line-height: 21px; font-weight: 600; color: #00c1d5; font-family: 'Open Sans', sans-serif; margin-bottom: 20px; text-align: left; letter-spacing: 0.3px;  }

ul li, ol li {font-weight: inherit;}

strong {font-weight: 600}

h2 a {color: inherit !important; cursor: inherit !important;}

#cookieChoiceInfo {bottom: 0; top: inherit !important; font-size: 10px; line-height: 15px; padding-top: 10px !important; font-family: Helvetica, Arial, sans-serif;}
#cookieChoiceInfo a#cookieChoiceDismiss {margin-left: 8px !important;}

a.button {position: relative; height: auto; overflow: hidden; font-weight: 400; background: #00c1d5; font-size: 13px; line-height: 21px; letter-spacing: 1px; text-transform: uppercase; width: 150px; color: white; display: inline-block; text-align: center; padding: 14px 0 11px 0; margin-top: 10px;}
a.button:hover {background: #08a8b9;}

a.button-white {color: #00c1d5; background: #FFF;}
a.button-white:hover {background: #e9e9e9;}


#main-content ul {list-style: none; padding: 0; margin: 0;}
#main-content li {padding-left: 1em; list-style: none !important; text-align: left;}
#main-content li::before {content: "•"; color: #00c1d5; font-weight: 700; font-size: 20px; padding-right: 10px; top: 2px; position: relative; margin-left: 5px;}

u {
    box-shadow: inset 0 -4px 0 0 #49eeff;
    transition: box-shadow .2s ease-in-out, color .2s ease-in-out;
    text-decoration: none;
}

u:hover {
    color: #FFF;
    box-shadow: inset 0 -24px 0 0 #49eeff;
}

input.checkbox {-webkit-appearance: checkbox !important;}


/* --------------------------------------------------------------------------
        CSS BASE
--------------------------------------------------------------------------- */

.only-mobile {display: none;}
.not-mobile {display: block;}

#main-content {position: relative; height: auto; overflow: hidden; padding: 70px 0 20px 0;}
.wrapper {position: relative; height: auto; overflow: hidden; width: 100%; max-width: 1140px; padding: 0 20px; margin: 0 auto;}

#top {position: relative; height: auto; overflow: hidden; background: #00c1d5; color: white; padding: 15px 0 10px 0;}
#top a {color: white; font-weight: 400;}
#top a:hover {color: #CCC;}

#top-social a {display: inline-block;}
#top-email img.img-email {display: inline; position: relative; top: 4px; margin-right: 10px;}

#header {position: relative; height: auto; overflow: hidden; padding: 30px 0; border-bottom: 1px solid #eaeaea;}

#menu {position: relative; height: auto; overflow: hidden; margin-top: 28px;}
#menu ul {position: relative; height: auto; overflow: hidden; padding-left: 0}
#menu ul li {position: relative; height: auto; overflow: hidden; list-style: none; display: inline-block; margin-left: 20px;}
#menu ul li a {position: relative; height: auto; overflow: hidden; color: #616161; text-transform: uppercase; font-weight: 600; font-size: 13px; letter-spacing: -0.3px;}
#menu ul li.active a, #menu ul li a:hover {color: #02c1d5;}

.path {position: relative; height: auto; overflow: hidden; text-align: center; font-size: 10px; text-transform: uppercase; font-weight: 500; color: #b3b3b3;}
.path .raquo {padding: 0 2px;}

.wrapper-section-home {padding: 100px 20px 50px 20px;}

.row-common {width: 100%; max-width: 800px; margin: 0 auto; margin-top: 30px;}
.row-common a {display: inline-block;}

#scrollToTop{position:fixed;right:50px;display:none;bottom: 20px;z-index: 9;}
.img-contatti {width: 100%;}


/* --------------------------------------------------------------------------
        RAFFA LATERAL
--------------------------------------------------------------------------- */

#raffa-lateral {position: relative; text-align: center;}
#raffa-lateral .testo-raffa-laterale {position: relative; font-size: 25px; line-height: 32px; font-weight: 700; font-family: 'Open Sans', sans-serif; color: #222; margin-bottom: 20px;}
#raffa-lateral .testo-raffa-laterale, #raffa-lateral, #raffa-lateral .testo-raffa-laterale p {text-align: center;}
#raffa-lateral .testo-raffa {text-align: center;}
#raffa-lateral .testo-raffa-laterale em {font-weight: 300; font-size: 21px;}


/* --------------------------------------------------------------------------
        HOME
--------------------------------------------------------------------------- */

#home-presentazione {position: relative; height: auto; overflow: hidden; background: #00c1d5; color: white;}
.mi-presento {position: relative; top: 16px;}
.mi-presento img {display: block; width: 100%;}
#home-presentazione h2 {color: white;}
#home-presentazione .col-r-8 {margin-top: 40px; padding-left: 100px;}

#home-top {border-bottom: 40px solid #bff7f5; padding: 60px 0 0 0;}
#home-top .wrapper {overflow: visible;}

#search-layer {position: relative; height: auto; display: inline-block;}
#illustrazione-raffaele {position: relative; height: auto; overflow: hidden; display: inline-block; top: 8px; left: 80px;}
#illustrazione-raffaele img {display: block;}

#search-layer-form {border: 1px solid #e2e2e2; height: 60px; width: 100%; max-width: 730px; margin: 30px 0 20px 0; font-size: 30px; padding: 18px; box-shadow: 0 2px 9px 0 rgba(0,0,0,0.1);}
.search-layer-bottoni {margin-bottom: 50px;}
.search-layer-button {position: relative; height: auto; overflow: hidden; font-weight: 400; background: #00c1d5; font-size: 13px; line-height: 21px; letter-spacing: 1px; text-transform: uppercase; width: 200px; color: white; display: inline-block; text-align: center; padding: 14px 0 11px 0;}
#search-layer img {max-width: 724px; width: 100%;}

#icon-hand {position: relative; display: inline-block; margin-left: 30px;}
#icon-hand img {width: 16px;}

#home-page h3 {font-size: 17px; font-weight: 700; line-height: 23px; margin-bottom: 15px; font-style: normal;}

.row-servizi-home, .row-servizi-home h3, .row-servizi-home div {text-align: center;}
.row-servizi-home a.button {width: 220px;}
.row-servizi-home h3 {color: black; margin-top: 20px;}
.row-servizi-home {margin-top: 40px;}
.col-r-servizi-home {margin-bottom: 40px;}
.servizio-section ul  {display: inline-block;}
.servizio-section ul li {padding-left: 0 !important;}
.submenu-servizi li {display: inline-block; margin: 0 20px;}
.submenu-servizi li a {font-weight: 400; font-size: 18px;}
.primo-alternate {list-style: none; margin-top: 30px;}
#main-content .submenu-servizi li::before {display: none;}

ul.submenu-servizi {max-width: 1120px; text-align: center;}
ul.submenu-servizi li {display: inline-block;}
.servizio-section h4 {text-align: center;color: black;font-size: 25px;margin-bottom: 30px;}


.alternate-servizio {background: #edfcfc url(/frontend/img/pattern.png); background-size: 20%;}
.servizio-section {padding: 80px 0; text-align: center;}
.servizio-section h1, .servizio-section h2, .servizio-section h3, .servizio-section div, .servizio-section p {text-align: center;}
.last-p {padding-bottom: 0;}

.row-gallery-home {}
.col-r-gallery {padding: 0 !important;}
.col-r-gallery img {width: 100%;}

.single-curriculum h3 {color: black;}
img.ico-check {float: left; width: 25px; margin-right: 10px;}
.curriculum-data {text-align: right;}

.li-dicono {background: #f7f7f7;}
.li-dicono .single-diconodime {padding: 50px 30px; padding-top: 110px;}
.li-dicono .single-diconodime p:last-child {margin-bottom: 0;}
.angolo {position: absolute; bottom: 0; left: -40px;}

.autore-dicono {margin-bottom: 15px; font-size: 14px; line-height: 21px; font-weight: 300; font-style: italic; color: #02c1d5; text-transform: none; font-family: 'Open Sans', sans-serif; letter-spacing: 0; margin-bottom: 10px; text-align: left;}
.autore-dicono a {font-size: 16px; line-height: 28px; font-weight: 700; font-style: normal; color: #000; text-transform: uppercase; font-family: 'Open Sans', sans-serif; letter-spacing: 0; margin-top: 10px; text-align: left;}
.autore-dicono a:hover {color: #CCC;}

.wrapper-diconodime, .wrapper-diconodime .bx-wrapper .bx-viewport {overflow: visible !important;}

.wrapper-clienti-home {padding: 50px 0 100px 0;}
.padding-bottom-clienti {padding-bottom: 30px}


/* --------------------------------------------------------------------------
        DICONO DI ME
--------------------------------------------------------------------------- */

.single-diconodime {background: #f7f7f7; padding: 40px 30px; padding-top: 110px}
.angolo-pagina {left: 0px; bottom: 7px; z-index: -1;}
.singolo-dicono-inside {margin-top: -70px;;}
.singolo-dicono-inside .img-dicono {position: relative; top: 100px;}

.img-dicono {top: 5px; left: 35px; position: absolute;}
.img-dicono img {width: 100px; border-radius: 60px;}

#home-diconodime {overflow: hidden;}
#home-diconodime .img-dicono {top: -10px; left: 25px;}



/* --------------------------------------------------------------------------
        SIDEBAR
--------------------------------------------------------------------------- */

.center-h1, .center-h1 p, .center-h1 h1, .center-h1 h2, .center-h1 h3, .center-h2, .center-h2 p, .center-h2 h2 {text-align: center !important;}
.center-h1 {position: relative; height: auto; overflow: hidden; padding-bottom: 20px; width: 89%; margin: 0 auto;}
.center-h1 h1 em, .center-h2 h2 em {font-style: italic; font-weight: 300; text-transform: none; line-height: 55px; font-size: 26px;}

.sidebar-page-section {position: relative; height: auto; overflow: hidden; padding-bottom: 40px;}
.sidebar-page-section:last-child {padding-bottom: 0}
.sidebar-page-section img {width: auto;max-width: 100% !important;height: auto !important;}

ul.submenu-sidebar {position: relative; height: auto; overflow: hidden;}
ul.submenu-sidebar li {list-style: none;}
ul.submenu-sidebar li::before {display: none;}

ul.submenu-sidebar li {background: #d1f7f9; border-top: 2px solid white; text-align: left;}
ul.submenu-sidebar li.alternate {background: #e8fbfc}
ul.submenu-sidebar li a {font-size: 13px; line-height: 21px; color: #494949; letter-spacing: 0; font-weight: 600; display: block; padding: 10px 20px;}

ul.submenu-sidebar li:hover, ul.submenu-sidebar li.active {background: #62e3e9; color: white;}
ul.submenu-sidebar li:hover a, ul.submenu-sidebar li.active a {color: white;}

ul.submenu-sidebar li, ul.submenu-sidebar {padding: 0 !important; margin: 0 !important}
ul.submenu-sidebar {margin-bottom: 50px !important;}


/* --------------------------------------------------------------------------
        CATEGORIE BLOG
--------------------------------------------------------------------------- */

.cat-testo, .cat-foto {position: relative; height: auto; overflow: hidden;}
.cat-foto img {display: block; max-width: 100%; width: 100%;}
.cat-foto {background: #00c1d5; margin-bottom: 20px;}
.cat-testo h2 {font-size: 17px; line-height: 23px; margin-bottom: 15px;}
.cliente-foto {border: 1px solid #f8f8f8;}
.data-blog {text-align: center;font-size: 12px;font-weight: 600;padding-bottom: 12px;}


/* --------------------------------------------------------------------------
        PRE-FOOTER
--------------------------------------------------------------------------- */

#prefooter {position:relative; height:auto; overflow: hidden; height: 539px; background: white url("/frontend/img/bg-prefooter.png");}
#bg-nuvola {position: absolute; z-index: 2; right: 0; bottom: 0;}
#razzo {position: absolute; z-index: 1; right: 138px; bottom: 101px;}
#bg-nuvola img, #razzo img {display: block;}
#prefooter .wrapper {z-index: 3; padding-top: 160px;}
#prefooter h2 {color: white;}
#prefooter p {font-weight: 400; color: white; width: 670px;}


/* --------------------------------------------------------------------------
        FOOTER
--------------------------------------------------------------------------- */

#footer {line-height: 24px; padding: 100px 0 30px 0; font-size: 13px;}
#footer a {color: inherit;}
#footer a:hover {color: #00c1d5;}

.logo-footer {margin-bottom: 20px;}
.google-partner {margin-bottom: 20px;}

.col-servizi-footer a {color: #000;}
.col-servizi-footer a:hover {color: #CCC;}


/* --------------------------------------------------------------------------
        FORM
--------------------------------------------------------------------------- */

label {font-size: 12px; text-align: center; font-family: 'Open Sans', sans-serif; font-weight: 600; color: #222; letter-spacing: 0;}
input {position: relative; height: auto; overflow: hidden; width: 100%; border: 1px solid #E7E7E7; background: #FFF; font-size: 14px; letter-spacing: 1px; color: #8E8E8E; padding: 15px 20px 15px 20px; display: block; margin-bottom: 15px; font-family: 'Open Sans', sans-serif; font-weight: 400; border-radius: 4px;}
textarea {position: relative; height: auto; overflow: hidden; display: block; width: 100%; font-size: 13px; border: 1px solid #E7E7E7; letter-spacing: 1px; background: #FFF; padding: 15px 20px 15px 20px; height: 200px; margin-bottom: 15px; color: #8E8E8E; font-family: 'Open Sans', sans-serif; font-weight: 400; border-radius: 4px;}

input.submit {cursor: pointer; position: relative; height: auto; overflow: hidden; background: #02c1d5; font-size: 13px; line-height: 21px; font-family: 'Work Sans', sans-serif; text-transform: uppercase; letter-spacing: 1px; font-weight: 400; color: white; width: 200px; display: inline-block; text-align: center; padding: 12px 0; border: 0; border-radius: 0;}
input.submit:hover {background: #02c1d5b5;}
input:focus, select:focus, textarea:focus, button:focus {outline: none;}
input.checkbox {width: auto; margin-right: 10px; float: left; top: 7px;}


/* --------------------------------------------------------------------------
        FADE IN / FADE OUT
--------------------------------------------------------------------------- */

.js .hideme {opacity: 0;}


/* --------------------------------------------------------------------------
        Responsive patterns
--------------------------------------------------------------------------- */

.col-r-1 {width: 8.33%;}
.col-r-2 {width: 16.66%;}
.col-r-3 {width: 25%;}
.col-r-4 {width: 33.33%;}
.col-r-5 {width: 41.66%;}
.col-r-6 {width: 50%;}
.col-r-7 {width: 58.33%;}
.col-r-8 {width: 66.66%;}
.col-r-9 {width: 75%;}
.col-r-10 {width: 83.33%;}
.col-r-11 {width: 91.66%;}
.col-r-12 {width: 100%;}

[class*="col-r-"] {float:left; padding: 15px; position: relative; height: auto; overflow: hidden;}
.row::after {content: ""; clear: both; display: block;}

/* ---- MASONRY ---- */
.masonry {column-count: 2; column-gap: 0.3em; }
.item {width: 100%; position: relative !important; left: auto !important; right: auto !important; top: auto !important; bottom: auto !important;break-inside: avoid}
.item img {width: 100%; display: block; padding-bottom: 0.3em;}


/* --------------------------------------------------------------------------
        FLOATING
--------------------------------------------------------------------------- */

.floating{
    animation-name: floating;
    -webkit-animation-name: floating;

    animation-duration: 1.5s;   
    -webkit-animation-duration: 1.5s;

    animation-iteration-count: infinite;
    -webkit-animation-iteration-count: infinite;
}

@keyframes floating {

    0% {
        transform: translateY(0%);  
    }
    50% {
        transform: translateY(2%);  
    }   
    100% {
        transform: translateY(0%);
    }           
}

@-webkit-keyframes floating {
    0% {
        -webkit-transform: translateY(0%);  
    }
    50% {
        -webkit-transform: translateY(2%);  
    }   
    100% {
        -webkit-transform: translateY(0%);
    }           
}

.dancing {
    animation-name: dancing;
    -webkit-animation-name: dancing;

    animation-duration: 1.5s;   
    -webkit-animation-duration: 1.5s;

    animation-iteration-count: infinite;
    -webkit-animation-iteration-count: infinite;
}

@keyframes dancing {

    0% {
        transform: rotate(-0.4deg);  
    }
    50% {
        transform: rotate(0.4deg);  
    }   
    100% {
        transform: rotate(-0.4deg);  
    }           
}

@-webkit-keyframes dancing {

    0% {
        transform: rotate(-0.4deg);  
    }
    50% {
        transform: rotate(0.4deg);  
    }   
    100% {
        transform: rotate(-0.4deg);  
    }                    
}

.hand-animation {
    animation-name: hand-animation;
    -webkit-animation-name: hand-animation;

    animation-duration: 2.5s;   
    -webkit-animation-duration: 2.5s;

    animation-iteration-count: infinite;
    -webkit-animation-iteration-count: infinite;
}

@keyframes hand-animation {

    0% {
         opacity: 0;
         left: 0;
    }
    50% {
        opacity: 1;
        left: -100px;    
    }   
    100% {
        opacity: 0;
        left: 0;      
    }                    
}

@-webkit-keyframes hand-animation {

    0% {
         opacity: 0;
         left: 0;
    }
    50% {
        opacity: 1;
        left: -100px;    
    }   
    100% {
        opacity: 0;
        left: 0;      
    }                    
}


/* --------------------------------------------------------------------------
        TYPED
--------------------------------------------------------------------------- */

.typed-cursor{
  opacity: 1;
  font-weight: 100;
  -webkit-animation: blink 0.7s infinite;
  -moz-animation: blink 0.7s infinite;
  -ms-animation: blink 0.7s infinite;
  -o-animation: blink 0.7s infinite;
  animation: blink 0.7s infinite;
}
@keyframes blink{
  0% { opacity:1; }
  50% { opacity:0; }
  100% { opacity:1; }
}
@-webkit-keyframes blink{
  0% { opacity:1; }
  50% { opacity:0; }
  100% { opacity:1; }
}
@-moz-keyframes blink{
  0% { opacity:1; }
  50% { opacity:0; }
  100% { opacity:1; }
}
@-ms-keyframes blink{
  0% { opacity:1; }
  50% { opacity:0; }
  100% { opacity:1; }
}
@-o-keyframes blink{
  0% { opacity:1; }
  50% { opacity:0; }
  100% { opacity:1; }
}


/* --------------------------------------------------------------------------
        RESPONSIVE
--------------------------------------------------------------------------- */


@media screen and (max-width: 900px) {

  /* ---- FLEXBOX ---- */
  .flexbox-container {display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-moz-box-orient:vertical;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-moz-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}
  .flexbox-container .first-div{-webkit-box-ordinal-group:2;-moz-box-ordinal-group:2;-ms-flex-order:2;-webkit-order:2;order:2}
  .flexbox-container .second-div{-webkit-box-ordinal-group:1;-moz-box-ordinal-group:1;-ms-flex-order:1;-webkit-order:1;order:1}

  .masonry {column-count: 2;}

}


@media screen and (max-width: 800px) {

  .only-mobile {display: block;}
  .not-mobile {display: none;}

  .masonry {column-count:1;}
  [class*="col-r-"] {float: none; padding: 0 0 15px 0 !important; width: 100%;}
  [class*="col-r-"]:last-child {padding-bottom: 0 !important;}

  .center-h1 {width: 100%;}
  
  #header, #header .wrapper {overflow: visible;}
  #menu {width: 100%; position: absolute; top: 81px; left: 0;}
  #menu ul {height: auto; display: block; width: 100%; display: none; padding: 0; float: none; position: relative; z-index: 2;}
  #menu ul li { display: block; text-align: center; width: 100%; padding: 10px 0; margin: 0; background: rgba(255,255,255,1); border-top: 1px solid #EAEAEA;}
  #menu ul li, #menu ul li a {font-size: 14px; text-decoration: none; display: block;}
  #menu ul li.last {border-bottom: 1px solid #EAEAEA}
  #show-hide-menu {position: absolute; right: 20px; display: block; top: 26px; z-index: 9;}

  #header .wrapper {text-align: center;}
  #header #logo{ float: none; text-align: center;}
  #header #logo a {display: inline-block;}

  #top-email {font-size: 12px;}
  .col-content-blog img, .col-content-blog p img {width: 100% !important;height: auto !important;}

  #search-layer-form {font-size: 13px;}
  .search-layer-button {width: 175px; font-size: 11px;}
  #icon-hand {display: none;}
  #illustrazione-raffaele {display: none;}

  #home-presentazione {padding: 40px;}

  .col-r-gallery.col-r-3 {padding: 0 !important;}
  .col-r-gallery img {display: block;}
  #prefooter {height: auto; background: #02c8da;}
  #bg-nuvola {display: none;}
  .curriculum-data {text-align: left;}
  #prefooter .wrapper {padding: 50px 20px !important;}
  #prefooter p {width: auto;}
  .wrapper-clienti-home {padding-left: 20px; padding-right: 20px;}
  #razzo {display: none;}
  .wrapper-diconodime, .wrapper-diconodime .bx-wrapper .bx-viewport {overflow: hidden !important}

  #main-content.blog .col-r-3 {display: none;}

  iframe {width: 100% !important;}
  #main-content img {width: auto !important; height: auto !important; max-width: 100% !important;}

}


@media screen and (max-width: 568px) { /* iPhone 5 */

    #top-email {font-size: 10px; top: -3px;}
    #top-social a img, #top-email img {width: 20px;}

    .search-layer-button {width: 100%;font-size: 12px;}

    .center-h1 h1 {font-size: 28px; line-height: 35px;}

}