@font-face {
    font-family: PoppinsLight;
    src: url(../fonts/Poppins/Poppins-Light.ttf);
}

@font-face {
    font-family: PoppinsRegular;
    src: url(../fonts/Poppins/Poppins-Regular.ttf);
}

@font-face {
    font-family: PoppinsMedium;
    src: url(../fonts/Poppins/Poppins-Medium.ttf);
}

@font-face {
    font-family: 'PoppinsSemiBold';
    src: url('../fonts/poppins/poppins-semibold.ttf') format('truetype');
}

@font-face {
    font-family: PoppinsItalic;
    src: url(../fonts/Poppins/Poppins-Italic.ttf);
}

@font-face {
    font-family: CodeBold;
    src: url(../fonts/Code/CODE-Bold.otf);
}

html, body {
    background-color: white;
    overflow-x: hidden;
}

html, body, span, a, p, h1, h2, h3, h4, h5, div {
    font-family: 'PoppinsRegular', sans-serif;
    color: rgba(6, 18, 55, 0.6);
}

.row-eq-height {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

.sectionTitle {
    font-family: CodeBold;
    color: #4b6e81;
    font-size: 18px;
    display: block;
    letter-spacing: 6px;
}

section {
    min-height: 100vh !important;
    height: auto !important;
}

.title {
    font-family: CodeBold;
    color: #061237;
    font-size: 50px;
    line-height: 1;
    letter-spacing: 4px;
}

.carouselFullPage .carousel-inner, .carouselFullPage .carousel-item, .carouselFullPage .row {
    height: 100%;
}

.carouselFullPage .carousel-item {
    overflow: hidden;
}

.carouselFullPage .carousel-indicators {
    bottom: 30px;
}

    .carouselFullPage .carousel-indicators li {
        background-color: rgba(6, 18, 55, 0.3);
        cursor: pointer;
    }

    .carouselFullPage .carousel-indicators .active {
        background-color: #4b546f;
    }

.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-image: none;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: white;
}

    .carousel-control-next-icon:after {
        content: '>';
        font-size: 55px;
        color: #061237;
        font-family: PoppinsMedium;
    }

    .carousel-control-prev-icon:after {
        content: '<';
        font-size: 55px;
        color: #061237;
        font-family: PoppinsMedium;
    }

#fullpage {
    padding-top: 56px;
}

/* navbar */

.navbar {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    height: 55px;
    z-index: 99;
    background: white;
    -webkit-box-shadow: 0px 8px 42px -10px rgba(193,193,193,1);
    -moz-box-shadow: 0px 8px 42px -10px rgba(193,193,193,1);
    box-shadow: 0px 8px 42px -10px rgba(193,193,193,1);
}

    .navbar .collapse {
        justify-content: center;
    }

    .navbar .navbar-brand img {
        width: 100px;
        display: block;
        position: absolute;
        left: 0;
        top: -3px;
    }

    .navbar .navbar-nav .nav-link {
        margin: 0 15px;
        font-size: 14px;
        padding: 0;
        color: #061237;
        letter-spacing: 2px;
        cursor: pointer;
        border-bottom: 1px solid transparent;
    }

        .navbar .navbar-nav .nav-link.active {
            opacity: 1 !important;
            font-weight: bold;
            border-bottom: 1px solid white;
        }

        .navbar .navbar-nav .active > .nav-link, .fp-viewing-WhyMOMI .introActive > .nav-link, .fp-viewing-Problem-0 .problemActive > .nav-link, .fp-viewing-HowItWorks-0 .howWorksActive > .nav-link, .fp-viewing-Footer .howWorksActive > .nav-link, .navbar .navbar-nav .nav-link:focus, .navbar .navbar-nav .nav-link:hover {
            color: #061237;
            border-bottom: 1px solid #061237;
        }

    .navbar .container {
        position: relative;
    }

.languages {
    position: absolute;
    right: 0;
}

.navbar-light .navbar-nav.languages .nav-link {
    margin: 0 8px;
}

.fp-viewing-MOMI .navbar {
    background: transparent;
    box-shadow: none;
}

    .fp-viewing-MOMI .navbar .navbar-brand img {
        display: none;
    }

.fp-viewing-MOMI .navbar-light .navbar-nav .nav-link {
    color: white;
    font-family: PoppinsLight;
    opacity: .5;
}

    .fp-viewing-MOMI .navbar-light .navbar-nav .active > .nav-link,
    .fp-viewing-MOMI .navbar-light .navbar-nav .nav-link:focus,
    .fp-viewing-MOMI .navbar-light .navbar-nav .nav-link:hover {
        color: white;
        border-bottom: 1px solid white;
    }

/* intestazione */

.intestazione {
    background-image: url(../img/intestazioneBg.jpg);
    background-size: cover;
    height: 100vh;
    background-position: center;
    display: flex;
    align-items: center;
}

.logo {
    width: 83vw;
    margin: 0 auto;
    min-width: 200px;
    max-width: 600px;
}

/* why momi */

.whyMOMI {
    height: 100vh;
    display: flex;
    flex-direction: column;
}

.tolstojDiv {
    height: 100vh;
    justify-content: space-between;
    display: flex;
    flex-direction: column;
}

    .tolstojDiv .row {
        min-height: 66vh;
    }

.whyMomiBg {
    background-image: url(../img/whyMomiBg.png);
    background-size: auto 100%;
    background-position: bottom center;
    background-repeat: no-repeat;
    height: 40vh;
}

.whyMOMI .container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.tolstojDiv .info {
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding: 30px 30px;
    text-align: center;
}

    .tolstojDiv .info p {
        font-family: PoppinsRegular;
        font-size: 14px;
    }

    .tolstojDiv .info .subTitle {
        font-family: PoppinsMedium;
        margin: 30px 0 8px;
    }

    .tolstojDiv .info .citazione {
        margin-bottom: 20px;
    }

        .tolstojDiv .info .citazione p {
            font-family: PoppinsItalic;
            font-size: 18px;
            margin-bottom: 5px;
        }

        .tolstojDiv .info .citazione span {
            font-family: PoppinsItalic;
            color: #4b6e81;
            font-size: 13px;
        }

.tolstojDivSecond {
    background-image: url("../img/whyMomiContactUs.png");
    min-height: 33vh;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

    .tolstojDivSecond span {
        font-family: CodeBold;
        font-size: 22px;
        color: white;
        letter-spacing: 2.2px;
    }

    .tolstojDivSecond .button {
        border-radius: 5px;
        background-color: #6398b8;
        width: 226px;
        height: 50px;
        margin-top: 30px;
        border: 1px solid #6398b8;
        font-family: PoppinsSemiBold;
        font-size: 14px;
        text-transform: uppercase;
        color: white;
        cursor: pointer;
        align-items: center;
        display: flex;
        justify-content: center;
    }

        .tolstojDivSecond .button:hover {
            text-decoration: none;
        }

.whyMOMI .info {
    display: flex;
    justify-content: center;
    flex-direction: column;
}

    .whyMOMI .info p {
        font-family: PoppinsRegular;
        font-size: 14px;
    }

    .whyMOMI .info .subTitle {
        font-family: PoppinsMedium;
        margin: 30px 0 8px;
    }

    .whyMOMI .info .citazione {
        margin-bottom: 20px;
    }

        .whyMOMI .info .citazione p {
            font-family: PoppinsItalic;
            font-size: 18px;
            margin-bottom: 5px;
        }

        .whyMOMI .info .citazione span {
            font-family: PoppinsItalic;
            color: #4b6e81;
            font-size: 13px;
        }

/* problem section */
.problems {
    padding-top: 55px;
    display: flex;
    height: 100vh;
    overflow: hidden;
}

    .problems .info {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .problems img {
        position: relative;
        right: -77px;
        margin-left: auto;
        top: -200px;
    }

.problemsFirstBg {
    background-image: url(../img/problem1.jpg);
    background-size: 1071px 625px;
    height: 318px;
    background-position: center bottom;
    background-repeat: no-repeat;
}

/* .problems .description h4 {
    font-family: CodeBold;
    font-size: 18px;
    text-transform: uppercase;
    color: #4b6e81;
    letter-spacing: 6px;
    margin: 40px 0 20px;
} */

.problem2Slide {
    display: flex;
    height: 100vh;
    overflow: hidden;
    height: auto;
    min-height: initial !important;
    top: -100px;
    position: relative;
}

    .problem2Slide .info {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

.problem3Slide {
    display: flex;
    height: 100vh;
    overflow: hidden;
}

    .problem3Slide .info {
        display: flex;
        flex-direction: column;
    }

.problemsThirdBg {
    background-image: url(../img/problem3.jpg);
    background-size: 100% auto;
    height: 700px;
    background-repeat: no-repeat;
    background-position: bottom right;
    width: 100%;
    bottom: 0px;
}


.solution {
    background-image: url(../img/solutionBg.png);
    background-size: 120vw;
    background-position: right bottom;
    background-repeat: no-repeat;
}

    .solution .info {
        justify-content: flex-start;
        padding: 85px 0px 50px 70px;
    }

        .solution .info .description p {
            color: #061237;
            margin-bottom: 8px;
        }

            .solution .info .description p span {
                color: #3c5f72;
                text-transform: uppercase;
            }

/* how it works */

.howDoesItWork {
    padding-top: 55px;
    display: flex;
    overflow: hidden;
}

    .howDoesItWork.img {
        background-image: url(../img/howItWorks1.png);
        background-repeat: no-repeat;
        background-position: bottom right;
        background-size: 61%;
    }

    .howDoesItWork img {
        width: 80%;
        margin-left: 10%;
    }

.howDoesItWork2 {
    display: flex;
    overflow: hidden;
}

    .howDoesItWork2.img {
        background-image: url(../img/howItWorks2.png);
        background-repeat: no-repeat;
        background-position: bottom right;
        background-size: 60%;
    }

    .howDoesItWork2 img {
        width: 80%;
        margin-left: 10%;
    }

.howDoesItWork3 {
    display: flex;
    overflow: hidden;
}

    .howDoesItWork3 img {
        width: 80%;
        max-width: 1050px;
    }


.howDoesItWork4 {
    display: flex;
    overflow: hidden;
    margin-bottom: 40px;
}

    .howDoesItWork4 .img {
        width: 100%;
        max-width: 1050px;
        height: 100%;
        background-image: url(../img/howItWorks4.png);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
    }


.howItWorks1 .info {
    padding: 0 60px 180px 200px;
    justify-content: flex-end;
}

    .howItWorks1 .info .description h5 {
        color: #3c5f72;
        font-family: PoppinsRegular;
        margin: 0 0 40px;
    }

.howItWorks2 img {
    height: 100vh;
    margin-left: -500px;
}

.howItWorks2 .info {
    padding: 0 60px 250px 200px;
    justify-content: flex-end;
}

.howItWorks3 img {
    margin-left: -715px;
    position: absolute;
}

.howItWorks3 .container, .howItWorks4 .container {
    height: 100%;
}

.howItWorks4 img {
    position: absolute;
    margin-top: -300px;
    margin-left: -850px;
}

.phoneAndVideosContainer .phone {
    z-index: 4;
    position: relative;
    top: 0;
}

.phoneAndVideosContainer .videoContainer {
    border-radius: 50%;
    border: 3px solid white;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    overflow: hidden;
}

    .phoneAndVideosContainer .videoContainer iframe {
        height: 100%;
    }

    .phoneAndVideosContainer .videoContainer.firstVideo {
        width: 250px;
        height: 250px;
        top: 0;
        left: 250px;
        z-index: 3;
    }

    .phoneAndVideosContainer .videoContainer.secondVideo {
        width: 278px;
        height: 278px;
        top: calc(50% - 161px);
        left: 280px;
        z-index: 3;
    }

    .phoneAndVideosContainer .videoContainer.thirdVideo {
        width: 250px;
        height: 250px;
        bottom: 0;
        left: 250px;
        z-index: 1;
    }

/* demo */

.demo {
    height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: #f3f3f3;
    background-image: url('../img/demobg.jpg');
    background-size: cover;
    background-position: bottom center;
    background-position-y: 99%;
}

    .demo .container {
        margin-top: -175px;
    }

    .demo .title {
        margin-bottom: 80px;
    }

    .demo .qrcodeImage {
        height: 160px;
    }

    .demo .qrcodeDescription {
        font-family: PoppinsSemiBold;
        font-size: 14px;
        color: #2b2e43;
        display: block;
        margin: 12px 0 30px;
        text-decoration: none;
        cursor: default;
    }

/* contact */

.contact {
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-image: url('../img/contactbg.jpg');
    background-size: cover;
    padding-bottom:100px;
    position: relative;
}

    .contact h2 {
        color: white;
        font-family: CodeBold;
        text-transform: uppercase;
        font-size: 30px;
        text-align: center;
        margin-bottom: 70px;
        letter-spacing: 4px;
        line-height: 1;
        opacity: .9;
    }

    .contact .form-group {
        position: relative;
    }

        .contact .form-group img {
            position: absolute;
            right: 20px;
            top: 0;
            bottom: 0;
            margin: auto;
        }

    .contact .form-control {
        border-radius: 5px;
        background-color: #4a6984;
        border: 1px solid #4a6984;
        height: 52px;
        color: white;
        font-family: PoppinsRegular;
        font-size: 14px;
        padding-left: 20px;
    }

        .contact .form-control::placeholder {
            color: white;
        }

    .contact textarea {
        height: 188px !important;
        padding: 20px 45px 20px 20px;
    }

        .contact textarea ~ img {
            top: 15px !important;
            bottom: unset !important;
        }

    .contact button[type="submit"] {
        border-radius: 5px;
        background-color: #6398b8;
        width: 226px;
        height: 50px;
        margin-top: 30px;
        border: 1px solid #6398b8;
        font-family: PoppinsSemiBold;
        font-size: 14px;
        text-transform: uppercase;
        color: white;
        cursor: pointer;
    }

.description {
    max-width: 500px;
}

/* footer */
footer {
    height: 84px !important;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

    footer .fp-tableCell {
        height: 300px !important;
    }

    footer .whiteSection {
        background: white;
        background: #2e344a;
        height: 150px;
        width: 100%;
    }

    footer .blueSection {
        background: #101a43; /* first version */
        background: #2e344a; /* second version */
        background: transparent;
        height: 84px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

        footer .blueSection a {
            color: white !important;
            text-decoration: underline !important;
        }

    footer p {
        color: rgba(255, 255, 255, 0.40);
        margin-bottom: 5px;
        font-size: 9px;
    }

        footer p:first-child, footer p.white {
            color: white;
        }

.genericProjectHeaderSection {
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url(../img/contactbg.jpg);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100vw;
    height: calc(100vh - 55px);
    margin-top: 55px;
}

    .genericProjectHeaderSection .projectPresentationContainer {
        max-width:100vw;
    }

        .genericProjectHeaderSection .projectPresentationContainer .bgTitle {
            font-family:PoppinsSemiBold;
            color:white;
        }

        .genericProjectHeaderSection .projectPresentationContainer hr {
            background-color: white;
        }

        .genericProjectHeaderSection .projectPresentationContainer .testo {
            font-family: PoppinsLight;
            color: white;
        }

.contact form{
    max-width:1400px;
    width:100%;
    margin-left:auto;
    margin-right:auto;
}

/* media queries */
@media screen and (min-width: 1700px) {
    .workContainer, .problemContainer {
        width: 1700px;
        margin-left: auto;
        margin-right: auto;
    }
}

@media screen and (min-width: 1400px){
    .howDoesItWork.img {
        background-size: 65%!important;
    }

    .howDoesItWork2.img {
        background-size: 57%!important;
    }
}

@media screen and (max-width: 1390px) {

    .problems img {
        width: 70%;
    }
}

@media screen and (min-width: 1300px) {


    .howDoesItWork.img {
        background-size: 45%;
    }

    .howDoesItWork2.img {
        background-size: 654px
    }

    .solution {
        background-size: 1500px;
    }

    .demo {
        background-repeat: no-repeat;
        min-height:120vh!important;
    }
}

@media screen and (max-width: 1200px) {
    /*.problemsSecondBg {
        background-size: 80% 100%;
        background-position: right;
        background-position-x: calc(100vw - 563px);
        height: 400px;
    }*/

    .phoneAndVideosContainer .phone {
        height: 500px;
    }

    .phoneAndVideosContainer .videoContainer.firstVideo {
        width: 180px;
        height: 180px;
        left: 225px;
    }

    .phoneAndVideosContainer .videoContainer.secondVideo {
        width: 250px;
        height: 250px;
        top: calc(50% - 146px);
        left: 213px;
        z-index: 3;
    }

    .phoneAndVideosContainer .videoContainer.thirdVideo {
        width: 180px;
        height: 180px;
        left: 225px;
        bottom: 29px;
    }

    section.problem3Slide.problemsThirdBg {
        min-height: 900px !important;
    }

    .problems img {
        position: initial;
        width: 90%;
        margin-left: 5%;
    }

    .problem2Slide {
        position: initial;
    }

    section.howDoesItWork {
        min-height: auto !important;
        height: auto !important;
    }

    .howDoesItWork.img, .howDoesItWork2.img {
        background-image: none;
    }

    section.problems, section.problem2Slide {
        min-height: auto !important;
        height: auto !important;
    }

    .problem2Slide .title {
        width: 100% !important;
    }

    .problems .title {
        width: 100% !important;
    }

    .problems .info {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .problem2Slide img {
        left: -920px;
    }

    .howItWorks1 img {
        margin-left: -280px;
    }

    .howItWorks2 img {
        margin-left: -570px;
    }

    .howItWorks3 img {
        margin-left: -825px;
    }

    .howItWorks4 img {
        margin-left: -950px;
    }

    /*.phoneAndVideosContainer .phone {
        left: -110px;
    }

    .phoneAndVideosContainer .videoContainer.firstVideo {
        left: 270px;
    }

    .phoneAndVideosContainer .videoContainer.secondVideo {
        left: 160px;
    }

    .phoneAndVideosContainer .videoContainer.thirdVideo {
        left: 320px;
    }*/

    .demo {
        padding: 5% 5% 24%;
    }

        .demo .qrcodeImage {
            height: 300px;
        }

    section.howDoesItWork4 {
        min-height: auto !important;
        height: auto !important;
    }
}

@media screen and (max-width: 992px) {

    .problemsSecondBg {
        height: 276px;
        background-size: 110% 100%;
        background-position-x: -20px;
    }

    .fp-viewing-MOMI .navbar-light .navbar-toggler-icon {
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
    }

    .fp-viewing-MOMI .navbar-light .navbar-toggler {
        border-color: rgba(255, 255, 255, 0.3);
    }

    .navbar-light .navbar-toggler {
        position: absolute;
        right: 0px;
    }

    .navbar .navbar-brand img {
        top: -5px !important;
        width: 80px;
    }

    .navbar-collapse.collapse.show, .navbar-collapse.collapsing {
        position: absolute;
        top: 30px;
        left: -20px;
        right: -20px;
        background: #070d27;
        padding: 25px 20px 15px;
        display: flex;
        flex-direction: column;
        justify-content: space-around;
        height: calc(100vh - 53px);
    }

        .navbar-collapse.collapse.show .navbar-nav .nav-item {
            margin-bottom: 15px;
        }

            .navbar-collapse.collapse.show .navbar-nav .nav-item a {
                color: white;
                display: inline-block;
            }

    .languages {
        position: relative;
        left: 9px;
    }

    .solution .info {
        padding-top: 110px;
        padding-left: 0;
    }

    .howItWorks1 img {
        margin-left: -480px;
    }

    .howItWorks1 .info {
        padding: 0 0 180px;
    }

    .howItWorks2 img {
        margin-left: -710px;
    }

    .howItWorks4 img {
        margin-left: -1080px;
    }

    /*.phoneAndVideosContainer .phone {
        left: -175px;
    }

    .phoneAndVideosContainer .videoContainer.firstVideo {
        left: 150px;
    }

    .phoneAndVideosContainer .videoContainer.secondVideo {
        left: 95px;
    }

    .phoneAndVideosContainer .videoContainer.thirdVideo {
        left: 260px;
    }*/
}

@media screen and (max-height: 900px) {

    .problem2Slide {
        padding: 0px;
    }

    .problem3Slide {
        padding: 0;
        padding-bottom: 250px;
    }

    .whyMOMI .sectionTitle {
        font-size: 14px;
    }

    .whyMOMI .title {
        font-size: 40px;
    }

    /*.info .description .subTitle {
        margin-top: -20px;
    }*/

    .solution {
        background-size: 60vw;
        background-position: right bottom;
    }
}

@media screen and (max-width: 767px) {

    .phoneAndVideosContainer .phone {
        height: auto;
        width: 50%;
    }

    section.problem3Slide.problemsThirdBg {
        min-height: 150vw !important;
    }

    .howDoesItWork img {
        width: 100%;
    }

    .howDoesItWork.img {
        display: flex;
        justify-content: center;
        flex-direction: column;
    }

    .problemsFirstBg {
        background-size: 675px 425px;
        height: 247px;
    }

    .demo .qrcodeImage {
        height: 200px;
    }

    .removeForMobile {
        display: none;
    }

    .sectionTitle {
        font-size: 14px;
    }

    .title {
        font-size: 36px;
    }

    .description {
        margin-top: 10px;
    }

    .carouselFullPage .carousel-indicators {
        bottom: 10px;
    }

    .carousel-control-next-icon:after, .carousel-control-prev-icon:after {
        font-size: 34px;
    }

    .intestazione {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .whyMOMI .container, .problems .container {
        position: relative;
    }

    .info .description .subTitle {
        margin-top: 0;
    }

    .solution {
        background-image: none;
    }

    .howItWorks1, .howItWorks2, .howItWorks3, .howItWorks4 {
        min-height: 610px;
    }

        .howItWorks1 .info, .howItWorks2 .info, .howItWorks3 .info, .howItWorks4 .info {
            padding: 40px 20px;
        }

    .demo {
        padding: 40px 40px 170px;
    }

        .demo .container {
            margin-top: 0;
        }

        .demo .title {
            margin-bottom: 40px;
        }

    .contact {
        padding: 80px 40px 180px;
    }

        .contact h2 {
            margin-bottom: 30px;
        }

        .contact button[type="submit"] {
            margin-top: 5px;
        }

    footer {
        min-height: 95px !important;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
    }

        footer .blueSection {
            padding: 0 20px;
        }
}
