.companion-ew-pricing-table {
  display: flex;
  flex-direction: column;
  position: relative; }
  .companion-ew-pricing-table--label-ribbon-diagonal {
    overflow: hidden; }
  .companion-ew-pricing-table .pricing-table-header {
    padding: 50px 60px 25px;
    transition: 0.3s ease; }
    .companion-ew-pricing-table .pricing-table-header .pricing-table-title {
      font-family: var(--body_font_family);
      font-size: 16px;
      font-weight: 400;
      line-height: 1.625em;
      letter-spacing: normal;
      color: var(--secondary_color);
      margin: 0;
      padding: 0;
      transition: 0.3s ease; }
    .companion-ew-pricing-table .pricing-table-header .pricing-table-price-box {
      display: inline-flex; }
      .companion-ew-pricing-table .pricing-table-header .pricing-table-price-box .pricing-table-price,
      .companion-ew-pricing-table .pricing-table-header .pricing-table-price-box .pricing-table-currency {
        font-family: var(--secondary_font_family);
        font-size: 48px;
        line-height: 1.125em;
        font-weight: 700;
        letter-spacing: -0.025em;
        color: var(--secondary_variant_color);
        transition: 0.3s ease; }
      .companion-ew-pricing-table .pricing-table-header .pricing-table-price-box .pricing-table-duration {
        margin-left: 5px;
        margin-top: 25px;
        font-size: 16px;
        font-weight: 400;
        font-family: var(--body_font_family);
        color: var(--secondary_variant_color);
        transition: 0.3s ease; }
  .companion-ew-pricing-table .pricing-table-content {
    padding: 25px 60px 50px;
    transition: 0.3s ease; }
    .companion-ew-pricing-table .pricing-table-content .pricing-table-features .pricing-table-feature {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding-left: 0; }
      .companion-ew-pricing-table .pricing-table-content .pricing-table-features .pricing-table-feature .pricing-table-feature-text {
        font-family: var(--body_font_family);
        font-size: 18px;
        line-height: 1.67em;
        color: var(--secondary_variant_color);
        transition: 0.3s ease; }
      .companion-ew-pricing-table .pricing-table-content .pricing-table-features .pricing-table-feature .pricing-table-feature-value {
        font-family: var(--body_font_family);
        font-size: 18px;
        line-height: 1.67em;
        color: var(--primary_color);
        transition: 0.3s ease; }
      .companion-ew-pricing-table .pricing-table-content .pricing-table-features .pricing-table-feature .pricing-table-feature-icon {
        font-size: 16px;
        color: var(--primary_color);
        transition: 0.3s ease; }
      .companion-ew-pricing-table .pricing-table-content .pricing-table-features .pricing-table-feature:not(:last-child) {
        margin-bottom: 18px; }
    .companion-ew-pricing-table .pricing-table-content .pricing-table-btn {
      width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      text-align: center;
      padding: 11px 15px;
      font-family: var(--secondary_font_family);
      font-size: 16px;
      line-height: 1.375em;
      font-weight: 700;
      color: var(--secondary_color);
      border-width: 2px;
      border-style: solid;
      border-color: var(--primary_color);
      margin-top: 50px;
      position: relative;
      text-decoration: none;
      z-index: 1;
      transition: 0.3s ease;
      overflow: hidden; }
      .companion-ew-pricing-table .pricing-table-content .pricing-table-btn:before {
        content: "";
        display: block;
        width: 0;
        height: 100%;
        left: 0;
        top: 0;
        background-color: var(--primary_color);
        position: absolute;
        z-index: -1;
        transition: 0.3s ease; }
      .companion-ew-pricing-table .pricing-table-content .pricing-table-btn:hover {
        color: #FFFFFF; }
        .companion-ew-pricing-table .pricing-table-content .pricing-table-btn:hover:before {
          width: 100%; }
  .companion-ew-pricing-table .pricing-table-label {
    position: absolute;
    display: flex;
    justify-content: flex-end;
    width: 100%;
    left: 0;
    height: 0; }
    .companion-ew-pricing-table .pricing-table-label .pricing-table-label-shape {
      font-family: var(--secondary_font_family);
      color: #FFFFFF;
      text-align: center;
      text-transform: uppercase;
      position: absolute;
      -webkit-transform: translateX(-20px);
              transform: translateX(-20px);
      transition: 0.3s ease;
      background-color: var(--primary_color); }
    .companion-ew-pricing-table .pricing-table-label--ribbon .pricing-table-label-shape {
      top: -10px;
      width: 100px;
      padding: 10px;
      font-weight: 700;
      font-size: 16px;
      line-height: 1.375em; }
      .companion-ew-pricing-table .pricing-table-label--ribbon .pricing-table-label-shape:before, .companion-ew-pricing-table .pricing-table-label--ribbon .pricing-table-label-shape:after {
        content: '';
        display: block;
        position: absolute;
        top: 100%;
        width: 0;
        height: 0;
        border-style: solid; }
      .companion-ew-pricing-table .pricing-table-label--ribbon .pricing-table-label-shape:before {
        left: 0;
        border-width: 20px 50px 0 0;
        border-color: var(--primary_color) transparent transparent transparent;
        transition: 0.3s ease; }
      .companion-ew-pricing-table .pricing-table-label--ribbon .pricing-table-label-shape:after {
        right: 0;
        border-width: 0 50px 20px 0;
        border-color: transparent var(--primary_color) transparent transparent;
        transition: 0.3s ease; }
    .companion-ew-pricing-table .pricing-table-label--ribbon-diagonal {
      background: var(--secondary_color); }
      .companion-ew-pricing-table .pricing-table-label--ribbon-diagonal .pricing-table-label-shape {
        position: absolute;
        right: -250px;
        top: -22px;
        height: 44px;
        width: 500px;
        display: flex;
        align-items: center;
        justify-content: center;
        -webkit-transform: translate(-56px, 56px) rotate(45deg);
                transform: translate(-56px, 56px) rotate(45deg); }
    .companion-ew-pricing-table .pricing-table-label--rectangle .pricing-table-label-shape {
      top: -15px;
      margin: auto;
      padding: 5px 10px;
      font-size: 14px;
      font-weight: 500;
      line-height: 1.430em;
      width: 128px;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center; }
