/* Input styles */

.input_field {
    width: 300px;
    max-width: 100%;
    min-height: 60px;
    margin: 2vh auto;
    background: var(--inputs);
    border: 2px solid #000;
    border-radius: 2vh;
    display: flex;
    justify-content: left;
    transition: .6s ease-in-out;
    padding: 0 10px;
}

.input_field > div > input:focus::placeholder {
    color: transparent;
}

.input_field.short {
    max-width: 60% !important;
}

.input_field_error {
    border: 2px solid var(--red) !important;
    animation: shake_input 0.8s cubic-bezier(.36,.07,.19,.97);
}

.type_password{
    position: relative;
}

.type_password > span{
    
    position: absolute;
}
.type_password span img{
    width:25px;
    height: 25px;
}
.icon_password {
    cursor: pointer;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    font-size: 20px;
    color: #999;
}

@keyframes shake_input {
    0%, 100% {
        transform: translateX(0);
    }

    10%, 30%, 50%, 70%, 90% {
        transform: translateX(-10px);
    }

    20%, 40%, 60%, 80% {
        transform: translateX(10px);
    }
}

.input_field:focus-within, .input_field:hover {
    border: 2px solid var(--blue);
}

.input_field:focus-within > .field_name, .input_field:hover > .field_name {
    transform: translateX(20px);
    color: var(--blue);
}

.input_field > div {
    width: 100%;
    max-height: 100px;
}

.field_name {
    padding: 0 1vh;
    position: absolute;
    background: linear-gradient(#ffff 50%, var(--inputs)70%);
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--dark);
    margin: -13px 3vh 0;
    border-radius: 1vh 1vh 0 0;
    transition: .6s ease-in-out;
    z-index: 10;
}

.field_type_input {
    display: block;
    width: 100%;
    height: 56px;
    background: var(--inputs);
    color: var(--dark);
    border: none;
    outline: none;
    border-radius: 2vh;
    text-align: center;
    font-size: 1rem;
    padding: 0 2vh;
}

.field_type_input:focus {
    color: var(--blue);
}

.field_type_textarea {
    min-width: 100%;
    max-width: 100%;
    min-height: 100px;
    max-height: 100px;
    background: #f4f4f4f4;
    color: var(--dark);
    border: none;
    outline: none;
    border-radius: 2vh;
    text-align: center;
    font-size: 1rem;
    padding: 1vh 2vh;
}

.field_type_textarea:focus {
    color: var(--blue);
}

.field_type_cod {
    margin: 15px 3px;
    display: block;
    width: 100%;
    height: 56px;
    color: var(--dark);
    border: 2px solid var(--dark);
    outline: none;
    border-radius: 2vh;
    text-align: center;
    font-size: 1rem;
}

.field_type_cod:focus {
    color: var(--blue);
    border: 2px solid var(--blue);
}

.input_field:has(.field_type_input[type="file"]) {
    overflow: hidden;
    max-height: 60px;
}

.field_type_input[type="file"]::before {
    content: 'Seleccionar archivo';
    display: block;
    color: var(--dark);
    padding: 1vh;
    margin: 5% auto 5vh;
    border-radius: 2vh;
    text-align: center;
    cursor: pointer;
    position: relative;
}

.image_container {
    width: 250px;
    min-width: 250px;
    height: 250px;
    margin: 0 10vh 1vh;
    border: 3px dashed var(--dark);
    border-radius: 4vh;
    background-image: url('../assets/icons/Upload.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 120px;
    cursor: pointer;
}

.uploaded_image {
    display: block;
    width: 210px;
    height: 210px;
    margin: 17px;
    border-radius: 3vh;
}

.image_description {
    width: 250px;
    margin: 0 11vh 1vh;
    text-align: center;
    color: var(--dark);
    font-size: .85rem;
}

/* Change default styles */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0px 1000px var(--inputs) inset !important;
    transition: background-color 5000s ease-in-out 0s !important;
}

.field_type_slider {
    width: 70px;
    min-width: 70px;
    max-width: 70px;
    height: 35px;
    margin: auto;
    background: #D9D9D9;
    position: relative;
    border-radius: 20px;
}

    .field_type_slider:before {
        content: 'SI';
        color: var(--dark);
        position: absolute;
        left: 8px;
        top: 7px;
        font-size: .9rem;
        font-weight: 900;
    }

.field_type_slider:after {
    content: 'NO';
    color: var(--dark);
    position: absolute;
    right: 8px;
    top: 7px;
    font-size: .9rem;
    font-weight: 900;
}

.field_type_slider > label {
    display: block;
    width: 29px;
    height: 29px;
    cursor: pointer;
    position: absolute;
    top: 3px;
    left: 3px;
    z-index: 1;
    background: var(--red);
    border-radius: 50px;
    transition: .6s ease-in-out;
}

.field_type_slider > input[type=checkbox] {
    visibility: hidden;
}

input[type=checkbox]:checked + label {
    background: var(--green);
    left: 38px;
}

.disabled-field {
    opacity: 0.7 !important;
    border: 2px solid #f1f1f1 !important;
}

.copy-icon {
    cursor: pointer;
    transition: .5s ease-in-out;
    z-index: 2;
}

.copy-icon:hover {
    scale: 1.2;
}