.contenedor {
    padding: var(--container-padding);
    max-width: var(--container-max-width);
    margin: 0 auto;
}

.cuadro {
    box-shadow: var(--shadow-1);
    border-radius: 5px;
    border: 0;
    padding: 25px 30px;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
}

.vertical-center {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.vertical-center-column {
    min-height: 100vh;
    display: flex;
    justify-content: center;
    flex-direction: column;
}

/* Borders */

.border-solid-1 {
    border: 1px solid;
}

/* Display */

.d-inline {
    display: inline;
}

.d-inline-block {
    display: inline-block;
}

.d-inline-flex {
    display: inline-flex;
}

.d-block {
    display: block;
}

.d-flex {
    display: flex;
}

.d-none {
    display: none !important;
}

/* Flex */

/* Justify */

.justify-content-space-between {
    justify-content: space-between;
}

.justify-content-center {
    justify-content: center;
}

/* Align */

.align-items-center {
    align-items: center;
}

/* Direction */

.flex-direction-column {
    flex-direction: column;
}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-grow {
    flex-grow: 1;
}

.flex-basis-sm {
    flex-basis: auto;
}

.flex-1-0-20 {
    flex: 1 0 20%;
}

/* Gaps */
.gap-1 {
    gap: 5px;
}

/* Margins */

.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

.m-0 {
    margin: 0;
}

.m-0i {
    margin: 0!important;
}

.mt-0 {
    margin-top: 0;
}

.ml-10 {
    margin-left: 10px;
}

/* Paddings */

.p-0i {
    padding: 0!important;
}

.p-0 {
    padding: 0;
}

.px-1 {
    padding: 0 2px;
}

/* Filas */

.row {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

/* Columnas */

.col-xl-3 {
    flex: 1 0 calc(24% - 15px);
}

.col-3 {
    flex: 1 0 calc(24% - 15px);
}

.col-md-4 {
    flex: 1 0 calc(33.33% - 15px);
}

.col-6,
.col-xl-6,
.col-lg-6,
.col-md-6 {
    flex: 1 0 calc(50% - 15px);
}

.col-9,
.col-xl-9,
.col-lg-9,
.col-md-9 {
    flex: 1 0 calc(75% - 15px);
}

.col-12 {
    flex: 1 0 100%;
}

/* Height */
.h-100 {
    height: 100%;
}

.mh-unset {
    min-height: unset;
}

/* Width */
.mw-none {
    max-width: none;
}

.mw-none-i {
    max-width: none!important;
}

.mw-max-content {
    max-width: max-content;
}

.w-100 {
    width: 100%;
}

.w-auto {
    width: auto;
}

.w-max-content {
    width: max-content;
}

/* Overflow */

.overflow-auto {
    overflow: auto;
}

.overflow-hidden {
    overflow: hidden;
}

.overflow-x-auto {
    overflow-x: auto;
}

@media only screen and (max-width: 1199.98px) {
    [class^="col-xl"] {
        flex: 1 0 100%;
    }
}

@media only screen and (max-width: 991.98px) {
    [class^="col-lg"] {
        flex: 1 0 100%;
    }
}

@media only screen and (max-width: 767.98px) {
    [class^="col-md"] {
        flex: 1 0 100%;
    }

    .cuadro {
        padding: 15px 20px;
    }
}

@media only screen and (max-width: 575.98px) {
    .flex-basis-sm {
        flex-basis: 100%;
    }
}