/* Google Fonts import removed - using local fonts instead */

*{
    font-family: 'LifeSans', sans-serif;
    line-height: 24.3px;
}

select{
	padding: .375rem 0.75rem !important;
}

 html {
     scroll-behavior: smooth;
}
 .navbar{
     position: fixed;
     z-index: 2;
}
.page-nav{
  position: inherit;
}
 .bg-transparent{
     width: 100%;
     background-color: white !important;
}
 .left-cont{
     margin-top: 80px;
}
 .header{
     height: 100vh;
     overflow: hidden;
     /*background-image: url(../img/intro-bg.png);*/
     background-repeat: no-repeat;
     background-size: cover;
     background-position: left;
}
 .header .cont-img{
     position: relative;
     top: 120px;
     left: 50px;
}
.index-01-background{
  overflow: hidden;
}
.index-01-background img{
  width: 160%;
}
 .header .social-part{
     height: 50px;
}
 .header .social-part ul{
     float: right;
}
 .header .social-part ul li{
     list-style: none;
     float: left;
     color: #999999;
     margin: 15px 12px;
     font-size: 15px;
}
 .header .social-part ul li:nth-child(1):hover{
     color: #3b5998;
}
 .header .social-part ul li:nth-child(2):hover{
     color: #00acee;
}
 .header .social-part ul li:nth-child(3):hover{
     color: #3f729b;
}
 .navbar-light .navbar-brand img{
     height: 55px;
}
 .navbar-expand-lg .navbar-nav{
     /*position: relative;
     right: -45%;*/
}
 li.nav-item{
     /*padding-right: 10px;*/
}
 .navbar-light .navbar-nav .nav-link{
     color: rgba(0, 0, 0, 0.68);
}
 .navbar-light .navbar-nav .active>.nav-link, .navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .nav-link.show, .navbar-light .navbar-nav .show>.nav-link{
     /*color: rebeccapurple;*/
}
div#navbarTogglerDemo02{
  position: relative;
  left: -90px;
}
.pages-background{
  padding: 100px 0;
  background-image: url(../img/page-background.jpg);
  background-size: cover;
  background-position: center;
  color: white;
  border-radius: 0;
  margin: 0;
}
.pages-background h1{
  font-weight: 600;
  font-size: 60px;
}
.pages-background p{
  font-size: 24px;
}
.pages-background p a{
  text-decoration: none;
  color: #d6aeff;
}
.pages-background p i{
  font-size: 9px;
}
 .header .cont #typed{
     font-size: 84px;
     font-weight: 300;
     color: #3e3e7e;
     position: relative;
     top: 70px;
     border-bottom: 1px solid #dbdbdb;
     padding-bottom: 20px;
     letter-spacing: 1px;
     text-shadow: 1px 4px 12px #b6b6b6;
     margin-bottom: 10px;
}
 .header .cont .description{
   padding-top: 15px;
 }
 .header .cont .weare{
     font-weight: normal;
     font-size: 40px;
     color: #3e3e7e;
     display: block;
     position: relative;
     top: 90px;
     left: 5px;
     text-shadow: 1px 4px 12px #919191;
}
 span.typed-cursor, .typed-cursor--blink{
     font-size: 56px;
     font-weight: 300;
     color: #3e3e7e;
     position: relative;
     top: 70px;
}
 .header .cont p{
     font-weight: 300;
     font-size: 18px;
     color: gray;
     position: relative;
     top: 80px;
}
 #section10{
     text-align: right;
}
 .demo a {
     position: absolute;
     z-index: 2;
     display: inline-block;
     -webkit-transform: translate(0, -50%);
     transform: translate(0, -50%);
     color: #fff;
     font : normal 400 20px/1 'Josefin Sans', sans-serif;
     letter-spacing: .1em;
     text-decoration: none;
     transition: opacity 0.3s;
}
 .demo a:hover {
     opacity: 1;
}
 #section10 a {
     padding-top: 60px;
}
 #section10 a span {
     width: 30px;
     height: 50px;
     margin-left: -15px;
     border: 2px solid #3e3e7e;
     border-radius: 50px;
     box-sizing: border-box;
     position: relative;
     left: 105%;
     top: 130px;
}
 #section10 a span::before {
     position: absolute;
     top: 10px;
     left: 50%;
     content: '';
     width: 6px;
     height: 6px;
     margin-left: -3px;
     background-color: #2a2a5c;
     border-radius: 100%;
     -webkit-animation: sdb10 2s infinite;
     animation: sdb10 2s infinite;
     box-sizing: border-box;
}
 @-webkit-keyframes sdb10 {
     0% {
         -webkit-transform: translate(0, 0);
         opacity: 0;
    }
     40% {
         opacity: 1;
    }
     80% {
         -webkit-transform: translate(0, 20px);
         opacity: 0;
    }
     100% {
         opacity: 0;
    }
}
 @keyframes sdb10 {
     0% {
         transform: translate(0, 0);
         opacity: 0;
    }
     40% {
         opacity: 1;
    }
     80% {
         transform: translate(0, 20px);
         opacity: 0;
    }
     100% {
         opacity: 0;
    }
}
 li.nav-item.active{
     /*border-bottom: 1px solid rebeccapurple;*/
     padding: 0px 10px;
}
 li .active{
     color: rebeccapurple;
}
#features{
    height: 100vh;
    padding: 100px 0;
}
.software-background{
  background-image: url(../img/software-1.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
}
.app-background{
  background-image: url(../img/app-mockup.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
}
 #features .app-data{
     position: relative;
     top: 100px;
}
 #features .app-data .app-text h5{
     color: #5d3783;
     font-weight: 200;
     letter-spacing: 2px;
     font-size: 20px;
}
 #features .app-data .app-text h2{
     color: #1a1a1a;
     font-weight: 500;
     font-size: 49px;
     padding-bottom: 20px;
}
 #features .app-data .app-text p{
     color: #6c6c6c;
     font-size: 16px;
     font-family: arial;
     line-height: 25px;
     padding-bottom: 25px;
}
 #features .app-data .app-img img{
     margin-right: 10px;
}
 #services{
     height: 100vh;
     padding: 90px 0;
}
 #services .services-heading{
     text-align: center;
}
 #services .services-heading span{
     font-weight: 500;
     font-size: 16px;
     color: rebeccapurple;
     background-color: #eee9f2;
     padding: 6px 30px;
     border-radius: 20px;
}
 #services .services-heading h5{
     font-size: 40px;
     color: #222222;
     letter-spacing: 1px;
     padding-top: 10px;
}
 #services .services-heading img{
     padding-bottom: 50px;
}
 #services .service-block{
     height: 400px;
     border-radius: 10px;
     box-shadow: -1px 92px 99px -62px rgba(0, 0, 0, 0.12), 0 25px 65px 0 rgba(0, 0, 0, 0.08);
     margin-bottom: 15px;
}
 #services .service-block .service-icon{
     text-align: center;
     padding-top:50px;
}
 #services .service-block .service-text{
     text-align: center;
     padding: 25px;
}
 #services .service-block .service-text p{
     font-size: 19px;
     color: #a2a2a2;
     word-spacing: 1px;
}
 #services .service-block .service-text h4{
     font-size: 30px;
     color: rebeccapurple;
     position: relative;
     top: 65px;
     text-shadow: 0px 3px 19px #c8c1d7;
}
 #services .service-block .service-text .hr-border{
     border-bottom: 1.5px solid rebeccapurple;
     width: 16%;
     margin: auto;
     position: relative;
     border-radius: 25px;
     transform: translatey(0px);
     animation: float 2s ease-in-out infinite;
     margin-top: 25px;
}
 @keyframes float {
     0% {
         box-shadow: 0 5px 15px 0px rgba(0,0,0,0.6);
         transform: translatey(0px);
    }
     50% {
         box-shadow: 0 15px 15px 0px rgba(0,0,0,0.2);
         transform: translatey(-10px);
    }
     100% {
         box-shadow: 0 5px 15px 0px rgba(0,0,0,0.6);
         transform: translatey(0px);
    }
}
 #team{
     padding: 100px 0;
     padding-bottom: 50px;
}
 #team .team-heading{
     text-align: center;
}
 #team .team-heading span{
     font-weight: 500;
     font-size: 16px;
     color: rebeccapurple;
     background-color: #eee9f2;
     padding: 6px 30px;
     border-radius: 20px;
}
 #team .team-heading h5{
     font-size: 40px;
     color: #222222;
     letter-spacing: 1px;
     padding-top: 10px;
}
 #team .team-heading img{
     padding-bottom: 30px;
}
 #team .team-box{
     box-shadow: -1px 92px 99px -62px rgba(0, 0, 0, 0.12), 0 25px 65px 0 rgba(0, 0, 0, 0.08);
     padding-bottom: 10px;
     margin-bottom: 15px;
}
 #team .team-box .team-pic img{
     width: 100%;
}
 #team .team-box .team-text{
     text-align: center;
     padding: 15px;
}
 #team .team-box .team-text h4{
     color: rebeccapurple;
     font-size: 27px;
     padding: 0;
}
 #team .team-box .team-text span{
     color: #6c757d;
     font-weight: 500;
}
 #team .team-box .team-text p{
     padding: 20px;
     color: #7d8b9b;
     font-weight: inherit;
     font-family: arial;
     font-size: 16px;
}
 #team .team-box .social-icons{
     text-align: center;
}
 #team .team-box .social-icons ul{
     display: flex;
     align-items: center;
     justify-content: center;
}
 #team .team-box .social-icons ul li{
     list-style: none;
     background-color: white;
     border-radius: 20px;
     height: 29px;
     width: 30px;
     box-shadow: 2px 2px 5px rgba(91, 94, 222, 0.16);
}
 #team .team-box .social-icons ul .mrg{
     margin: 0px 15px;
}
 #team .team-box .social-icons ul li a{
     text-decoration: none;
     color: black;
     font-size: 14px;
     align-items: center;
}
 #work{
     padding: 100px 0;
     padding-bottom: 0;
}
 .works .filtering .filter{
     display: inline-block;
     padding: 2px 10px;
}
 .works .filtering span{
     background: #ebeaef;
     text-transform: uppercase;
     cursor: pointer;
     font-size: 13px;
     font-weight: 600;
     margin: 0 5px;
     padding: 15px 20px;
     transition: all 0.3s ease 0s;
     border-radius: 32px;
     background-color: transparent;
     border: 1px solid rebeccapurple;
}
 .works .filtering span:hover{
     background-color: rebeccapurple;
     color: white;
}
 .works .filtering .active{
     background-color: rebeccapurple;
     box-shadow: 0px 8px 30px -5px rbga(0,0,0,0.2);
     color: white;
}
 .works .gallery{
     padding-left: 0;
     padding-right: 0;
     margin-bottom: -0.05em;
     width: 97%;
     margin: auto;
}
 .works .larg-padding{
     padding: 0 15px;
}
 .works .larg-padding .item-img{
     border: 10px solid white;
     margin-top: 30px;
}
 .works .no-padding{
     padding: 0;
}
 .works .no-padding .item-img{
     margin-top: 0;
}
 .works .item-img{
     margin-top: 30px;
     position: relative;
}
 .works .item-img:hover .item-img-overlay{
     opacity: 1;
     transform: scale(1,1);
}
 .works .item-img-overlay{
     background: rgba(0,0,0,0.5);
     bottom: 0;
     left: 0;
     opacity: 0;
     padding: 30px;
     position: absolute;
     right: 0;
     text-align: center;
     top: 0;
     transform: scale(0,0);
     transition: all 0.5s;
}
 .works .item-img-overlay .icon{
     bottom: 30px;
     color: #eee;
     font-size: 30px;
     height: 30px;
     position: absolute;
     right: 30px;
     text-align: center;
     width: 30px;
}
 .works .item-img-overlay p{
     color: #f2f2f2;
     font-weight: 400;
     margin-bottom: 0;
}
 .works .item-img-overlay h3{
     color: white;
     margin: 0;
     font-size: 25px;
     line-height: 1.3;
     font-weight: 500;
     letter-spacing: 1px;
     display: inline-block;
     border-bottom: 3px solid white;
     padding-bottom: 5px;
     margin-bottom: 20px;
}
 .page-title span{
     color: #ce0000;
}
 .carousel-indicators li{
     background: #cecece;
}
 .carousel-indicators>.active{
     background: #ce0000;
}
 .client-desc{
     text-align: center;
     font-style: italic;
     font-size: 22px;
}
 .client-name{
     font-size: 18px;
     text-align: center;
}
 .client-name span{
     font-weight: bold;
     color: #ce0000;
}
 .client-img{
     padding: 1px;
     border: 2px solid #ce0000;
}
 #testinomials{
     height: 100vh;
     padding: 100px 0;
     padding-bottom: 0;
}
 #testinomials .main-tnt{
     position: relative;
}
 #testinomials .team-heading{
     text-align: center;
}
 #testinomials .team-heading span{
     font-weight: 500;
     font-size: 16px;
     color: rebeccapurple;
     background-color: #eee9f2;
     padding: 6px 30px;
     border-radius: 20px;
}
 #testinomials .team-heading h5{
     font-size: 40px;
     color: #222222;
     letter-spacing: 1px;
     padding-top: 10px;
}
 #testinomials .team-heading img{
     padding-bottom: 30px;
}
 #testinomials .main-tnt .carousel-inner{
     position: relative;
     width: 100%;
     overflow: hidden;
     padding: 0px 227px;
     top: 60px;
}
 #testinomials .main-tnt .carousel-indicators{
     bottom: -35%;
}
 #testinomials .main-tnt .carousel-inner .client-name span{
     color: rebeccapurple;
}
 #testinomials .carousel-indicators>.active{
     background: rebeccapurple;
     border-radius: 15px;
}
 #testinomials .carousel-indicators li{
     border-radius: 15px;
}
 #testinomials .carousel-inner .client-img{
     border-color: rebeccapurple;
}
 #about{
     height: 100vh;
     padding: 100px 0;
     padding-bottom: 0;
     background-image: url(../img/about-app.jpg);
     background-repeat: no-repeat;
     background-size: cover;
     background-position: bottom;
}
 #about .about-section{
     position: relative;
     top: 120px;
}
 #about .about-section span{
     color: black;
     font-size: 38px;
     display: block;
     font-weight: bold;
}
 #about .about-section h1{
     display: block;
     color: #c3d1dd;
     font-weight: normal;
     font-size: 54px;
     font-weight: normal;
     border-left: 2px solid #9eb4c7;
     padding-left: 10px;
}
 #about .about-section p{
     font-size: 18px;
     padding-left: 10px;
     padding-right: 20px;
     line-height: 30px;
}
 #newsletter{
     padding: 150px 0;
     padding-bottom: 50px;
}
 #newsletter .team-heading{
     text-align: center;
}
 #newsletter .team-heading span{
     font-weight: 500;
     font-size: 16px;
     color: rebeccapurple;
     background-color: #eee9f2;
     padding: 6px 30px;
     border-radius: 20px;
}
 #newsletter .team-heading h5{
     font-size: 40px;
     color: #222222;
     letter-spacing: 1px;
     padding-top: 10px;
}
 #newsletter .newsletter{
     text-align: center;
     padding: 0px 320px;
}
 #newsletter .newsletter .input-news{
     border-radius: 37px;
     padding: 30px;
     border-bottom-right-radius: 0px;
     border-top-right-radius: 0px;
}
 #newsletter .newsletter .btn-news{
     border-radius: 36px;
     padding: 16px;
     border-top-left-radius: 0px;
     border-bottom-left-radius: 0px;
     background-color: rebeccapurple;
     color: white;
}
 #contact .team-heading img{
     padding-bottom: 30px;
}
 #contact{
     height: 100vh;
     padding: 100px 0;
     margin-bottom: 200px;
}
 #contact .team-heading{
     text-align: center;
}
 #contact .team-heading span{
     font-weight: 500;
     font-size: 16px;
     color: rebeccapurple;
     background-color: #eee9f2;
     padding: 6px 30px;
     border-radius: 20px;
}
 #contact .team-heading h5{
     font-size: 40px;
     color: #222222;
     letter-spacing: 1px;
     padding-top: 10px;
}
 #contact .team-heading img{
     padding-bottom: 30px;
}
 #contact .form-section{
     box-shadow: -1px 92px 99px -62px rgba(0, 0, 0, 0.12), 0 25px 65px 0 rgba(0, 0, 0, 0.08);
     padding: 40px 25px;
     border-radius: 13px;
}
 #contact .form-section label{
     font-size: 10px;
     color: #434343;
}
 #contact .form-section .submit{
     margin-top: 25px;
}
 #contact .form-section .submit .btn{
     font-size: 14px;
     text-transform: uppercase;
     padding: 18px 45px;
     border-radius: 35px;
     letter-spacing: 2px;
     font-weight: 500;
     -webkit-transition: .3s;
     transition: .3s;
     position: relative;
     z-index: 1;
     background: transparent none repeat scroll 0 0;
     color: #2b323f;
     border-color: rebeccapurple;
}
 #contact .form-section .submit .btn:hover{
     background: #ad5389;
    /* fallback for old browsers */
     background: -webkit-linear-gradient(to left, #3c1053, #ad5389);
    /* Chrome 10-25, Safari 5.1-6 */
     background: linear-gradient(to left, #3c1053, #ad5389);
    /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
     transition: 300ms;
     color: white;
}
 #contact .address-section{
     box-shadow: -1px 92px 99px -62px rgba(0, 0, 0, 0.12), 0 25px 65px 0 rgba(0, 0, 0, 0.08);
     padding: 40px 25px;
     border-radius: 13px;
}
 #contact .address-section .icons{
     display: block;
     text-align: center;
}
 #contact .address-section .icons .phone{
     color: rebeccapurple;
     position: relative;
     font-size: 45px;
     display: block;
}
 #contact .address-section .icons .number{
     font-size: 17px;
     color: #a2a2a2;
     letter-spacing: 2px;
}
 #contact .address-section .icons p{
     font-size: 13px;
}
 #contact .address-section .icons b{
     color: black;
}


.bg-blue {
    width: 100%;
    background-color: #009FDA !important;
}

.bg-darkblue {
    width: 100%;
    background-color: #004B67 !important;
}

.navbar-centrata{
    display: flex !important;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
}

 .navbar-brand{
    padding: 0px;
    /*border-right: 1px solid white;
    padding-right: 1rem;*/
}

.title_header{
    margin: 0px;
    color: white;
    font-size: 20px;
}

.header .container{
    padding: 10px 0px;
}


.black{
    color: #252521 !important;
}

.black2{
    color: #000000 !important;
}

.grey_700{
    color: #797978 !important;
}
.grey_600{
    color: #9A9A9A !important;
}

.grey_800{
    color: #575756 !important;
}

.grey_900{
    color: #393935 !important;
}
.blue_400{
    color: #4DBCE5 !important;
}

.blue_500{
    color: #009FDA !important;
}
.blue_200{
    color: #CCECF8 !important;
}

.blue_custom{
    color: #006084 !important
}

.white{
    color: #ffffff !important;
}

.pb-m{
    padding-bottom: 64px !important;
}

.pt-m{
    padding-top: 80px !important;
}
.pb-r{
    padding-bottom: 64px !important;
}

.pb-l{
    padding-bottom: 80px !important;
}

.pt-l{
    padding-top: 80px !important;
}

.pt-xl{
    padding-top: 120px !important;
}

.pb-xl{
    padding-bottom: 120px !important;
}

.pb-s{
    padding-bottom: 40px !important;
}
.pt-s{
    padding-top: 40px !important;
}
.pb-xs{
    padding-bottom: 24px !important;
}

.p-xs{
    padding: 24px;
}

.pb-xxs{
    padding-bottom: 16px;
}

.pr-s{
    padding-right: 40px;
}

.no-border{
    border: 0px;
}

.bold{
    font-weight: bold !important;
}

.align_center{
    align-items: center;
}

.no_link:hover{
    text-decoration: none;
    text-transform: none
}

.bg-grey{
    background-color: #FAFAFA;
    border: 1px solid #EEEEEE;
    border-radius: 5px;
}

.img-responsive-logo-footer{
    height: 64px;
    padding: 10px; 
}

.align-items-row{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
} 

.vertical-middle{
    align-items: center;
}

.orizzontal-middle{
    justify-content: center;
}
    
.space-between{
    justify-content: space-between;
}

.error{
    color: #DF232E;
}

.form-control-error{
    border-color: #DF232E !important;
}

select.form-control{
    /* Background image removed - external URL dependency */
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
}

.datepicker-input{
    /* Background image removed - external URL dependency */
}

input[type=text].form-control-error{
    /* Background image removed - external URL dependency */
}

input[type=password].form-control-error{
    /* Background image removed - external URL dependency */
}
input[type=number].form-control-error{
    /* Background image removed - external URL dependency */
}
input[type=email].form-control-error{
    /* Background image removed - external URL dependency */
}

/* Commented out rule with external URL dependency removed */

.over-body{
    display: none;
    position: fixed;
    z-index: 99999;
    height: 100%;
    width: 100%;
    overflow: hidden;
}

.btn-sm{
    padding: 5px 15px !important;
}

.block-scroll{
    overflow: hidden;
}

.align-items-colum{
    
    display: flex;
    flex-direction: column;
}

.over-body-centrata{
    position: absolute;
    top: 0;
    height: 100%;
    width: 100%;
}

.bt{
    border-top: 1px solid;
}

.b-grey-200{
    border-color: #EEEEEE;
}

.p-40{
	padding: 40px;
}

.no-pd{
	padding: 0px !important;
}

.text-align-center{
    text-align: center !important;
}


button[disabled=disabled], button:disabled {
    background-color: #CDCDCC !important;
    border-color: #CDCDCC !important;
    color: #FFFFFF !important;
}

button[disabled=disabled]:hover, button:disabled:hover {
    background-color: #CDCDCC !important;
    border-color: #CDCDCC !important;
    color: #FFFFFF !important;
}

.ginput_container_select select{
    padding-top: 0px !important;
}

.hide_obbligatorio .gfield_required.gfield_required_text{
    display: none !important;
}