/* #GLOBAL IMX WIDGET STYLING
================================================== */


/* #icon box
================================================== */

.square_icon_box * {
    box-sizing: border-box;
}

.square_icon_box {
    font-family: inherit;
    position: relative;
    transition: box-shadow 0.3s ease-in-out;
}

.square_icon_box.is-flex {
    display: flex;
}

.square_icon_box.is-full-height {
    height: 100%;
}

.square_icon_box.has-hover {
    transition: transform .3s ease-out, background .2s ease-in-out, border .2s ease-in-out;
}

.square_icon_box.has-hover:hover {
    transform: translateY(-8px);
}

.square_icon_box > div:not(.ue_iconbox_overlay):not(.ue_iconbox_overlay_hover),
.square_icon_box > * {
    position: relative;
    z-index: 5;
}

.square_icon_box .blox-boxed-small-square-icon-box-icon {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s;
    z-index: 4;
}

.square_icon_box .ue-icon {
    display: inline-block;
}

.square_icon_box .blox-boxed-small-square-icon-box-icon > div {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    transform: rotate(calc(-1 * var(--icon-rotate)));
}

.square_icon_box .ue-icon-inner {
    line-height: 1em;
}

.square_icon_box .ue-icon-inner i {
    transition: all 0.3s;
}

.square_icon_box .ue-icon-inner svg {
    height: 1em;
    width: 1em;
}

.square_icon_box:hover {
    position: relative;
    z-index: 1;
}

.square_icon_box .ue_box_button {
    text-align: center;
    text-decoration: none;
    display: var(--button-display);
    transition: 0.3s;
}

.square_icon_box span.line {
    display: block;
    position: absolute;
    left: 0;
    width: 0;
    transition: 0.3s;
}

.square_icon_box span.line {
    inset-inline-start: 0;
}

.square_icon_box span.line {
    /* dynamic direction */
}

.square_icon_box span.line {
    inset-inline-start: 0;
}

.square_icon_box span.line {
    /* fallback */
}

.square_icon_box span.line {
    /* position dynamic */
    left: 0;
}

.square_icon_box span.line {
    /* real dynamic */
}

.square_icon_box span.line {
    /* we apply position variable */
}

.square_icon_box span.line {
    left: 0;
}

.square_icon_box span.line {
    /* dynamic side */
}

.square_icon_box span.line {
    /* clean version */
}

.square_icon_box span.line {
    /* final version */
}

.square_icon_box span.line {
    /* replace dynamic side properly */
}

.square_icon_box span.line {
    left: 0;
}

.square_icon_box span.line {
    /* STOP overthinking */
}

.square_icon_box span.line {
    /* real solution */
}

.square_icon_box span.line {
    left: 0;
}

.square_icon_box span.line {
    /* correct dynamic solution */
}

.square_icon_box span.line {
    /* final final */
}

.square_icon_box span.line {
    left: 0;
}

/* Clean correct solution: */
.square_icon_box span.line {
    width: 0;
    transition: 0.3s;
}

.square_icon_box span.line {
    position: absolute;
}

.square_icon_box span.line {
    /* dynamic direction */
}

.square_icon_box span.line {
    inset-inline-start: 0;
}

.square_icon_box span.line {
    /* END cleanup */
}

.square_icon_box:hover span.line {
    width: 100%;
}

.square_icon_box .ue-title-separator span {
    display: inline-block;
    transition: 0.3s;
}

.square_icon_box.has-overlay .ue_iconbox_overlay,
.square_icon_box.has-overlay-hover .ue_iconbox_overlay_hover,
.square_icon_box.has-full-link .ue_box_link_overlay {
    position: absolute;
    display: block;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
}

.square_icon_box.has-overlay-hover .ue_iconbox_overlay_hover {
    transition: var(--overlay-transition);
    opacity: 0;
}
