/*** GENERAL ****************************************************************/
html,body {
    width: 100%;
    height: 100%;
    margin: 0px;
    padding: 0px;
    overflow-x: hidden;
}
button:focus {
    outline: 0;
}
img {
    max-width: 100%;
}
a {
    color: #383c45;
}
a:focus, a:hover, a:active {
    outline: none;
}
label {
    font-weight: 600;
    margin-bottom: 3px;
}
::placeholder {
    color: #aaaaaa !important;
    opacity: 1;
}
:-ms-input-placeholder {
    color: #aaaaaa !important;
}
::-ms-input-placeholder { 
    color: #aaaaaa !important;
}
input[type=number] {
    -moz-appearance: textfield;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0; 
    -moz-appearance:textfield !important;
}
input[type="file"] {
    cursor: pointer;
}
.hidden {
    display: none !important;
}
.background-gris {
    background-color: #cccccc;
}
.background-fabricacion {
    background-image: url('/assets/images/background-fabricacion.jpg');
    background-position: left top;
    background-repeat: repeat;
    background-attachment: scroll;
    background-color: transparent;
}
.margin-bottom-5 {
    margin-bottom: 5px;
}
.margin-bottom-10 {
    margin-bottom: 10px;
}
.margin-bottom-20 {
    margin-bottom: 20px;
}
.padding-top-no-label {
    padding-top: 27px;
}
.negrita {
    font-weight: 600;
}
.position-relative {
    position: relative;
}
.separador {
    height: 2px;
    width: 20px;
    border-bottom: 2px solid #3a3e47;
    margin: 35px auto;
    clear: both;
}
.overflow-hidden {
    overflow: hidden;
}
.howto {
    font-size: 0.8rem;
    color: #666666;
    font-style: italic;
}
/*** BOOTSTRAP ***************************************************************/
.btn {
    border-radius: 0;
    box-shadow: none !important;
    padding: 6px 12px;
}
.btn-default {
    background-color: #ffffff;
    border-color: #cccccc;
}
.btn-default:hover {
    background-color: #eeeeee;
    border-color: #888888;
}
.btn-default:not(:disabled):not(.disabled).active, 
.btn-default:not(:disabled):not(.disabled):active, 
.show > .btn-default.dropdown-toggle {
    background-color: #eeeeee;
    border-color: #888888;
}
.btn-default.disabled, .btn-default:disabled {
    background-color: #ffffff;;
    border-color: #d6d6d6;
    color: #555555;
}
.btn-primary {
    background-color: #3a4de0;
    border-color: #2e3eb3;
}
.btn-primary:hover {
    background-color: #2e3eb3;
    border-color: #2e3eb3;
}
.btn-primary:not(:disabled):not(.disabled).active, 
.btn-primary:not(:disabled):not(.disabled):active, 
.show > .btn-primary.dropdown-toggle {
    background-color: #2e3eb3;
    border-color: #2e3eb3;
}
.btn-primary.disabled, .btn-primary:disabled {
    background-color: #9aa4ef;
    border-color: #6171e6;
}
.btn-secondary {
    background-color: #007d5d;
    border-color: #005640;
}
.btn-secondary:hover {
    background-color: #005640;
    border-color: #005640;
}
.btn-secondary:not(:disabled):not(.disabled).active, 
.btn-secondary:not(:disabled):not(.disabled):active, 
.show > .btn-secondary.dropdown-toggle {
    background-color: #005640;
    border-color: #005640;
}
.btn-secondary.disabled, .btn-secondary:disabled {
    background-color: #00a47a;
    border-color: #007d5d;
}
.btn-success {
    background-color: #28a745;
    border-color: #208537;
    padding: 6px 12px;
}
.btn-success:hover {
    background-color: #208537;
    border-color: #208537;
}
.btn-success:not(:disabled):not(.disabled).active, 
.btn-success:not(:disabled):not(.disabled):active, 
.show > .btn-success.dropdown-toggle {
    background-color: #208537;
    border-color: #208537;
}
.btn-success.disabled, .btn-success:disabled {
    background-color: #7eca8f;
    border-color: #52b86a;
}
.form-control {
    border-radius: 0;
    border: 1px solid #cccccc;
}
.form-control:focus {
    border: 1px solid #666666;
    box-shadow: none;
}
.form-control:disabled, 
.form-control[readonly] {
    background-color: #e9e9e9;
    opacity: 1;
}
.input-group-text {
    border-radius: 0px;
    background-color: #e9e9e9;
}
.input-group-append {
    display: block;
}
@media (min-width: 576px) {
    .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9,
    .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, 
    .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7,.col-md-8, .col-md-9, 
    .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, 
    .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9 {
        padding-left: 7px;
        padding-right: 7px;
    }
}
@media (min-width: 576px) and (max-width: 767px) {
    .form-control,
    .input-group-text {
        padding: 3px 6px;
    }
    .input-group-text {
        height: 38px;
        font-size: 14px;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    .col-md-6b {
        -ms-flex: 0 0 52.33333%;
        flex: 0 0 52.33333%;
        max-width: 52.33333%;
    }
    .col-md-1b {
        -ms-flex: 0 0 6%;
        flex: 0 0 6%;
        max-width: 6%;
    }
}
/*** INPUTS ******************************************************************/
.doble-input {
    display: table;
    width: 100%;
}
.doble-input input {
    float: left;
    width: 50%;
    z-index: 1;
}
.doble-input.doble-input-primero-mayor .primer-input,
.doble-input.doble-input-segundo-mayor .segundo-input {
    width: 60%;
}
.doble-input.doble-input-segundo-mayor .primer-input,
.doble-input.doble-input-primero-mayor .segundo-input {
    width: 40%;
}
.doble-input .segundo-input {
    margin-left: -1px;
}
.doble-input-con-uno-mas-abajo input {
    margin-bottom: 0px !important;
}
.doble-input-con-uno-mas-abajo {
    position: relative;
    height: 76px;
}
.doble-input-con-uno-mas-abajo .contenedor-input-abajo {
    position: absolute;
    right: 1px; bottom: 0px; left: 0px;
}
.doble-input-con-uno-mas-abajo .input-abajo {
    width: 100%;
    border-top-width: 0px;
    padding-top: 7px;
}
.doble-input-con-uno-mas-abajo .contenedor-inputs {
    position: relative;
    display: table;
    width: 100%;
    height: 76px;
}
.doble-input.focus-primer-input .segundo-input {
    margin-left: 0px;
    border-left: none;
}
.doble-input.focus-input-abajo .primer-input,
.doble-input.focus-input-abajo .segundo-input {
    border-bottom: 0px;
}
.doble-input.focus-input-abajo .input-abajo {
    border-top-width: 1px;
    padding-top: 6px;
}
@media (max-width: 991px) {
    .doble-input-con-uno-mas-abajo {
        margin-bottom: 10px;
    }
}
/* Este responsive es el que afecta a las tablets unicamente */
@media (min-width: 576px) and (max-width:767px) {
    .doble-input-con-uno-mas-abajo .contenedor-inputs {
        height: 60px;
    }
    .doble-input-con-uno-mas-abajo {
        height: 60px;
    }
}
/*** MODALES *****************************************************************/
.modal {
    color: #333333;
}
.modal .modal-dialog {
    border: 1px solid #343841;
}
.modal .modal-content {
    border-radius: 0;
    border: 0;
    background: #f9f9f9;
}
.modal .modal-header, .modal .modal-footer {
    border: 0;
    padding-bottom: 0px;
}
.modal .close {
    color: #888888;
}
.modal .modal-body {
    padding-top: 26px;
}
.modal .titulo-modal {
    text-align: center;
    margin-bottom: 25px;
}
.modal .modal-footer {
    display: block;
    text-align: center;
}
.modal .btn-modal {
    padding: 6px 60px;
    -webkit-box-shadow: 0px 6px 10px 0px rgba(181,58,76,1) !important;
    -moz-box-shadow: 0px 6px 10px 0px rgba(181,58,76,1) !important;
    box-shadow: 0px 6px 10px 0px rgba(181,58,76,1) !important;
}
.enlaces-modal-login {
    display: table;
    width: 100%;
    margin-bottom: 20px;
}
.enlaces-modal-login a {
    color: #ffffff;
}
/*** DOS BOTONES *************************************************************/
.dos-botones {
    display: table;
    width: 100%;
}
.dos-botones .btn {
    float: left;
    width: 49% !important;
}
.dos-botones .btn-1 {
    margin-right: 1%;
}
.dos-botones .btn-2 {
    margin-left: 1%;
}
@media (min-width: 401px) {
    .dos-botones .btn .icono-boton {
        display: none;
    }
}
@media (max-width: 400px) {
    .dos-botones .btn .texto-boton {
        display: none;
    }
}
/*** MENSAJE ESQUINA *********************************************************/
#mensaje-esquina {
	position: fixed;
	top: 30px;
	right: 30px;
	min-width: 200px;
	max-width: 350px;
	border-radius: 0;
	cursor: pointer;
	z-index: 9999;
	color: #FFFFFF;
	-webkit-box-shadow: 0px 0px 8px -3px rgba(0,0,0,0.75);
	-moz-box-shadow: 0px 0px 8px -3px rgba(0,0,0,0.75);
	box-shadow: 0px 0px 8px -3px rgba(0,0,0,0.75);
}
#mensaje-esquina.alert-success {
	background-color: #48a848;
	border-color: #419641;
}
#mensaje-esquina.alert-danger {
	background-color: #d9534f;
	border-color: #d43f3a;
}
#mensaje-esquina.alert-warning {
	background-color: #ff8800;
    border-color: #ff8800;
}
#mensaje-esquina p {
	margin: 0;
}
@media (max-width:575px) {
    #mensaje-esquina {
        left: 30px;
        max-width: initial;
        min-width: initial;
    }
}
@media (max-width:350px) {
    #mensaje-esquina {
        left: 15px;
        right: 15px;
    }
}
/*** FORMULARIO FABRICACION **************************************************/
#formulario-fabricacion {
    margin-top: 25px;
    margin-bottom: 30px;
    background-color: #f9f9f9;
    padding-top: 20px;
    padding-bottom: 15px;
	-webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2), 0 5px 5px 0 rgba(0, 0, 0, 0.24);
	-moz-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2), 0 5px 5px 0 rgba(0, 0, 0, 0.24);
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2), 0 5px 5px 0 rgba(0, 0, 0, 0.24);
}
#formulario-fabricacion .form-control, #formulario-fabricacion .btn {
    margin-bottom: 10px;
}
#formulario-fabricacion .cuadro-inferior-fabricacion {
    width: 100%;
    margin-top: 20px;
}
#formulario-fabricacion .recuadro-apartados-fabricacion {
    border: 1px solid #cccccc;
    padding-top: 20px;
    padding-bottom: 20px;
	-webkit-box-shadow: 0 0 7px -3px rgba(0,0,0,.5);
	-moz-box-shadow: 0 0 7px -3px rgba(0,0,0,.5);
	box-shadow: 0 0 7px -3px rgba(0,0,0,.5);
}
#formulario-fabricacion .btn {
    width: 100%;
}
#formulario-fabricacion .footer-fabricacion {
    display: table;
    width: 100%;
    margin-top: 10px;
    font-size: 12px;
}
#formulario-fabricacion .footer-fabricacion p {
    margin: 0px;
}
#formulario-fabricacion .texto-login {
    float: left;
}
#formulario-fabricacion .version-formulario {
    float: right;
    color: #555555;
}
#formulario-fabricacion .contenedor-troquel {
    position: relative;
}
#formulario-fabricacion #descripcion-troquel {
    text-transform: uppercase;
}
.imagen-troquel {
    width: 76px;
    height: 76px;
    border: 1px solid #888888;
    background: #f9f9f9;
    background-repeat: no-repeat;
    background-position: center center; 
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}
#apartado-fabricacion-1 .imagen-troquel {
    position: absolute;
    right: -93px; bottom: 0;
}
@media (max-width:1199px) {
    #apartado-fabricacion-1 .imagen-troquel {
        right: -77px;
    }
}
@media (max-width:991px) {
    #apartado-fabricacion-1 .imagen-troquel {
        right: -115px;
    }
}
@media (max-width:767px) {
    #apartado-fabricacion-1 .imagen-troquel {
        right: -85px;
    }
}
@media (max-width:575px) {
    #formulario-fabricacion .contenedor-troquel {
        padding-right: 81px;
    }
    #apartado-fabricacion-1 .imagen-troquel {
        right: 1px;
    }
}
/* Este responsive es el que afecta a las tablets unicamente */
@media (min-width: 576px) and (max-width:767px) {
    #formulario-fabricacion {
        margin-top: 10px;
        margin-bottom: 10px;
        padding-top: 10px;
        padding-bottom: 10px;
    }
    #formulario-fabricacion .input-group-text {
        padding: 3px;
    }
    #formulario-fabricacion .cuadro-inferior-fabricacion {
        width: 526px;
        margin-right: -8px;
        margin-left: -8px;
    }
    #formulario-fabricacion .cuadro-inferior-fabricacion {
        margin-top: 8px;
    }
    #formulario-fabricacion label {
        font-size: 0.9rem;
        margin-bottom: 0px;
    }
    #formulario-fabricacion .form-control {
        margin-bottom: 2px;
        padding-top: 2px;
        padding-bottom: 2px;
        height: 30px;
        font-size: 0.9rem;
    }
    #formulario-fabricacion .btn {
        padding: 2px 12px;
        font-size: 0.9rem;
        height: 30px;
    }
    #formulario-fabricacion .input-group-text {
        height: 30px;
    }
    #apartado-fabricacion-1 .imagen-troquel {
        width: 60px;
        height: 60px;
    }
    #formulario-fabricacion .padding-top-no-label {
        padding-top: 24px;
    }
}
/*** IMAGENES TROQUELES ******************************************************/
#listado-imagenes-troqueles .imagen-troquel {
    position: relative;
    margin: 0 auto;
}
#listado-imagenes-troqueles .imagen-troquel .eliminar-imagen-troquel {
    display: none;
    text-align: center;
    cursor: pointer;
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    font-size: 30px;
    line-height: 68px;
    background: rgba(255, 255, 255, 0.7);
}
#listado-imagenes-troqueles .imagen-troquel:hover .eliminar-imagen-troquel {
    display: block;
}
#confirmacion-borrado-troquel .imagen-troquel {
    margin: 0 auto;
}
/*** MENU INFERIOR FABRICACION ***********************************************/
#formulario-fabricacion .menu-cuadro-inferior .nav-tabs {
    border-bottom: none;
}
#formulario-fabricacion .menu-cuadro-inferior .nav-tabs .nav-item {
    margin-bottom: -1px;
    margin-right: 5px;
}
#formulario-fabricacion .menu-cuadro-inferior .nav-tabs .nav-item a {
    color: #666666;
    border-bottom: none;
}
#formulario-fabricacion .menu-cuadro-inferior .nav-tabs .nav-item.show .nav-link, 
#formulario-fabricacion .menu-cuadro-inferior .nav-tabs .nav-link.active {
    border-color: #cccccc;
    background-color: #f9f9f9;
    color: #21254b;
}
#formulario-fabricacion .menu-cuadro-inferior .nav-tabs .nav-link {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
#formulario-fabricacion .menu-cuadro-inferior .nav-tabs .nav-link:focus, 
#formulario-fabricacion .menu-cuadro-inferior .nav-tabs .nav-link:hover {
    border-color: #dddddd;
}
/*** CANDADO CHECKBOX ********************************************************/
.candado-checkbox {
    cursor: pointer;
    width: 100%;
    text-align: center;
    margin-bottom: 0px;
}
.candado-checkbox-junto-input {
    margin-top: 26px;
}
.candado-checkbox input {
    display: none;
}
.candado-checkbox .fa {
    font-size: 44px;
}
.candado-checkbox .fa-lock {
    display: none;
    color: #333333;
}
.candado-checkbox .fa-unlock-alt {
    color: #666666;
}
.candado-checkbox input:checked ~ .fa-unlock-alt {
    display: none;
}
.candado-checkbox input:checked ~ .fa-lock {
    display: initial;
}
/* Este responsive es el que afecta a las tablets unicamente */
@media (min-width: 576px) and (max-width:767px) {
    .candado-checkbox .fa {
        font-size: 40px;
    }
    .candado-checkbox-junto-input {
        margin-top: 16px;
        line-height: 24px;
    }
}
@media (max-width:575px) {
    .candado-checkbox {
        display: table;
        width: auto;
        padding: 0px 15px;
        margin: 10px auto;
    }
}
/*** APARTADO CONFIGURACION **************************************************/
#formulario-fabricacion .apartado-configuracion .btn {
    width: auto;
}
/*** SWITCH ******************************************************************/
.switch {
    position: relative;
    display: inline-block;
    width: 65px;
    height: 38px;
}
.switch.switch-near-input {
    margin-top: 26px;
}
.switch .switch-checkbox {
    opacity: 0;
    width: 0;
    height: 0;
}
.switch-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
}
.switch-slider:before {
    position: absolute;
    content: "";
    height: 30px;
    width: 30px;
    left: 5px;
    bottom: 4px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}
.switch-checkbox:checked + .switch-slider {
    background-color: #198741;
}
.switch-checkbox:focus + .switch-slider {
    box-shadow: 0 0 1px #198741;
}
.switch-checkbox:checked + .switch-slider:before {
    -webkit-transform: translateX(26px);
    -ms-transform: translateX(26px);
    transform: translateX(26px);
}
.switch-slider.switch-slider-round {
    border-radius: 34px;
}
.switch-slider.switch-slider-round:before {
    border-radius: 50%;
}
/*** LOADER ******************************************************************/
#loader {
	position: fixed;
	bottom: 25px;
	right: 25px;
	z-index: 9999;
}
.container-loader {
	display: table;
	margin: 0 auto;
	padding: 10px 15px;
	border-radius: 10px;
}
.sk-fading-circle {
  width: 40px;
  height: 40px;
  position: relative;
}
.sk-fading-circle .sk-circle {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.sk-fading-circle .sk-circle:before {
  content: '';
  display: block;
  margin: 0 auto;
  width: 15%;
  height: 15%;
  background-color: #e52421;
  border-radius: 100%;
  -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both;
          animation: sk-circleFadeDelay 1.2s infinite ease-in-out both;
}
.sk-fading-circle .sk-circle2 {
  -webkit-transform: rotate(30deg);
      -ms-transform: rotate(30deg);
          transform: rotate(30deg);
}
.sk-fading-circle .sk-circle3 {
  -webkit-transform: rotate(60deg);
      -ms-transform: rotate(60deg);
          transform: rotate(60deg);
}
.sk-fading-circle .sk-circle4 {
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
}
.sk-fading-circle .sk-circle5 {
  -webkit-transform: rotate(120deg);
      -ms-transform: rotate(120deg);
          transform: rotate(120deg);
}
.sk-fading-circle .sk-circle6 {
  -webkit-transform: rotate(150deg);
      -ms-transform: rotate(150deg);
          transform: rotate(150deg);
}
.sk-fading-circle .sk-circle7 {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
}
.sk-fading-circle .sk-circle8 {
  -webkit-transform: rotate(210deg);
      -ms-transform: rotate(210deg);
          transform: rotate(210deg);
}
.sk-fading-circle .sk-circle9 {
  -webkit-transform: rotate(240deg);
      -ms-transform: rotate(240deg);
          transform: rotate(240deg);
}
.sk-fading-circle .sk-circle10 {
  -webkit-transform: rotate(270deg);
      -ms-transform: rotate(270deg);
          transform: rotate(270deg);
}
.sk-fading-circle .sk-circle11 {
  -webkit-transform: rotate(300deg);
      -ms-transform: rotate(300deg);
          transform: rotate(300deg); 
}
.sk-fading-circle .sk-circle12 {
  -webkit-transform: rotate(330deg);
      -ms-transform: rotate(330deg);
          transform: rotate(330deg); 
}
.sk-fading-circle .sk-circle2:before {
  -webkit-animation-delay: -1.1s;
          animation-delay: -1.1s; 
}
.sk-fading-circle .sk-circle3:before {
  -webkit-animation-delay: -1s;
          animation-delay: -1s; 
}
.sk-fading-circle .sk-circle4:before {
  -webkit-animation-delay: -0.9s;
          animation-delay: -0.9s; 
}
.sk-fading-circle .sk-circle5:before {
  -webkit-animation-delay: -0.8s;
          animation-delay: -0.8s; 
}
.sk-fading-circle .sk-circle6:before {
  -webkit-animation-delay: -0.7s;
          animation-delay: -0.7s; 
}
.sk-fading-circle .sk-circle7:before {
  -webkit-animation-delay: -0.6s;
          animation-delay: -0.6s; 
}
.sk-fading-circle .sk-circle8:before {
  -webkit-animation-delay: -0.5s;
          animation-delay: -0.5s; 
}
.sk-fading-circle .sk-circle9:before {
  -webkit-animation-delay: -0.4s;
          animation-delay: -0.4s;
}
.sk-fading-circle .sk-circle10:before {
  -webkit-animation-delay: -0.3s;
          animation-delay: -0.3s;
}
.sk-fading-circle .sk-circle11:before {
  -webkit-animation-delay: -0.2s;
          animation-delay: -0.2s;
}
.sk-fading-circle .sk-circle12:before {
  -webkit-animation-delay: -0.1s;
          animation-delay: -0.1s;
}
@-webkit-keyframes sk-circleFadeDelay {
  0%, 39%, 100% { opacity: 0; }
  40% { opacity: 1; }
}
@keyframes sk-circleFadeDelay {
  0%, 39%, 100% { opacity: 0; }
  40% { opacity: 1; } 
}