@font-face {
    font-family: 'bocadillo';
    font-weight: normal;
    src: url("../font/EMprint-Regular.ttf") format("opentype");
}

*, html, body {
    margin: 0;
    padding: 0;
}

html, body {
    background-color: black;
    color: #FFFFFF;
    font-family: 'bocadillo';
    background-image: url('../img/background.jpg');
}

h1, h2 h3, h4 {
    font-weight: 300;
}

#terminos, #tratamiento, #age {
    cursor: pointer;
}

.divfield {
    display: flex;
    flex-direction: column;
    /*padding-bottom: 20px;*/
}

.titleform {
    text-align: center;
    font-size: 40px;
}

form .divfield label {
    font-size: 24px;
    padding-bottom: 10px;
}

input[type="text"] {
    font-size: 20px;
    padding: 9px 24px;
    border: none;
    outline: none;
    border-radius: 20px;
    width: calc(100% - 40px);
}

select {
    height: 40px;
    border-radius: 20px;
    border: none;
    outline: none;
    font-size: 20px;
    padding: 3px 16px;
    appearance: none;
    width: 100%;
}

.fotobaucher {
    display: flex;
    align-items: center;
    align-content: center;
}

.fotobaucher input {
    appearance: none;
    border: none;
    color: transparent;
}

.fotobaucher span {
    font-size: 24px;
    margin-right: 10px;
}

.custom-file-input::-webkit-file-upload-button {
    visibility: hidden;
}

.custom-file-input::before {
    content: '';
    display: block;
    background-color: #FFFFFF;
    background-image: url(../img/subirfoto.png);
    background-repeat: no-repeat;
    background-position: 10px;
    font-size: 24px;
    color: #ba2e30;
    display: inline-block;
    /* background: -webkit-linear-gradient(top, #f9f9f9, #e3e3e3); */
    border: 1px solid #999;
    border-radius: 25px;
    padding: 10px 20px;
    outline: none;
    white-space: nowrap;
    -webkit-user-select: none;
    cursor: pointer;
    text-shadow: 1px 1px #fff;
    font-weight: 700;
    width: 81px;
    height: 14px;
}

.errorfield {
    color: #ba2e30;
    margin-top: 5px;
}

.fulldiv {
    display: flex;
    justify-content: space-around;
    align-items: center;
    width: 100%;
    /*height: 100vh;*/
    overflow: auto;
}

.caraturla_fondo {
    flex-basis: 50%;
    height: 100%;
    background-image: url(../img/banner.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

@media (min-width: 720px) {

}

.div50 form {
    padding: 0 20px;
}

.div50 .caratula {
    height: 100vh;
    display: block;
    overflow: auto;
}

.divcheck {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    width: fit-content;
}

.divcheck-box {
    display: flex;
}

input[type="checkbox"] {
    display: grid;
    place-content: center;
    width: 24px;
    height: 24px;
    appearance: none;
    -ms-progress-appearance: none;
    border: 2px solid #FFFFFF;
}

input[type="checkbox"]::before {
    content: "✓";
    font-size: 24px;
    width: 0.65em;
    color: #FFFFFF;
    height: -1px;
    transform: scale(0);
    transition: 77ms transform ease-in-out;
}

input[type="checkbox"]:checked::before {
    transform: scale(1);
}

.validar_datos {
    font-size: 24px;
    font-family: 'bocadillo';
    color: #f7ce4e;
    background-color: #ba2e30;
    appearance: none;
    padding: 10px 20px 14px 20px;
    border-radius: 20px;
    vertical-align: middle;
    line-height: 1;
    margin: 0 auto;
    text-align: center;
    display: block;
    margin-top: 10px;
    cursor: pointer;
}

.divselect {
    position: relative;
}

.divselect::before {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 12px solid #ba2e30;
    top: 15px;
    right: 13px;
}

.twofields {
    display: flex;
    justify-content: space-between;
}

.shortfield {
    width: 178px;
}

.twofields .mediafield:first-child {
    width: calc(50% - 20px);
}

.twofields .mediafield:last-child {
    width: calc(50% - 20px);
}

.twofields .nomediafield {
    /*width: calc(100% - 210px);*/
    width: calc(100%);
}

form {
    width: 800px;
}

@media (max-width: 1650px) {
    form {
        width: 700px;
    }

    form .divfield label {
        font-size: 18px;
        padding-bottom: 10px;
    }

    .titleform {
        text-align: center;
        font-size: 30px;
        padding-bottom: 30px;
    }

    .fotobaucher span {
        font-size: 18px;
        margin-right: 10px;
    }

    .errorfield {
        color: #ba2e30;
        margin-top: 5px;
        font-size: 14px;
    }
}

.div50 {
    height: initial;
}

@media (max-width: 1430px) {
    form {
        width: 600px;
    }
}

@media (max-width: 1340px) {
    form {
        width: 500px;
        margin: 0 auto;
    }
}

/*REVISAR*/
@media (max-width: 1321px) {
    .div50 {
        /* width: 50%; */
        flex-basis: calc(50% - 1rem);
    }

    .div50 .caratula {
        height: inherit;
        display: block;
        width: 100%;
        /* height: 100vh; */
    }
}

/* @media(min-width: 1321px){
    .div50 .caratula {
        height: inherit;
    }
} */
@media (max-width: 1080px) {
    form {
        width: 400px;
        margin: 0 auto;
    }

    .twofields.flexo {
        /*display: block;*/
    }

    .twofields .nomediafield {
        width: 100%;
    }

    .twofields.flexo .shortfield {
        width: 100%;
    }
}

@media (max-width: 880px) {
    form {
        width: 323px;
        margin: 0 auto;
    }

    .twofields {
        display: block;
    }

    .twofields .mediafield:first-child,
    .twofields .mediafield:last-child {
        width: 100%;
    }
}

@media (max-width: 720px) {
    .div50 {
        width: 100%;
        /* height: 100vh; */
    }

    .div50 .caratula {
        height: inherit;
        display: block;
        width: 100%;
    }

    .fulldiv {
        display: block;
    }

    .div50 form {
        padding: 40px 20px;
    }

    .div50 form {
        width: calc(100% - 40px);
    }
}

form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.twofields, .divfield {
    /*min-height: 105px;*/
}

.divfield.fullw {
    width: 100%;
}

.errorfield {
    display: none;
    color: transparent;
}

.errorfield.show {
    color: #ba2e30;
}

@media (min-width: 721px) {
    .errorfield {
        display: none;
    }
}

@media (min-width: 1650px) {
    .errorfield {
        display: block;
    }
}


.checks {
    width: 100%;
    margin: 25px auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: flex-start;
    align-items: flex-start;
}

@media (min-width: 480px) {
    .checks {
        width: 100%;
    }
}

@media (min-width: 1080px) {
    .checks {
        width: 100%;
    }
}

.divcheck {
    width: 100%;
}

.divcheck a {
    color: #fff;
}


/********* LOADER *****************/
.loader__container {
    z-index: 99;
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    top: 0;
    background: rgba(255, 255, 255, 0.4);
}

.loader {
    width: 50px;
    aspect-ratio: 1;
    border-radius: 50%;
    border: 8px solid lightblue;
    border-right-color: #ba2e30;
    animation: l2 1s infinite linear;
}

@keyframes l2 {
    to {
        transform: rotate(1turn)
    }
}


@media (min-width: 480px) {
    .body_msg {
        padding: 0 1.50rem;
    }
}

.gracias {
    margin: 0 auto;
    width: 60%;
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    padding: 0 1rem;
    height: auto;
}

.gracias h2 {
    font-size: 30px;
    text-align: center;
}

.gracias p {
    color: #FFF;
    font-size: 15px;
    text-align: center;
}

.gracias .msg2 {
    font-size: 15px;
}

@media (min-width: 480px) {
    .gracias h2 {
        font-size: 35px;
    }

    .gracias p {
        font-size: 20px;
    }

    .gracias .msg2 {
        font-size: 20px;
    }
}

@media (min-width: 768px) {
    .gracias {
        width: 700px;
        gap: 3rem;
        padding: 0;
    }

    .gracias h2 {
        font-size: 60px;
    }

    .gracias p {
        font-size: 30px;
    }

    .gracias .msg2 {
        font-size: 18px;
    }
}


.gracias button {
    border: none;
    border-radius: 9px;
    padding: 20px 40px;
    background-color: #ba2e30;
    color: #FFF;
    cursor: pointer;
    font-size: 16px;
    transition: all .3s ease-in-out;
    z-index: 99;
}

.gracias button:hover {
    background-color: #851e20;
}


input[type='submit'] {
    text-transform: capitalize;
}


.grecaptcha-badge {
    z-index: 999999;
}

.div50_2 {
    display: flex;
    justify-content: center;
    align-items: center;
}

@media (min-width: 721px) {
    .div50_2 {
        height: 100%;
    }
}

.div50_2 #formValidarDatos {
    height: 100%;
    display: flex;
    justify-content: center;
}

.divfield {
    min-height: initial;
    margin-bottom: 2rem;
}

@media (min-width: 721px) {
    .divfield {
        margin-bottom: 0;
    }
}

@media (max-width: 1650px) {
    .titleform {
        text-align: center;
        font-size: 30px;
        padding-bottom: 0;
    }
}

input::placeholder {
    font-size: 18px;
}

input[type="text"], select {
    font-family: 'bocadillo';
}

.text-left {
    text-align: left !important;
    margin-bottom: .5rem;
    font-size: 24px !important;
}

.d-flex {
    display: flex;
    gap: 1.5rem;
    justify-content: center;
}

.m-t {
    margin-top: .5rem;
}

svg {
    width: 70px;
}

.gracias h2 {
    margin-bottom: 1.5rem;
}