/*
 * Shortcode: Icon Boxes
 * -----------------------------------------------
*/
.icon-box {
  position: relative;
  z-index: 0;
  transition: all 0.4s ease; }
  @media (prefers-reduced-motion: reduce) {
    .icon-box {
      transition: none; } }
  .icon-box .icon-wrapper {
    position: relative;
    z-index: 0; }
    .icon-box .icon-wrapper .icon-bg-img {
      position: absolute;
      width: 100px;
      z-index: -1;
      transition: all 0.3s ease; }
      @media (prefers-reduced-motion: reduce) {
        .icon-box .icon-wrapper .icon-bg-img {
          transition: none; } }
      .icon-box .icon-wrapper .icon-bg-img img {
        width: 100%;
        transition: all 0.3s ease; }
        @media (prefers-reduced-motion: reduce) {
          .icon-box .icon-wrapper .icon-bg-img img {
            transition: none; } }
  .icon-box .icon {
    display: inline-block;
    margin-bottom: 0;
    transition: all 0.3s ease;
    text-align: center;
    font-weight: normal; }
    @media (prefers-reduced-motion: reduce) {
      .icon-box .icon {
        transition: none; } }
    .icon-box .icon i {
      display: inline-block;
      font-size: 30px;
      line-height: 70px; }
    .icon-box .icon i[class*="pe-7s-"] {
      vertical-align: text-bottom; }
    .icon-box .icon.icon-default {
      margin-bottom: 5px; }
    .icon-box .icon.icon-gray {
      background-color: #f3f3f3;
      color: #333; }
      .icon-box .icon.icon-gray.icon-bordered {
        background-color: transparent;
        border: 3px solid #eee; }
      .icon-box:hover .icon.icon-gray {
        background-color: #e9e9e9;
        color: #111; }
        .icon-box:hover .icon.icon-gray.icon-bordered {
          background-color: #eee;
          color: #555; }
    .icon-box .icon.icon-dark {
      background-color: #111;
      color: #fff; }
      .icon-box .icon.icon-dark.icon-bordered {
        background-color: transparent;
        border: 3px solid #111;
        color: #111; }
      .icon-box:hover .icon.icon-dark {
        background-color: #eee;
        color: #111; }
        .icon-box:hover .icon.icon-dark.icon-bordered {
          background-color: #111;
          border-color: #111;
          color: #fff; }
    .icon-box .icon.icon-white {
      background-color: #fff;
      color: #333; }
      .icon-box .icon.icon-white.icon-bordered {
        background-color: transparent;
        border: 3px solid #fff; }
      .icon-box:hover .icon.icon-white {
        background-color: #cccccc;
        color: black; }
        .icon-box:hover .icon.icon-white.icon-bordered {
          background-color: #fff;
          border-color: #fff;
          color: #111; }
      .icon-box .icon.icon-white.icon-border-effect {
        position: relative; }
        .icon-box .icon.icon-white.icon-border-effect::after {
          box-shadow: 0 0 0 3px #fff; }
    .icon-box .icon.icon-bordered {
      border: 3px solid #eee; }
      .icon-box:hover .icon.icon-bordered {
        background-color: #eee;
        color: #111; }
    .icon-box .icon.icon-rounded {
      border-radius: 3px; }
    .icon-box .icon.icon-circled {
      border-radius: 50%; }
    .icon-box .icon.icon-type-image.icon-bordered {
      padding: 5px; }
    .icon-box .icon.icon-type-icon-text .icon-text {
      transition: all 0.3s ease; }
      @media (prefers-reduced-motion: reduce) {
        .icon-box .icon.icon-type-icon-text .icon-text {
          transition: none; } }
    .icon-box .icon.icon-xs {
      height: 30px;
      width: 30px; }
      .icon-box .icon.icon-xs i {
        font-size: 18px;
        line-height: 30px; }
    .icon-box .icon.icon-sm {
      height: 50px;
      width: 50px; }
      .icon-box .icon.icon-sm i {
        font-size: 22px;
        line-height: 50px; }
    .icon-box .icon.icon-md {
      height: 75px;
      width: 75px; }
      .icon-box .icon.icon-md i {
        font-size: 36px;
        line-height: 75px; }
    .icon-box .icon.icon-lg {
      height: 90px;
      width: 90px; }
      .icon-box .icon.icon-lg i {
        font-size: 48px;
        line-height: 90px; }
    .icon-box .icon.icon-xl {
      height: 120px;
      width: 120px; }
      .icon-box .icon.icon-xl i {
        font-size: 60px;
        line-height: 120px; }
    .icon-box .icon.icon-border-effect {
      position: relative; }
      .icon-box .icon.icon-border-effect::after {
        border-radius: 50%;
        box-shadow: 0 0 0 3px;
        box-sizing: content-box;
        content: "";
        height: 100%;
        left: -4px;
        opacity: 0;
        padding: 4px;
        top: -4px;
        transform: scale(0.8);
        transition: transform 0.3s ease 0s, opacity 0.3s ease 0s;
        pointer-events: none;
        position: absolute;
        width: 100%; }
      .icon-box .icon.icon-border-effect.effect-flat::after {
        border-radius: 0; }
      .icon-box .icon.icon-border-effect.effect-rounded::after {
        border-radius: 3px; }
      .icon-box .icon.icon-border-effect.effect-circled::after {
        border-radius: 50%; }
      .icon-box .icon.icon-border-effect.icon-gray::after {
        box-shadow: 0 0 0 3px #eee; }
    .icon-box .icon.icon-top {
      left: 0;
      margin: 0 auto;
      position: absolute;
      right: 0;
      top: -32px; }
  .icon-box.text-center .icon.icon-type-image {
    text-align: center;
    display: inline-block; }
  .icon-box.text-right .icon.icon-type-image {
    text-align: right;
    display: inline-block; }
  .icon-box.iconbox-border {
    border: 3px solid #dcdcdc; }
  .icon-box.iconbox-bg {
    background-color: #fafafa; }
    .icon-box.iconbox-bg.iconbox-bg-dark {
      background-color: #333; }
  .icon-box .content {
    transition: all 0.3s ease; }
    @media (prefers-reduced-motion: reduce) {
      .icon-box .content {
        transition: none; } }
    .icon-box .content p {
      transition: all 0.3s ease;
      margin-bottom: 0; }
      @media (prefers-reduced-motion: reduce) {
        .icon-box .content p {
          transition: none; } }
    .icon-box .content a {
      color: var(--text-color);
      font-weight: var(--body-font-weight); }
  .icon-box.icon-left .icon-box-wrapper {
    display: flex; }
  .icon-box.icon-left .icon {
    margin-right: 20px; }
    .icon-box.icon-left .icon.no-bg {
      width: auto;
      height: auto; }
  .icon-box.icon-left .icon-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden; }
  .icon-box.icon-right .icon-box-wrapper {
    display: flex;
    flex-direction: row-reverse; }
  @media (min-width: 768px) {
    .icon-box.icon-right .icon {
      margin-left: 20px; } }
  .icon-box.icon-right .icon.no-bg {
    width: auto;
    height: auto; }
  .icon-box.icon-right .icon.icon-default {
    margin-left: 10px; }
  .icon-box.icon-right .icon-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    flex: 1 0 0; }
  .icon-box .icon-box-title,
  .icon-box .icon-box-title a {
    transition: all 0.3s ease; }
    @media (prefers-reduced-motion: reduce) {
      .icon-box .icon-box-title,
      .icon-box .icon-box-title a {
        transition: none; } }
  .icon-box .btn-view-details {
    transition: all 0.3s ease;
    margin-top: 15px; }
    @media (prefers-reduced-motion: reduce) {
      .icon-box .btn-view-details {
        transition: none; } }
  .icon-box:hover .icon-border-effect::after {
    opacity: 1;
    transform: scale(1); }
  .icon-box .icon-border-effect:hover::after {
    opacity: 1;
    transform: scale(1); }
  .icon-box.iconbox-box-shadow {
    box-shadow: 0px 0px 50px rgba(5, 5, 5, 0.08); }
    .icon-box.iconbox-box-shadow:hover {
      box-shadow: 0px 0px 50px rgba(5, 5, 5, 0.15); }
  .icon-box.iconbox-box-shadow-on-hover:hover {
    box-shadow: 0px 0px 50px rgba(5, 5, 5, 0.15); }
  .icon-box.iconbox-default-padding {
    padding: 50px 35px 50px 35px; }
  @media (max-width: 1024px) {
    .icon-box.iconbox-centered-in-responsive-tablet {
      text-align: center !important; }
      .icon-box.iconbox-centered-in-responsive-tablet .icon {
        margin-left: auto;
        margin-right: auto; }
        .icon-box.iconbox-centered-in-responsive-tablet .icon.icon-type-image {
          text-align: center !important; }
      .icon-box.iconbox-centered-in-responsive-tablet.icon-left .icon-box-wrapper {
        display: block; }
      .icon-box.iconbox-centered-in-responsive-tablet.icon-left .icon.icon-default {
        margin-right: auto;
        margin-left: auto; }
      .icon-box.iconbox-centered-in-responsive-tablet.icon-right .icon-box-wrapper {
        display: block; }
      .icon-box.iconbox-centered-in-responsive-tablet.icon-right .icon.icon-default {
        margin-right: auto;
        margin-left: auto; } }
  @media (max-width: 767.98px) {
    .icon-box.iconbox-centered-in-responsive-mobile {
      text-align: center !important; }
      .icon-box.iconbox-centered-in-responsive-mobile .icon {
        margin-left: auto;
        margin-right: auto; }
        .icon-box.iconbox-centered-in-responsive-mobile .icon.icon-type-image {
          text-align: center !important; }
      .icon-box.iconbox-centered-in-responsive-mobile.icon-left .icon-box-wrapper {
        display: block; }
      .icon-box.iconbox-centered-in-responsive-mobile.icon-left .icon.icon-default {
        margin-right: auto;
        margin-left: auto; }
      .icon-box.iconbox-centered-in-responsive-mobile.icon-right .icon-box-wrapper {
        display: block; }
      .icon-box.iconbox-centered-in-responsive-mobile.icon-right .icon.icon-default {
        margin-right: auto;
        margin-left: auto; } }
  @media (min-width: 1200px) {
    .icon-box.iconbox-title-mt-0-desktop .icon-box-title {
      margin-top: 0; } }
  .icon-box.iconbox-hover-move-up-animation:hover {
    margin-top: -15px; }
  .icon-box.iconbox-border-radius {
    border-radius: 10px; }
  .icon-box.icon-position-icon-top.hanging-icon-top .icon-wrapper .icon {
    margin-top: -70px; }
  .icon-box.animate-icon-on-hover:hover.animate-icon-rotate .icon-wrapper .icon {
    transform: rotate(360deg); }
  .icon-box.animate-icon-on-hover:hover.animate-icon-rotate-x .icon-wrapper .icon {
    transform: rotateX(360deg); }
  .icon-box.animate-icon-on-hover:hover.animate-icon-rotate-y .icon-wrapper .icon {
    transform: rotateY(180deg); }
  .icon-box.animate-icon-on-hover:hover.animate-icon-translate .icon-wrapper .icon {
    transform: translate(-10px, 10px); }
  .icon-box.animate-icon-on-hover:hover.animate-icon-translate-x .icon-wrapper .icon {
    transform: translateX(-10px); }
  .icon-box.animate-icon-on-hover:hover.animate-icon-translate-y .icon-wrapper .icon {
    transform: translateY(-10px); }
  .icon-box.animate-icon-on-hover:hover.animate-icon-scale .icon-wrapper .icon {
    transform: scale(1.1); }
  .icon-box.icon-area-box-shadow .icon-wrapper .icon {
    box-shadow: 0px 0px 50px rgba(5, 5, 5, 0.08); }
  .icon-box.iconbox-style2-border-bottom:after {
    background-color: #aaa;
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 100%;
    height: 4px;
    content: '';
    opacity: 0;
    transition: 0.3s ease-in; }
  .icon-box.iconbox-style2-border-bottom:hover:after {
    bottom: 0;
    opacity: 1; }
  .icon-box.iconbox-style3-moving-border-bottom {
    overflow: hidden; }
    .icon-box.iconbox-style3-moving-border-bottom:after {
      position: absolute;
      left: -2px;
      bottom: 0px;
      width: 100%;
      height: 4px;
      content: '';
      background-image: -moz-linear-gradient(0deg, #313131 0%, #bdc0c3 100%);
      background-image: -webkit-linear-gradient(0deg, #313131 0%, #bdc0c3 100%);
      background-image: -ms-linear-gradient(0deg, #313131 0%, #bdc0c3 100%);
      -ms-transform: translateX(-100%);
      -webkit-transform: translateX(-100%);
      transform: translateX(-100%);
      visibility: hidden;
      opacity: 0;
      transition: all 0.5s ease-in; }
      @media (prefers-reduced-motion: reduce) {
        .icon-box.iconbox-style3-moving-border-bottom:after {
          transition: none; } }
    .icon-box.iconbox-style3-moving-border-bottom:hover:after {
      -ms-transform: translateX(0%);
      -webkit-transform: translateX(0%);
      transform: translateX(0%);
      visibility: visible;
      opacity: 1; }
  .icon-box.iconbox-style4-bgcolor {
    overflow: hidden; }
    .icon-box.iconbox-style4-bgcolor:before {
      position: absolute;
      content: '';
      left: 0px;
      top: 0px;
      width: 100%;
      height: 100%;
      opacity: 0;
      visibility: hidden;
      background-color: #161d29;
      transition: all 500ms ease;
      z-index: -1; }
      @media (prefers-reduced-motion: reduce) {
        .icon-box.iconbox-style4-bgcolor:before {
          transition: none; } }
    .icon-box.iconbox-style4-bgcolor:hover:before {
      opacity: 1;
      visibility: visible; }
    .icon-box.iconbox-style4-bgcolor:hover .icon-box-title,
    .icon-box.iconbox-style4-bgcolor:hover .icon-box-title a {
      color: #fff; }
    .icon-box.iconbox-style4-bgcolor:hover .content {
      color: #fff; }
      .icon-box.iconbox-style4-bgcolor:hover .content p {
        color: #fff; }
  .icon-box.iconbox-style5-moving-bgcolor {
    overflow: hidden; }
    .icon-box.iconbox-style5-moving-bgcolor:before {
      position: absolute;
      content: '';
      left: 0px;
      top: 0px;
      width: 100%;
      height: 100%;
      opacity: 0;
      visibility: visible;
      background-color: #161d29;
      transition: all 500ms ease;
      -webkit-transform: scaleY(0);
      -ms-transform: scaleY(0);
      -moz-transform: scaleY(0);
      transform: scaleY(0);
      -webkit-transform-origin: top;
      -ms-transform-origin: top;
      -moz-transform-origin: top;
      transform-origin: top;
      z-index: -1; }
      @media (prefers-reduced-motion: reduce) {
        .icon-box.iconbox-style5-moving-bgcolor:before {
          transition: none; } }
    .icon-box.iconbox-style5-moving-bgcolor:hover:before {
      opacity: 1;
      visibility: visible;
      -webkit-transform: scaleY(1);
      -ms-transform: scaleY(1);
      -moz-transform: scaleY(1);
      transform: scaleY(1); }
    .icon-box.iconbox-style5-moving-bgcolor:hover .icon-box-title,
    .icon-box.iconbox-style5-moving-bgcolor:hover .icon-box-title a {
      color: #fff; }
    .icon-box.iconbox-style5-moving-bgcolor:hover .content {
      color: #fff; }
      .icon-box.iconbox-style5-moving-bgcolor:hover .content p {
        color: #fff; }
    .icon-box.iconbox-style5-moving-bgcolor .icon:hover {
      color: #fff; }
  .icon-box.iconbox-style6-moving-double-bgcolor {
    overflow: hidden; }
    .icon-box.iconbox-style6-moving-double-bgcolor:before, .icon-box.iconbox-style6-moving-double-bgcolor:after {
      position: absolute;
      content: '';
      left: 0px;
      top: 0px;
      width: 100%;
      height: 100%;
      opacity: 0;
      visibility: visible;
      background-color: #475469;
      transition: all 400ms ease;
      -webkit-transform: scaleY(0);
      -ms-transform: scaleY(0);
      -moz-transform: scaleY(0);
      transform: scaleY(0);
      -webkit-transform-origin: top;
      -ms-transform-origin: top;
      -moz-transform-origin: top;
      transform-origin: top;
      z-index: -2; }
      @media (prefers-reduced-motion: reduce) {
        .icon-box.iconbox-style6-moving-double-bgcolor:before, .icon-box.iconbox-style6-moving-double-bgcolor:after {
          transition: none; } }
    .icon-box.iconbox-style6-moving-double-bgcolor:after {
      background-color: #141d2b;
      z-index: -1; }
    .icon-box.iconbox-style6-moving-double-bgcolor:hover:before, .icon-box.iconbox-style6-moving-double-bgcolor:hover:after {
      opacity: 1;
      visibility: visible;
      -webkit-transform: scaleY(1);
      -ms-transform: scaleY(1);
      -moz-transform: scaleY(1);
      transform: scaleY(1); }
    .icon-box.iconbox-style6-moving-double-bgcolor:hover:after {
      -webkit-transition-delay: 300ms;
      -moz-transition-delay: 300ms;
      -ms-transition-delay: 300ms;
      -o-transition-delay: 300ms;
      transition-delay: 300ms; }
    .icon-box.iconbox-style6-moving-double-bgcolor:hover .icon-box-title,
    .icon-box.iconbox-style6-moving-double-bgcolor:hover .icon-box-title a {
      color: #fff; }
    .icon-box.iconbox-style6-moving-double-bgcolor:hover .content {
      color: #fff; }
      .icon-box.iconbox-style6-moving-double-bgcolor:hover .content p {
        color: #fff; }
  .icon-box.iconbox-style7-hover-moving-border {
    overflow: hidden; }
    .icon-box.iconbox-style7-hover-moving-border:after, .icon-box.iconbox-style7-hover-moving-border:before {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      content: '';
      opacity: 0;
      -webkit-transition: opacity 0.55s,-webkit-transform 0.55s;
      transition: opacity 0.55s,transform 0.55s;
      z-index: -1; }
    .icon-box.iconbox-style7-hover-moving-border:after {
      border-right: 2px solid #444;
      border-left: 2px solid #444; }
    .icon-box.iconbox-style7-hover-moving-border:after {
      -webkit-transform: scale(1, 0);
      transform: scale(1, 0); }
    .icon-box.iconbox-style7-hover-moving-border:before {
      border-top: 2px solid #444;
      border-bottom: 2px solid #444; }
    .icon-box.iconbox-style7-hover-moving-border:before {
      -webkit-transform: scale(0, 1);
      transform: scale(0, 1); }
    .icon-box.iconbox-style7-hover-moving-border:hover:before, .icon-box.iconbox-style7-hover-moving-border:hover:after {
      opacity: 1;
      -webkit-transform: scale(1);
      transform: scale(1); }
  .icon-box .bg-shadow-icon {
    position: absolute;
    right: -30px;
    bottom: 0px;
    font-size: 8rem;
    line-height: 1;
    color: #687f9b;
    opacity: 0.25;
    transition: all 0.3s ease; }
    @media (prefers-reduced-motion: reduce) {
      .icon-box .bg-shadow-icon {
        transition: none; } }
  .icon-box.iconbox-bg-img-on-hover {
    overflow: hidden; }
    .icon-box.iconbox-bg-img-on-hover .bg-img-wrapper {
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      opacity: 0;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      -webkit-transform: scale(1);
      -moz-transform: scale(1);
      -ms-transform: scale(1);
      transform: scale(1);
      transition: all 0.3s ease; }
      @media (prefers-reduced-motion: reduce) {
        .icon-box.iconbox-bg-img-on-hover .bg-img-wrapper {
          transition: none; } }
      .icon-box.iconbox-bg-img-on-hover .bg-img-wrapper:before, .icon-box.iconbox-bg-img-on-hover .bg-img-wrapper:after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transition: all 0.3s ease; }
        @media (prefers-reduced-motion: reduce) {
          .icon-box.iconbox-bg-img-on-hover .bg-img-wrapper:before, .icon-box.iconbox-bg-img-on-hover .bg-img-wrapper:after {
            transition: none; } }
      .icon-box.iconbox-bg-img-on-hover .bg-img-wrapper:before {
        background-image: url("../images/shadow-overlay2.png");
        background-position: center bottom;
        z-index: 1;
        background-repeat: no-repeat; }
      .icon-box.iconbox-bg-img-on-hover .bg-img-wrapper:after {
        background-color: rgba(0, 0, 0, 0.45);
        z-index: 2; }
      .icon-box.iconbox-bg-img-on-hover:hover .bg-img-wrapper {
        opacity: 1;
        -webkit-transform: scale(1.1);
        -moz-transform: scale(1.1);
        -ms-transform: scale(1.1);
        transform: scale(1.1); }
      .icon-box.iconbox-bg-img-on-hover:hover .icon {
        color: #fff; }
        .icon-box.iconbox-bg-img-on-hover:hover .icon i {
          color: #fff; }
      .icon-box.iconbox-bg-img-on-hover:hover .icon-box-title,
      .icon-box.iconbox-bg-img-on-hover:hover .icon-box-title a {
        color: #fff; }
      .icon-box.iconbox-bg-img-on-hover:hover .content {
        color: #fff; }
        .icon-box.iconbox-bg-img-on-hover:hover .content p {
          color: #fff; }
    .icon-box.iconbox-bg-img-on-hover .icon-box-wrapper {
      position: relative;
      z-index: 99; }
    .icon-box.iconbox-bg-img-on-hover.iconbox-bg-img-on-hover-always-visible .bg-img-wrapper {
      opacity: 1; }
  .icon-box.tm-iconbox-icontype-svg-image .icon-type-svg-image {
    display: flex;
    align-items: center;
    justify-content: center; }
  .icon-box.tm-iconbox-icontype-svg-image .tm-vivus-svg-animation {
    width: 128px;
    height: auto; }
  .icon-box.icon-position-icon-left-style2 .icon-box-wrapper {
    display: block; }
  @media (min-width: 768px) {
    .icon-box.icon-position-icon-left-style2 .icon-left-block {
      align-items: center;
      display: flex; } }
  .icon-box.icon-position-icon-left-style2 .icon.icon-default {
    height: auto;
    width: auto;
    margin-bottom: 5px;
    margin-right: 20px; }
    .icon-box.icon-position-icon-left-style2 .icon.icon-default i {
      line-height: 1; }
  .icon-box.icon-position-icon-right-style2 .icon-box-wrapper {
    display: block; }
  .icon-box.icon-position-icon-right-style2 .icon-right-block {
    margin-bottom: 30px; }
    @media (min-width: 768px) {
      .icon-box.icon-position-icon-right-style2 .icon-right-block {
        display: flex;
        flex-direction: inherit;
        justify-content: space-between;
        align-items: center; } }
  .icon-box.icon-position-icon-right-style2 .icon.icon-default {
    height: auto;
    width: auto;
    margin-bottom: 5px;
    margin-right: 20px; }
    .icon-box.icon-position-icon-right-style2 .icon.icon-default i {
      line-height: 1; }
