.sm-tp-block {
  width: calc(100% - 24px);
  max-width: var(--sm-tp-max, 1200px);
  margin: var(--sm-tp-mt, 20px) auto var(--sm-tp-mb, 20px);
  color: var(--sm-tp-color, #333);
  font-family: var(--sm-tp-font, inherit) !important;
  font-size: var(--sm-tp-size, 16px);
  font-weight: var(--sm-tp-weight, 400);
  line-height: var(--sm-tp-line, 1.6);
  text-align: var(--sm-tp-align, left);
  background: var(--sm-tp-bg, #fff);
  border: var(--sm-tp-bw, 1px) solid var(--sm-tp-border, #e4e4e4);
  border-radius: var(--sm-tp-radius, 8px);
  box-sizing: border-box;
}

.sm-tp-block__inner,
.sm-tp-block__title,
.sm-tp-block__content,
.sm-tp-block__content p,
.sm-tp-block__content h1,
.sm-tp-block__content h2,
.sm-tp-block__content h3,
.sm-tp-block__content h4,
.sm-tp-block__content h5,
.sm-tp-block__content h6,
.sm-tp-block__content ul,
.sm-tp-block__content ol,
.sm-tp-block__content li,
.sm-tp-block__content blockquote,
.sm-tp-block__content table,
.sm-tp-block__content th,
.sm-tp-block__content td,
.sm-tp-block__content a,
.sm-tp-block__content span,
.sm-tp-block__content strong,
.sm-tp-block__content em,
.sm-tp-block__button {
  font-family: var(--sm-tp-font, inherit) !important;
}

.sm-tp-block__inner { padding: var(--sm-tp-padding, 24px); }
.sm-tp-block__title { margin: 0 0 .65em; color: inherit; font: inherit; font-size: 1.65em; font-weight: 700; line-height: 1.2; }
.sm-tp-block__content > :first-child { margin-top: 0; }
.sm-tp-block__content > :last-child { margin-bottom: 0; }
.sm-tp-block a:not(.sm-tp-block__button) { color: var(--sm-tp-link, #24b9d7); text-decoration: underline; }
.sm-tp-block img { max-width: 100%; height: auto; }
.sm-tp-block table { display: block; max-width: 100%; overflow-x: auto; }
.sm-tp-shadow { box-shadow: 0 8px 28px rgba(0, 0, 0, .14); }

.sm-tp-block__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 18px;
  padding: 10px 18px;
  color: var(--sm-tp-bg, #fff) !important;
  font-weight: 700;
  text-decoration: none !important;
  background: var(--sm-tp-link, #24b9d7);
  border: 1px solid var(--sm-tp-link, #24b9d7);
  border-radius: min(var(--sm-tp-radius, 8px), 12px);
  transition: filter .18s ease, transform .18s ease;
}
.sm-tp-block__button:hover { filter: brightness(.9); transform: translateY(-1px); }

.sm-tp-animation-fade,
.sm-tp-animation-up,
.sm-tp-animation-down,
.sm-tp-animation-left,
.sm-tp-animation-right,
.sm-tp-animation-zoom,
.sm-tp-animation-zoom_out,
.sm-tp-animation-flip_x,
.sm-tp-animation-flip_y,
.sm-tp-animation-rotate,
.sm-tp-animation-bounce,
.sm-tp-animation-blur,
.sm-tp-animation-reveal,
.sm-tp-animation-swing,
.sm-tp-animation-diagonal_up,.sm-tp-animation-diagonal_down,.sm-tp-animation-pop,
.sm-tp-animation-elastic,.sm-tp-animation-rubber,.sm-tp-animation-tada,.sm-tp-animation-jello,
.sm-tp-animation-heartbeat,.sm-tp-animation-shake_x,.sm-tp-animation-shake_y,.sm-tp-animation-wobble,
.sm-tp-animation-flash,.sm-tp-animation-pulse,.sm-tp-animation-float,.sm-tp-animation-drop,
.sm-tp-animation-unfold,.sm-tp-animation-curtain,.sm-tp-animation-skew,.sm-tp-animation-spiral,
.sm-tp-animation-light_speed,.sm-tp-animation-roll_left,.sm-tp-animation-roll_right,
.sm-tp-animation-glow,.sm-tp-animation-focus,.sm-tp-animation-stretch { opacity: 0; will-change: opacity, transform; }
.sm-tp-animation-up { transform: translateY(22px); }
.sm-tp-animation-down { transform: translateY(-22px); }
.sm-tp-animation-left { transform: translateX(-34px); }
.sm-tp-animation-right { transform: translateX(34px); }
.sm-tp-animation-zoom { transform: scale(.90); }
.sm-tp-animation-zoom_out { transform: scale(1.10); }
.sm-tp-animation-flip_x { transform: perspective(900px) rotateX(-70deg); transform-origin: center top; }
.sm-tp-animation-flip_y { transform: perspective(900px) rotateY(-70deg); transform-origin: left center; }
.sm-tp-animation-rotate { transform: rotate(-4deg) scale(.96); }
.sm-tp-animation-blur { filter: blur(12px); transform: scale(.98); }
.sm-tp-animation-reveal { clip-path: inset(0 0 100% 0); }
.sm-tp-animation-swing { transform: rotate(-3deg); transform-origin: center top; }
.sm-tp-animation-diagonal_up { transform: translate(-38px,38px); }
.sm-tp-animation-diagonal_down { transform: translate(38px,-38px); }
.sm-tp-animation-pop { transform: scale(.55); }
.sm-tp-animation-drop { transform: translateY(-90px) scaleY(1.15); }
.sm-tp-animation-unfold { transform: scaleY(.05); transform-origin:center top; }
.sm-tp-animation-curtain { clip-path:inset(0 50% 0 50%); }
.sm-tp-animation-skew { transform:skewX(-18deg) translateX(-35px); }
.sm-tp-animation-spiral { transform:rotate(-150deg) scale(.25); }
.sm-tp-animation-light_speed { transform:translateX(-70px) skewX(18deg); }
.sm-tp-animation-roll_left { transform:translateX(-80px) rotate(-120deg); }
.sm-tp-animation-roll_right { transform:translateX(80px) rotate(120deg); }
.sm-tp-animation-focus { filter:blur(18px); transform:scale(1.18); }
.sm-tp-animation-stretch { transform:scaleX(.25); }
.sm-tp-is-visible {
  opacity: 1;
  transform: none;
  filter: none;
  clip-path: inset(0 0 0 0);
  transition: opacity .65s ease, transform .65s cubic-bezier(.2,.75,.25,1), filter .65s ease, clip-path .75s ease;
}
.sm-tp-animation-bounce.sm-tp-is-visible { animation: sm-tp-bounce .8s cubic-bezier(.2,.75,.25,1) both; }
.sm-tp-animation-swing.sm-tp-is-visible { animation: sm-tp-swing .85s ease both; }
.sm-tp-animation-elastic.sm-tp-is-visible { animation:sm-tp-elastic .95s ease both; }
.sm-tp-animation-rubber.sm-tp-is-visible { animation:sm-tp-rubber .9s ease both; }
.sm-tp-animation-tada.sm-tp-is-visible { animation:sm-tp-tada 1s ease both; }
.sm-tp-animation-jello.sm-tp-is-visible { animation:sm-tp-jello .95s ease both; transform-origin:center; }
.sm-tp-animation-heartbeat.sm-tp-is-visible { animation:sm-tp-heartbeat 1.15s ease both; }
.sm-tp-animation-shake_x.sm-tp-is-visible { animation:sm-tp-shake-x .8s ease both; }
.sm-tp-animation-shake_y.sm-tp-is-visible { animation:sm-tp-shake-y .8s ease both; }
.sm-tp-animation-wobble.sm-tp-is-visible { animation:sm-tp-wobble .95s ease both; }
.sm-tp-animation-flash.sm-tp-is-visible { animation:sm-tp-flash .9s ease both; }
.sm-tp-animation-pulse.sm-tp-is-visible { animation:sm-tp-pulse .8s ease both; }
.sm-tp-animation-float.sm-tp-is-visible { animation:sm-tp-float .95s ease both; }
.sm-tp-animation-glow.sm-tp-is-visible { animation:sm-tp-glow 1s ease both; }

.sm-tp-element-effect { display:inline-block; max-width:100%; }
.sm-tp-element-effect.sm-tp-is-visible {
  transition-duration:var(--sm-tp-element-duration,.8s) !important;
  transition-delay:var(--sm-tp-element-delay,0ms) !important;
}
.sm-tp-element-effect.sm-tp-is-visible[class*="sm-tp-animation-"] {
  animation-duration:var(--sm-tp-element-duration,.8s) !important;
  animation-delay:var(--sm-tp-element-delay,0ms) !important;
  animation-iteration-count:var(--sm-tp-element-iterations,1) !important;
}
.sm-tp-element-effect[data-sm-tp-effect-trigger="hover"],
.sm-tp-element-effect[data-sm-tp-effect-trigger="click"] { cursor:pointer; }
.sm-tp-element-effect.sm-tp-effect-idle { animation:none !important; transition:none !important; }
.mce-content-body .sm-tp-element-effect { outline:1px dashed #25b9d7; outline-offset:3px; }

@keyframes sm-tp-bounce {
  0% { opacity: 0; transform: translateY(30px) scale(.96); }
  55% { opacity: 1; transform: translateY(-8px) scale(1.01); }
  75% { transform: translateY(4px); }
  100% { opacity: 1; transform: none; }
}

@keyframes sm-tp-swing {
  0% { opacity: 0; transform: rotate(-5deg); }
  45% { opacity: 1; transform: rotate(2.5deg); }
  70% { transform: rotate(-1deg); }
  100% { opacity: 1; transform: none; }
}
@keyframes sm-tp-elastic { 0%{opacity:0;transform:scale(.35)} 55%{opacity:1;transform:scale(1.12)} 72%{transform:scale(.94)} 86%{transform:scale(1.04)} 100%{opacity:1;transform:none} }
@keyframes sm-tp-rubber { 0%{opacity:0;transform:scale(.7)} 35%{opacity:1;transform:scaleX(1.22) scaleY(.82)} 55%{transform:scaleX(.88) scaleY(1.12)} 75%{transform:scaleX(1.06) scaleY(.96)} 100%{opacity:1;transform:none} }
@keyframes sm-tp-tada { 0%{opacity:0;transform:scale(.7)} 25%{opacity:1;transform:scale(.95) rotate(-3deg)} 40%,60%{transform:scale(1.05) rotate(3deg)} 50%,70%{transform:scale(1.05) rotate(-3deg)} 100%{opacity:1;transform:none} }
@keyframes sm-tp-jello { 0%{opacity:0;transform:skewX(-18deg)} 35%{opacity:1;transform:skewX(12deg)} 55%{transform:skewX(-7deg)} 75%{transform:skewX(3deg)} 100%{opacity:1;transform:none} }
@keyframes sm-tp-heartbeat { 0%{opacity:0;transform:scale(.75)} 25%{opacity:1;transform:scale(1)} 38%{transform:scale(1.1)} 52%{transform:scale(1)} 68%{transform:scale(1.07)} 100%{opacity:1;transform:none} }
@keyframes sm-tp-shake-x { 0%{opacity:0;transform:translateX(-35px)} 25%{opacity:1;transform:translateX(12px)} 45%{transform:translateX(-9px)} 65%{transform:translateX(6px)} 100%{opacity:1;transform:none} }
@keyframes sm-tp-shake-y { 0%{opacity:0;transform:translateY(-35px)} 25%{opacity:1;transform:translateY(12px)} 45%{transform:translateY(-9px)} 65%{transform:translateY(6px)} 100%{opacity:1;transform:none} }
@keyframes sm-tp-wobble { 0%{opacity:0;transform:translateX(-30px) rotate(-5deg)} 35%{opacity:1;transform:translateX(18px) rotate(3deg)} 55%{transform:translateX(-12px) rotate(-2deg)} 75%{transform:translateX(6px) rotate(1deg)} 100%{opacity:1;transform:none} }
@keyframes sm-tp-flash { 0%{opacity:0} 25%{opacity:1} 45%{opacity:.15} 65%{opacity:1} 82%{opacity:.35} 100%{opacity:1} }
@keyframes sm-tp-pulse { 0%{opacity:0;transform:scale(.8)} 55%{opacity:1;transform:scale(1.08)} 100%{opacity:1;transform:none} }
@keyframes sm-tp-float { 0%{opacity:0;transform:translateY(28px)} 55%{opacity:1;transform:translateY(-7px)} 75%{transform:translateY(3px)} 100%{opacity:1;transform:none} }
@keyframes sm-tp-glow { 0%{opacity:0;filter:brightness(.6);box-shadow:0 0 0 rgba(37,185,215,0)} 55%{opacity:1;filter:brightness(1.2);box-shadow:0 0 34px rgba(37,185,215,.65)} 100%{opacity:1;filter:none} }

@media (max-width: 767px) {
  .sm-tp-block { width: calc(100% - 16px); font-size: min(var(--sm-tp-size, 16px), 18px); }
  .sm-tp-block__inner { padding: max(14px, calc(var(--sm-tp-padding, 24px) * .7)); }
}

@media (prefers-reduced-motion: reduce) {
  .sm-tp-block[class*="sm-tp-animation-"] { opacity: 1; transform: none; filter: none; clip-path: none; animation: none; }
  .sm-tp-element-effect { opacity:1 !important; transform:none !important; filter:none !important; clip-path:none !important; animation:none !important; transition:none !important; }
  .sm-tp-is-visible, .sm-tp-block__button { transition: none; animation: none; }
}
