*{margin: 0; padding: 0; border: 0; text-decoration: none; list-style: none; box-sizing: border-box;}
:root{
    --roboto: 'Roboto', sans-serif;
    --roboto-serif: 'Roboto Serif', sans-serif;
    --roboto-condensed: 'Roboto Condensed', sans-serif;
    --iconos: 'Material Icons';
    --issd-mas-c-2: #e1f4ff;
    --issd-mas-c: #c0e7fc;
    --issd-c: #20b6ca;
    --issd: #018293;
    --issd-o: #005a66;
    --issd-mas-o: #00414a;
    --asd-mas-c-2: #e1f4ff;
    --asd-mas-c: #b6e0f2;
    --asd-c: #53aad4;
    --asd: #004a6e;
    --asd-o: #003149;
    --asd-mas-o: #001f28;
    --verde-mas-c-2: #ebf3c7;
    --verde-mas-c: #d2e683;
    --verde-c: #b8cf5f;
    --verde: #74B42E;
    --verde-o: #568425;
    --verde-mas-o: #3f6b15;
    --green-mas-c-2: #c2f2e9;
    --green-mas-c: #8be8d6;
    --green-c: hsl(170, 73%, 60%);
    --green: #0abfa0;
    --green-o: #008c71;
    --green-mas-o: #006652;
    --rojo-mas-c-2: #ffebeb;
    --rojo-mas-c: #FFD9D9;
    --rojo-c: #f29898;
    --rojo: #e85254;
    --rojo-o: #b54040;
    --rojo-mas-o: #73191b;
    --amarillo-mas-c-2: #fffad7;
    --amarillo-mas-c: #fff6b3;
    --amarillo-c: #f8e950;
    --amarillo: #fbdf09;
    --amarillo-o: #b9a301;
    --amarillo-mas-o: #877700;
    --naranja-mas-c-2: #ffeaa6;
    --naranja-mas-c: #f9d67d;
    --naranja-c: #f7a42b;
    --naranja: #EC7E09;
    --naranja-o: #B76617;
    --naranja-mas-o: #8f4e0d;
    --violeta-mas-c-2: #f7f0ff;
    --violeta-mas-c: #dac6ef;
    --violeta-c: #9073b0;
    --violeta: #6b4794;
    --violeta-o: #543875;
    --violeta-mas-o: #3f2d59;
    --azul-mas-c-2: #dce1ff;
    --azul-mas-c: #acb3f1;
    --azul-c: #7a80ba;
    --azul: #4f57a1;
    --azul-o: #40427d;
    --azul-mas-o: #2d3059;
    --celeste-mas-c: #d5eefa;
    --celeste-c: #b0e6ff;
    --celeste: #67cfff;
    --negro: #000;
    --blanco: #fff;
    --gris-10: rgb(10, 10, 30);
    --gris-30: rgb(30, 30, 50);
    --gris-50: rgb(50, 50, 70);
    --gris-70: rgb(70, 70, 90);
    --gris-100: rgb(100, 100, 120);
    --gris-110: rgb(110, 110, 130);
    --gris-130: rgb(130, 130, 150);
    --gris-150: rgb(150, 150, 170);
    --gris-170: rgb(170, 170, 190);
    --gris-190: rgb(190, 190, 210);
    --gris-210: rgb(210, 210, 230);
    --gris-230: rgb(230, 230, 245);
    --gris-240: rgb(240, 240, 255);
    --gris-250: rgb(250, 250, 255);
    --degradado-asd: linear-gradient(90deg, rgba(0,43,73,1) 0%, rgba(0,74,110,1) 30%, rgba(80,137,160,1) 100%);
    --degradado-issd: linear-gradient(90deg, rgb(0, 51, 58) 0%, rgba(0,65,74,1) 40%, rgb(0, 119, 135) 80%, rgb(11, 145, 163) 100%);
    --degradado-gris: linear-gradient(90deg, rgb(30, 30, 50) 0%, rgb(90, 90, 110) 100%);
    --degradado-verde: linear-gradient(75deg, rgb(213, 230, 140) 0%, rgb(238, 242, 217) 100%);
    --degradado-green: linear-gradient(75deg, #8be8d6 0%, #fff 100%);
}

html{text-rendering: optimizeLegibility; font-size: 15px;  font-family: 'Roboto', sans-serif; height: auto; min-height: 100dvh;}

body{
    background: linear-gradient(90deg, rgba(230,230,255,1) 0%, rgba(240,240,255,1) 100%);
    height: 100dvh;
    display: grid;
    align-content: center;
}

.contenido{
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
}
    header{
        width: 100%;
        text-align: center;
        padding: 0 15px;
    }
        header img.portada{
            display: none;
        }
        header img.portada-celu{
            width: 100%;
            height: auto;
            border-radius: 0 0 50px 50px;
        }
        header img.logo{
            width: 180px;
            height: auto;
            margin: 15px auto;
            display: block;
        }
        header h1{
            font-size: 40px;
            color: var(--asd);
            font-weight: 700;
            letter-spacing: -0.03em;
        }
            header h1 span{
                font-size: 20px;
                display: block;
                font-weight: 400;
            }
                header h1 span b{
                    font-weight: 600;
                }
        header h2{
            font-size: 28px;
            color: var(--gris-70);
            font-weight: 700;
            margin: 7px 0;
        }
            header h2 i{
                font-size: 18px;
                font-weight: 300;
                color: var(--asd-c);
            }
                header h2 b{
                    text-transform: uppercase;
                    padding: 20px 0 0 0;
                    display: inline-block;
                }
        header h3{
            font-size: 20px;
            color: var(--green);
            font-weight: 700;
            text-transform: uppercase;
            margin-top: 25px;
        }
        header h4{
            font-size: 15px;
            color: var(--gris-70);
            font-weight: 400;
            margin-top: 5px;
        }
    main{
        width: cacl(100dvw - 20px);
        background-color: var(--blanco);
        padding: 15px;
        max-width: 600px;
        margin: 20px 10px;
    }
        @media screen and (min-width: 640px){
            main{
                margin: 20px auto;
            }
        }

    /*formulario*/
        form input,
        form select{
            height: 50px;
            width: 100%;
            background: var(--blanco);
            margin-bottom: 8px;
            padding: 3px 12px;
            border-radius: 10px;
            font-size: 16px;
            box-shadow: 1px 1px 0 rgba(210,210,230,1), -1px -1px 0 rgba(210,210,230,1), 1px -1px 0 rgba(210,210,230,1), -1px 1px 0 rgba(210,210,230,1);
            border: solid 1px transparent;
        }
            form input{
                color: var(--gris-30);
            }
            form input::placeholder,
            form select{
                color: var(--gris-100);
            }
            form select{
                display: block;
            }
                form input:focus,
                form input:focus-visible,
                form select:focus,
                form select:focus-visible{
                    color: var(--gris-100);
                    outline: 2px solid var(--green-mas-c);
                }
                form select:focus{
                    color: var(--gris-70);
                }
            .codigo-telefono{
                display: grid;
                grid-template-columns: 35px .3fr 35px 1fr;
                align-items: center;
                justify-items: center;
            }
                .codigo-telefono p{
                    color: var(--gris-70);
                    margin-bottom: 7px;
                }
            form input[type='submit'],
            form input[type='submit']:visited{
                background: var(--asd-o);
                color: var(--blanco);
                box-shadow: none;
                font-weight: 900;
                letter-spacing: .05em;
                margin-top: 5px;
                border-radius: 10px;
                text-shadow: 0 0 2px var(--asd-o);
                padding: 20px 0;
                cursor: pointer;
                height: auto;
                transition: all .2s ease;
                font-size: 18px;
                font-family: "Roboto", serif;
            }
                form input[type='submit']:hover,
                form input[type='submit']:active{
                    background: var(--asd-mas-o);
                    border-radius: 50px;
                }

/*footer*/
footer{
    background: var(--gris-30);
    padding: 10px 20px 10px 20px;
    text-align: center;
    position: absolute;
    bottom: 0;
    width: 100%;
}
    footer p{
        color: var(--blanco);
        text-shadow: 0 0 4px var(--gris-30);
        font-size: 15px;
    }

