@import url('https://fonts.googleapis.com/css2?family=Righteous&family=Work+Sans:wght@100;300;400;600;800&display=swap');


*{
    box-sizing: border-box;
    font-family: 'Work Sans';
    margin: 0;
    padding: 0;
}
:root {
    --color-primary-500: #1E2326;
    --color-primary-600: #252A2E;
    --color-secondary-500: #1CB698;
    --color-secondary-900: #004D40;

}
html{
    /* me permite deslizar cuando hago clic en los links del menu */
    scroll-behavior: smooth;
}

.img-responsive{
    width: 100%;
    height: auto;
}
/* sweetalert*/

/*indecaodr de carga*/



.loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #333333;
    transition: opacity 0.75s, visibility 0.75s;
    z-index: 1000;
}

.loader--hidden {
    opacity: 0;
    visibility: hidden;
}

.loader::after {
    content: "";
    width: 75px;
    height: 75px;
    border: 15px solid #dddddd;
    border-top-color: #009578;
    border-radius: 50%;
    animation: loading 0.75s ease infinite;
}

@keyframes loading {
    from {
        transform: rotate(0turn);
    }
    to {
        transform: rotate(1turn);
    }
}



/* MENU AND SUBMENU*/
.contenedor-header{
    background: #1e2326;
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 99;

}

.contenedor-header header{
    max-width: 1100px;
    margin-right: 59px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 19px;
}
.contenedor-header header .logo a{
    font-family: 'Righteous';
    font-size: 36px;
    color: #1CB698;
    text-decoration: none;
}



.contenedor-header header ul{
    display: flex;
    list-style: none;
}
.contenedor-header header nav ul li a{
    text-align: none;
    color: #fff;
    margin: 0 15px;
    padding: 3px;
    transition: .5s;
    text-decoration: none;
}


.contenedor-header header nav ul li a:hover{
    color: #1CB698;
}

.contenedor-header p a{
    font: 18px;
    line-height: 22px;
    margin-bottom: 20px;
    color: #1cb698;
    text-decoration: none;

}


.contenedor-header p span {

    font-weight: bold;

}
.nav-responsive{
    background-color: #1CB698;
    color:#fff;
    padding: 5px 10px;
    border-radius: 5px;
    cursor: pointer;
    display: none;
}

.contenedor-header header .user-pic{

    font-size: 25px;
    position: absolute;
    color: white;
    cursor: pointer;
    transition: .3s ease all;
    top: 22px;
    right: 3%;






}

.contenedor-header header .user-pic:hover{
    color: #1CB698;
}



.sub-menu-wrap{
    position: absolute;
    top: 90%;
    right: 3%;
    width: 320px;
    max-height: 0px;
    overflow: hidden;
    transition: max-height 0.5s;
    color: #fff;
    display: block;
    z-index: 1

}


.sub-menu-wrap:before {
    content: "";
    display: inline-block !important;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right:   8px solid transparent;
    border-bottom:    8px solid #1CB698;
    pointer-events: none;
    float:right;
    margin-right:    3%;
}



.sub-menu-wrap.open-menu{
    max-height: 600px;
}

.sub-menu{

    border: solid #1CB698 5px;
    background: var(--color-primary-600);
    padding:  0  20px;
    margin: 5px;
}
.sub-menu hr{

    border: 0;
    height: 1px;
    width: 100%;
    background: #212529;
    margin: 15px 0 10px

}
.user-info{
    display: flex;
    align-items: center;
    justify-content: center;
}

.user-info h2{
    font-size: 17px;
    font-weight: normal;
    font-family: 'Righteous';
}



/* SECCION I N I C I O */
.inicio{
    background: linear-gradient(to top, rgba(30, 35, 38,.8), rgba(30, 35, 38,1)),
        url(../img/fondo.jpg);

    /* fallback for old browsers */
    background: -webkit-linear-gradient(to right, rgba(30, 35, 38,.8), rgba(37, 42, 46,1)), url(../img/fondo.jpg);
    /* Chrome 10-25, Safari 5.1-6 */
    background: linear-gradient(to right, rgba(30, 35, 38,.8), rgba(30, 35, 38,1)), url(../img/fondo.jpg);


    height: 80vh;
    color: #fff;
    background-size: cover;
    background-attachment: fixed;
    position: relative;
    align-items: center;
}

.inicio .textos-header{
    display: flex;
    height: 430px;
    width: 100%;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}



.inicio .textos-header h1{
    margin-top: 5px;
    font-size: 42px;
    font-family: 'Righteous';
}
.inicio .textos-header h2{
    font-size: 20px;
    font-weight: normal;
    font-family: 'Righteous';
}


.wave{
    position: absolute;
    bottom: 0;
    width: 100%;
}


/* SECCION seccion */
.seccion{
    background-color: #252A2E;
    color: #fff;
    padding: 49px 25px;
}

.seccion .contenido-seccion{
    max-width: 1100px;
    margin: auto;
    padding: 2px;


}

.seccion h2{
    font-size: 48px;
    font-family: 'Righteous';
    text-align: center;
    padding: 20px 0;
}

.seccion h3{
    font-size: 35px;
    font-family: 'Righteous';
    text-align: left;
    padding: 20px 0;
}

.seccion .contenido-seccion p{
    font: 18px;
    line-height: 22px;
    margin-bottom: 20px;
}
.seccion  p span{
    color: #1CB698;
    font-weight: bold;
}
.seccion .galeria{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.seccion .galeria .proyecto{
    position: relative;
    max-width: 340px;
    height: fit-content;
    margin: 10px;
    cursor: pointer;

}

.seccion .galeria .proyecto iframe{
    width: 100%;
    display: block;
    z-index: 100


}
.seccion .galeria .proyecto .overlay{

    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: linear-gradient(rgba(28,182,152,.8), rgba(28,182,152,.8));
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: 1s;
    font-size: 18px;
    letter-spacing: 3px;
    opacity: 1.0;


}
.seccion .galeria .proyecto .overlay h3{
    margin-bottom: 20px;
    transition: 1s;
    text-align: center
}
.seccion .galeria .proyecto .overlay:hover{
    opacity: 0;
    visibility: hidden;




}

.seccion .galeria .proyecto .overlay:hover h3{
    margin-bottom: 0px;

}



footer{
    background-color: #1E2326;
    color: #fff;
    padding: 50px 0 30px 0;
    text-align: center;
    position: relative;
    width: 100%;
}
footer .redes{
    margin-bottom: 20px;
}
footer .redes a{
    color: #fff;
    display: inline-block;
    text-decoration: none;
    border: 1px solid #fff;
    border-radius: 100%;
    width: 42px;
    height: 42px;
    line-height: 42px;
    margin: 40px 5px;
    font-size: 20px;
    transition: .3s;
}
footer .arriba{
    display: block;
    width: 50px;
    height: 50px;
    background-color: #1CB698;
    color: #fff;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -25px;
    border-radius: 50%;
    line-height: 50px;
    font-size: 18px;
}


/* registration.jsp SECCION registration */

.registration {
    background-color: #252a2e;
    color: #fff;
    padding: 50px 20px;

}
.registration .contenido-seccion {
    max-width: 1100px;
    margin: auto;
}

.registration h2 {
    font-size: 48px;
    font-family: 'Righeous';
    text-align: center;
    padding: 20px 0;
}

.registration .contenido-seccion p {
    font: 18px;
    line-height: 22px;
    margin-bottom: 20px;
    margin-left: 5px;
}


.registration .contenido-seccion p span a{
    color: #1cb698;
    font-weight: bold;
    text-decoration: none
}

.servicio-ind{

    width: 100%;
    text-align: center;
}
.servicio-teminos{
    display: flex;
    height: 23px;


}



.servicio-ind img{
    width: 99%;
}

.servicio-ind h3{
    margin: 10px 0;
}

.servicio-ind p{
    font-weight: 300;
    text-align: justify;
}





/* SECCION formulario */

.control-label {
    display: block;
    position: absolute;
    padding-left: 2px;
    opacity: 0;
    bottom: 3.4rem;
    transition: 0.2s ease-in-out transform;
    font-size: 12px;
    font-family: 'Righteous';
    line-height: 22px;
    color: #1cb698;
}
.form-control:placeholder-shown + .control-label {
    visibility: hidden;
    z-index: -1;
    transition: 0.2s ease-in-out;
}
.form-control:not(:placeholder-shown) + .control-label,
.form-control:focus:not(:placeholder-shown) + .control-label {
    visibility: visible;
    z-index: 1;
    opacity: 1;
    transform: translateY(8px);
    transition: 0.2s
}

.form-control {
    margin-bottom: 5px;
    padding-bottom: 15px;
    position: relative;
    border: none;

}



.form-control input {

    width: 100%;
    border: 3px solid transparent;
    border-radius: 3px;
    height: 49px;
    line-height: 45px;
    padding: 0 40px 0 10px;
    transition: .3s ease all;
    border:none;
    border-bottom:1px solid rgba(0,0,0,.24);
    display:block;
    font-size:16px;
    font-family: 'Righteous';
    margin:0;
    background:0 0;
    text-align:left;
    color:white;
    box-sizing: border-box;
}

.form-control input:focus {
    border: 1px solid #1CB698;
    outline: none;
    box-shadow: 3px 0px 30px rgba(28, 182, 152, 0.4);

}

/*.form-control input:focus {
    outline: 0;
    border-color: #777;
}*/

.form-control.success input {
    border-color: #2ecc71;
}

.form-control.error input {
    border-color: #e74c3c;
}

.form-control i {
    visibility: hidden;
    position: absolute;
    top: 20px;
    right: 10px;
}

.form-control.success i.fa-check-circle {
    color: #2ecc71;
    visibility: visible;

}

.form-control.error i.fa-exclamation-circle {
    color: #e74c3c;
    visibility: visible;
}

.form-control small {
    font-size: 12px;
    color: #e74c3c;
    position: absolute;

    bottom: 0;
    left: 0;
    visibility: hidden;
}

.form-control.error small {
    visibility: visible;
}

/*button*/
.button-container {
    display: flex;
    justify-content: center;
    align-items: center;

}

.btn {

    padding: 10px 20px;
    margin: 10px 10px;
    height: 50px;
    position: relative;
    background: var(--color-primary-500);
    color: white;
    font-size: 1.3rem;
    font-weight: 400;
    text-transform: uppercase;
    line-height: normal;
    border: none;
    border-radius: 5px;
    box-shadow: -1px 1px 8px rgba(0, 0, 0, 0.4);
    appearance: none;
    cursor: pointer;
    transition: .3s ease all;
    overflow: hidden;


}


.button-container .btn .text {
    position: relative;
    z-index: 2;
    font-family: 'Righteous';
    transition: .3s ease all;

}

.btn::after{

    content: "";
    width: 100%;
    height: 400px;
    background: #1CB698;
    position: absolute;
    z-index: 1;
    top: -400px;
    left: 0;
    transition: .4s ease-in-out all;
    border-radius: 0 0 300px 300px;

}

.btn:hover::after{
    top: 0;

}


.btn2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
    position: relative;
    color: white;
    font-size: 1.3rem;
    font-weight: 400;
    text-transform: uppercase;
    line-height: normal;
    border: none;
    appearance: none;
    cursor: pointer;
    transition: .3s ease all;
    overflow: hidden;

}


.btn2 .text {
    position: relative;

    z-index: 2;
    font-family: 'Righteous';
    transition: .3s ease all;
}

.btn2::after{

    content: "";
    width: 100%;
    height: 300px;
    background: #1CB698;
    position: absolute;
    z-index: 1;
    top: -300px;
    left: 0;
    transition: .4s ease-in-out all;
    border-radius: 0 0 300px 300px;

}

.btn2:hover::after{
    top: 0;

}
.active {

    width: 100%;

    background: #1CB698;


}



.btn-wsp{

    position:fixed;
    width:60px;
    height:60px;
    line-height: 63px;
    bottom:75px;
    right:25px;
    background:#1CB698;
    color:#FFF;
    border-radius:50px;
    text-align:center;
    font-size:35px;
    box-shadow: 0px 1px 10px rgba(0,0,0,0.3);
    z-index:100;
    transition: all 300ms ease;
}
.btn-wsp a :hover{
    background: #20ba5a;
}

/*radio buttos*/

.btn-radio{

    width: 20px;
    height: 20px;
    background-color: red;
    display: block;
    border-radius: 50%;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
    cursor: pointer;
    position: absolute;
    top: -10px;
    left: -26px;
    z-index: 1;
}

input[type="radio"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: inline-block;
    width: 20px;
    height: 20px;
    padding: 2px;
    background-clip: content-box;
    border: 3px solid  #252A2E;
    background-color: #1E2326;
    border-radius: 50%;
}
input[type="radio"]:checked {
    border: 3px solid  #1CB698;
    background-color: #14EB6E;
}


input[type=radio]:checked ~ .border {
    border: 1px solid  #1CB698;
    box-shadow: 3px 0px 30px rgba(28, 182, 152, 0.4);
    transition: .3s ease all;


}




.containerBottons {
    position: relative;
    cursor: pointer;

}

.border {
    position: absolute;
    left: -32px;
    right: -32px;
    top: -17px;
    bottom: -31px;
    display: block


}
/*carta container*/

.content{
    max-width: 1090px;
    width: 100%;
    margin: auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.content .card{
    background: #1E2326;
    width: calc(33% - 20px);
    text-align: center;
    padding: 15px 30px  30px 30px;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.15);
}
.content .card .top{
    height: 140px;
    color: #fff;
    padding: 12px 0 0 0 ;
    clip-path: polygon(0 0, 100% 0, 100% 53%, 49% 100%, 0 53%);
}

.content .card .top subtitle{
    font-size: 15px;
    font-family: 'Righteous';

}
.content .card .top .subtitle span{
    font-size: 15px;
    font-family: 'Righteous';
    text-decoration-line: line-through;
}
.content .card .top .title{
    font-family: 'Righteous';
    font-size: 27px;
    font-weight: 600;
}
.content .card .top .price-sec{
    margin-top: -10px;
    font-weight: 600;
}
.content .card .top .price{
    font-size: 45px;
}
.content .card .info{
    font-size: 16px;
    margin-top: 20px;
}
.text-plan{


    font-size: 15px;
    margin-top: 2px;
    padding: 3px 10px;
    font-weight: bold;
    border-radius: 5px;
    text-align: left;
    font-family: 'Righteous';
}
.content .card .details .one{
    margin-top: 25px;
    font-size: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}
.content .card .details .one::before{
    position: absolute;
    content: "";
    width: 100%;
    background: #ddd;
    height: 1px;
    left: 0;
    top: -12px;
    border-radius: 25px;
}
.content .card .details .one i{
    color: #2db94d;
}
.content .card .details i.fa-times{
    color: #cd3241;
}
.content .card button{
    outline: none;
    border: none;
    height: 42px;
    color: #fff;
    margin-top: 30px;
    border-radius: 3px;
    font-size: 18px;
    width: 100%;
    display: block;
    transition: all 0.3s ease;
    cursor: pointer;
    letter-spacing: 1px;
}
.content .one .top,
.content .one button{
    background: #14eb6e;
}
.content .two .top,
.content .two button{
    background: #e87130;
}
.content .three .top,
.content .three button{
    background: #11BCC3;
}
.content button:hover {
    filter: brightness(90%);
}
.content .one ::selection{
    background: #8af5b6;
}
.content .two ::selection{
    background:  #f2b08c;
}
.content .three ::selection{
    background: #d0f9fb;
}
@media (max-width:1000px) {
    .content .card{
        background:#1E2326;
        width: calc(50% - 20px);
        margin-bottom: 30px;
    }
}
@media (max-width:715px) {
    .content .card{
        width: 100%;
    }
}




@media only screen and (min-width:320px) and (max-width:768px){
    .btn-wsp{
        width:63px;
        height:63px;
        line-height: 66px;
    }
}

/* SECCION RESPONSIVE */
@media screen and (max-width:980px){




    nav{
        display: none;
    }
    .nav-responsive{
        display: block;
    }
    nav.responsive{
        display: block;
        position: absolute;
        right: 0;
        top: 62px;
        background-color: #252A2E;
        width: 180px;
        border: solid #1CB698 5px;
        background: var(--color-primary-600);
       
       
    }
    nav.responsive ul{
        display: block !important;
    }
    nav.responsive ul li{
        text-align: center;
        border-bottom: 1px solid #1E2326;
        padding: 10px 0;
    }






}
@media screen and (max-width:700px){
    .planeshosting .fila{
        display: block;


    }
    .planeshosting .fila .col{
        width: fit-content;
        margin-left: 20px;


    }



}
