* {
    padding: 0;
    margin: 0;
    box-sizing: border-box
}
/*
img {
    max-width: 100%
}
*/
a {
    text-decoration: none
}

p, button {
    font-family: 'Roboto', sans-serif;
    font-size: 16px
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', sans-serif
}

li {
    font-family: 'Roboto', sans-serif;
    list-style: none;
}

.brDesktop {
    display: block;
}
.mobi-img{
    display: none;
}

.illustration{
    margin: 65px auto;
}

.hero {
    background-color: #002646;
    padding: 60px 0 60px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    column-gap: 15%;
    height: 610px;
}

.headerContainer {
    width: 100%;
    padding: 0 90px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    justify-content: center;
    margin: 0 auto
}

.small-title-head {
    color: #FC7E00;
    font-family: 'Roboto', sans-serif;
    font-size: 25px;
    font-weight: 500;
    text-transform: uppercase;
    line-height: 22px;
    margin-bottom: 8px;
}

.hero h2 {
    color: #fff;
    font-family: "Montserrat",sans-serif;
    font-size: 46px;
    font-weight: 800;
    padding-bottom: 1rem;
    line-height: 110%;
}

.hero .under-title {
    padding-right: 110px;
    font-family: "Roboto";
    color: #fff;
    font-size: 16px;
    font-weight: 400
}

.hero button {
    background: #FC7E00;
    font-family: "Roboto", sans-serif;
    color: #fff;
    padding: 15px 20px;
    border-radius: 50px;
    cursor: pointer;
    border: 0;
    font-weight: 700;
    line-height: normal;
}

.hero button:hover {
    background: #E26B04
}


.hero .desktop-img {
    display: block;
    width: 100%;
}

.productDetail {
    padding: 100px 0 90px;
    background-color: #EDECE8;
}

.productDetailColumns{
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 0 90px;
    align-items: center;
    gap: 120px;
}

.productDetailFirstColumn img{
    width: 100%;
}

.productDetailSecondColumn{
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.productDetailSecondColumn h2{
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 40px;
    line-height: 45px;
    text-align: left;
    color: #004DBC;
}

.productDetailSecondColumn p, .productDetailArticles article p{
    font-family: 'Roboto';
    font-weight: 400;
    font-size: 16px;
    line-height: 25px;
    color: #002649;
}

.productDetailArticles {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-top: 20px;
}

.productDetailArticles article {
    position: relative;
    display: grid;
    grid-template-columns: .5fr 3.5fr;
}

.productDetailArticles article h3 {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 600;
    font-size: 20px;
    line-height: 27px;
    color: #004DBC;
}

.description {
    padding: 100px 0;
    background-image: url(../img/nps/background.svg);
    background-repeat: no-repeat;
    background-position: bottom right;
}

.descriptionColumns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 0px 90px;
}

.descriptionFirstColumn {
    text-align: left;
}

.descriptionFirstColumn h2 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 40px;
    line-height: 45px;
    color: #FC7E00;
    margin-bottom: 50px;
}

.descriptionFirstColumn p {
    font-family: 'Roboto';
    font-weight: 400;
    font-size: 18px;
    line-height: 25px;
    color: #384044;
    margin: 0 50px 50px 0;
}

.descriptionSecondColumn video {
    width: 500px;
    height: 400px;
}

.features {
    margin: 0 0 170px;
}

.featuresCards {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    justify-content: center;
    gap: 75px;
    padding: 0 90px;
}

.firstCard {
    background: #004DBC;
    border-radius: 20px;
    padding: 60px 30px;
}

.firstCard h2{
    font-family: 'Montserrat';
    font-weight: 600;
    font-size: 25px;
    line-height: 30px;
    color: #FFFFFF;
    margin-bottom: 15px;
}

.firstCard h2 span{
    color: #FC7E00;
}

.firstCard p {
    font-family: 'Roboto';
    font-weight: 400;
    font-size: 16px;
    line-height: 25px;
    color: #FFFFFF;
}

.nCard{
    border-bottom: 2px solid #FC7E00;
    display: grid;
    align-content: flex-start;
}

.nCard img{
    max-width: 100%;
}

.nCard h2{
    font-family: 'Montserrat';
    font-weight: 700;
    font-size: 21px;
    line-height: 27px;
    margin: 40px 0 10px 0;
    color: #FC7E00;
}

.nCard p{
    font-family: 'Roboto';
    font-weight: 400;
    font-size: 16px;
    line-height: 22px;
    margin-bottom: 40px;
    color: #002646;
}

.otherFeatures{
    text-align: center;
    padding: 100px 0;
    background: #002649;
}

.otherFeatures h2{
    font-family: 'Montserrat';
    font-weight: 600;
    font-size: 40px;
    line-height: 45px;
    margin-bottom: 15px;
    color: #FC7E00;
}

.otherFeatures p{
    font-family: 'Roboto';
    font-weight: 400;
    font-size: 18px;
    line-height: 25px;
    color: #FFFFFF;
}

.otherFeaturesColumns{
    display: grid;
    padding: 100px 90px 0;
    grid-template-columns: repeat(4,1fr);
    align-items: end;
    gap: 70px;
}

.featureInfo p{
    font-size: 16px;
    line-height: 22px;
    margin-top: 30px;
}

.featureInfo img{
    max-width: 100%;
}

.banner {
    background: #EDECE8;
    background-image: url(../img/nps/background-left.webp);
    background-repeat: no-repeat;
    background-position: bottom left;
    padding: 150px 20px;
    color: white;
    text-align: center;   
}
.banner h2 { 
    font-family: 'Montserrat';
    font-weight: 600;
    font-size: 30px;
    line-height: 37px;
    text-align: center;
    color: #002649;
}

.banner button {
    border:none;
    background-color: #FC7E00;
    border-color: #FC7E00;
    color: #fff;
    padding: 20px 24px;
    border-radius: 30px;
    font-weight: 700;
    font-family: 'Roboto', sans-serif;
    margin-top: 30px;
    cursor: pointer;
}

.banner button:hover {
    background-color: #E26B04;
}

/* MEDIA QUERY - TABLET */
@media (min-width: 701px) and (max-width: 1124px) {
    h2 {
        padding-left: 10px;
        padding-right: 10px;
    }
    .hero {
        padding: 65px 30px 65px;
        height: fit-content;
    }

    .hero .headerContainer {
        display: flex;
        flex-direction: column;
        align-self: flex-start;
        padding: 0;
    }

    .hero .headerContainer div {
        text-align: center;
    }

    .hero .headerContainer div h2 {
        margin: 15px 0;
    }

    .hero .desktop-img {
        padding-top: 3vw;
    }

    /**************************************/
    .productDetail {
        padding: 65px 0 65px;
        text-align: center;
    }

    .productDetail p{
        padding: 0 20px;
        line-height: 22px;
    }

    .productDetailColumns{
        display: flex;
        flex-direction: column-reverse;
        gap: 40px;
        align-items: center;
    }

    .productDetailFirstColumn img{
        width: 100%;
    }

    .productDetailSecondColumn{
        width: 100%;
        gap: 40px;
    }

    .productDetail h2, .description h2, .otherFeatures h2{
        font-size: 38px;
        line-height: 42px;
        padding: 0 10px;
        text-align: center;
    }

    .productDetailArticles {
        padding: 20px;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .productDetailArticles article {
        grid-template-rows: .5fr 3.5fr;
        grid-template-columns: none;
        align-items: flex-start;
        gap: 15px;
        justify-items: center;
    }
    
    /****************************/
    .description {
        padding: 65px 0;
        background-image: none;
    }

    .descriptionColumns{
        display: flex;
        flex-direction: column;
        margin: 0;
        text-align: center;
    }

    .descriptionFirstColumn p {
        font-size: 18px;
        line-height: 25px;
        margin: 0 0 50px 0;
        text-align: center;
        padding: 0 20px;
    }

    .descriptionFirstColumn img{
        display: none;
    }

    /****************************/
    .features {
        background: #EDECE8;
        padding: 65px 20px 65px;
        text-align: center;
        margin: 0;
    }

    .featuresCards{
        grid-template-columns: repeat(2,1fr);
        padding: 0;
    }

    .nCard{
        justify-items: center;
    }

    /****************************/

    .otherFeatures {
        padding: 60px 0;  
    }

    .otherFeatures h2{
        margin-bottom: 35px;
    }

    .otherFeatures p{
        font-size: 16px;
        line-height: 22px;
    }

    .otherFeaturesColumns{
        padding: 50px 20px;
        grid-template-columns: repeat(2,1fr);
    }

    /****************************/

    .banner{
        background-image: none;
    }

}

/* MEDIA QUERY - MOBILE */
@media (max-width: 700px) {
    .brDesktop {
        display: inline;
    }
    .mobi-img{
        display: block;
    }
    button.bttnSecundario {
        margin: 0 auto;
        width: 95%
    }

    .features .features-grid .feature-description span {
        margin: 0
    }

    .desktop-break {
        display: none
    }

    .hero {
        flex-direction: column;
        text-align: center;
        padding: 65px 30px 65px;
        height: 100%
    }

    .hero h2 {
        font-size: 32px;
        line-height: 35px;
        padding: .8em 0;
    }

    .hero .headerContainer {
        display: flex;
        flex-direction: column;
        align-self: flex-start;
        padding: 0
    }

    .hero .headerContainer .div-text {
        justify-content: center;
        align-items: center;
        gap: 15px
    }

    .hero .desktop-img {
        width: 100%;
        height: 100%;
        margin-top: 10vw;
    }

    .hero .under-title {
        padding-right: 0
    }

    /****************************/
    .productDetail {
        padding: 65px 0 0;
        text-align: center;
    }

    .productDetail p{
        padding: 0 20px;
        line-height: 22px;
    }

    .productDetailColumns{
        display: flex;
        flex-direction: column-reverse;
        gap: 40px;
        align-items: center;
        margin: 0 20px;
    }

    .productDetailFirstColumn{
        padding: 0 20px 30px;
    }

    .productDetailFirstColumn img{
        width: 100%;
        height: 100%;
    }

    .productDetailSecondColumn{
        width: 100%;
        gap: 40px;
    }

    .productDetail h2, .description h2, .otherFeatures h2{
        font-size: 38px;
        line-height: 42px;
        padding: 0 10px;
        text-align: center;
    }

    .productDetailArticles {
        padding: 20px;
    }

    .productDetailArticles article {
        grid-template-rows: .5fr 3.5fr;
        grid-template-columns: none;
        align-items: center;
        justify-items: center;
    }
    
    /****************************/
    .description {
        padding: 65px 0;
        background-image: none;
    }

    .descriptionColumns{
        display: flex;
        flex-direction: column;
        margin: 0;
        text-align: center;
    }

    .descriptionFirstColumn p {
        font-size: 18px;
        line-height: 25px;
        margin: 0 0 50px 0;
        text-align: center;
        padding: 0 20px;
    }

    .descriptionFirstColumn img{
        display: none;
    }

    .descriptionSecondColumn img{
        margin: auto;
    }

    .descriptionSecondColumn video{
        display: none;
    }

    /****************************/
    .features {
        background: #EDECE8;
        padding: 5px 20px 65px;
        text-align: center;
        margin: 0;
    }

    .featuresCards{
        display: flex;
        flex-direction: column;
        padding: 0;
    }

    .nCard{
        justify-items: center;
    }

    .nCard:last-child{
        border-bottom: none;
    }

    /****************************/

    .otherFeatures {
        padding: 60px 0;  
    }

    .otherFeatures h2{
        margin-bottom: 35px;
    }

    .otherFeatures p{
        font-size: 16px;
        line-height: 22px;
    }

    .otherFeaturesColumns{
        padding: 50px 20px;
        grid-template-columns: 1fr;
    }

    /****************************/

    .banner{
        background-image: none;
    }
}

@media (min-width: 1209px) {
    .containerLayout {
        margin: 0 auto;
        max-width: 1366px;
    }
}

/* MEDIA QUERY - GENERAL Zoom */
@media (min-width: 768px) and (max-width: 1800px) {
    nav, footer {
        zoom: .85;   
    }

    .box-menu button {
        line-height: 1.19;
    }
}