/** flex **/
.inline-flex {
    display: inline-flex;
}

.flex {
    display: flex;
}

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

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

.flex-row-reverse {
    flex-direction: row-reverse;
}

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

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

.wrapper-flex>div {
    display: flex;
}

.wrapper-flex-grow>div {
    flex-grow: 1;
}

.wrapper-flex-col>div {
    flex-direction: column;
}

/** block display **/
.block {
    display: block;
}

/** display none **/
.hidden {
    display: none;
}

/** transparent **/
.transparent {
    border-color: transparent !important;
    color: transparent !important;
    background: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

.transparent>* {
    border-color: transparent !important;
    color: transparent !important;
    background: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
}


/** item align **/
.items-center {
    align-items: center;
}

.items-start {
    align-items: flex-start;
}

.items-end {
    align-items: flex-end;
}

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


/** aspect ratio **/
.aspect-square {
    aspect-ratio: 1;
}

.aspect-desktop {
    aspect-ratio: 16/9;
}

.aspect-mobile {
    aspect-ratio: 9/16;
}

.overflow-hidden {
    overflow: hidden
}

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

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

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

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

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

@media (max-width:500px) {
    .mobile-justify-center {
        justify-content: center;
    }
}


/** positioning **/
.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.fixed {
    position: fixed;
}

.static {
    position: static;
}



/** absolute margins **/
.top-0 {
    top: 0;
}

.left-0 {
    left: 0;
}

.right-0 {
    right: 0;
}

.bottom-0 {
    bottom: 0;
}

/** width **/
.w-full {
    width: 100%;
}

.w-50 {
    width: 50%;
}

.w-25 {
    width: 25%;
}


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

.h-50 {
    height: 50%;
}

.h-25 {
    height: 25%;
}

/** transform **/

.rotate-90 {
    transform: rotate(90deg);
}


/** responsive **/

@media (max-width:475px) {
    .hide-small {
        display: none !important;
    }

    .show-small {
        display: initial;
    }
}

@media (min-width:475px) {
    .hide-small {
        display: initial;
    }

    .show-small {
        display: none !important;
    }
}

/** object **/
.object-right img {
    object-position: right;
}

/** opacity **/
.opacity-0 {
    opacity: 0;
}

.opacity-50 {
    opacity: 0.5;
}

.opacity-full {
    opacity: 1;
}



/** font-weight **/
.bold {
    font-weight: bold;
}