body .companion-icon-box {
  display: flex; }
  body .companion-icon-box .icon-box-icon {
    transition: all 0.3s;
    line-height: 40px;
    font-size: 40px;
    color: var(--secondary_color); }
    body .companion-icon-box .icon-box-icon a,
    body .companion-icon-box .icon-box-icon span {
      display: block;
      margin-right: 30px;
      text-decoration: none;
      color: var(--secondary_color); }
  body .companion-icon-box .icon-box-content {
    width: 100%; }
    body .companion-icon-box .icon-box-content-title {
      padding-bottom: 18px;
      margin-bottom: 18px;
      font-family: var(--secondary_font_family);
      font-weight: 700;
      font-size: 24px;
      line-height: 30px;
      letter-spacing: -0.01em;
      border-bottom: 1px solid #BFD4E4;
      transition: all 0.3s;
      color: var(--secondary_color); }
      body .companion-icon-box .icon-box-content-title a {
        transition: none;
        color: var(--secondary_color); }
    body .companion-icon-box .icon-box-content-description {
      margin-bottom: 17px;
      font-family: var(--body_font_family);
      font-style: normal;
      font-weight: 400;
      font-size: 16px;
      line-height: 26px;
      color: #597393; }
    body .companion-icon-box .icon-box-content-link {
      color: var(--secondary_color); }
      body .companion-icon-box .icon-box-content-link a {
        font-family: var(--secondary_font_family);
        font-weight: 700;
        font-size: 16px;
        line-height: 22px;
        text-decoration: none;
        transition: none;
        color: var(--secondary_color); }
        body .companion-icon-box .icon-box-content-link a i {
          margin-left: 5px;
          font-size: 16px; }
        body .companion-icon-box .icon-box-content-link a:hover i {
          transition: all 0.3s;
          -webkit-transform: translateX(4px);
                  transform: translateX(4px); }
    body .companion-icon-box .icon-box-content a {
      text-decoration: none; }
  body .companion-icon-box:hover .icon-box-icon {
    color: var(--primary_color); }
    body .companion-icon-box:hover .icon-box-icon a,
    body .companion-icon-box:hover .icon-box-icon span {
      color: var(--primary_color); }
  body .companion-icon-box:hover .icon-box-content-title {
    color: var(--primary_color);
    border-color: var(--primary_color); }
    body .companion-icon-box:hover .icon-box-content-title a {
      color: var(--primary_color); }

@media (min-width: 1025px) {
  body .elementor-widget-icon-box-with-link.elementor-position-top .companion-icon-box {
    flex-direction: column; }
    body .elementor-widget-icon-box-with-link.elementor-position-top .companion-icon-box .icon-box-icon {
      padding-bottom: 20px; }
  body .elementor-widget-icon-box-with-link.elementor-position-right .companion-icon-box .icon-box-icon {
    padding-left: 20px;
    order: 2; }
  body .elementor-widget-icon-box-with-link.elementor-position-right .companion-icon-box .icon-box-content {
    order: 1; } }

@media (min-width: 768px) and (max-width: 1024px) {
  body .elementor-widget-icon-box-with-link.elementor-tablet-position-top .companion-icon-box {
    flex-direction: column; }
    body .elementor-widget-icon-box-with-link.elementor-tablet-position-top .companion-icon-box .icon-box-icon {
      padding-bottom: 20px; }
  body .elementor-widget-icon-box-with-link.elementor-tablet-position-right .companion-icon-box .icon-box-icon {
    padding-left: 20px;
    order: 2; }
  body .elementor-widget-icon-box-with-link.elementor-tablet-position-right .companion-icon-box .icon-box-content {
    order: 1; } }

@media (max-width: 767px) {
  body .elementor-widget-icon-box-with-link.elementor-mobile-position-top .companion-icon-box {
    flex-direction: column; }
    body .elementor-widget-icon-box-with-link.elementor-mobile-position-top .companion-icon-box .icon-box-icon {
      padding-bottom: 20px; }
  body .elementor-widget-icon-box-with-link.elementor-mobile-position-right .companion-icon-box {
    flex-direction: row; }
    body .elementor-widget-icon-box-with-link.elementor-mobile-position-right .companion-icon-box .icon-box-icon {
      padding-left: 20px;
      order: 2; }
    body .elementor-widget-icon-box-with-link.elementor-mobile-position-right .companion-icon-box .icon-box-content {
      order: 1; } }

body .elementor-vertical-align-middle .companion-icon-box {
  align-items: center; }
