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


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

.dws-iconbox * {
    box-sizing: border-box;
}

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

.dws-iconbox.is-flex {
    display: flex;
}

.dws-iconbox.is-full-height {
    height: 100%;
}

.dws-iconbox.text-auto .dws-iconbox-content p {
    margin-bottom:0 !important;
}

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

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

.dws-iconbox > div:not(.dws-iconbox-overlay):not(.dws-iconbox-overlay-hover),
.dws-iconbox > * {
    position: relative;
    z-index: 5;
}

.dws-iconbox .dws-iconbox-icons-wrapper {
	display: flex;
}

.dws-iconbox .dws-icon-1-outer,
.dws-iconbox .dws-icon-2-outer {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s;
    z-index: 4;
}

.dws-iconbox .dws-icon-1,
.dws-iconbox .dws-icon-2 {
    display: inline-block;
}

.dws-iconbox .dws-icon-1-outer > div,
.dws-iconbox .dws-icon-2-outer > div {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    transform: rotate(calc(-1 * var(--icon-rotate)));
}

.dws-iconbox .dws-icon-1-inner,
.dws-iconbox .dws-icon-2-inner {
    line-height: 1em;
}

.dws-iconbox .dws-icon-1-inner i,
.dws-iconbox .dws-icon-2-inner i,
.dws-iconbox .dws-icon-1-inner svg,
.dws-iconbox .dws-icon-2-inner svg,
.dws-iconbox .dws-icon-2-text {
    transition: all 0.3s;
}

.dws-iconbox .dws-icon-1-inner svg,
.dws-iconbox .dws-icon-2-inner svg {
    height: 1em;
    width: 1em;
}

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

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

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

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

.dws-iconbox span.line {
    /* dynamic direction */
}

.dws-iconbox span.line {
    /* fallback */
}

.dws-iconbox span.line {
    /* position dynamic */
    left: 0;
}

.dws-iconbox span.line {
    /* real dynamic */
}

.dws-iconbox span.line {
    /* we apply position variable */
}

.dws-iconbox span.line {
    left: 0;
}

.dws-iconbox span.line {
    /* dynamic side */
}

.dws-iconbox span.line {
    /* clean version */
}

.dws-iconbox span.line {
    /* final version */
}

.dws-iconbox span.line {
    /* replace dynamic side properly */
}

.dws-iconbox span.line {
    left: 0;
}

.dws-iconbox span.line {
    /* STOP overthinking */
}

.dws-iconbox span.line {
    /* real solution */
}

.dws-iconbox span.line {
    left: 0;
}

.dws-iconbox span.line {
    /* correct dynamic solution */
}

.dws-iconbox span.line {
    /* final final */
}

.dws-iconbox span.line {
    left: 0;
}

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

.dws-iconbox span.line {
    position: absolute;
}

.dws-iconbox span.line {
    /* dynamic direction */
}

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

.dws-iconbox span.line {
    /* END cleanup */
}

.dws-iconbox:hover span.line {
    width: 100%;
}

.dws-iconbox .dws-iconbox-separator span {
    display: inline-block;
    transition: 0.3s;
}

.dws-iconbox.has-overlay .dws-iconbox-overlay,
.dws-iconbox.has-overlay-hover .dws-iconbox-overlay-hover,
.dws-iconbox.has-full-link .dws-iconbox-link-overlay {
    position: absolute;
    display: block;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
}

.dws-iconbox.has-overlay-hover .dws-iconbox-overlay-hover {
    transition: var(--overlay-transition);
    opacity: 0;
}
