:root {
  --main-content-padding: 30px;
  --bullet-point-size: 14px;
  --number-of-rows: 10;
  --main-background-color: linear-gradient(90deg,rgba(204,255,228,1) 0%,rgba(210,228,255,1) 50%,rgba(246,221,255,1) 100%);
  --mobile-menu-bar: ;
  --current-advice-height: ;
  --current-product-height: ;
  --card-row-one: 47px;
  --card-row-two: 30px;
  --card-row-last: 44px;
  --all-features-header: ;
  --sticky-top-space: 110px;
  --sticky-sec-height: calc(var(--sticky-top-space) + var(--all-features-header) - 1px);
}

/*--------------------------------------------------
                     HTML5 Reset
 --------------------------------------------------*/
html, body, div, section, article, aside, header,
hgroup, footer, nav, h1, h2, h3, h4, h5, h6, p,
blockquote, address, time, span, em, strong, img,
ol, ul, li, figure, canvas, video, th, td, tr {
  margin: 0;
  padding: 0;
  border: 0;
}

*, *:before, *:after {
  box-sizing: border-box;
}

ul {
  list-style-type: none;
}

a {
  text-decoration: none;
}

a:hover {
  color: white;
}

address, article, aside, canvas, details, figcaption,
figure, footer, header, hgroup, menu, nav, section, summary, main span, img {
  display: block;
}

picture {
  z-index: 1;
}

main i {
  font-style: normal;
}

/*--------------------------------------------------
                 Reset RD code
--------------------------------------------------*/

html, body {
  max-width: 100%;
}

.toptop_banner {
  height: 0px;
  margin-bottom: 0px;
}

.pd_purchase_left{
	display: none !important;
}

/*fix purchase ui issues*/
.banner1200{
	height: 0px !important;
}

/*hide pdrm purchase*/
.bundle_pdrm{
	display: none !important;
}

.container {
	width: 100%;
	max-width: 100%;
	margin: 0;
}

.on_600 {
  display: none;
}

.back_top {
  z-index: 999 !important;
}

.lightbox.lightbox-iframe {
  border-radius: 26px;
  border: 4px solid #01b2fd;
  width: 95%;
}

.lightbox >.lightbox-media {
  background-color: #fff;
}

/*--------------------------------------------------
                        Fonts
 --------------------------------------------------*/


#main-content:is(h1, h2, h3, h4, h5, span, ul) {
  font-family: 'Poppins', sans-serif;
}

#main-content h2 {
  font-size: clamp(0.8rem, 0.85vw, 2.4rem);
  font-size: 1.15rem;
  font-weight: 600;
  padding: 0;
  line-height: 1.2;
}

/* #main-content.JPN h2 {
  padding: 0 3rem;
} */

#main-content:is(h2, h3, p) {
  color: black;
  line-height: 1.2;
}

#main-content h3 {
  font-size: clamp(0.8rem, 1vw, 0.8rem);
  font-size: clamp(0.8rem, 1vw, 0.8125rem);
  font-weight: 600;
}

#main-content:is(.CHS, .CHT) h3 {
  font-size: clamp(15px, 1vw, 0.8rem);
}

#main-content:is(p, ul) {
  font-size: clamp(1rem, 2vw, 1.1rem);
  line-height: 2rem;
  font-family: 'Poppins', system-ui;
  font-weight: 400;
  line-height: 1.4;
}

main a {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  color: white
}

/*--------------------------------------------------
                  Main Style
--------------------------------------------------*/
#main-content {
  width: 100%;
  background: var(--main-background-color);
  padding: 100px 0;
  padding: 6rem 0;
}

section:is(.cards, .comp-table) {
  width: 80%;
  max-width: 1200px;
  margin: 0 auto;
}

#main-content h1 {
  margin: 0 auto;
  width: 80%;
  margin-bottom: 3rem;
  font-weight: 700;
  font-family: 'Poppins';
  font-size: clamp(1.4rem, 2.2vw, 2.2rem);
  line-height: 1;
  text-align: center;
}

#main-content.JPN h1 {
  display: flex;
  gap: 0.9rem;
  flex-direction: column;
  text-align: center;
}

#main-content.JPN h1 span {
  font-size: 0.9rem;
}

#main-content.JPN h1 a {
  color: #025ff8;
  text-decoration: underline;
  transition: all 0.2s;
  padding: 0 3px;
}

#main-content.JPN h1 a:hover {
  background: white;
  border-radius: 4px;
  text-decoration: none;
}


/*--------------------------------------------------
                      Plan Switch
--------------------------------------------------*/

label.choose-plan {
  display: flex;
  width: fit-content;
  margin: 0 auto;
  background: white;
  box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, 0.1490196078) inset;
  padding: 0.4rem;
  border-radius: 40px;
  align-items: center;
  position: relative;
  margin-bottom: 3.75rem;
}

input#planSwitch {
  appearance: none;
  opacity: 0;
  display: none;
}       

label.choose-plan .marker {
  position: absolute;
  height: -webkit-fill-available;
  background: black;
  border-radius: 30px;
  margin: 0.4rem 0;
  transition: all 0.35s cubic-bezier(0.24, -0.52, 0.76, 1.42);
}

label.choose-plan b {
  /* font-size: clamp(1rem, 2vw, 19px); */
  font-size: clamp(1rem, 2vw, 14px);
  font-weight: 600;
  user-select: none;
  cursor: pointer;
  /* padding: 1rem 1.5rem;
  padding: 0.8rem 1.5rem; */
  padding: 0.65rem 1.5rem;
  border-radius: 40px;
  transition: background 0.25s, color 0.25s;
  z-index: 2;
  color: black;
}

label.choose-plan b i {
  color: #FF0455;
  font-weight: 700;
  transition: color cubic-bezier(0.04, 0.55, 0.54, 0.99) 0.4s;
}

label.choose-plan b#monthly {
  color: white;
  cursor: default;
}

label.choose-plan:has(input:checked) b#monthly {
  color: black;
  cursor: pointer;
}

label.choose-plan:has(input:checked) b#annual {
  color: white;
  cursor: default;
}

label.choose-plan:has(input:checked) b i {
  color: #FFE500;
  transition: color cubic-bezier(0.42, 0, 0.26, 1.07) 1s;
}

/*--------------------------------------------------
                  Card Layout
--------------------------------------------------*/

.cards {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 3rem;
  z-index: 7;
  position: relative;
  --pricing-header-height: auto;
}

.CHS .cards,
.CHT .cards,
.FRA .cards {
  gap: 3.3vw;
}

.card {
  border-radius: 20px;
  text-align: center;
  display: grid;
  position: relative;
  grid-template-rows: 110px var(--pricing-header-height) auto repeat(var(--number-of-rows), auto) 24px;
}

.card > p:nth-of-type(2n + 1) {
  background: #f4f4f4 !important;
}

.card > p:nth-of-type(2n) {
  background: white;
}

.card::before {
  content: '';
  position: absolute;
  top: -3px;
  left: -3px;
  width: calc(100% + 6px);
  height: calc(100% + 6px);
  border-radius: 24px;
  z-index: -1;
  background: linear-gradient(330.28deg, #A300FE -37.73%, #015EF7 83.08%);
}

.card::after {
  content: '';
  background: white;
  position: absolute;
  z-index: -1;
  height: 100%;
  width: 100%;
  border-radius: 24px;
}

.card:nth-of-type(3):before {
  background: linear-gradient(130.51deg, #1CFEFF -100.73%, #5F11FF -13.28%, #A300C5 52.3%, #FF8D3D 117.89%);
}

.cards span {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  font-family: 'Poppins', system-ui;
}

span.red-label {
  --promo-label-visibility: block;
  font-size: 13px;
  height: 24px;
  line-height: 1;
  padding: 0 21px 0 12px;
  position: absolute;
  left: -12px;
  top: -2%;
  color: white !important;
  background: linear-gradient(90deg, #FF0455 0%, #FF55DA 100%);
  border-radius: 3px 0 0;
  z-index: 1;
  font-weight: 500;
  text-transform: uppercase;
  clip-path: polygon(0% 0%, 100% 0%, calc(100% - 10px) 100%, 14px 100%, 12px 111%, 10px 150%, 0% 100%);
  -webkit-box-shadow: 0 15px #b81a35;
  -moz-box-shadow: 0 15px #b81a35;
  box-shadow: 0 15px #b81a35;
  align-content: center;
}

span.red-label strong {
  font-weight: unset;
}

span.red-label br {
  display: none;
}

span.red-label sup {
  font-size: 9px;
  padding-left: 1px;
}

.card:nth-of-type(2) span.red-label {
  display: var(--promo-label-visibility);
}

span.red-label:empty {
  display: none !important;
}

.card .buying-header {
 background: white;
 display: grid;
 /* grid-template-rows: 20px 40px 18px 15px auto 10px auto 15px 38px 26px; */
 grid-template-rows: 35px 40px 18px 30px 18px 12px 35px auto; /* request from web planning to rearrange layout */
 position: relative;
}

/* .card:first-of-type .buying-header {
  grid-template-rows: 60px 40px 18px 40px 18px 12px 38px auto;
  position: relative;
 } */
  /* Unhide section above to put back layout with promeo options */

.buying-header h2, .product-included {
  color: black;
}

span.product {
  border-radius: 20px 20px 0 0;
  font-family: 'Poppins';
  font-size: 18px;
  font-weight: 700;
  color: white;
  padding: 30px;
}

span.product > span {
  display: block;
  padding-left: 1rem;
  text-align: left;
}

.card .bg-gradient,
.card .product {
  grid-row: 1;
  grid-column: 1/ -1;
}

.card .bg-gradient {
  z-index: 0;
  border-radius: 20px 20px 0 0;
}

.card .product {
  z-index: 1;
  display: flex;
  justify-content: flex-start;
}

.card .product p {
  padding: 0;
  color: white;
  font-weight: 400;
  font-size: 0.75rem;
  text-align: left;
  line-height: 1.3;
}

.card .product img {
  height: fit-content;
}

.card:nth-of-type(1) .bg-gradient {
  background: linear-gradient(330.28deg, #A300FE -37.73%, #015EF7 83.08%);
}

.card:nth-of-type(1) .product-included {
  background: #0081e6;
}

.card:nth-of-type(2) .bg-gradient {
  background: linear-gradient(330.28deg, #A300FE -37.73%, #015EF7 83.08%);
}

.card:nth-of-type(2) .product-included {
  background: #1d1db1;
}

.card:nth-of-type(3) .bg-gradient {
  background: linear-gradient(130.51deg, #1CFEFF -100.73%, #5F11FF -13.28%, #A300C5 52.3%, #FF8D3D 117.89%);
}

.card:nth-of-type(3) .product-included {
  background: #700080;
}

span.old-price {
  padding-right: 4px;
  padding-bottom: 3px;
  color: black;
  text-decoration: line-through;
  place-self: end;
}

.ENU span.old-price {
  font-size: 0.95rem;
}

[data-local="en_CA"] span.old-price {
  font-size: 0.8rem;
}
    
span.price {
  color: black;
  font-weight: 600;
  flex-direction: column;
  font-size: clamp(1.7rem, 2.5vw, 2.5rem);
  position: relative;
}

.KOR span.price {
  font-size: clamp(1.5rem, 1vw, 0.9rem);
}

span.price i {
  font-weight: 400;
  font-size: 15px;
  position: absolute;
}

.pricing {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  grid-row: 2;
}

.pricing i {
  font-size: 12px;
  align-self: end;
  justify-self: start;
  padding: 5px;
}

i.per {
  font-weight: 400;
}

i.per-month {
  font-weight: 400;
  color: #8B8B8B;
  font-size: 12px;
  font-family: 'Poppins', sans-serif;
  font-style: normal;
  margin-top: 4px;
  grid-row: 3;
}

.add-on {
  margin: 0 30px;
  background: #F4F4F4;
  border-radius: 10px;
  position: relative;
  padding: 10px 12px;
  display: grid;
  grid-template-columns: 20px auto 32%;
  column-gap: 9px;
  --tooltip-top-offset: 57px; /* Default value */
  user-select: none;
  display: none; /* request from web plaing to hide add on options */
}

.JPN .add-on {
  grid-template-columns: 20px auto 82px;
}

:is(.CHT, .CHS) .add-on {
  grid-template-columns: 20px auto 94px;
}

.add-on .tooltip {
  margin-top: 0;
  position: absolute;
  font-size: 11px;
  color: black;
  background: #ffffff;
  padding: 0.85rem 1rem;
  border-radius: 10px;
  box-shadow: 0px 0px 8px gray, 0px 0px 0px #63636396, 0px 0px 0px #0000006b;
  clip-path: circle(0rem at center);
  overflow: hidden;
  transition: 300ms all ease-in;
  right: 0;
  left: 8%;
  top: 0;
  height: fit-content;
  pointer-events: none;
  text-align: left;
  z-index: 4;
}

.add-on:hover .tooltip {
  clip-path: circle(20rem at center);
  top: var(--tooltip-top-offset);
  box-shadow: 0px 0px 10px gray, 1px 1px 0px #63636396, 0px 20px 30px #0000006b;
  margin-top: 3px;
}

.add-on .tooltip b {
  color: #FF0455;
  margin-right: 2px;
}

.add-on .sale {
  position: absolute;
  background: linear-gradient(90deg, #FF0455 0%, #FF55DA 100%);
  border-radius: 10px 0 10px 10px;
  color: white;
  font-size: 12px;
  font-weight: 500;
  padding: 0 6px;
  right: -5px;
  top: -5px;
  text-transform: uppercase;
}

.add-on .sale:empty {
  display: none;
}

.JPN .add-on .sale {
  top: -9px;
}

.add-on label {
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: center;
  background-image: url('data:image/svg+xml,%3Csvg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Ccircle cx="10" cy="10" r="9.5" stroke="black"/%3E%3C/svg%3E');
  aspect-ratio: 1 / 1;
}

.add-on label:hover {
  cursor: pointer;
}

.add-on label:has(input:checked) {
  background-image: url('data:image/svg+xml,%3Csvg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath fill-rule="evenodd" clip-rule="evenodd" d="M10 20C15.5228 20 20 15.5228 20 10C20 4.47715 15.5228 0 10 0C4.47715 0 0 4.47715 0 10C0 15.5228 4.47715 20 10 20ZM8.25 14.225L15.3 7.175L13.9 5.775L8.25 11.425L5.4 8.575L4 9.975L8.25 14.225Z" fill="black"/%3E%3C/svg%3E');
}

.add-on input {
  appearance: none;
}

.add-on h3 {
  color: black;
  grid-column: 2;
  grid-row: 1;
  justify-self: start;
  text-align: left;
  line-height: 1;
  align-content: center;
}

.add-on-price {
  color: #015EF7;
  grid-column: 3;
  grid-row: 1;
  justify-self: flex-start;
  font-size: 13px;
  font-weight: 600;
  align-content: center;
}

:is(.CHS, .CHT) .add-on-price {
  justify-self: end;
}

.add-on p {
  font-weight: 400;
  font-size: 11px;
  font-size: 11.5px;
  color: black;
  padding: 0;
  background: none;
  justify-self: start;
  text-align: left;
  grid-column: 2 / -1;
  display: block !important;
}

.promeo.add-on {
  grid-row: 5;
}

.getty.add-on {
  grid-row: 7;
}

.add-on:has(input:checked){
  background: linear-gradient(135.26deg, #CDFFE5 4.91%, #C8F7FF 100%);
}

main .buy-now {
  width: fit-content;
  height: fit-content;
  padding: 8px 55.2px;
  margin: 0 auto;
  font-family: 'Poppins';
  font-size: 12px;
  font-weight: 600;
  border-radius: 10px;
  background: black;
  place-self: end;
  transition: all 0.2s;
  color: white;
  /* grid-row: 9; */
  grid-row: 6;
  border: none;
}

/* .card:first-of-type .buy-now {
  grid-row: 7;
} */

.upgrade-user {
  place-self: center;
  font-weight: 500;
  text-decoration: underline;
  font-size: 0.8rem;
  color: black;
  /* grid-row: 5; */
  grid-row: 7;
  transition: all ease-in-out 0.10s;
}

.upgrade-user::before {
  content: attr(data-tooltip);
  margin-top: 0;
  position: absolute;
  font-size: 0.77rem;
  color: black;
  background: #ffffff;
  padding: 0.5rem;
  border-radius: 10px;
  box-shadow: 0px 0px 10px gray;
  clip-path: circle(0rem at center);
  overflow: hidden;
  transition: 300ms all ease-in;
  right: 9%;
  left: 9%;
  /* bottom: 49% !important; */
  bottom: 37% !important;
  height: fit-content;
  pointer-events: none;
}

.upgrade-user:hover::before {
  clip-path: circle(20rem at center);
  bottom: 25px;
}

.upgrade-user:hover {
  margin-top: 3px;
  cursor: pointer;
  text-decoration: none;
  color: #565656;
  background: #80808029;
  padding: 0 8px;
  border-radius: 4px;
}

main .buy-now:hover {
  /* transform: scale(1.04); */
  background: white;
  color: black;
  border: 1px solid black;
  cursor : pointer;
  /* filter: drop-shadow(0px 0px 5px #00000033); */
}

.card > img {
  position: absolute;
  top: 54px;
  left: -10%;
}

.JPN .card > img {
  top: 90px;
}

.card .all-apps {
  padding: 10px 0;
}

.product-icons b {
  color: #00000099;
  font-size: 25px;
  margin: 0 !important;
}

.product-icons {
  gap: 0.7rem;
  margin-top: 4px;
}

.product-icons a {
  transition: all 0.2s;
}

.product-icons a:hover {
  transform: scale(1.10);
}

.product-icons img {
  max-width: 28px;
}

.card > p {
  padding: 8px var(--main-content-padding);
  text-align: left;
  color: #000000e0;
  justify-content: flex-start;
  font-size: 11px;
  font-size: 13px;
  font-family: 'Poppins', system-ui;
  line-height: 1.3;
  column-gap: 8px;
}

.card > p:not(p.not-included) {
  display: grid;
  grid-template-columns: 15% auto;
  grid-template-columns: 19% auto;
}

.card p.not-included {
  align-items: center;
}

.CHT .card p:not(p.not-included),
.CHS .card p:not(p.not-included) {
  display: grid;
  grid-template-columns: 75% auto;
  font-size: 13px;
  column-gap: 18px;
  text-wrap: pretty;
}

.JPN .card p:not(p.not-included) {
  /* display: grid; */
  font-size: 13px;
  /* grid-template-columns: 65% auto; */
  grid-template-columns: 76% auto;
  column-gap: 8px;
  text-wrap: balance;
  align-items: center;
}

.card:nth-of-type(1) > p:nth-of-type(1) {
  height: var(--card-row-one);
}

img.boris-fx {
  width: 100%;
  transform: translateX(20%);
  min-width: 30px;
}

.card:first-of-type > p:nth-of-type(2) {
  height: var(--card-row-two)
}

.card:first-of-type > p:nth-last-child(2) {
  height: var(--card-row-last)
}

.card:is(:nth-of-type(2),
:nth-of-type(3)) p:first-of-type:not(.product p, .add-on p),
p.not-included {
  justify-content: center;
  /* text-align: center; */
  font-size: 12px;
  display: flex;
  position: relative;
  gap: 6%;
}

.new-feature {
  font-weight: 500;
  font-size: .75rem;
  border-radius: 20px;
  background: linear-gradient(330.28deg, #A300FE -37.73%, #015EF7 83.08%);
  padding: 4px 10px 3px;
  height: fit-content;
  align-self: center;
  text-wrap: nowrap;
  word-break: keep-all;
}

.card:nth-of-type(3) .new-feature {
  background: linear-gradient(319.72deg, #1CFEFF -43.24%, #5F11FF 16.82%, #A300C5 61.86%, #FF8D3D 106.91%);
}

/* :is(.FRA, .ESP, .ITA) .new-feature {
  width: 64px;
  height: 23px;
  font-size: .7rem;
  border-radius: 13px;
  right: 1px;
  top: -4px;
} */

/* .ITA .new-feature {
  width: 54px;
  right: 5px;
} */

/* :is(.CHT, .CHS) .new-feature {
  width: 40px;
  height: 40px;
  right: 4px;
  top: -24px;
} */

/* .new-feature::before {
  content: attr(data-new-feature);
  position: absolute;
  font-size: 0.77rem;
  color: white;
  background-color: #015ef7;
  padding: 0.5rem;
  border-radius: 15px;
  box-shadow: 0px 0px 10px gray;
  clip-path: circle(0rem at center);
  overflow: hidden;
  transition: 300ms all cubic-bezier(0.64, 0, 0.44, 0.99), opacity 0.2s cubic-bezier(0.7, 0.04, 0.64, 0.69);
  bottom: -3px;
  right: -141%;
  width: 190px;
  font-weight: 400;
  border: solid white 4px;
  opacity: 0.3;
}

.ESP .new-feature::before {
  rotate: -16deg;
}

.DEU .new-feature::before {
  bottom: -7px;
  right: -228%;
}

.new-feature:hover::before {
  clip-path: circle(30rem at center);
  bottom: 38px;
  right: 60%;
  opacity: 1;
}

.DEU .new-feature:hover::before {
  bottom: 24px;
  right: -60%;
}

.FRA .new-feature:hover::before {
  bottom: 23px;
  right: 0;
}

:is(.CHT, .CHS) .new-feature:hover::before {
  bottom: 29px;
  right: -47%;
} */

:is(.CHT, .CHS) .card:is(:nth-of-type(2),
:nth-of-type(3)) p:first-of-type:not(.product p, .add-on p) {
  font-size: 15px;
  /* padding-right: 50px;
  padding-left: 50px; */
}

p.not-included i {
  font-size: 16px;
  transform: scale(1.3,1);
  color: grey;
  font-weight: 300;
}

.JPN p.not-included {
  padding: 0;
  grid-template-columns: 1fr !important;
}

.JPN .card:nth-of-type(1) p:first-of-type:not(.product p, .add-on p) {
  font-weight: bold;
}

.card:nth-of-type(2) p:first-of-type:not(.product p, .add-on p),
.card:nth-of-type(3) p:first-of-type:not(.product p, .add-on p) {
  font-weight: 600;
  /* text-wrap: balance;
  padding-left: 50px;
  padding-right: 50px; */
}

.card:nth-of-type(2) > p:first-of-type b {
  background: linear-gradient(330.28deg, #A300FE -37.73%, #015EF7 83.08%);
  -webkit-text-fill-color: transparent;
  background-clip: text;
  -webkit-background-clip: text;
}

.card:nth-of-type(3) > p:first-of-type b {
  background: linear-gradient(319.72deg, #1CFEFF -43.24%, #5F11FF 16.82%, #A300C5 61.86%, #FF8D3D 106.91%);
  -webkit-text-fill-color: transparent;
  background-clip: text;
  -webkit-background-clip: text;
}
/* .card b {
  margin-right: 12px;
} */

.CHS .card b,
.CHT .card b,
.JPN .card b {
  margin-right: 0;
  grid-column: 2;
  grid-row: 1;
  align-content: center;
}

.CHS .card p b,
.CHT .card p b {
  font-size: 12px;
}

.card p:last-of-type:not(.product p, .add-on p) {
  border-radius: 0 0 20px 20px;
}

/*--------------------------------------------------
             Comparison Grid Section
--------------------------------------------------*/

.mask-underflow {
  height: 100px;
  position: sticky;
  top: 28px;
  background: var(--main-background-color);
  z-index: 2;
  margin-top: 3px;
}

main .grid {
  display: grid;
  grid-template-columns: auto repeat(3, 15%);
  background: rgb(247, 247, 247);
}

main.JPN .grid {
  grid-template-columns: auto repeat(3, 21%);
}

section.comp-table {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 1) 50%);
}

.JPN .comp-table {
  --sticky-top-space: 66px;
  --sticky-sec-height: calc(var(--sticky-top-space) + var(--all-features-header)  - 1px);
}

main .grid.all-features {
  height: 50px;
  position: sticky;
  top: var(--sticky-top-space);
  color: white;
  background: linear-gradient(90deg, #01B2FD 0%, #8D0CFD 100%);
  border-radius: 20px 20px 0 0;
  font-weight: 100;
  font-size: 14px;
  font-family: 'Poppins', system-ui;
  font-weight: 300;
  z-index: 5;
}

main.JPN .grid.all-features {
  height: fit-content;
  /* align-items: center; */
  top: var(--sticky-top-space);
  padding: 0.3rem 0;
}

br.m-only {
  display: none;
}

main.JPN .grid.all-features span {
  width: 100%;
  padding: 0.4rem;
  border-radius: 1rem;
  margin-bottom: 0.4rem;
  font-weight: 500;
}

main .grid.all-features div:first-of-type {
  justify-content: start;
  padding-left: var(--main-content-padding);
  font-weight: 600;
  font-size: 16px;
  align-self: center;
}

main .grid.all-features div:is(:nth-of-type(3), :nth-of-type(4)) {
  padding: 0 1.2rem;
}

main.JPN .grid.all-features div:is(:nth-of-type(2), :nth-of-type(3), :nth-of-type(4)) {
  flex-direction: column;
  padding: 0 0.3rem;
}

main.JPN .grid.all-features div:nth-of-type(2) span {
  background: linear-gradient(90deg, rgb(1 178 253 / 61%) 0%, rgba(0,129,230,1) 53%);
  font-size: 0.8rem;
}

main.JPN .grid.all-features div:nth-of-type(3) span {
  background: #1d1db1;
}

main.JPN .grid.all-features div:nth-of-type(4) span {
  background: #700080;
}

.section:nth-of-type(4n + 2) {
  background: linear-gradient(90deg, rgba(74,74,74,1) 0%, rgba(0,0,0,1) 100%);
}

.section:nth-of-type(4n + 4) {
  background: linear-gradient(90deg, rgb(50 50 50) 0%, rgb(62 62 62) 38%, rgb(24 24 24) 100%);
}

main .grid.features svg {
  height: var(--bullet-point-size);
  width: var(--bullet-point-size);
}

main .grid.features > span:nth-of-type(6n+2) circle {
  fill: #01B2FD;
}

main .grid.features > span:nth-of-type(6n+5) circle {
  fill: #015EF7;
}

main .grid.features > span:nth-of-type(6n+6) circle {
  fill: #8D0CFD;
}

main .grid.features p + span + span + span + span + span {
  color: #015EF7;
  border: none;
}

main .grid.features p + span + span + span + span + span + span {
  color: #8D0CFD;
  border: none;
}

main .grid div,
main .grid span {
  text-align: center;
}

.JPN span:not(.old-price):empty:before {
  content: '';
  height: 3px;
  width: 6px;
  background: grey;
  border-radius: 2px;
  opacity: 0.3;
}

main .grid div {
  display: flex;
  align-items: center;
  justify-content: center;
  height: inherit;
}

main .grid.section {
  position: sticky;
  top: var(--sticky-sec-height);
  z-index: 1;
}

.accordion {
  grid-column: 1/-1;
  padding: 9px var(--main-content-padding);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 16 16' style='enable-background:new 0 0 16 16%3B' xml:space='preserve'%3E%3Cpolyline fill='none' stroke='%23FFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' points='2.2 3.4 7.9 12.6 13.8 3.4 '/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center right 3%;
  background-size: 15px;
  cursor: pointer;
  user-select: none;
  transition: all linear 0.15s;
}

.accordion:hover {
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 16 16' style='enable-background:new 0 0 16 16%3B' xml:space='preserve'%3E%3Cline fill='none' stroke='%23FFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' x1='12.6' y1='8' x2='3.4' y2='8'/%3E%3C/svg%3E");
  background-size: 17px;
  /* transition: all linear 0.15s; */
}

.accordion.active,
.accordion.active:hover {
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 16 16' style='enable-background:new 0 0 16 16%3B' xml:space='preserve'%3E%3Cg fill='none' stroke='%23FFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10'%3E%3Cline class='st0' x1='8' y1='3.4' x2='8' y2='12.6'/%3E%3Cline class='st0' x1='12.6' y1='8' x2='3.4' y2='8'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 17px;
  /* transition: all linear 0.15s; */
}

.JPN .accordion {
  font-size: 15px;
}

main .grid.features {
 background-color: white;
 transition: height cubic-bezier(0, 0.25, 0.35, 0.99) 0.6s;
 overflow: hidden;
}

main .grid.features:last-of-type {
  border-radius: 0 0 20px 20px;
}

main .grid.features.active {
  height: 0 !important;
  overflow: hidden;
  transition: height cubic-bezier(0.53, 0, 0.23, 1) 0.5s;
  transition-delay: 0s;
}

main .grid.features p {
  grid-column: 1;
  margin: 0;
  font-size: 13px;
  font-weight: 400;
  padding: 16px 10px 16px var(--main-content-padding);
  display: grid;
  align-items: center;
  font-family: 'Poppins', system-ui;
  justify-content: start;
}

main .grid.features p:has(> span) {
  font-weight: 700 !important;
}

main.JPN .grid.features p,
main.CHS .grid.features p,
main.CHT .grid.features p {
  font-size: 14px;
}

main .grid.features p:nth-child(even),
main .grid.features p:nth-child(even) + span + span,
main .grid.features p:nth-child(even) + span + span + span + span + span,
main .grid.features p:nth-child(even) + span + span + span + span + span + span {
  background: #f4f4f4;
}

main .grid.features p.sub-section {
  grid-column: 1/-1;
  font-weight: 600;
  background-color: #9bcdf2;
  color: white;
}

main .grid.features p.sub-section:hover {
  background-color: #9bcdf2;
}

main .grid.features a {
  background-color: #3838c8;
  width: fit-content;
  padding: 2px 10px 2px 12px;
  font-weight: 500;
  color: white;
  margin-top: 4px;
  font-size: 10px;
  border-radius: 13px;
}

.features span {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #09c;
  font-size: 13px;
  font-family: system-ui;
  line-height: 1.2;
  padding: 6px;
  font-weight: 800;
}

span.c_new {
  grid-column: 2;
  background: #FF0455;
  color: white;
  width: auto;
  padding: 3px 8px;
  border-radius: 12px;
  white-space: nowrap;
  font-weight: 700;
  margin-left: 16px;
}

main .grid.features > p + span,
main .grid.features > p + span + span + span,
main .grid.features > p + span + span + span + span {
  display: none;
}

.table-tail {
  height: 30px;
  background: white;
  border-radius: 0 0 20px 20px;
  position: relative;
  top: 30px;
  z-index: 3;
}

/*-----------------------
   Japan page variation
 -----------------------*/

.to-standard {
  padding: 10px 15px;
  width: fit-content;
  color: #402b8d;
  background-color: white;
}

/* .JPN .grid div:nth-of-type(3),
.JPN .grid.features > span:nth-of-type(6n + 3) {
  display: flex;
} */

/* .JPN .grid.kind div:nth-of-type(1) {
  grid-column: span 3;
} */

/* .JPN .grid.advice span:nth-of-type(4) {
  background: rgb(124 43 148);
} */

/* .JPN .grid.kind div:nth-of-type(2),
.JPN .grid div:nth-of-type(4),
.JPN .grid.features > span:nth-of-type(6n + 4) {
  display: none;
} */

/* .JPN .features span b {
  padding: 4px 7px;
  border-radius: 4px;
  margin-top: 3px;
  color: #b199d0;
  background: #402b8d;
} */



/*==================================================
                  Desktop layout
==================================================*/

@media (max-width: 1250px) {
  /*--------------------------------------------------
                    Card Layout
  --------------------------------------------------*/
  section:is(.cards, .comp-table) {
    width: 92%;
  }
  
  .cards {
    gap: clamp(8px, 3.7vw, 3rem);
  }

}

@media (max-width: 1000px) {

  .container {
    margin-left: auto;
    margin-right: auto;
  }

  section:is(.cards, .comp-table) {
    width: 90%;
  }

  .CHS .cards,
  .CHT .cards,
  .FRA .cards {
    gap: 3.6rem;
  }

  .cards {
    grid-template-columns: 1fr 1fr;
    gap: 3.6rem;
  }

  .card {
    width: 100%;
    max-width: 380px;
    min-width: 315px;
    justify-self: center;
  }

  .cards > .card:last-of-type {
    grid-column: 1 / -1;
    width: calc(50% - 2rem);
  }

  .new-feature::before {
    right: 0;
  }

  .new-feature:hover::before {
    right: 50%;
  }
}

@media (max-width: 840px) {

  main .grid, main.JPN .grid {
    grid-template-columns: repeat(3, 1fr);
  }

  main .grid.all-features {
    font-weight: 500;
    font-size: 15px;
  }

  main .grid.all-features div:first-of-type {
    display: none;
  }

  main .grid.features p {
    grid-column: 1/-1;
    padding: 8px var(--main-content-padding);
    grid-gap: 14px;
  }

  main .grid.features a {
    padding: 4px 10px;
    font-weight: 700;
    grid-column: 2;
  }

   .features span {
    padding: 8px 10px;
    color: white !important;
  }

  span.c_new {
    padding: 5px 10px;
    margin-left: 0;
  }

  span.empty_space {
    display: none;
  }

  main .grid.advice span:nth-of-type(2),
  main .grid.advice span:nth-of-type(3),
  main .grid.advice span:nth-of-type(4) {
    display: block;
  }

  main .grid.features > span circle {
    fill: #ffffff !important;
  }

  main .grid.features > span:nth-of-type(6n + 2) {
    background: #01B2FD !important;
  }

  main .grid.features > span:nth-of-type(6n + 5) {
    background: #025FF8 !important;
  }

  main .grid.features > span:nth-of-type(6n + 6) {
    background: #8D0CFD !important;
  }

}


@media (max-width: 780px) {

  /*--------------------------------------------------
    Fix mobile RD buttons not displaying correctly
  --------------------------------------------------*/
  .submenu_mbtns {
    padding: 0 1rem;
    gap: 1rem;
  }

  .submenu_mbtns .top_fn_all2 {
    width: 100%;
    height: auto !important;
    padding: 10px 0;
  }

  /*--------------------------------------------------
                    Card Layout
  --------------------------------------------------*/
  section:is(.cards, .comp-table) {
    width: 90%;
  }

  main h2 {
    font-size: 1rem;
    font-weight: 400;
  }

  .cards {
    grid-template-columns: 1fr;
    gap: 4rem;
    max-width: 380px;
    z-index: 4;
  }

  .card {
    min-width: auto;
  }

  .cards > .card:last-of-type {
    width: 100%;
  }

  .card > img {
    left: -5%;
  }

  iframe,
  .lightbox {
    max-height: 500px !important;
  }

  iframe {
    border-radius: 20px !important;
    border: 4px #01B2FD solid;
  }

  /*--------------------------------------------------
               Comparison Grid Section
  --------------------------------------------------*/

  main .grid.all-features {
    font-weight: 600;
    font-size: 12px;
  }

  main .grid.kind {
    top: var(--mobile-menu-bar);
  }

  main .grid.kind div:nth-of-type(2) {
    display: none;
  }

  main .grid.advice {
    top: calc(var(--mobile-menu-bar) + 40px);
  }

  main .grid.advice span:nth-of-type(2),
  main .grid.advice span:nth-of-type(3) {
    display: block;
    }

  main .grid.advice .name {
    line-height: 1.2;
    padding: 5px 0;
    font-size: clamp(0.8rem, 3vw, 2rem);
  }

  main .grid.product div {
    padding: 0;
  }

  main .grid.boxcover div,
  main .grid.market div {
    border: none;
  }

  main .grid.market div {
    display: grid;
    grid-template-columns: 1fr;
  }

  main .grid.market div:nth-of-type(3),
  main .grid.market div:nth-of-type(4) {
    display: none;
  }

  main .grid.boxcover div:nth-of-type(1) {
    background: #365bbc;
  }

  main .grid.market div:nth-of-type(1) {
    background: #3262db;
  }

  .price {
    font-family: 'Poppins';
    font-weight: bold;
    font-size: large;
    padding: 6px;
    border-radius: 4px;
    margin: 4px 0;
    width: fit-content;
    justify-self: center;
    font-size: clamp(0.8rem, 3vw, 2rem);
  }

  .CHT .price.per-month,
  .CHS .price.per-month {
    font-size: clamp(0.6rem, 2vw, 2rem);
  }

  .FRA .price.per-month {
    font-size: clamp(0.7rem, 2vw, 2rem);
  }

  .price br {
    display: block;
  }

  .JPN .price br:first-of-type,
  .DEU .price br:first-of-type,
  .ITA .price br:first-of-type {
    display: none;
  }

  .ENU .price br:last-of-type,
  .ESP .price br:last-of-type {
    display: none;
  }

  .KOR .price br,
  .FRA .price br,
  .CHT .price br,
  .CHS .price br {
    display: none;
  }

  main .grid.market a{
    justify-self: center;
    align-self: end;
  }

  main .grid.market div:nth-of-type(1)
  span:nth-of-type(2) {
    color: #331b8cd6;
  }

  main .grid.market div:nth-of-type(1) a {
    background-color: #3b409b;
  }

  main .grid.boxcover div:nth-of-type(2) {
    background: #764aad;
  }

  main .grid.market div:nth-of-type(2) {
    background: #8150c0;
  }

  main .grid.market div:nth-of-type(2)
  span:nth-of-type(2) {
    color: #411189;
  }

  main .grid.market div:nth-of-type(2) a {
    background-color: #582e97;
  }

  main .grid.product {
    top: calc(var(--mobile-menu-bar) + 40px + var(--current-advice-height));
  }

  .accordion {
    font-family: 'Poppins';
    font-weight: 500;
  }

  .DEU .accordion,
  .ESP .accordion,
  .ITA .accordion {
    font-size: 13px;
    padding: 9px 0;
    text-align: center;
  }

  main.DEU .grid.features p,
  main.ESP .grid.features p,
  main.ITA .grid.features p {
    padding: 8px 10px;
  }

  .features span {
    padding: 5px 10px;
  }

  main .grid.features > span:nth-of-type(6n + 1) {
    background: rgb(49 85 179);

  }

  main .grid.features > span:nth-of-type(6n + 3) {
    background: rgb(12,124,186);
  }

  main .grid.features > span:nth-of-type(6n + 4) {
    background: #98397b;
  }

  main .grid.advice span:nth-of-type(4){
    display: none;
  }

}

@media (max-width: 600px) {

  .JPN .comp-table {
    --sticky-top-space: 110px;
  }

  main.JPN .grid.all-features {
    top: var(--sticky-top-space);
  }

  main.JPN .grid.all-features div:is(:nth-of-type(2), :nth-of-type(3), :nth-of-type(4)) {
    position: relative;
    padding-top: 15px;
    height: 100%;
  }

  main.JPN .grid.all-features div:nth-of-type(2) span {
    background: #0081e6;
  }

  main.JPN .grid.all-features div:is(:nth-of-type(2), :nth-of-type(3), :nth-of-type(4)) span {
    position: absolute;
    bottom: 78%;
    width: 88%;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  main.JPN .grid.section {
    top: var(--sticky-sec-height);
  }

}

@media (max-width: 520px) {

  main.JPN .grid.all-features div:is(:nth-of-type(2), :nth-of-type(3), :nth-of-type(4)) {
    padding-top: 10px;
  }

}

@media (max-width: 500px) {

  main.JPN .grid.all-features div:is(:nth-of-type(2), :nth-of-type(3), :nth-of-type(4)) span {
    top: -40px;
  }

  br.m-only {
    display: block;
  }
}

@media (max-width: 455px) {

  main.JPN .grid.all-features span {
    border-radius: 0.8rem 0.8rem 0 0;
  }

  main.JPN .grid.all-features span:before {
    content: '';
    width: 102%;
    height: 2px;
    background: #360d4d7a;
    position: absolute;
    bottom: 0;
    left: -1px;
  }

  main.JPN .grid.all-features div:nth-of-type(2) span:before {
    background: #12127f24;
  }

  main.JPN .grid.all-features div:nth-of-type(3) span:before {
    background: #00007e7a;
  }
}

