*{
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

html{
    height: 100%;
}

body
{
    font-family: Segoe UI,Frutiger,Frutiger Linotype,Dejavu Sans,Helvetica Neue,Arial,sans-serif; 
    font-size: 1.2rem;
    min-height: 100vh;
}

@font-face {
    font-family: "duneFont";
    src: url("resources/Dune_Rise.ttf");
}

.grid_container > *
{
    border-radius: 4px;
    text-align: center;
    padding: 0px;
}
/* Asignar clases a los templates grid */

.emblema
{
    position: fixed;
    width: 10%;
    max-width: 100px;
    min-width: 70px;
    opacity: 60%;
    /* top: 20px; */
    left: 20px;
    bottom: 20px;
    z-index: 99;
    transition: all 0.2s;
}
.emblema:hover
{
    opacity: 100%;
}

.header
{
    position: relative;
    display: flex;
    padding: 0;
    margin: 0;
    grid-area: header;
    display: flex;
    align-items: center;
    background-image: url("resources/hardWork.svg");
    background-repeat: no-repeat;
    background-size: 100%;
    justify-content: center;
    overflow: hidden;
    box-shadow: inset rgb(255, 255, 255) 0px -100px 80px 0px;
}

.header .background img
{
    position: absolute;
    width: 45%;
    left: 10%;
    top: 10%;
}
.header .fore-ground
{
    background-color: white;
    padding: 0px 30px 0px 30px;
    width: 35%;
    height: 100%;
    display: flex;
    position: absolute;
    flex-direction: column;
    text-align: left;
    align-items: center;    
    justify-content: center; 
    right: 5%;
}
.header .fore-ground h1
{
    left: 0;
    margin-bottom: 20px;
    font-size: 50px;
    font-weight: 1;
}
.header .fore-ground p
{
    margin-bottom: 20px;
    font-size: 30px;
    font-weight:1;
}

.header .fore-ground .buttons
{
   display: flex;
   flex-direction: column;
   justify-content: left;
   align-items: center;
   width: 100%;
   height: 20%;
}

.header .fore-ground .buttons a:hover
{
    transform: scale(1.1);
    background-color: #0252a8;

}
.header .fore-ground .buttons div
{
   display: flex;
   flex-direction:row;
   justify-content: center;
   align-items: center;
   width: 100%;
}
.header .fore-ground .buttons div a
{
    width: 48%;
}
.header .fore-ground .buttons a
{
    text-decoration: none;
    display: flex;
    cursor: pointer;
    align-items: center;
    text-align: center;
    justify-content: center;
    border: none;
    background-color: #007bff;
    width: 96.5%;
    min-height: 55px;
    margin: 10px;
    color: white;
    font-size: 20px;
    font-weight: 550;
    border-radius: 5px;
    transition: 0.4s;
}
.description
{
    position: inherit;
    grid-area: description;
    display: flex;
    align-items: center;
    justify-content: center;
}
.description .container
{
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50%;
}
.description .image
{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 75%;
    max-width: 750px;
    height: auto;
}
.description .image img
{
    position: relative;
    /* left: 5%; */
    width: 95%;
    margin-left: 10%;
}
.description strong
{
    color: #082242;
    /* font-weight: 550; */
    letter-spacing: -5px;
    font-family: "duneFont";
}
.description .texto
{
    padding: 50px;
    position: relative;
    flex: 1;
    text-align: left;
    display: flex;
    flex-direction: column;
    /* right: 7.5%; */
}
.description .texto h1
{
    left: 0;
    margin-bottom: 20px;
    font-size: 50px;
    font-weight: 1;
}
.description .texto p
{
    margin-bottom: 20px;
    font-size: 25px;
    font-weight:1;
}

.characteristics
{
    grid-area: characteristics;
    position: relative;
    padding: 40px;
    margin: 0;
    background: #e3edf7;
    display: flex;
    align-items: center;
    justify-content: center;

}
.characteristics h1
{
    position: absolute;
    top: 10%;
    left: 4%;
    font-weight: 1;
    font-size: 50px;
}
.reviews strong
{
    color: #082242;
    /* font-weight: 550; */
    letter-spacing: -4px;
    font-family: "duneFont";
}
.characteristics strong
{
    color: #082242;
    /* font-weight: 550; */
    letter-spacing: -4px;
    font-family: "duneFont";
}
.accordion
{
    position: relative;
    text-align: left;
    width: 600px;
}
.accordion li
{
    list-style: none;
    width: 100%;
    margin-bottom: 20px;
    padding: 10px;
    border-radius: 8px;
    background-color: #262626;
    color:#e3edf7;
    box-shadow: 6px 6px 10px -1px rgba(0, 0, 0, 0.15),
                -6px -6px 10px -1px rgba(255, 255, 255, 0.7);
}

.accordion li label
{
    display: flex;
    align-items: center;
    padding: 10px;
    font-size: 18px;
    font-weight: 500px;
    cursor: pointer;
}

.accordion li label::before
{
    content: "●";
    margin-right: 10px;
    font-size: 24px;
    font-weight: 600;
}

.accordion input[type="radio"]
{
    display: none;
}

.accordion .content
{
    color: #b4b4b4;
    padding: 0px 10px;
    line-height: 26px;
    max-height: 0;
    overflow: hidden;
    transition:  padding 0.4s;
}

.accordion input[type="radio"]:checked + label + .content
{
    max-height: 400px;
    padding: 10px 10px 20px;
}
.accordion input[type="radio"]:checked + label::before
{
    content: "-";
}
.characteristics .image
{
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 50%;
    height: 500px
}
.characteristics .image img
{
    width: 100%;
    max-width: 750px;
}
.characteristics .image .imageBase
{
    position: absolute;
    margin-top: -5%;
    z-index: 2;
    transition: .4s;
    width: 75%;
    max-width: 585px;
}
.characteristics .image .image_d
{
    position: absolute;
    margin-top: -3%;
    filter: blur(20px);
    transform: scale(1.1);
    opacity: 0;
}




.planSelection
{
    grid-area: planSelection;
    background-color: #eee;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.planSelection .warpper
{
    /* font-family: "poppins"; */
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 5% auto;
    width: 100%;
}

.single-price
{
    display: flex;
    flex-direction: column;
    color: white;
    width: 33%;
    min-width: 350px;
    margin:20px;
    background-color: #262626;
    float: left;
    /* margin-top: 2%; */
    box-shadow: 1px 1px 20px rgba(0, 0, 0, 0.5);
    text-align: center;
    transition: 0.3s;
    border-radius: 10px;
    position: relative;
}

.card__ribbon{
    width: 12em;
    height: 12em;

    position: absolute;
    top: -1em;
    left: -1em;
  
    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;
    z-index:100;
  }
  
  .card__ribbon::after{
    content: 'Tiempo Limitado';
    position: absolute;
    width: 150%;
    height: 3.5em;
    transform: rotate(-45deg) translateY(-1.7em);
    background-color: #3e77cc;
  
    display: flex;
    justify-content: center;
    align-items: center;
  
    text-transform: uppercase;
    color: #fff;
    font-weight: 600;
    letter-spacing: .1em;
    box-shadow: 0 .3em .6em rgba(0,0,0, .2);
  }
  
  .card__ribbon::before{
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 1em;
    height: 1em;
    background-color: #3668b3;
    box-shadow: 11em -11em #3668b3;
  }

.blueVariant
{
    background-color: #082242;;
}

.whiteVariant
{
    background-color: #e3edf7;
    color: #262626;
}
.grayVariant
{
    background-color: #444444;
    color: #ffffff;
}


.single-price:hover
{
    background-color: #007bff;
    color: #fff;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
    transform: scale(1.1);
    z-index: 1;
    border-radius: 25px;
}

.single-price:hover .price
{
    background-color: #007bff;
    border-color: #fff;
}
.single-price:hover a
{
    background: #262626;
}

.single-price a
{
    text-decoration: none;
    background: #da4357;
    color: #fff; 
    padding: 20px 75px ;
    display: inline-block;
    margin: 10% auto;
    font-weight: bold;
    font-size: 35px;
    transition: 0.7s;
    border-radius: 10px;
}

.price
{
    width: 250px;
    height: 115px;
    border-radius: 20px;
    background-color: #da4357;
    border: 6px solid #da4357;
    color: white;
    margin: 5% auto 0 auto;
    text-align: center;
    align-items: center;
    display: flex;
    justify-content: center;
    transition: 0.2s;

}


.price h2
{
    margin-top: -5%;
    font-size: 40px;
    font-weight:1000;
    /* color: #fff; */
}
.stats
{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    margin-top: 10%;
}
.stats hr
{
    margin-bottom: 4px;
    margin-top: 4px;
    width: 65%;
    text-align: right;
}

.stats ul
{
    list-style: none;
    text-align: left;
    max-width: 280px;
    padding-left: auto;
}

.stats li
{
    line-height: 2.5;
    font-size: 95%;
}
.stats li i
{
    margin-right: 10px;
    opacity: 60%;
}



.stats h4
{
    font-size: 20px;
    font-weight: normal;
    text-align: center;
    /* color: #fff; */
    line-height: 2.5;
}

.single-price h1
{
    font-size: 30px;
    /* color: #fff; */
    line-height: 3;
    text-transform: uppercase;
}

.updates
{
    grid-area: updates;
    background-color: hsl(273, 100%, 89%);
}
.security
{
    background-color: hsl(0, 100%, 88%);
    grid-area: security;
}


.reviews .hidden
{
    opacity: 0;
    display: none;
    transform: scale(0);
    /* transition: opacity 1s ease-in-out; */
}

.reviews
{
    background-color: rgb(255, 255, 255);
    grid-area: reviews;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.reviews .container
{
    position: absolute;
    width: 100%;
    height: 100%;
    position: inherit;
    display: grid;
    grid-template: 
    "header_rev"30%
    "body_rev"70%
    ;
}

.reviews .container .header_rev
{
    grid-area: header_rev;
    display: flex;
    align-items: center;
    justify-content: center;
}
.reviews .container .body_rev
{
    position: relative;
    align-items: center;
    display: flex;
    justify-content: center;
    grid-area: body_rev;
}



.reviews .review
{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    transition: opacity 1s ease-in-out;
}

.reviews .background
{
    position: absolute;
    max-width: 100vh;
    margin-right: -30%;
    /* margin-bottom: -10%; */
    display: flex;
    align-items: center;
    justify-content: center;
}
.reviews .background img
{
    width: 100%;
}
.reviews .comment 
{
    width: 30%;
    background-color: white;
    height: 400px;
    margin-left: -55%;
    /* margin-bottom: -10%; */

    position: absolute;
    z-index: 1;
    text-align: left;
    padding: 20px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);
}

.reviews .comment h1
{
    margin-bottom:20px;
    font-weight: 550;
    font-size: 35px;
}
.reviews .comment p
{
    margin-bottom: 20px;
    font-size: 20px;
}

.reviews .comment h4
{
    font-weight: 550;
    margin-bottom: 20px;
}

.reviews .comment .buttons
{
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.reviews .comment .buttons a
{
    position: relative;
    background-color: #007bff;
    text-decoration: none;
    width: 35%;
    text-align: center;
    color: white;
    font-weight: bold;
    height: 50px;
    padding-top: 10px;
    border-radius: 5px;
    transition: 0.3s;
}
.reviews .comment .buttons a:hover
{
    transform: scale(1.1);
    background-color: #0252a8;
}
.reviews .title
{
    position: absolute;
    top: 5%;
    /* left: 5%; */
    font-weight: 1;
}

.reviews .enterpriseSelection
{
    position: absolute;
    top: 13%;
    width: 90%;
    /* background-color: black; */
    display: flex;
    align-items: center;
    justify-content: center;
}
.reviews .enterpriseSelection img
{
    width: 120px;
    margin: 0px 40px 0px 40px;
    border-radius: 30px;
    transition: 0.3s;
}
.reviews .enterpriseSelection img:hover
{
    border: 2px solid #818181;
    
}
.reviews .enterpriseSelection .i_setted
{
    border: 6px solid #007bff;
    
}

.reviews .a_review .comment
{
    margin-left: unset;
    margin-right: -55%;

}
.reviews .a_review .background
{
    margin-left: -30%;
    margin-right: unset;

}





.startFoot
{
    background-color: hsl(0, 0%, 71%);
    grid-area: startFoot;
}
.footer
{
    display: flex;
    flex-direction: column;
    align-items: center;
    /* justify-content: left; */
    background-color: hsl(0, 0%, 31%);
    color: white;
    grid-area: footer;
    padding: 30px;
}
.footer h1
{
    font-weight: 550;
    color: white;
    font-size: 30px;

}

.footer .about_us
{
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 25px;
    height: 75%;
    bottom: 0px;
    width: 100%;
    padding: 20px;
    padding-left: 20%;
    padding-right: 20%;
}
.footer .legal
{
    position: relative;
    display: flex;
    flex-direction: row;
    gap: 25px;
    height: 25%;
    bottom: 0px;
    width: 100%;
    font-weight: 200;
    color: white;
    font-size: 20px;
    font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serifz;
}
.footer .legal p
{
    position: absolute;
    font-size: 17px;
    bottom: 0px;
    right: 0px;
}
.footer img
{
    width: 60px;

}




.grid_container
{
    display: grid;
    grid-template: 
    "header" 700px
    "description"1100px
    "characteristics" 1000px
    "planSelection" 800px
    "reviews" 0px
    "footer" 350px
    ;
}



@media (max-width: 1200px) {
    .header
    {
        flex-direction: column;
    }
    .header .background img
    {
        /* top: 50%; */
        left: unset;
        position: relative;
        width: 60%;
        z-index: 1;
    }
    .header .fore-ground
    {
        right: unset;
        position: relative;
        width: 90%;
        bottom: 0;
    }
    .header .fore-ground h1
    {
        font-weight: 300;
    }
    .header .fore-ground p
    {
        font-weight: 300;
    }
    .grid_container
    {
        grid-template: 
        "header" 900px
        "description" 1100px
        "characteristics" 800px
        "planSelection" 3700px
        "reviews"0px
        "footer" 350px
        ;
    }
    .description .container
    {
        flex-direction: column;
        min-width: 800px;
    }
    .description .texto
    {
        text-align: center;
        display: flex;
        flex-direction: column;
        left: unset;
        width: 90%;
    }

    .description .texto p
    {
        font-weight: 300;
        font-size: 30px;
    }
    .description .texto h1
    {
        font-weight: 300;
    }

    .description .image img
    {
        right: unset;
        left: unset;
        position: relative;
        width: 80%;
    }
    .characteristics
    {
        flex-direction: column-reverse;
    }

    .characteristics .accordion
    {
        z-index: 2;
        margin-top: -6%;
        width: 90%;
        bottom: 5%;
        position: absolute;
        left: unset;
        top: 23%;
    }

    .characteristics .image
    {
        z-index: 1;
        top: 10%;
        display: none;
        position: absolute;
        right: unset;
        transform: scale(1.7);
    }
    .characteristics .image img
    {
        width: 80%;
        max-width: 1000px;
    }
    .characteristics .image .imageBase
    {
        width: 63%;
    }
    .characteristics h1
    {
        top: 5%;
        font-weight: 300;
    }

    .accordion li label
    {
        display: flex;
        align-items: center;
        padding: 10px;
        font-size: 25px;
        font-weight: 550;
        cursor: pointer;
    }

    .accordion .content
    {
        color: #b4b4b4;
        padding: 0px 10px;
        line-height: 30px;
        font-size: 20px;
        max-height: 0;
        overflow: hidden;
        transition:  padding 0.4s;
    }

    .planSelection .warpper
    {
        flex-direction: column;
        width: 95%;
    }

    .planSelection .warpper .single-price
    {
        width: 90%;
        max-height: 850px;
    }
    .planSelection .warpper .single-price .price br
    {
        display: none;
    }
    .planSelection .warpper .single-price .price
    {
        width: 65%;
        height: 100px;
        margin: 0 auto 0 auto;
    }
    .planSelection .warpper .single-price .price h2
    {
        margin-top: unset;
        word-spacing: 20px;
        font-size: 40px;
    }
    .planSelection .warpper .single-price .stats
    {
        margin-top: 2%;
    }
    .planSelection .warpper .single-price .stats h4
    {
        line-height: 1.7;
        font-size: 20px;
        /* text-align: left; */
    }
    .planSelection .warpper .single-price a
    {
        margin: 5%;
        padding: unset;
        /* width: 75%; */
        padding: 20px;
        font-size: 40px;
        text-transform: uppercase;
    }
    .planSelection .warpper .single-price h1
    {
        font-size: 55px;
    }

    .reviews .container
    {
        grid-template: 
        "header_rev"250px
        "body_rev"auto
        ;
    }

    .reviews .enterpriseSelection
    {
        position: relative;
        bottom: 20px;
    }

    .reviews .body_rev
    {
        display: flex;
        position: relative;
        align-items: center;
    }
    .reviews .header_rev
    {
        /* background-color: #b4b4b4; */
        display: flex;
        position: relative;
        align-items: center;
    }

    .reviews .header_rev h1
    {
        margin-top: -2%;
        font-weight: 300;
        font-size: 35px;
    }

    .reviews
    {
        flex-direction: column;
    }
    .reviews .review
    {
        position: absolute;
        width: 100%;
        height: 100%;
    }

    .review .background
    {
        position: absolute;
        top: 0;
        max-width: 90%;
        margin-right: unset;
        margin-bottom: unset;
        /* margin-top: -25%; */
    }

    .review .comment
    {
        position: absolute;
        width: 90%;
        height: auto;
        margin-left: unset;
        margin-bottom: unset;
        bottom: 0;
    }


    .reviews .a_review .comment
    {
        margin-left: unset;
        margin-right: unset;

    }
    .reviews .a_review .background
    {
        margin-left: unset;
        margin-right: unset;

    }

    .footer .about_us
    {

        padding-left: unset;
        padding-right: unset;
    }
    /* .footer .legal
    {
        position: relative;
        display: flex;
        flex-direction: row;
        gap: 25px;
        height: 25%;
        bottom: 0px;
        width: 100%;
        font-weight: 200;
        color: white;
        font-size: 20px;
        font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serifz;
    } */

    .stats li
    {
        font-size: 30px;
    }
    .stats ul
    {
        position: relative;
        max-width: unset;
    }

    .card__ribbon
    {
        width: 12em;
        height: 12em;
        
        scale: 1.6;

        position: absolute;
        top: 2.1em;
        left: 2.1em;
      
        display: flex;
        align-items: center;
        justify-content: center;
    
        overflow: hidden;
        z-index:100;
    }

}




/* scroll Effect */
.s_hidden
{
    opacity: 0;
    filter: blur(2px);
    transform: translateX(-100%);
    transition: all 1s;
}
.s_hidden_i
{
    opacity: 0;
    filter: blur(2px);
    transform: translateX(-100%);
    transition: opacity 1s;
}
.s_show
{
    opacity: 1;
    filter: blur(0);
    transform: translateX(0);
}
