.gem-textbox,
.gem-textbox-wrapper,
.gem-textbox .gem-textbox-content,
.gem-textbox .gem-texbox-icon-image-wrapper .elementor-icon,
.gem-textbox .gem-texbox-icon-image-wrapper .elementor-icon i,
.gem-textbox .gem-image,
.gem-textbox .gem-image img,
.gem-textbox .gem-image span,
.gem-textbox .gem-image span:before,
.gem-textbox .gem-textbox-title,
.gem-textbox .gem-textbox-description,
.gem-textbox .gem-button-container,
.gem-textbox .gem-textbox-top,
.gem-textbox .gem-textbox-top svg,
.gem-textbox .gem-textbox-bottom,
.gem-textbox .gem-textbox-bottom svg {
    -o-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    transition: all 0.3s
}

.elementor-widget-thegem-styled-textbox .elementor-widget-container {
    height: 100%
}

.gem-textbox {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%
}

.gem-textbox-inner {
    flex-grow: 1;
    display: flex;
    width: 100%
}

.gem-textbox-content {
    padding: 30px;
    display: flex;
    flex-direction: column;
    width: 100%
}

.gem-textbox-top,
.gem-textbox-bottom {
    font-size: 0;
    line-height: 0;
    text-align: center
}

.gem-styled-textbox-link,
.gem-styled-textbox-icon-image-link {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1
}

.gem-texbox-icon-image-wrapper {
    position: relative
}

.gem-textbox .gem-textbox-icon-horizontal-right.gem-textbox-icon-image-wrapping-inline .gem-texbox-icon-image-wrapper {
    padding-left: 10px
}

.gem-textbox .gem-textbox-icon-horizontal-left.gem-textbox-icon-image-wrapping-inline .gem-texbox-icon-image-wrapper {
    padding-right: 10px
}

.gem-textbox h4,
.gem-textbox .title-h4 {
    margin-top: 0
}

.gem-textbox-content .gem-image span {
    display: inline-block;
    vertical-align: top;
    overflow: hidden;
    max-width: 100%;
    position: relative
}

.gem-textbox-content .gem-image span::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -o-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    opacity: 0;
    z-index: 1
}

.gem-textbox:hover .gem-textbox-content .gem-image a::before,
.gem-textbox:hover .gem-textbox-content .gem-image span::before {
    opacity: 1
}

.gem-textbox .gem-textbox-icon-horizontal-right .gem-icon-with-text-icon {
    padding-right: 0;
    padding-left: 10px
}

.gem-textbox-content.icon-bottom {
    display: flex;
    flex-direction: column
}

.gem-textbox .icon-bottom .gem-texbox-text-wrapper {
    order: 1
}

.gem-textbox .icon-bottom .gem-texbox-icon-image-wrapper {
    order: 2;
    margin-top: 30px
}

.gem-textbox-content.icon-bottom,
.gem-textbox-content.button-top {
    display: flex;
    flex-direction: column
}

.gem-textbox .icon-bottom.button-bottom .gem-texbox-text-wrapper {
    order: 1
}

.gem-textbox .icon-bottom.button-bottom .gem-texbox-icon-image-wrapper {
    order: 2
}

.gem-textbox-content.icon-top.button-top .gem-texbox-text-wrapper {
    display: flex;
    flex-direction: column
}

.gem-textbox-content.icon-top.button-top .gem-button-container {
    order: 1
}

.gem-textbox-content.icon-top.button-top .gem-textbox-title {
    order: 2
}

.gem-textbox-content.icon-top.button-top .gem-textbox-description {
    order: 3
}

.gem-textbox-content.icon-bottom.button-top .gem-texbox-text-wrapper {
    display: flex;
    flex-direction: column
}

.gem-textbox-content.icon-bottom.button-top .gem-button-container {
    order: 1
}

.gem-textbox-content.icon-bottom.button-top .gem-textbox-title {
    order: 2
}

.gem-textbox-content.icon-bottom.button-top .gem-textbox-description {
    order: 3
}

.gem-textbox-content.icon-bottom.button-top .gem-texbox-text-wrapper {
    order: 1
}

.gem-textbox-content.icon-bottom.button-top .gem-texbox-icon-image-wrapper {
    order: 2;
    margin-top: 30px
}

.gem-textbox-icon-horizontal-center .gem-texbox-icon-image-wrapper {
    text-align: center !important
}

.gem-textbox-icon-horizontal-left .gem-texbox-icon-image-wrapper {
    text-align: left !important
}

.gem-textbox-icon-horizontal-right .gem-texbox-icon-image-wrapper {
    text-align: right !important
}

.gem-textbox-icon-horizontal-right.gem-textbox-icon-image-wrapping-wrap .gem-texbox-icon-image-wrapper {
    float: right
}

.gem-textbox-icon-horizontal-left.gem-textbox-icon-image-wrapping-wrap .gem-texbox-icon-image-wrapper {
    float: left
}

.gem-textbox-icon-image-wrapping-inline {
    display: flex;
    flex-direction: column
}

.gem-textbox-icon-image-wrapping-inline .gem-texbox-text-wrapper {
    flex-grow: 1
}

.gem-textbox-icon-image-wrapping-inline.gem-textbox-icon-horizontal-right {
    flex-direction: row-reverse
}

.icon-bottom.gem-textbox-icon-image-wrapping-inline.gem-textbox-icon-horizontal-right {
    flex-direction: row;
    align-items: flex-end
}

.gem-textbox-icon-image-wrapping-inline.gem-textbox-icon-horizontal-left {
    flex-direction: row
}

.icon-bottom.gem-textbox-icon-image-wrapping-inline.gem-textbox-icon-horizontal-left {
    flex-direction: row-reverse;
    align-items: flex-end
}