.clearfix {
    *zoom: 1;
}

.clearfix:before,
.clearfix:after {
    display: table;
    content: "";
    line-height: 0;
}

.clearfix:after {
    clear: both;
}

.hide-text {
    font: 0/0 a;
    color: transparent;
    text-shadow: none;
    background-color: transparent;
    border: 0;
}

.input-block-level {
    display: block;
    width: 100%;
    min-height: 30px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.btn-file {
    overflow: hidden;
    position: relative;
    vertical-align: middle;
}

.btn-file>input {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    opacity: 0;
    filter: alpha(opacity=0);
    transform: translate(-300px, 0) scale(4);
    font-size: 23px;
    direction: ltr;
    cursor: pointer;
}

.fileupload {
    margin-bottom: 9px;
}

.fileupload .uneditable-input {
    display: inline-block;
    margin-bottom: 0px;
    vertical-align: middle;
    cursor: text;
}

.fileupload .thumbnail {
    overflow: hidden;
    display: inline-block;
    margin-bottom: 5px;
    vertical-align: middle;
    text-align: center;
}

.fileupload .thumbnail>img {
    display: inline-block;
    vertical-align: middle;
    max-height: 100%;
}

.fileupload .btn {
    vertical-align: middle;
}

.fileupload-exists .fileupload-new,
.fileupload-new .fileupload-exists {
    display: none;
}

.fileupload-inline .fileupload-controls {
    display: inline;
}

.fileupload-new .input-append .btn-file {
    -webkit-border-radius: 0 3px 3px 0;
    -moz-border-radius: 0 3px 3px 0;
    border-radius: 0 3px 3px 0;
}

.thumbnail-borderless .thumbnail {
    border: none;
    padding: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

.fileupload-new.thumbnail-borderless .thumbnail {
    border: 1px solid #ddd;
}

.control-group.warning .fileupload .uneditable-input {
    color: #a47e3c;
    border-color: #a47e3c;
}

.control-group.warning .fileupload .fileupload-preview {
    color: #a47e3c;
}

.control-group.warning .fileupload .thumbnail {
    border-color: #a47e3c;
}

.control-group.error .fileupload .uneditable-input {
    color: #b94a48;
    border-color: #b94a48;
}

.control-group.error .fileupload .fileupload-preview {
    color: #b94a48;
}

.control-group.error .fileupload .thumbnail {
    border-color: #b94a48;
}

.control-group.success .fileupload .uneditable-input {
    color: #468847;
    border-color: #468847;
}

.control-group.success .fileupload .fileupload-preview {
    color: #468847;
}

.control-group.success .fileupload .thumbnail {
    border-color: #468847;
}

.modal-wide .modal-dialog {
    width: 30%;
    /* or whatever you wish */
    height: 60%;
}

.countdown-banner {
    text-align: center !important;
    font-weight: bold !important;
    font-size: 14px !important;
    padding: 5px !important;
    border-radius: 5px !important;
    margin-top: 5px !important;
    width: 100% !important;
    min-height: 30px !important; /* Asegura la misma altura */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important; /* Evita saltos de línea */
}

.countdown-blue {
    background-color: rgba(0, 123, 255, 0.1) !important;
    color: #007bff !important;
}

.countdown-yellow {
    background-color: rgba(255, 193, 7, 0.2) !important;
    color: #ffc107 !important;
}

.countdown-red {
    background-color: rgba(220, 53, 69, 0.2) !important;
    color: #dc3545 !important;
    font-weight: bold !important;
    animation: shake 0.5s infinite alternate !important;
    min-height: 30px !important; /* Asegura la misma altura en rojo también */
}
