{"id":11,"date":"2026-03-07T10:31:19","date_gmt":"2026-03-07T05:01:19","guid":{"rendered":"https:\/\/meditationtimeronline.com\/?page_id=11"},"modified":"2026-03-17T09:52:09","modified_gmt":"2026-03-17T04:22:09","slug":"meditation-timer-online","status":"publish","type":"page","link":"https:\/\/meditationtimeronline.com\/pt-br\/","title":{"rendered":"Temporizador de Medita\u00e7\u00e3o Online"},"content":{"rendered":"\n<p class=\"has-text-align-center\">Looking for a meditation timer online? Use this free meditation timer to stay focused during mindfulness practice. <br>Set your session length, choose customizable intervals and bells, and start your meditation instantly.<br>Stop searching for peace\u2014experience it now with the online meditation timer.<br>Press begin and start your journey now.<\/p>\n\n\n\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Quicksand:wght@400;500;600;700&#038;display=swap\" rel=\"stylesheet\"\/>\n\n<div class=\"mtt-tool\">\n\n<style>\n\/* ============================================================\n   MEDITATION TIMER \u2014 scoped to .mtt-tool\n   Safe for WordPress \/ GeneratePress Custom HTML block\n   ============================================================ *\/\n\n.mtt-tool *,\n.mtt-tool *::before,\n.mtt-tool *::after {\n  box-sizing: border-box;\n  margin: 0;\n  padding: 0;\n}\n\n.mtt-tool {\n  --mtt-teal:      #007d6f;\n  --mtt-teal-lt:   #e6f5f3;\n  --mtt-teal-mid:  #4da89e;\n  --mtt-teal-dim:  rgba(0,125,111,0.10);\n  --mtt-teal-ring: rgba(0,125,111,0.12);\n  --mtt-text:      #1a3533;\n  --mtt-sub:       #2e7a70;\n  --mtt-muted:     #7ab5ae;\n  --mtt-border:    rgba(0,125,111,0.14);\n  --mtt-bg:        #ffffff;\n  --mtt-pill:      #f2fbfa;\n\n  font-family: 'Quicksand', sans-serif;\n  background: var(--mtt-bg);\n  color: var(--mtt-text);\n  max-width: 480px;\n  width: 100%;\n  margin: 0 auto;\n  border-radius: 20px;\n  overflow: hidden;\n  box-shadow: 0 8px 40px rgba(0,125,111,0.10), 0 2px 8px rgba(0,0,0,0.05);\n  border: 1px solid rgba(0,125,111,0.10);\n}\n\n\/* \u2500\u2500 GOOGLE FONT LOAD \u2500\u2500 *\/\n.mtt-tool,\n.mtt-tool input,\n.mtt-tool button {\n  font-family: 'Quicksand', sans-serif;\n}\n\n\/* \u2500\u2500 TABS \u2500\u2500 *\/\n.mtt-tool .mtt-tabs {\n  display: grid;\n  grid-template-columns: 1fr 1fr 1fr;\n  background: var(--mtt-bg);\n  border-bottom: 1.5px solid var(--mtt-border);\n}\n\n.mtt-tool .mtt-tab {\n  cursor: pointer;\n  padding: 16px 4px 13px;\n  text-align: center;\n  font-size: 0.76rem;\n  font-weight: 600;\n  letter-spacing: 0.04em;\n  color: var(--mtt-muted);\n  transition: color 0.2s;\n  position: relative;\n  user-select: none;\n  -webkit-tap-highlight-color: transparent;\n  line-height: 1.2;\n  background: none;\n  border: none;\n  outline: none;\n}\n\n.mtt-tool .mtt-tab i {\n  display: block;\n  font-style: normal;\n  font-size: 1.1rem;\n  margin-bottom: 3px;\n  line-height: 1;\n}\n\n.mtt-tool .mtt-tab.active {\n  color: var(--mtt-teal);\n  font-weight: 700;\n}\n\n.mtt-tool .mtt-tab.active::after {\n  content: '';\n  position: absolute;\n  bottom: -1.5px;\n  left: 20%; right: 20%;\n  height: 2.5px;\n  background: var(--mtt-teal);\n  border-radius: 2px 2px 0 0;\n}\n\n\/* \u2500\u2500 PANELS \u2500\u2500 *\/\n.mtt-tool .mtt-panel {\n  display: none;\n  flex-direction: column;\n  padding: 0 24px 28px;\n}\n\n.mtt-tool .mtt-panel.active {\n  display: flex;\n}\n\n\/* \u2500\u2500 RING \u2500\u2500 *\/\n.mtt-tool .mtt-ring-section {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 28px 0 16px;\n}\n\n.mtt-tool .mtt-ring-wrap {\n  position: relative;\n  width: clamp(170px, 48vw, 220px);\n  height: clamp(170px, 48vw, 220px);\n}\n\n.mtt-tool .mtt-ring-svg {\n  width: 100%;\n  height: 100%;\n  transform: rotate(-90deg);\n  display: block;\n}\n\n.mtt-tool .r-bg    { fill: none; stroke: var(--mtt-teal-ring); stroke-width: 5; }\n.mtt-tool .r-track { fill: none; stroke: var(--mtt-teal-ring); stroke-width: 4; stroke-dasharray: 4 10; }\n.mtt-tool .r-prog  {\n  fill: none;\n  stroke: var(--mtt-teal);\n  stroke-width: 5;\n  stroke-linecap: round;\n  transition: stroke-dashoffset 1s linear;\n  filter: drop-shadow(0 0 6px rgba(0,125,111,0.30));\n}\n\n.mtt-tool .r-prog.pulse {\n  animation: mtt-ring-pulse 4s ease-in-out infinite;\n}\n\n@keyframes mtt-ring-pulse {\n  0%, 100% { filter: drop-shadow(0 0 5px rgba(0,125,111,0.25)); }\n  50%       { filter: drop-shadow(0 0 16px rgba(0,125,111,0.60)); }\n}\n\n.mtt-tool .mtt-ring-inner {\n  position: absolute;\n  inset: 0;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n}\n\n.mtt-tool #mtt-ring-time {\n  font-size: clamp(30px, 9vw, 46px);\n  font-weight: 700;\n  color: var(--mtt-text);\n  letter-spacing: -0.02em;\n  line-height: 1;\n}\n\n.mtt-tool #mtt-ring-phase {\n  font-size: 0.58rem;\n  font-weight: 700;\n  letter-spacing: 0.2em;\n  text-transform: uppercase;\n  color: var(--mtt-teal);\n  margin-top: 6px;\n}\n\n\/* \u2500\u2500 SESSION STATS \u2500\u2500 *\/\n.mtt-tool .mtt-sess-row {\n  display: flex;\n  gap: 40px;\n  justify-content: center;\n  padding: 4px 0 22px;\n}\n\n.mtt-tool .mtt-s-item { text-align: center; }\n\n.mtt-tool .mtt-s-val {\n  display: block;\n  font-size: 1.8rem;\n  font-weight: 700;\n  color: var(--mtt-text);\n  line-height: 1;\n}\n\n.mtt-tool .mtt-s-lbl {\n  font-size: 0.58rem;\n  font-weight: 700;\n  letter-spacing: 0.2em;\n  text-transform: uppercase;\n  color: var(--mtt-muted);\n  margin-top: 4px;\n}\n\n\/* \u2500\u2500 BEGIN ROW \u2500\u2500 *\/\n.mtt-tool .mtt-begin-row {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n}\n\n.mtt-tool .mtt-begin-btn {\n  flex: 1;\n  cursor: pointer;\n  border: none;\n  background: var(--mtt-teal);\n  color: #ffffff;\n  font-family: 'Quicksand', sans-serif;\n  font-size: 0.92rem;\n  font-weight: 700;\n  letter-spacing: 0.18em;\n  text-transform: uppercase;\n  padding: 16px 20px;\n  border-radius: 50px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 10px;\n  transition: background 0.2s, transform 0.15s, box-shadow 0.2s;\n  box-shadow: 0 4px 18px rgba(0,125,111,0.28);\n  -webkit-tap-highlight-color: transparent;\n  line-height: 1;\n  outline: none;\n  text-decoration: none;\n}\n\n.mtt-tool .mtt-begin-btn:hover  { background: #006b5e; }\n.mtt-tool .mtt-begin-btn:active { transform: scale(0.97); background: #005c51; }\n\n.mtt-tool .mtt-begin-btn svg {\n  width: 13px;\n  height: 13px;\n  fill: #fff;\n  flex-shrink: 0;\n  display: block;\n}\n\n.mtt-tool .mtt-icon-btn {\n  cursor: pointer;\n  background: var(--mtt-teal-lt);\n  border: 1.5px solid var(--mtt-border);\n  color: var(--mtt-teal);\n  width: 50px;\n  height: 50px;\n  border-radius: 50%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-size: 1.1rem;\n  transition: background 0.2s, transform 0.15s;\n  flex-shrink: 0;\n  -webkit-tap-highlight-color: transparent;\n  outline: none;\n  line-height: 1;\n}\n\n.mtt-tool .mtt-icon-btn:active { transform: scale(0.93); background: #d0eeea; }\n.mtt-tool .mtt-icon-btn.off    { opacity: 0.4; }\n\n\/* \u2500\u2500 DURATION PANEL \u2500\u2500 *\/\n.mtt-tool .mtt-big-time-wrap {\n  text-align: center;\n  padding: 28px 0 4px;\n}\n\n.mtt-tool #mtt-big-time {\n  font-size: clamp(58px, 16vw, 88px);\n  font-weight: 700;\n  color: var(--mtt-text);\n  letter-spacing: -0.02em;\n  line-height: 1;\n}\n\n.mtt-tool .mtt-time-unit-lbl {\n  font-size: 0.78rem;\n  font-weight: 700;\n  letter-spacing: 0.18em;\n  text-transform: uppercase;\n  color: var(--mtt-muted);\n  margin-top: 6px;\n}\n\n.mtt-tool #mtt-dur-phase {\n  text-align: center;\n  font-size: 0.68rem;\n  font-weight: 700;\n  letter-spacing: 0.2em;\n  text-transform: uppercase;\n  color: var(--mtt-teal);\n  min-height: 1.1em;\n  margin: 6px 0 18px;\n}\n\n\/* Slider *\/\n.mtt-tool .mtt-slider-hint {\n  text-align: center;\n  font-size: 0.68rem;\n  font-weight: 500;\n  color: var(--mtt-muted);\n  letter-spacing: 0.04em;\n  margin-bottom: 10px;\n}\n\n.mtt-tool input[type=\"range\"] {\n  -webkit-appearance: none;\n  appearance: none;\n  width: 100%;\n  height: 5px;\n  border-radius: 5px;\n  outline: none;\n  cursor: pointer;\n  margin-bottom: 22px;\n  display: block;\n  border: none;\n  background: rgba(0,125,111,0.12);\n}\n\n.mtt-tool input[type=\"range\"]::-webkit-slider-thumb {\n  -webkit-appearance: none;\n  width: 22px;\n  height: 22px;\n  border-radius: 50%;\n  background: var(--mtt-teal);\n  cursor: pointer;\n  box-shadow: 0 2px 8px rgba(0,125,111,0.35);\n}\n\n.mtt-tool input[type=\"range\"]::-moz-range-thumb {\n  width: 22px;\n  height: 22px;\n  border-radius: 50%;\n  background: var(--mtt-teal);\n  border: none;\n  box-shadow: 0 2px 8px rgba(0,125,111,0.35);\n}\n\n\/* Presets *\/\n.mtt-tool .mtt-pre-title {\n  font-size: 0.63rem;\n  font-weight: 700;\n  letter-spacing: 0.2em;\n  text-transform: uppercase;\n  color: var(--mtt-muted);\n  margin-bottom: 10px;\n}\n\n.mtt-tool .mtt-pre-grid {\n  display: grid;\n  grid-template-columns: repeat(5, 1fr);\n  gap: 7px;\n  margin-bottom: 22px;\n}\n\n.mtt-tool .mtt-pre-btn {\n  cursor: pointer;\n  background: var(--mtt-pill);\n  border: 1.5px solid var(--mtt-border);\n  border-radius: 11px;\n  padding: 10px 4px;\n  text-align: center;\n  transition: all 0.2s;\n  user-select: none;\n  -webkit-tap-highlight-color: transparent;\n  outline: none;\n}\n\n.mtt-tool .mtt-pre-btn:active { transform: scale(0.95); }\n\n.mtt-tool .mtt-pre-btn .pn {\n  display: block;\n  font-size: 1.15rem;\n  font-weight: 700;\n  color: var(--mtt-text);\n  line-height: 1;\n  font-family: 'Quicksand', sans-serif;\n}\n\n.mtt-tool .mtt-pre-btn .pl {\n  display: block;\n  font-size: 0.52rem;\n  font-weight: 600;\n  letter-spacing: 0.08em;\n  text-transform: uppercase;\n  color: var(--mtt-muted);\n  margin-top: 3px;\n  font-family: 'Quicksand', sans-serif;\n}\n\n.mtt-tool .mtt-pre-btn.active {\n  border-color: var(--mtt-teal);\n  background: var(--mtt-teal-dim);\n}\n\n.mtt-tool .mtt-pre-btn.active .pn { color: var(--mtt-teal); }\n.mtt-tool .mtt-pre-btn.active .pl { color: var(--mtt-teal-mid); }\n\n\/* \u2500\u2500 INTERVAL PANEL \u2500\u2500 *\/\n.mtt-tool .mtt-int-time-wrap {\n  text-align: center;\n  padding: 24px 0 4px;\n}\n\n.mtt-tool #mtt-int-time {\n  font-size: clamp(48px, 13vw, 76px);\n  font-weight: 700;\n  color: var(--mtt-text);\n  letter-spacing: -0.02em;\n  line-height: 1;\n}\n\n.mtt-tool #mtt-int-phase {\n  text-align: center;\n  font-size: 0.68rem;\n  font-weight: 700;\n  letter-spacing: 0.2em;\n  text-transform: uppercase;\n  color: var(--mtt-teal);\n  min-height: 1.1em;\n  margin: 6px 0 18px;\n}\n\n.mtt-tool .mtt-int-fields {\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  margin-bottom: 14px;\n}\n\n.mtt-tool .mtt-int-row {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  background: var(--mtt-teal-lt);\n  border-radius: 14px;\n  padding: 13px 16px;\n}\n\n.mtt-tool .mtt-int-icon { font-size: 1.1rem; }\n\n.mtt-tool .mtt-int-label {\n  flex: 1;\n  font-size: 0.8rem;\n  font-weight: 700;\n  color: var(--mtt-sub);\n  letter-spacing: 0.03em;\n}\n\n.mtt-tool .mtt-int-input {\n  background: #ffffff;\n  border: 1.5px solid var(--mtt-border);\n  border-radius: 10px;\n  color: var(--mtt-text);\n  font-family: 'Quicksand', sans-serif;\n  font-size: 1.05rem;\n  font-weight: 700;\n  width: 60px;\n  text-align: center;\n  padding: 8px 6px;\n  outline: none;\n  transition: border-color 0.2s;\n  -webkit-appearance: none;\n}\n\n.mtt-tool .mtt-int-input:focus { border-color: var(--mtt-teal); }\n\n.mtt-tool .mtt-int-unit {\n  font-size: 0.72rem;\n  font-weight: 600;\n  color: var(--mtt-muted);\n}\n\n.mtt-tool .mtt-int-note {\n  font-size: 0.66rem;\n  font-weight: 500;\n  color: var(--mtt-muted);\n  text-align: center;\n  margin-bottom: 20px;\n  letter-spacing: 0.02em;\n}\n\n\/* \u2500\u2500 RIPPLE \u2500\u2500 *\/\n.mtt-tool .mtt-ripple-cont {\n  position: fixed;\n  inset: 0;\n  pointer-events: none;\n  z-index: 9999;\n}\n\n.mtt-tool .mtt-ripple {\n  position: absolute;\n  top: 50%; left: 50%;\n  transform: translate(-50%, -50%) scale(0);\n  border-radius: 50%;\n  border: 2px solid rgba(0,125,111,0.25);\n  animation: mtt-rout 2.2s ease-out forwards;\n}\n\n@keyframes mtt-rout {\n  to { transform: translate(-50%, -50%) scale(12); opacity: 0; }\n}\n\n\/* \u2500\u2500 DONE OVERLAY \u2500\u2500 *\/\n.mtt-tool .mtt-done-overlay {\n  display: none;\n  position: fixed;\n  inset: 0;\n  background: rgba(255,255,255,0.95);\n  backdrop-filter: blur(10px);\n  -webkit-backdrop-filter: blur(10px);\n  z-index: 9998;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  gap: 12px;\n  text-align: center;\n  padding: 24px;\n}\n\n.mtt-tool .mtt-done-overlay.show { display: flex; }\n\n.mtt-tool .mtt-done-icon {\n  font-size: 3.2rem;\n  margin-bottom: 4px;\n  line-height: 1;\n}\n\n.mtt-tool .mtt-done-overlay h2 {\n  font-size: clamp(1.5rem, 5vw, 2.2rem);\n  font-weight: 700;\n  color: var(--mtt-text);\n  letter-spacing: 0.03em;\n  margin: 0;\n  line-height: 1.2;\n}\n\n.mtt-tool .mtt-done-overlay p {\n  font-size: 0.72rem;\n  font-weight: 600;\n  letter-spacing: 0.2em;\n  color: var(--mtt-muted);\n  text-transform: uppercase;\n  margin: 0;\n}\n\n.mtt-tool #mtt-done-close {\n  margin-top: 14px;\n  cursor: pointer;\n  border: none;\n  background: var(--mtt-teal);\n  color: #ffffff;\n  font-family: 'Quicksand', sans-serif;\n  font-size: 0.88rem;\n  font-weight: 700;\n  letter-spacing: 0.15em;\n  text-transform: uppercase;\n  padding: 15px 44px;\n  border-radius: 50px;\n  box-shadow: 0 4px 18px rgba(0,125,111,0.28);\n  transition: all 0.2s;\n  outline: none;\n}\n\n.mtt-tool #mtt-done-close:hover  { background: #006b5e; }\n.mtt-tool #mtt-done-close:active { transform: scale(0.96); }\n\n\/* \u2500\u2500 RESPONSIVE \u2500\u2500 *\/\n@media (max-width: 360px) {\n  .mtt-tool .mtt-tab { font-size: 0.66rem; padding: 13px 2px 10px; }\n  .mtt-tool .mtt-panel { padding: 0 14px 24px; }\n  .mtt-tool .mtt-pre-grid { grid-template-columns: repeat(4, 1fr); }\n  .mtt-tool .mtt-sess-row { gap: 24px; }\n  .mtt-tool .mtt-icon-btn { width: 44px; height: 44px; }\n  .mtt-tool .mtt-begin-btn { font-size: 0.82rem; }\n}\n\n@media (max-width: 480px) {\n  .mtt-tool { border-radius: 0; box-shadow: none; border: none; }\n}\n<\/style>\n\n<!-- \u2500\u2500 TABS \u2500\u2500 -->\n<div class=\"mtt-tabs\">\n  <div class=\"mtt-tab active\" data-tab=\"countdown\"><i>\u23f1<\/i>Count Down<\/div>\n  <div class=\"mtt-tab\"        data-tab=\"duration\" ><i>\ud83d\udd50<\/i>Duration<\/div>\n  <div class=\"mtt-tab\"        data-tab=\"interval\" ><i>\ud83d\udd14<\/i>Interval<\/div>\n<\/div>\n\n<!-- \u2550\u2550\u2550 COUNTDOWN PANEL \u2550\u2550\u2550 -->\n<div class=\"mtt-panel active\" id=\"mtt-panel-countdown\">\n  <div class=\"mtt-ring-section\">\n    <div class=\"mtt-ring-wrap\">\n      <svg class=\"mtt-ring-svg\" viewBox=\"0 0 200 200\">\n        <circle class=\"r-bg\"    cx=\"100\" cy=\"100\" r=\"88\"\/>\n        <circle class=\"r-track\" cx=\"100\" cy=\"100\" r=\"88\"\/>\n        <circle class=\"r-prog\"  cx=\"100\" cy=\"100\" r=\"88\"\n          id=\"mtt-ring-prog\" stroke-dasharray=\"553\" stroke-dashoffset=\"0\"\/>\n      <\/svg>\n      <div class=\"mtt-ring-inner\">\n        <div id=\"mtt-ring-time\">05:00<\/div>\n        <div id=\"mtt-ring-phase\">ready<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n  <div class=\"mtt-sess-row\">\n    <div class=\"mtt-s-item\">\n      <span class=\"mtt-s-val\" id=\"mtt-sess-cnt\">0<\/span>\n      <div class=\"mtt-s-lbl\">Sessions<\/div>\n    <\/div>\n    <div class=\"mtt-s-item\">\n      <span class=\"mtt-s-val\" id=\"mtt-sess-min\">0<\/span>\n      <div class=\"mtt-s-lbl\">Minutes<\/div>\n    <\/div>\n  <\/div>\n  <div class=\"mtt-begin-row\">\n    <button class=\"mtt-icon-btn\" id=\"mtt-bell1\">\ud83d\udd14<\/button>\n    <button class=\"mtt-begin-btn\" id=\"mtt-main1\">\n      <svg viewBox=\"0 0 10 12\"><polygon points=\"0,0 10,6 0,12\"\/><\/svg>Begin\n    <\/button>\n    <button class=\"mtt-icon-btn\" id=\"mtt-reset1\" style=\"font-size:1.3rem\">\u21ba<\/button>\n  <\/div>\n<\/div>\n\n<!-- \u2550\u2550\u2550 DURATION PANEL \u2550\u2550\u2550 -->\n<div class=\"mtt-panel\" id=\"mtt-panel-duration\">\n  <div class=\"mtt-big-time-wrap\">\n    <div id=\"mtt-big-time\">05:00<\/div>\n    <div class=\"mtt-time-unit-lbl\">Minutes<\/div>\n  <\/div>\n  <div id=\"mtt-dur-phase\">ready<\/div>\n  <div class=\"mtt-slider-hint\">\u00ab Move the slider to set the duration \u00bb<\/div>\n  <input type=\"range\" id=\"mtt-dur-slider\" min=\"1\" max=\"60\" value=\"5\"\/>\n  <div class=\"mtt-pre-title\">Quick Access<\/div>\n  <div class=\"mtt-pre-grid\" id=\"mtt-pre-grid\"><\/div>\n  <div class=\"mtt-begin-row\">\n    <button class=\"mtt-icon-btn\" id=\"mtt-bell2\">\ud83d\udd14<\/button>\n    <button class=\"mtt-begin-btn\" id=\"mtt-main2\">\n      <svg viewBox=\"0 0 10 12\"><polygon points=\"0,0 10,6 0,12\"\/><\/svg>Begin\n    <\/button>\n    <button class=\"mtt-icon-btn\" id=\"mtt-reset2\" style=\"font-size:1.3rem\">\u21ba<\/button>\n  <\/div>\n<\/div>\n\n<!-- \u2550\u2550\u2550 INTERVAL PANEL \u2550\u2550\u2550 -->\n<div class=\"mtt-panel\" id=\"mtt-panel-interval\">\n  <div class=\"mtt-int-time-wrap\">\n    <div id=\"mtt-int-time\">05:00<\/div>\n  <\/div>\n  <div id=\"mtt-int-phase\">ready<\/div>\n  <div class=\"mtt-int-fields\">\n    <div class=\"mtt-int-row\">\n      <span class=\"mtt-int-icon\">\ud83e\uddd8<\/span>\n      <span class=\"mtt-int-label\">Session Length<\/span>\n      <input class=\"mtt-int-input\" id=\"mtt-int-sess\" type=\"number\" min=\"1\" max=\"120\" value=\"5\" inputmode=\"numeric\"\/>\n      <span class=\"mtt-int-unit\">min<\/span>\n    <\/div>\n    <div class=\"mtt-int-row\">\n      <span class=\"mtt-int-icon\">\ud83d\udd14<\/span>\n      <span class=\"mtt-int-label\">Bell Every<\/span>\n      <input class=\"mtt-int-input\" id=\"mtt-int-bell\" type=\"number\" min=\"1\" max=\"60\" value=\"5\" inputmode=\"numeric\"\/>\n      <span class=\"mtt-int-unit\">min<\/span>\n    <\/div>\n  <\/div>\n  <p class=\"mtt-int-note\">Bell chimes at each interval throughout the session.<\/p>\n  <div class=\"mtt-begin-row\">\n    <button class=\"mtt-icon-btn\" id=\"mtt-bell3\">\ud83d\udd14<\/button>\n    <button class=\"mtt-begin-btn\" id=\"mtt-main3\">\n      <svg viewBox=\"0 0 10 12\"><polygon points=\"0,0 10,6 0,12\"\/><\/svg>Begin\n    <\/button>\n    <button class=\"mtt-icon-btn\" id=\"mtt-reset3\" style=\"font-size:1.3rem\">\u21ba<\/button>\n  <\/div>\n<\/div>\n\n<!-- Ripple layer (appended to body by JS, kept outside card) -->\n<div class=\"mtt-ripple-cont\" id=\"mtt-ripple-cont\"><\/div>\n\n<!-- Done overlay -->\n<div class=\"mtt-done-overlay\" id=\"mtt-done-overlay\">\n  <div class=\"mtt-done-icon\">\u262f<\/div>\n  <p>Session Complete<\/p>\n  <p>May this peace stay with you<\/p>\n  <button id=\"mtt-done-close\">Begin Again<\/button>\n<\/div>\n\n<\/div><!-- \/.mtt-tool -->\n\n<script>\n(function() {\n  \/* \u2500\u2500 Namespace everything inside an IIFE to avoid WP global conflicts \u2500\u2500 *\/\n\n  const PRESETS = [1,2,5,10,15,20,25,30,60];\n  const grid = document.getElementById('mtt-pre-grid');\n\n  PRESETS.forEach(function(m) {\n    var b = document.createElement('div');\n    b.className = 'mtt-pre-btn' + (m === 5 ? ' active' : '');\n    b.innerHTML = '<span class=\"pn\">' + m + '<\/span><span class=\"pl\">' + (m === 60 ? 'Hour' : 'Min') + '<\/span>';\n    b.addEventListener('click', function() {\n      if (running) pauseAll();\n      grid.querySelectorAll('.mtt-pre-btn').forEach(function(x){ x.classList.remove('active'); });\n      b.classList.add('active');\n      document.getElementById('mtt-dur-slider').value = Math.min(m, 60);\n      setDur(m); sliderFill(); syncAll();\n    });\n    grid.appendChild(b);\n  });\n\n  \/* \u2500\u2500 STATE \u2500\u2500 *\/\n  var totalSec = 300, remaining = 300, running = false;\n  var timerInt = null, bellOn = true, sessions = 0, totalMin = 0;\n  var activeTab = 'countdown', nextBell = 0;\n  var CIRC = 2 * Math.PI * 88;\n\n  \/* \u2500\u2500 RING \u2500\u2500 *\/\n  var rp = document.getElementById('mtt-ring-prog');\n  rp.style.strokeDasharray  = CIRC;\n  rp.style.strokeDashoffset = 0;\n\n  \/* \u2500\u2500 SLIDER \u2500\u2500 *\/\n  var slider = document.getElementById('mtt-dur-slider');\n\n  function sliderFill() {\n    var p = ((slider.value - slider.min) \/ (slider.max - slider.min)) * 100;\n    slider.style.background = 'linear-gradient(to right,#007d6f ' + p + '%,rgba(0,125,111,0.12) ' + p + '%)';\n  }\n\n  slider.addEventListener('input', function() {\n    var v = parseInt(slider.value);\n    grid.querySelectorAll('.mtt-pre-btn').forEach(function(b) {\n      b.classList.toggle('active', parseInt(b.querySelector('.pn').textContent) === v);\n    });\n    setDur(v); sliderFill(); syncAll();\n  });\n\n  sliderFill();\n\n  \/* \u2500\u2500 HELPERS \u2500\u2500 *\/\n  function fmt(s) {\n    return String(Math.floor(s \/ 60)).padStart(2, '0') + ':' + String(s % 60).padStart(2, '0');\n  }\n\n  function setDur(m) { totalSec = m * 60; remaining = totalSec; }\n\n  function syncAll() {\n    var f = fmt(remaining);\n    document.getElementById('mtt-ring-time').textContent = f;\n    document.getElementById('mtt-big-time').textContent  = f;\n    document.getElementById('mtt-int-time').textContent  = f;\n    rp.style.strokeDashoffset = CIRC * (1 - remaining \/ totalSec);\n  }\n\n  function setPhase(t) {\n    document.getElementById('mtt-ring-phase').textContent = t;\n    document.getElementById('mtt-dur-phase').textContent  = t;\n    document.getElementById('mtt-int-phase').textContent  = t;\n  }\n\n  function setBtnLabel(txt) {\n    ['mtt-main1','mtt-main2','mtt-main3'].forEach(function(id) {\n      var el = document.getElementById(id); if (!el) return;\n      el.innerHTML = '<svg viewBox=\"0 0 10 12\" style=\"width:13px;height:13px;fill:#fff;flex-shrink:0;display:block\"><polygon points=\"0,0 10,6 0,12\"\/><\/svg>' + txt;\n    });\n  }\n\n  \/* \u2500\u2500 AUDIO \u2500\u2500 *\/\n  var actx = null, aGain = null, aNodes = [], aRunning = false, chTout = null;\n\n  function getCtx() {\n    if (!actx) actx = new (window.AudioContext || window.webkitAudioContext)();\n    if (actx.state === 'suspended') actx.resume();\n    return actx;\n  }\n\n  function playBell(f, d) {\n    f = f || 432; d = d || 3.5;\n    if (!bellOn) return;\n    try {\n      var c = getCtx(), t = c.currentTime;\n      [[f,.42,d],[f*1.48,.16,d*.65],[f*2,.07,d*.4]].forEach(function(arr) {\n        var fr=arr[0],v=arr[1],dur=arr[2];\n        var o = c.createOscillator(), g = c.createGain();\n        o.type = 'sine'; o.frequency.value = fr;\n        g.gain.setValueAtTime(0, t);\n        g.gain.linearRampToValueAtTime(v, t + .025);\n        g.gain.exponentialRampToValueAtTime(.0001, t + dur);\n        o.connect(g); g.connect(c.destination); o.start(t); o.stop(t + dur);\n      });\n    } catch(e) {}\n    ripple();\n  }\n\n  function startAmbient() {\n    if (aRunning) return; aRunning = true;\n    var c = getCtx();\n    aGain = c.createGain();\n    aGain.gain.setValueAtTime(0, c.currentTime);\n    aGain.gain.linearRampToValueAtTime(1, c.currentTime + 4);\n    aGain.connect(c.destination);\n\n    function dro(f, type, vol, det) {\n      var o = c.createOscillator(), g = c.createGain();\n      o.type = type; o.frequency.value = f;\n      if (det) o.detune.value = det;\n      g.gain.value = vol; o.connect(g); g.connect(aGain); o.start(); aNodes.push(o);\n      return { o:o, g:g };\n    }\n    function lfx(tgt, rate, dep) {\n      var l = c.createOscillator(), lg = c.createGain();\n      l.type = 'sine'; l.frequency.value = rate; lg.gain.value = dep;\n      l.connect(lg); lg.connect(tgt); l.start(); aNodes.push(l);\n    }\n\n    var d1 = dro(108,'sine',.22,0); lfx(d1.g.gain,.065,.045);\n    dro(216,'triangle',.11,-1.8); dro(216,'triangle',.09,1.8);\n    var d3 = dro(432,'sine',.065,0); lfx(d3.g.gain,.11,.05);\n\n    var SR = c.sampleRate, buf = c.createBuffer(1,SR*5,SR), dt = buf.getChannelData(0);\n    var b0=0,b1=0,b2=0,b3=0,b4=0,b5=0,b6=0;\n    for (var i=0; i<dt.length; i++) {\n      var w = Math.random()*2-1;\n      b0=.99886*b0+w*.0555179; b1=.99332*b1+w*.0750759; b2=.969*b2+w*.153852;\n      b3=.8665*b3+w*.310486;  b4=.55*b4+w*.532952;    b5=-.7616*b5-w*.016898;\n      dt[i]=(b0+b1+b2+b3+b4+b5+b6+w*.5362)*.09; b6=w*.115926;\n    }\n    var src = c.createBufferSource(); src.buffer = buf; src.loop = true;\n    var flt = c.createBiquadFilter(); flt.type = 'lowpass'; flt.frequency.value = 290;\n    var ng = c.createGain(); ng.gain.value = .14;\n    var bl = c.createOscillator(), blg = c.createGain();\n    bl.type = 'sine'; bl.frequency.value = .045; blg.gain.value = .07;\n    bl.connect(blg); blg.connect(ng.gain); bl.start();\n    src.connect(flt); flt.connect(ng); ng.connect(aGain); src.start();\n    aNodes.push(src, bl);\n\n    function sched() {\n      if (!aRunning) return;\n      chTout = setTimeout(function() { if (!aRunning) return; softChime(); sched(); }, 26000 + Math.random()*14000);\n    }\n    sched();\n  }\n\n  function softChime() {\n    try {\n      var c = getCtx(), t = c.currentTime;\n      [528,396,264].forEach(function(f, i) {\n        var o = c.createOscillator(), g = c.createGain();\n        o.type = 'sine'; o.frequency.value = f;\n        g.gain.setValueAtTime(0, t+i*.1);\n        g.gain.linearRampToValueAtTime(.08-i*.02, t+i*.1+.04);\n        g.gain.exponentialRampToValueAtTime(.0001, t+i*.1+4);\n        o.connect(g); g.connect(c.destination); o.start(t+i*.1); o.stop(t+i*.1+4);\n      });\n    } catch(e) {}\n  }\n\n  function stopAmbient() {\n    if (!aRunning) return; aRunning = false; clearTimeout(chTout);\n    if (aGain) {\n      var c = getCtx(), n = c.currentTime;\n      aGain.gain.setValueAtTime(aGain.gain.value, n);\n      aGain.gain.linearRampToValueAtTime(0, n + 3);\n      setTimeout(function() {\n        aNodes.forEach(function(x){ try{ x.stop(); }catch(e){} });\n        aNodes = []; aGain = null;\n      }, 3200);\n    }\n  }\n\n  function ripple() {\n    var ct = document.getElementById('mtt-ripple-cont');\n    for (var i=0; i<3; i++) {\n      (function(idx) {\n        var r = document.createElement('div'); r.className = 'mtt-ripple';\n        var s = 80 + idx*60;\n        r.style.cssText = 'width:'+s+'px;height:'+s+'px;animation-delay:'+(idx*.35)+'s';\n        ct.appendChild(r); setTimeout(function(){ r.remove(); }, 2600);\n      })(i);\n    }\n  }\n\n  \/* \u2500\u2500 TIMER \u2500\u2500 *\/\n  function tick() {\n    if (remaining <= 0) {\n      clearInterval(timerInt); timerInt = null; running = false;\n      rp.classList.remove('pulse'); setPhase('complete');\n      stopAmbient(); playBell(396, 6);\n      sessions++; totalMin += Math.round(totalSec \/ 60);\n      document.getElementById('mtt-sess-cnt').textContent = sessions;\n      document.getElementById('mtt-sess-min').textContent = totalMin;\n      setTimeout(function(){ document.getElementById('mtt-done-overlay').classList.add('show'); }, 1800);\n      return;\n    }\n    remaining--;\n    syncAll();\n    var f = remaining \/ totalSec;\n    if (f > .66)      setPhase('settle in');\n    else if (f > .33) setPhase('breathe deeply');\n    else              setPhase('returning slowly');\n    if (activeTab === 'interval' && remaining > 0 && remaining === nextBell) {\n      softChime();\n      nextBell = Math.max(0, remaining - parseInt(document.getElementById('mtt-int-bell').value || 5) * 60);\n    }\n  }\n\n  function startAll() {\n    if (running) return;\n    if (activeTab === 'interval') {\n      var sm = parseInt(document.getElementById('mtt-int-sess').value) || 5;\n      var bm = parseInt(document.getElementById('mtt-int-bell').value) || 5;\n      totalSec = sm*60; remaining = sm*60; nextBell = remaining - bm*60;\n      syncAll();\n    }\n    running = true; rp.classList.add('pulse');\n    setBtnLabel('Pause');\n    playBell(528, 2.5); startAmbient();\n    timerInt = setInterval(tick, 1000);\n  }\n\n  function pauseAll() {\n    clearInterval(timerInt); timerInt = null; running = false;\n    rp.classList.remove('pulse'); stopAmbient();\n    setPhase('paused'); setBtnLabel('Resume');\n  }\n\n  function resetAll() {\n    clearInterval(timerInt); timerInt = null; running = false;\n    rp.classList.remove('pulse'); stopAmbient();\n    remaining = totalSec; syncAll(); setPhase('ready'); setBtnLabel('Begin');\n  }\n\n  function handleMain() { if (!running) startAll(); else pauseAll(); }\n\n  \/* \u2500\u2500 TABS \u2500\u2500 *\/\n  document.querySelectorAll('.mtt-tool .mtt-tab').forEach(function(t) {\n    t.addEventListener('click', function() {\n      if (running) pauseAll();\n      document.querySelectorAll('.mtt-tool .mtt-tab').forEach(function(x){ x.classList.remove('active'); });\n      document.querySelectorAll('.mtt-tool .mtt-panel').forEach(function(x){ x.classList.remove('active'); });\n      t.classList.add('active');\n      activeTab = t.dataset.tab;\n      document.getElementById('mtt-panel-' + activeTab).classList.add('active');\n      resetAll();\n    });\n  });\n\n  \/* \u2500\u2500 BELL \u2500\u2500 *\/\n  function toggleBell() {\n    bellOn = !bellOn;\n    ['mtt-bell1','mtt-bell2','mtt-bell3'].forEach(function(id) {\n      var el = document.getElementById(id); if (!el) return;\n      el.textContent = bellOn ? '\ud83d\udd14' : '\ud83d\udd15';\n      el.classList.toggle('off', !bellOn);\n    });\n  }\n\n  \/* \u2500\u2500 BINDINGS \u2500\u2500 *\/\n  ['mtt-main1','mtt-main2','mtt-main3'].forEach(function(id) {\n    var el = document.getElementById(id); if (el) el.addEventListener('click', handleMain);\n  });\n  ['mtt-reset1','mtt-reset2','mtt-reset3'].forEach(function(id) {\n    var el = document.getElementById(id); if (el) el.addEventListener('click', resetAll);\n  });\n  ['mtt-bell1','mtt-bell2','mtt-bell3'].forEach(function(id) {\n    var el = document.getElementById(id); if (el) el.addEventListener('click', toggleBell);\n  });\n\n  document.getElementById('mtt-int-sess').addEventListener('input', function(e) {\n    document.getElementById('mtt-int-time').textContent = fmt((parseInt(e.target.value) || 5) * 60);\n  });\n\n  document.getElementById('mtt-done-close').addEventListener('click', function() {\n    document.getElementById('mtt-done-overlay').classList.remove('show');\n    resetAll();\n  });\n\n  \/* \u2500\u2500 INIT \u2500\u2500 *\/\n  syncAll();\n  sliderFill();\n\n})(); \/* end IIFE *\/\n<\/script>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">Online Meditation Timer for Mindfulness Practice<\/h2>\n\n\n\n<p class=\"has-text-align-center\">Find calmness and balance with the most popular free online meditation timer in the world \u2014trusted by more than 10,000 plus meditators. Regardless of whether you are a beginner or an advanced practitioner, our mindfulness timer will make you develop a regular and soothing routine with genuine, peaceful sounds for adjustable periods, and a distraction-free interface, without checking the clock.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">Popular Meditation Timer Durations<\/h2>\n\n\n\n<h3 class=\"wp-block-heading has-text-align-center\">5 Minute Meditation Timer<\/h3>\n\n\n\n<p class=\"has-text-align-center\">A short session of 5 minutes is best for beginners to start the habit of mindfulness. With the meditation alarm, pause, breathe, reset, and reflect. You might feel overwhelmed at first, but the sounds of the meditation gong timer will help you relax and concentrate.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-align-center\">10 Minute Meditation Timer<\/h3>\n\n\n\n<p class=\"has-text-align-center\">The meditation timer of 10 minutes is best for you to reflect on your life on a daily basis. It will help you reduce stress and build consistency.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-align-center\">20 Minute Meditation Timer<\/h3>\n\n\n\n<p class=\"has-text-align-center\">Designed for deeper meditation, this duration allows you to immerse fully in calm and awareness for lasting benefits. Start your meditation timer for 20 minutes now.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">Why Choose Meditation Timer Online?<\/h2>\n\n\n\n<p class=\"has-text-align-center\"><strong>Free and Web-Based:<\/strong> Instantly functions in any browser and does not need to be downloaded.<br><br><strong>Quick Presets: <\/strong>With our meditation clock, you can preset the timer for 1, 2, 5, 10, 15, 20, 30 minutes, or even 1 hour.<br><br><strong>Real Sound:<\/strong> Tibetan bells and gongs are used to create the experience of calmness.<br><br><strong>Personalize Sessions: <\/strong>Select duration, number of warm-ups, and background, everything as you need it to be.&nbsp;<br><br><strong>Available Anywhere:<\/strong> Our mindfulness timer will give you the liberty to meditate anywhere \u2013 from your desktop, tablet, or mobile browser. You can use this meditation clock anywhere, anytime.&nbsp;<\/p>\n\n\n\n<p class=\"has-text-align-center\"><strong>Perfect for Every Level<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-center\"><strong>Beginners-<\/strong> begin with 1-5 minute sessions to relieve stress and develop a habit.<br><strong><br>Intermediate &#8211;<\/strong> Get deeper, increase your time minute by minute, and take it to 10-20 minute sessions.<br><br><strong>Advanced &#8211;<\/strong> Unlock 25-30 minute sessions with individualized intervals.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">The benefits of Mindfulness Timer<\/h2>\n\n\n\n<p class=\"has-text-align-center\"><strong>Be Here Now &#8211; <\/strong>You do not have to look at the clock. All you have to do is be on time by starting the Mindfulness timer and allowing the sounds to put you in the deep state where you become one with the divine.<br><br><strong>Regularity &#8211;<\/strong> You can develop a daily meditation practice with its regular use.<br><br><strong>Deeper Focus &#8211;<\/strong> Interval chimes are there to keep you focused. Breaks every now and then will help you relax and you will be in a better position to explore more the state of connection with spirituality.<br> <br><strong>Flexibility &#8211;<\/strong> Silence, bells, or the sounds of the environment- your choice. Choose what calms you.<br><br><strong>No Download Required &#8211;<\/strong> There is no need to download anything or subscribe to anything. The meditation timer can now be enjoyed online.<\/p>\n\n\n\n<p class=\"has-text-align-center\"><strong>Start Your Journey Today<br><\/strong>Change your meditation practice with Meditation Timer Online.<br><strong>Begin with a free session now.<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-center\"><\/p>\n\n\n\n<p class=\"has-text-align-center\"><br><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Looking for a meditation timer online? Use this free meditation timer to stay focused during mindfulness practice. Set your session length, choose customizable intervals and bells, and start your meditation instantly.Stop searching for peace\u2014experience it now with the online meditation timer.Press begin and start your journey now. \u23f1Count Down \ud83d\udd50Duration \ud83d\udd14Interval 05:00 ready 0 Sessions &#8230; <a title=\"Temporizador de Medita\u00e7\u00e3o Online\" class=\"read-more\" href=\"https:\/\/meditationtimeronline.com\/pt-br\/\" aria-label=\"Read more about Meditation Timer Online\">Read more<\/a><\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-11","page","type-page","status-publish"],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/meditationtimeronline.com\/pt-br\/wp-json\/wp\/v2\/pages\/11","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/meditationtimeronline.com\/pt-br\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/meditationtimeronline.com\/pt-br\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/meditationtimeronline.com\/pt-br\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/meditationtimeronline.com\/pt-br\/wp-json\/wp\/v2\/comments?post=11"}],"version-history":[{"count":19,"href":"https:\/\/meditationtimeronline.com\/pt-br\/wp-json\/wp\/v2\/pages\/11\/revisions"}],"predecessor-version":[{"id":155,"href":"https:\/\/meditationtimeronline.com\/pt-br\/wp-json\/wp\/v2\/pages\/11\/revisions\/155"}],"wp:attachment":[{"href":"https:\/\/meditationtimeronline.com\/pt-br\/wp-json\/wp\/v2\/media?parent=11"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}