@import url('freyja.css');
@import url('datepicker.css');



:focus {
    outline: none
}

::placeholder {
    color: #ccc;
}

form.thor, .targetForm {
    height: 100%;
    width: 100%;
    overflow: hidden;
    position: relative;
    transition: 0.3s ease-in;
    padding: 4px;;
    background: white;
    border-radius: 4px;

    transition: 0.1s ease-out;
}


form.thor.delete{
    height:200px;
}

form.thor.delete fieldset{
    margin-top:40px;
}


form.thor.filter {
    padding: 0;
}

form.thor.oculto, .targetForm.oculto {
    transform: rotateX(90deg);
}



form.thor fieldset {
    container-type: inline-size;
    width: 100%;
    padding: 20px;
    display: grid;
    grid-gap: 10px;
    grid-template-columns: repeat(4, 1fr);

}
form.thor fieldset.x1 {
    grid-template-columns: repeat(1, 1fr);
}
form.thor fieldset.x2 {
    grid-template-columns: repeat(2, 1fr);
}
form.thor fieldset.x3 {
    grid-template-columns: repeat(3, 1fr);
}



/************************************/
/*********   RESPONSIVE   ***********/
/************************************/


@container (max-width: 1360px) {
    form.thor fieldset {

        grid-template-columns: repeat(3, 1fr);
    }
}

/* Cambios cuando el ancho del contenedor es menor o igual a 1000px */
@container (max-width: 1000px) {
    form.thor fieldset {

        grid-template-columns: repeat(2, 1fr);
    }

    form.thor fieldset.x2 {
        grid-template-columns: repeat(2, 1fr);
    }
    form.thor fieldset.x3 {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Cambios cuando el ancho del contenedor es menor o igual a 640px */
@container (max-width: 640px) {
    form.thor fieldset {

        grid-template-columns: repeat(1, 1fr);
    }
    form.thor fieldset.x2 {
        grid-template-columns: repeat(1, 1fr);
    }
    form.thor fieldset.x3 {
        grid-template-columns: repeat(1, 1fr);
    }
}

 form.thor fieldset.unique {
    display: block;
    width:100%;
    max-width:800px;
    margin:0 auto;
    grid-template-columns:none;
 
}

.padTop{
    padding-top:20px !important;
}


form.thor.filter fieldset {
    display: inline-block;
    grid-template-columns: none;
    grid-gap: 2px;
}





form.thor label {
    border-bottom: 1px solid #4caf50;
    width: 100%;
    position: relative;
    background: #fff;
    text-transform: uppercase;
    color: #666;
    font-size: 6pt;
    padding: 4px;
    margin: 2px;
    letter-spacing: 1px;
    font-family: Arial;
    color: #BBB;
    display: inline-block;
    overflow: hidden;
    text-align: left;
}
form.thor label span {
    display:block;
}
form.thor label .translate{
    background:url('../imgs/translateButton.svg') center center no-repeat; 
    cursor:pointer;
    float:right;
    width:20px;
    height:20px;

}

form.thor.filter label {
    border-bottom: none;
    background: #f4f6f8;
    text-align: center;
    color: #4EA8DD;
    font-size: 6pt;
    padding: 4px;
    margin: 0;
    text-align: center;
    border-radius: 4px;
    width: 260px;
}

form.thor.filter button.filterSubmit,
form.thor.filter button.filterOcultar {
    background: #f4f6f8;
    color: #4EA8DD;

    border-radius: 4px;
    width: 38px;
    height: 38px;
    cursor: pointer;
    transition: .4s;
}

form.thor.filter button.filterSubmit {
    background: url('../imgs/forsetiFind.svg') #f4f6f8 center center no-repeat;
    margin: 0 0 0 4px;
}

form.thor.filter button.filterOcultar {
    background: url('../imgs/forsetiDirection.svg') #f4f6f8 center center no-repeat;
    margin: 0 4px 0 0;
}

form.thor.filter button:hover {
    background-color: #E6E8EA
}


form.thor fieldset legend {
    text-align: center;
    color: #4EA8DD;

    text-transform: uppercase;
    padding-bottom: 6pt;
    font-size:8pt;

}

form.thor input,
form.thor select,
form.thor textarea {
    color: #333;
    width: 100%;
    box-sizing: border-box;
    letter-spacing: 1px;
    border: 0;
    padding: 5px 5px 1px 5px;
    background: transparent;
    font-size: 8pt;
    text-transform: none;
    height:20px;
}

form.thor .translate + input,
form.thor .translate  + textarea,
form.thor .clipboard + input,
form.thor .clipboard  + textarea{
    width:calc(100% - 20px)
}




form.thor input[type="file"]{
    display:none;
}

form.thor textarea{
    height:100px;
}






form.thor.filter input,
form.thor.filter select,
form.thor.filter textarea {
    font-size: 7pt;
    font-family: Verdana
}



form.thor label.disabled {
    background: #f4f6f8;
}

form.thor.filter label.disabled {
    color: #ccc;
    background: #f0f2f4;
}

form.thor input:disabled {
    color: #AAA;

    text-shadow: -1px -1px white;
    ;
}

select {
    display: none;
}

form.thor label .focus-border {
    position: absolute;
    bottom: 0px;
    left: 50%;
    width: 0;
    height: 1px;
    background-color: #4caf50;
    transition: 0.4s;
    z-index: 20;
}

form.thor label.invalid .focus-border {
    background-color: #F58D8D;
}

form.thor input:focus~.focus-border,
form.thor input.invalid:focus~.focus-border,

form.thor label>div:focus-within+.focus-border,
form.thor label>div:invalid:focus-within+.focus-border,

form.thor textarea:focus~.focus-border,
form.thor textarea.invalid:focus~.focus-border {
    width: calc(100% + 2px);
    transition: 0.4s;
    left: 0;
}


form.thor label.invalid {
    border-bottom: 1px solid #F58D8D;
    color: #F58D8D;
}

form.thor input.invalid,
form.thor select.invalid,
form.thor textarea.invalid {
    color: #F58D8D;
}


form.thor .formActions {
    margin-top:20px;
    padding: 4px;
    width: 100%;
    text-align: center;
    overflow: hidden;

}

form.thor .formActions button {

    width: 32px;
    height: 32px;
    background-position: center center;
    background-color: white;
    margin: 2px;
    cursor: pointer;
    transition: 1s;
    border-radius: 4px;
    background-repeat: no-repeat;
    margin: 0 4px 4px 0;
}



form.thor .formActions button.submit {
    background-color:white;
    color: #4EA8DD;
    border:2px solid #4EA8DD;
    width: 80px;
    text-transform:uppercase;
    font-size:7pt;
    float:right;

}

form.thor .formActions button.submit:hover {
    background-color: #4EA8DD;
    color:white;
}

form.thor .formActions button.submit:disabled {
    background-color: #f4f6f8;
    border:2px solid #eee;
    color:#CCC;
}

form.thor .formActions button.submit:disabled:hover {
    background-color: #f8fAfC;
    border:2px solid #eee;
}

/************************************************************/
/************************************************************/
/********************** CHECKS / RADIOS *********************/
/************************************************************/
/************************************************************/


form.thor {
    padding: 10px;
    text-align: center;
    overflow: hidden;
}

form.thor .chk input {
    display: none;
}




form.thor .chk label {
    border: 0;
    height: 24px;
    /* background:#4EA8DD; */
    background-color: #f4f6f8;
    border-radius: 10px;
    font-size: 7pt;
    transition: 1s;
    cursor: pointer;
    margin: 2px;
    display: inline-block;
    width: auto !important;
    float: none;
    padding: 4px 10px 4px 4px;
    color: #666;
    /*
    background: url('../imgs/iconos/check0.png') #FFF left 6px center no-repeat;
    background-size: 20px auto;
    */
    margin: 0;
}

form.thor .chk label:has(input:disabled) {
    opacity:.2;
}

form.thor .forseti .chk label {
    padding: 4px;
    margin: 0;
}

form.thor .chk label span {
    padding-top: 2px;
    display: inline-block;
}

form.thor .chk label slider {
    height: 16px;
    background: #E8E8E8;
    width: 30px;
    border-radius: 8px;
    display: block;
    float: left;
    margin-right: 6px;
    position: relative;
    transition: 1s;
}

form.thor .forseti .chk label slider {

    margin-right: 0;

}

form.thor .chk label slider ball {
    height: 12px;
    width: 12px;
    top: 2px;
    left: 2px;
    position: absolute;
    background: white;
    border-radius: 50%;
    display: inline-block;
    transition: .2s ease-in-out;

}

form.thor .chk input:checked~slider {
    background: #4EA8DD;
}

form.thor .chk input:checked~slider ball {

    transform: translateX(14px);
    /* Posición final */
}







/************************************************************/
/************************************************************/
/*************************** DESTINO ************************/
/************************************************************/
/************************************************************/
.targetForm .retryForm {
    bottom: 0;
    height: 32px;
    background: white;
    width: 100%;
    position: absolute;
    left: 0;
    transition: .4s;
    background-image: url('../imgs/prevForm.svg');
    background-repeat: no-repeat;
    animation: prevForm 0.5s ease-in infinite;
    cursor: pointer;
    border: 2px solid white;
}



.retryForm:hover {
    background-color: #f4f6f8;

}



/**************************************************************/
/**************************************************************/
/*******************  CAMBIO VALORES DEFECTO  *****************/
/**************************************************************/


input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    /* Elimina el estilo por defecto */
    margin: 0;
    /* Elimina el margen */
}







/****************************************************/
/****************************************************/
/*******************  ANIMACIONES  ******************/
/****************************************************/
/****************************************************/

@keyframes prevForm {
    0% {
        background-position: center left 10px;
    }

    50% {
        background-position: center left 20px;
    }

    100% {
        background-position: center left 10px;
    }
}




/****************************************************/
/****************************************************/
/*******************  CARGA FILES  ********************/
/****************************************************/
/****************************************************/



.fileArea{
    height:100px;
    background:#f8fafc;;
    border-radius:4px;

    display:flex;
    align-items: center; /* Centrado vertical */
    justify-content: center; /* Centrado horizontal */
    font-size:7pt;
    text-transform:uppercase;
    color:#999;
    cursor:pointer;

    background-position:center center;
    background-repeat:no-repeat;
    background-size:cover;
}

.fileArea.invalid{
    border:1px dotted #F58D8D;
}
.fileArea.dragging{
    background:#e4e6e8;  
}

.fileArea .okFile{
    color:#4caf50;
    font-size:12pt;
    font-weight:bold;
}
.fileArea .koFile{
    color: #FF7A7A;
    font-size:12pt;
    font-weight:bold;
}







input[type="time"]::-webkit-calendar-picker-indicator {
    display: none;
}
input[type="time"]::-webkit-clear-button {
    display: none;
}
input[type="time"]::-ms-clear {
    display: none;
}
input[type="time"]::-ms-expand {
    display: none;
}