{"id":222,"date":"2026-07-12T15:12:40","date_gmt":"2026-07-12T15:12:40","guid":{"rendered":"https:\/\/oks.digital\/?page_id=222"},"modified":"2026-07-12T15:12:42","modified_gmt":"2026-07-12T15:12:42","slug":"prayer-times-ras-al-khaimah","status":"publish","type":"page","link":"https:\/\/oks.digital\/ar\/prayer-times-ras-al-khaimah\/","title":{"rendered":"Ras Al Khaimah Prayer Times Today"},"content":{"rendered":"\n<style data-wp-block-html=\"css\">\n#rak-prayer-page,\n#rak-prayer-page * {\n  box-sizing: border-box;\n}\n\n#rak-prayer-page {\n  --rak-dark: #10251b;\n  --rak-green: #176b43;\n  --rak-green-dark: #0f4f31;\n  --rak-green-light: #e7f6ee;\n  --rak-text: #53645b;\n  --rak-border: #dceae2;\n  --rak-soft: #f5faf7;\n  --rak-gold-soft: #fff8e9;\n  --rak-white: #ffffff;\n  color: var(--rak-text);\n}\n\n.rak-wrap {\n  width: min(1120px, 92%);\n  margin: 0 auto;\n}\n\n.rak-hero {\n  padding: 38px 0 58px;\n  background:\n    radial-gradient(\n      circle at 88% 14%,\n      rgba(23, 107, 67, 0.12),\n      transparent 28%\n    ),\n    linear-gradient(\n      135deg,\n      #f3fbf7 0%,\n      #ffffff 55%,\n      #eef8f3 100%\n    );\n}\n\n.rak-breadcrumb {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 7px;\n  align-items: center;\n  margin-bottom: 32px;\n  color: #718078;\n  font-size: 13px;\n}\n\n.rak-breadcrumb a {\n  color: var(--rak-green);\n  text-decoration: none;\n}\n\n.rak-hero-grid {\n  display: grid;\n  grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.72fr);\n  gap: 42px;\n  align-items: center;\n}\n\n.rak-badge,\n.rak-eyebrow {\n  display: inline-block;\n  color: var(--rak-green);\n  font-size: 14px;\n  font-weight: 700;\n}\n\n.rak-badge {\n  padding: 8px 14px;\n  border: 1px solid #c8e5d4;\n  border-radius: 999px;\n  background: var(--rak-green-light);\n}\n\n.rak-eyebrow {\n  margin-bottom: 9px;\n  letter-spacing: 0.04em;\n  text-transform: uppercase;\n}\n\n.rak-hero h1 {\n  max-width: 760px;\n  margin: 18px 0;\n  color: var(--rak-dark);\n  font-size: clamp(36px, 5vw, 59px);\n  font-weight: 800;\n  letter-spacing: -1.4px;\n  line-height: 1.07;\n}\n\n.rak-hero-content > p {\n  max-width: 730px;\n  margin: 0 0 21px;\n  font-size: 18px;\n  line-height: 1.75;\n}\n\n.rak-location {\n  display: inline-flex;\n  gap: 8px;\n  align-items: center;\n  padding: 9px 13px;\n  border-radius: 10px;\n  background: rgba(255, 255, 255, 0.78);\n  color: #3d5046;\n  font-size: 14px;\n  font-weight: 700;\n}\n\n.rak-next-card {\n  padding: 27px;\n  border: 1px solid var(--rak-border);\n  border-radius: 22px;\n  background: var(--rak-white);\n  box-shadow: 0 18px 48px rgba(16, 37, 27, 0.11);\n}\n\n.rak-next-label {\n  display: inline-block;\n  margin-bottom: 17px;\n  color: var(--rak-green);\n  font-size: 13px;\n  font-weight: 800;\n  text-transform: uppercase;\n}\n\n.rak-next-main {\n  display: flex;\n  gap: 20px;\n  align-items: flex-end;\n  justify-content: space-between;\n}\n\n.rak-next-main strong,\n.rak-next-main span,\n.rak-countdown-wrap span,\n.rak-countdown-wrap strong {\n  display: block;\n}\n\n.rak-next-main > div:first-child strong {\n  color: var(--rak-dark);\n  font-size: 30px;\n}\n\n.rak-next-main > div:first-child span {\n  margin-top: 4px;\n  color: var(--rak-green);\n  font-size: 22px;\n  font-weight: 800;\n}\n\n.rak-countdown-wrap {\n  text-align: right;\n}\n\n.rak-countdown-wrap span {\n  margin-bottom: 4px;\n  font-size: 11px;\n}\n\n.rak-countdown-wrap strong {\n  color: var(--rak-dark);\n  font-size: 20px;\n}\n\n.rak-next-card > p {\n  margin: 17px 0 0;\n  padding-top: 15px;\n  border-top: 1px solid var(--rak-border);\n  font-size: 13px;\n}\n\n.rak-today-section,\n.rak-content-section {\n  padding: 66px 0;\n  background: var(--rak-white);\n}\n\n.rak-section-heading {\n  display: flex;\n  gap: 24px;\n  align-items: flex-end;\n  justify-content: space-between;\n  margin-bottom: 27px;\n}\n\n.rak-section-heading h2,\n.rak-content-section h2 {\n  margin: 0;\n  color: var(--rak-dark);\n  font-size: clamp(28px, 4vw, 40px);\n  line-height: 1.18;\n}\n\n.rak-section-heading p {\n  max-width: 700px;\n  margin: 11px 0 0;\n  font-size: 16px;\n  line-height: 1.7;\n}\n\n.rak-date-display {\n  min-width: 210px;\n  text-align: right;\n}\n\n.rak-date-display strong,\n.rak-date-display span {\n  display: block;\n}\n\n.rak-date-display strong {\n  color: var(--rak-dark);\n}\n\n.rak-date-display span {\n  margin-top: 4px;\n  font-size: 13px;\n}\n\n.rak-status {\n  min-height: 21px;\n  margin-bottom: 13px;\n  font-size: 13px;\n}\n\n.rak-error {\n  margin-bottom: 16px;\n  padding: 13px 15px;\n  border-left: 4px solid #c43b35;\n  border-radius: 10px;\n  background: #fff1f1;\n  color: #8c2823;\n}\n\n.rak-prayer-grid {\n  display: grid;\n  grid-template-columns: repeat(6, minmax(0, 1fr));\n  gap: 13px;\n}\n\n.rak-prayer-card {\n  padding: 18px 14px;\n  border: 1px solid var(--rak-border);\n  border-radius: 16px;\n  background: linear-gradient(180deg, #ffffff, #f7fbf9);\n  text-align: center;\n}\n\n.rak-prayer-card.rak-sunrise {\n  background: linear-gradient(180deg, #fffdf8, var(--rak-gold-soft));\n}\n\n.rak-prayer-icon {\n  display: flex;\n  width: 43px;\n  height: 43px;\n  align-items: center;\n  justify-content: center;\n  margin: 0 auto 11px;\n  border-radius: 13px;\n  background: var(--rak-green-light);\n  font-size: 21px;\n}\n\n.rak-prayer-name,\n.rak-prayer-card time,\n.rak-prayer-card small {\n  display: block;\n}\n\n.rak-prayer-name {\n  color: #41544a;\n  font-size: 14px;\n  font-weight: 700;\n}\n\n.rak-prayer-card time {\n  margin: 7px 0 5px;\n  color: var(--rak-green);\n  font-size: 18px;\n  font-weight: 800;\n  white-space: nowrap;\n}\n\n.rak-prayer-card small {\n  color: #7b8881;\n  font-size: 11px;\n}\n\n.rak-settings {\n  margin-top: 25px;\n  padding: 22px;\n  border: 1px solid var(--rak-border);\n  border-radius: 16px;\n  background: var(--rak-soft);\n}\n\n.rak-settings-heading h3 {\n  margin: 0 0 4px;\n  color: var(--rak-dark);\n}\n\n.rak-settings-heading p {\n  margin: 0;\n  font-size: 13px;\n}\n\n.rak-settings-grid {\n  display: grid;\n  grid-template-columns: 1.3fr 0.8fr auto;\n  gap: 12px;\n  align-items: end;\n  margin-top: 17px;\n}\n\n.rak-field label,\n.rak-calendar-controls label {\n  display: block;\n  margin-bottom: 6px;\n  color: #41544a;\n  font-size: 12px;\n  font-weight: 700;\n}\n\n.rak-field select,\n.rak-calendar-controls select {\n  width: 100%;\n  min-height: 46px;\n  padding: 10px;\n  border: 1px solid #cbded4;\n  border-radius: 10px;\n  background: var(--rak-white);\n  font: inherit;\n}\n\n.rak-button {\n  min-height: 46px;\n  padding: 11px 18px;\n  border: 0;\n  border-radius: 10px;\n  background: var(--rak-green);\n  color: var(--rak-white);\n  cursor: pointer;\n  font: inherit;\n  font-weight: 700;\n}\n\n.rak-button:hover {\n  background: var(--rak-green-dark);\n}\n\n.rak-button:disabled,\n.rak-field select:disabled,\n.rak-calendar-controls select:disabled {\n  opacity: 0.6;\n}\n\n.rak-settings-note {\n  margin: 13px 0 0;\n  font-size: 12px;\n}\n\n.rak-calendar-section {\n  padding: 66px 0;\n  background: var(--rak-soft);\n}\n\n.rak-calendar-controls {\n  display: grid;\n  grid-template-columns: 145px 105px;\n  gap: 9px;\n}\n\n.rak-table-wrap {\n  overflow-x: auto;\n  border: 1px solid var(--rak-border);\n  border-radius: 15px;\n  background: var(--rak-white);\n}\n\n.rak-calendar-table {\n  width: 100%;\n  min-width: 800px;\n  border-collapse: collapse;\n}\n\n.rak-calendar-table th,\n.rak-calendar-table td {\n  padding: 13px 12px;\n  border-bottom: 1px solid #e8f0eb;\n  text-align: center;\n  white-space: nowrap;\n}\n\n.rak-calendar-table th {\n  background: var(--rak-green);\n  color: var(--rak-white);\n  font-size: 12px;\n  text-transform: uppercase;\n}\n\n.rak-calendar-table td {\n  color: #405249;\n  font-size: 13px;\n}\n\n.rak-calendar-table tbody tr.rak-today-row {\n  background: #e9f7ef;\n  font-weight: 700;\n}\n\n.rak-calendar-table td small {\n  display: block;\n  margin-top: 3px;\n  color: #7a8980;\n  font-size: 10px;\n}\n\n.rak-scroll-note {\n  margin: 10px 0 0;\n  font-size: 12px;\n}\n\n.rak-content-grid {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.58fr);\n  gap: 47px;\n}\n\n.rak-content-grid article > p {\n  margin: 17px 0 0;\n  font-size: 16px;\n  line-height: 1.8;\n}\n\n.rak-information-card {\n  padding: 25px;\n  border: 1px solid var(--rak-border);\n  border-radius: 17px;\n  background: var(--rak-soft);\n}\n\n.rak-information-card h3 {\n  margin: 0 0 15px;\n  color: var(--rak-dark);\n}\n\n.rak-information-card dl {\n  margin: 0;\n}\n\n.rak-information-card dl > div {\n  padding: 12px 0;\n  border-bottom: 1px solid var(--rak-border);\n}\n\n.rak-information-card dt {\n  margin-bottom: 3px;\n  font-size: 11px;\n  font-weight: 700;\n  text-transform: uppercase;\n}\n\n.rak-information-card dd {\n  margin: 0;\n  color: #34483d;\n  font-size: 14px;\n  font-weight: 700;\n}\n\n.rak-soft-section {\n  background: var(--rak-soft);\n}\n\n.rak-explanation-grid {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 17px;\n}\n\n.rak-explanation-grid article {\n  padding: 21px;\n  border: 1px solid var(--rak-border);\n  border-radius: 15px;\n  background: var(--rak-white);\n}\n\n.rak-explanation-grid h3 {\n  margin: 0 0 8px;\n  color: var(--rak-dark);\n  font-size: 18px;\n}\n\n.rak-explanation-grid p {\n  margin: 0;\n  font-size: 14px;\n  line-height: 1.65;\n}\n\n.rak-faq-list {\n  display: grid;\n  gap: 11px;\n  max-width: 900px;\n}\n\n.rak-faq {\n  border: 1px solid var(--rak-border);\n  border-radius: 13px;\n}\n\n.rak-faq summary {\n  position: relative;\n  padding: 17px 50px 17px 19px;\n  color: var(--rak-dark);\n  cursor: pointer;\n  font-weight: 700;\n  list-style: none;\n}\n\n.rak-faq summary::-webkit-details-marker {\n  display: none;\n}\n\n.rak-faq summary::after {\n  position: absolute;\n  top: 50%;\n  right: 19px;\n  color: var(--rak-green);\n  content: \"+\";\n  font-size: 23px;\n  transform: translateY(-50%);\n}\n\n.rak-faq[open] summary::after {\n  content: \"\u2212\";\n}\n\n.rak-faq p {\n  margin: 0;\n  padding: 0 19px 18px;\n  font-size: 14px;\n  line-height: 1.7;\n}\n\n.rak-official-note {\n  display: grid;\n  grid-template-columns: 48px 1fr;\n  gap: 16px;\n  margin-top: 30px;\n  padding: 25px;\n  border: 1px solid #d2e7db;\n  border-left: 5px solid var(--rak-green);\n  border-radius: 16px;\n  background: var(--rak-soft);\n}\n\n.rak-note-icon {\n  display: flex;\n  width: 46px;\n  height: 46px;\n  align-items: center;\n  justify-content: center;\n  border-radius: 13px;\n  background: var(--rak-green-light);\n}\n\n.rak-official-note h2 {\n  margin-bottom: 7px;\n  font-size: 23px;\n}\n\n.rak-official-note p {\n  margin: 0 0 10px;\n  font-size: 14px;\n  line-height: 1.7;\n}\n\n.rak-official-note a {\n  color: var(--rak-green);\n  font-weight: 700;\n  text-decoration: none;\n}\n\n@media (max-width: 980px) {\n  .rak-prayer-grid {\n    grid-template-columns: repeat(3, 1fr);\n  }\n\n  .rak-explanation-grid {\n    grid-template-columns: repeat(2, 1fr);\n  }\n}\n\n@media (max-width: 820px) {\n  .rak-hero-grid,\n  .rak-content-grid {\n    grid-template-columns: 1fr;\n  }\n\n  .rak-section-heading {\n    display: grid;\n  }\n\n  .rak-date-display {\n    text-align: left;\n  }\n\n  .rak-settings-grid {\n    grid-template-columns: 1fr 1fr;\n  }\n\n  .rak-button {\n    grid-column: 1 \/ -1;\n  }\n}\n\n@media (max-width: 620px) {\n  .rak-hero {\n    padding: 28px 0 43px;\n  }\n\n  .rak-hero h1 {\n    font-size: 36px;\n  }\n\n  .rak-next-main {\n    display: grid;\n  }\n\n  .rak-countdown-wrap {\n    text-align: left;\n  }\n\n  .rak-today-section,\n  .rak-calendar-section,\n  .rak-content-section {\n    padding: 48px 0;\n  }\n\n  .rak-prayer-grid {\n    grid-template-columns: repeat(2, 1fr);\n  }\n\n  .rak-settings-grid,\n  .rak-explanation-grid {\n    grid-template-columns: 1fr;\n  }\n\n  .rak-calendar-controls {\n    grid-template-columns: 1fr 1fr;\n  }\n\n  .rak-official-note {\n    grid-template-columns: 1fr;\n  }\n}\n<\/style>\n\n<script data-wp-block-html=\"js\">\n(function () {\n  \"use strict\";\n\n  const API_BASE = \"https:\/\/api.aladhan.com\/v1\";\n  const CITY = \"Ras Al Khaimah\";\n  const COUNTRY = \"United Arab Emirates\";\n  const TIMEZONE = \"Asia\/Dubai\";\n  const REQUEST_TIMEOUT = 12000;\n\n  let countdownInterval = null;\n\n  function initializeRakPrayerPage() {\n    const page = document.getElementById(\n      \"rak-prayer-page\"\n    );\n\n    if (!page) {\n      return;\n    }\n\n    const methodSelect =\n      document.getElementById(\"rak-method\");\n\n    const schoolSelect =\n      document.getElementById(\"rak-school\");\n\n    const reloadButton =\n      document.getElementById(\"rak-reload\");\n\n    const statusBox =\n      document.getElementById(\"rak-status\");\n\n    const errorBox =\n      document.getElementById(\"rak-error\");\n\n    const monthSelect =\n      document.getElementById(\"rak-month\");\n\n    const yearSelect =\n      document.getElementById(\"rak-year\");\n\n    const calendarStatus =\n      document.getElementById(\n        \"rak-calendar-status\"\n      );\n\n    const calendarBody =\n      document.getElementById(\n        \"rak-calendar-body\"\n      );\n\n    const prayerNames = [\n      \"Fajr\",\n      \"Sunrise\",\n      \"Dhuhr\",\n      \"Asr\",\n      \"Maghrib\",\n      \"Isha\"\n    ];\n\n    const countdownNames = [\n      \"Fajr\",\n      \"Dhuhr\",\n      \"Asr\",\n      \"Maghrib\",\n      \"Isha\"\n    ];\n\n    function getRakDateParts(offsetDays) {\n      const shiftedDate = new Date(\n        Date.now() + (offsetDays || 0) * 86400000\n      );\n\n      const parts = new Intl.DateTimeFormat(\n        \"en-GB\",\n        {\n          timeZone: TIMEZONE,\n          year: \"numeric\",\n          month: \"2-digit\",\n          day: \"2-digit\"\n        }\n      ).formatToParts(shiftedDate);\n\n      const values = {};\n\n      parts.forEach(function (part) {\n        if (part.type !== \"literal\") {\n          values[part.type] = Number(part.value);\n        }\n      });\n\n      return {\n        year: values.year,\n        month: values.month,\n        day: values.day\n      };\n    }\n\n    function getApiDate(dateParts) {\n      return (\n        String(dateParts.day).padStart(2, \"0\") +\n        \"-\" +\n        String(dateParts.month).padStart(2, \"0\") +\n        \"-\" +\n        dateParts.year\n      );\n    }\n\n    function cleanTime(value) {\n      if (!value || typeof value !== \"string\") {\n        return \"--:--\";\n      }\n\n      return value.split(\" \")[0];\n    }\n\n    function formatTime(value) {\n      const cleanValue = cleanTime(value);\n      const parts = cleanValue.split(\":\");\n\n      if (parts.length < 2) {\n        return cleanValue;\n      }\n\n      let hour = parseInt(parts[0], 10);\n      const minute = parts[1];\n\n      if (Number.isNaN(hour)) {\n        return cleanValue;\n      }\n\n      const period = hour >= 12 ? \"PM\" : \"AM\";\n      hour = hour % 12 || 12;\n\n      return hour + \":\" + minute + \" \" + period;\n    }\n\n    function getMethod() {\n      return methodSelect.value || \"16\";\n    }\n\n    function getSchool() {\n      return schoolSelect.value || \"0\";\n    }\n\n    async function fetchJson(url) {\n      const controller = new AbortController();\n\n      const timeoutId = window.setTimeout(\n        function () {\n          controller.abort();\n        },\n        REQUEST_TIMEOUT\n      );\n\n      try {\n        const response = await fetch(url, {\n          method: \"GET\",\n          headers: {\n            Accept: \"application\/json\"\n          },\n          signal: controller.signal\n        });\n\n        if (!response.ok) {\n          throw new Error(\n            \"The prayer-time service could not be reached.\"\n          );\n        }\n\n        const result = await response.json();\n\n        if (\n          !result ||\n          Number(result.code) !== 200 ||\n          !result.data\n        ) {\n          throw new Error(\n            \"Prayer-time information is unavailable.\"\n          );\n        }\n\n        return result.data;\n      } catch (error) {\n        if (error.name === \"AbortError\") {\n          throw new Error(\n            \"The request took too long. Please check your internet connection.\"\n          );\n        }\n\n        throw error;\n      } finally {\n        window.clearTimeout(timeoutId);\n      }\n    }\n\n    async function fetchDay(dateParts) {\n      const parameters = new URLSearchParams({\n        city: CITY,\n        country: COUNTRY,\n        method: getMethod(),\n        school: getSchool()\n      });\n\n      const url =\n        API_BASE +\n        \"\/timingsByCity\/\" +\n        getApiDate(dateParts) +\n        \"?\" +\n        parameters.toString();\n\n      return fetchJson(url);\n    }\n\n    async function fetchCalendar(year, month) {\n      const parameters = new URLSearchParams({\n        city: CITY,\n        country: COUNTRY,\n        method: getMethod(),\n        school: getSchool()\n      });\n\n      const url =\n        API_BASE +\n        \"\/calendarByCity\/\" +\n        year +\n        \"\/\" +\n        month +\n        \"?\" +\n        parameters.toString();\n\n      return fetchJson(url);\n    }\n\n    function setLoading(isLoading) {\n      reloadButton.disabled = isLoading;\n      methodSelect.disabled = isLoading;\n      schoolSelect.disabled = isLoading;\n\n      reloadButton.textContent = isLoading\n        ? \"Loading...\"\n        : \"Update Timings\";\n    }\n\n    function showError(message) {\n      errorBox.textContent = message;\n      errorBox.hidden = false;\n      statusBox.textContent = \"\";\n    }\n\n    function clearError() {\n      errorBox.textContent = \"\";\n      errorBox.hidden = true;\n    }\n\n    function parseRakTime(dateParts, timeValue) {\n      const parts = cleanTime(timeValue).split(\":\");\n\n      return Date.UTC(\n        dateParts.year,\n        dateParts.month - 1,\n        dateParts.day,\n        Number(parts[0]) - 4,\n        Number(parts[1]),\n        0\n      );\n    }\n\n    function startCountdown(\n      prayerName,\n      timeValue,\n      dateParts\n    ) {\n      if (countdownInterval) {\n        window.clearInterval(countdownInterval);\n      }\n\n      const nameElement =\n        document.getElementById(\"rak-next-name\");\n\n      const timeElement =\n        document.getElementById(\"rak-next-time\");\n\n      const countdownElement =\n        document.getElementById(\"rak-countdown\");\n\n      const noteElement =\n        document.getElementById(\"rak-next-note\");\n\n      const targetTime = parseRakTime(\n        dateParts,\n        timeValue\n      );\n\n      nameElement.textContent = prayerName;\n      timeElement.textContent = formatTime(timeValue);\n\n      noteElement.textContent =\n        prayerName === \"Fajr tomorrow\"\n          ? \"The next prayer is tomorrow\u2019s Fajr.\"\n          : \"The next prayer today is \" +\n            prayerName +\n            \".\";\n\n      function updateCountdown() {\n        const difference = targetTime - Date.now();\n\n        if (difference <= 0) {\n          countdownElement.textContent = \"00:00:00\";\n          window.clearInterval(countdownInterval);\n\n          window.setTimeout(function () {\n            loadToday();\n          }, 1500);\n\n          return;\n        }\n\n        const totalSeconds = Math.floor(\n          difference \/ 1000\n        );\n\n        const hours = Math.floor(\n          totalSeconds \/ 3600\n        );\n\n        const minutes = Math.floor(\n          (totalSeconds % 3600) \/ 60\n        );\n\n        const seconds = totalSeconds % 60;\n\n        countdownElement.textContent =\n          String(hours).padStart(2, \"0\") +\n          \":\" +\n          String(minutes).padStart(2, \"0\") +\n          \":\" +\n          String(seconds).padStart(2, \"0\");\n      }\n\n      updateCountdown();\n\n      countdownInterval = window.setInterval(\n        updateCountdown,\n        1000\n      );\n    }\n\n    async function findNextPrayer(\n      todayData,\n      todayParts\n    ) {\n      const now = Date.now();\n\n      for (\n        let index = 0;\n        index < countdownNames.length;\n        index++\n      ) {\n        const prayerName = countdownNames[index];\n\n        const prayerTime =\n          todayData.timings[prayerName];\n\n        const timestamp = parseRakTime(\n          todayParts,\n          prayerTime\n        );\n\n        if (timestamp > now) {\n          startCountdown(\n            prayerName,\n            prayerTime,\n            todayParts\n          );\n\n          return;\n        }\n      }\n\n      const tomorrowParts = getRakDateParts(1);\n      const tomorrowData = await fetchDay(tomorrowParts);\n\n      startCountdown(\n        \"Fajr tomorrow\",\n        tomorrowData.timings.Fajr,\n        tomorrowParts\n      );\n    }\n\n    function getHijriText(data) {\n      const hijri = data.date?.hijri;\n\n      if (!hijri) {\n        return \"Hijri date unavailable\";\n      }\n\n      if (\n        !hijri.day ||\n        !hijri.month?.en ||\n        !hijri.year\n      ) {\n        return \"Hijri date unavailable\";\n      }\n\n      return (\n        hijri.day +\n        \" \" +\n        hijri.month.en +\n        \" \" +\n        hijri.year +\n        \" AH\"\n      );\n    }\n\n    function displayToday(data, dateParts) {\n      prayerNames.forEach(function (prayerName) {\n        const element = document.getElementById(\n          \"rak-\" + prayerName\n        );\n\n        if (!element) {\n          return;\n        }\n\n        element.textContent = formatTime(\n          data.timings[prayerName]\n        );\n\n        element.setAttribute(\n          \"datetime\",\n          cleanTime(data.timings[prayerName])\n        );\n      });\n\n      document.getElementById(\n        \"rak-gregorian-date\"\n      ).textContent =\n        data.date?.readable || \"Date unavailable\";\n\n      document.getElementById(\n        \"rak-hijri-date\"\n      ).textContent = getHijriText(data);\n\n      statusBox.textContent =\n        \"Ras Al Khaimah prayer times loaded successfully.\";\n\n      findNextPrayer(data, dateParts).catch(\n        function (error) {\n          console.error(\"Next-prayer error:\", error);\n\n          document.getElementById(\n            \"rak-next-note\"\n          ).textContent =\n            \"The next-prayer countdown is temporarily unavailable.\";\n        }\n      );\n    }\n\n    async function loadToday() {\n      const todayParts = getRakDateParts(0);\n\n      clearError();\n      setLoading(true);\n\n      statusBox.textContent =\n        \"Loading today\u2019s Ras Al Khaimah prayer times...\";\n\n      try {\n        const data = await fetchDay(todayParts);\n        displayToday(data, todayParts);\n      } catch (error) {\n        console.error(\n          \"Today prayer-time error:\",\n          error\n        );\n\n        showError(\n          error.message ||\n            \"Unable to load today\u2019s prayer times.\"\n        );\n      } finally {\n        setLoading(false);\n      }\n    }\n\n    function populateYears() {\n      const currentYear =\n        getRakDateParts(0).year;\n\n      yearSelect.innerHTML = \"\";\n\n      for (\n        let year = currentYear - 1;\n        year <= currentYear + 2;\n        year++\n      ) {\n        const option =\n          document.createElement(\"option\");\n\n        option.value = String(year);\n        option.textContent = String(year);\n\n        if (year === currentYear) {\n          option.selected = true;\n        }\n\n        yearSelect.appendChild(option);\n      }\n    }\n\n    function displayCalendar(\n      data,\n      selectedYear,\n      selectedMonth\n    ) {\n      const todayParts = getRakDateParts(0);\n\n      calendarBody.innerHTML = \"\";\n\n      data.forEach(function (dayData) {\n        const row = document.createElement(\"tr\");\n        const gregorian = dayData.date.gregorian;\n        const hijri = dayData.date.hijri;\n        const dayNumber = Number(gregorian.day);\n\n        const sameYear =\n          selectedYear === todayParts.year;\n\n        const sameMonth =\n          selectedMonth === todayParts.month;\n\n        const sameDay =\n          dayNumber === todayParts.day;\n\n        if (sameYear) {\n          if (sameMonth) {\n            if (sameDay) {\n              row.classList.add(\"rak-today-row\");\n            }\n          }\n        }\n\n        const dateCell =\n          document.createElement(\"td\");\n\n        dateCell.textContent =\n          gregorian.day +\n          \" \" +\n          gregorian.month.en.slice(0, 3);\n\n        const hijriSmall =\n          document.createElement(\"small\");\n\n        hijriSmall.textContent =\n          hijri.day +\n          \" \" +\n          hijri.month.en.slice(0, 3);\n\n        dateCell.appendChild(hijriSmall);\n        row.appendChild(dateCell);\n\n        const dayCell =\n          document.createElement(\"td\");\n\n        dayCell.textContent =\n          gregorian.weekday.en;\n\n        row.appendChild(dayCell);\n\n        prayerNames.forEach(\n          function (prayerName) {\n            const cell =\n              document.createElement(\"td\");\n\n            cell.textContent = formatTime(\n              dayData.timings[prayerName]\n            );\n\n            row.appendChild(cell);\n          }\n        );\n\n        calendarBody.appendChild(row);\n      });\n\n      calendarStatus.textContent =\n        \"Monthly Ras Al Khaimah prayer timetable loaded.\";\n    }\n\n    async function loadMonthlyCalendar() {\n      const selectedMonth =\n        Number(monthSelect.value);\n\n      const selectedYear =\n        Number(yearSelect.value);\n\n      monthSelect.disabled = true;\n      yearSelect.disabled = true;\n\n      calendarStatus.textContent =\n        \"Loading monthly Ras Al Khaimah prayer timetable...\";\n\n      try {\n        const data = await fetchCalendar(\n          selectedYear,\n          selectedMonth\n        );\n\n        displayCalendar(\n          data,\n          selectedYear,\n          selectedMonth\n        );\n      } catch (error) {\n        console.error(\n          \"Monthly calendar error:\",\n          error\n        );\n\n        calendarStatus.textContent =\n          error.message ||\n          \"Unable to load the monthly timetable.\";\n      } finally {\n        monthSelect.disabled = false;\n        yearSelect.disabled = false;\n      }\n    }\n\n    function reloadAllTimings() {\n      loadToday();\n      loadMonthlyCalendar();\n    }\n\n    const currentDate = getRakDateParts(0);\n\n    populateYears();\n\n    monthSelect.value =\n      String(currentDate.month);\n\n    yearSelect.value =\n      String(currentDate.year);\n\n    reloadButton.addEventListener(\n      \"click\",\n      reloadAllTimings\n    );\n\n    monthSelect.addEventListener(\n      \"change\",\n      loadMonthlyCalendar\n    );\n\n    yearSelect.addEventListener(\n      \"change\",\n      loadMonthlyCalendar\n    );\n\n    loadToday();\n    loadMonthlyCalendar();\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\n      \"DOMContentLoaded\",\n      initializeRakPrayerPage\n    );\n  } else {\n    initializeRakPrayerPage();\n  }\n})();\n<\/script>\n\n<main id=\"rak-prayer-page\">\n\n  <section class=\"rak-hero\">\n    <div class=\"rak-wrap\">\n\n      <nav class=\"rak-breadcrumb\" aria-label=\"Breadcrumb\">\n        <a href=\"\/\">Home<\/a>\n        <span>\u203a<\/span>\n        <a href=\"\/prayer-times\/\">Prayer Times<\/a>\n        <span>\u203a<\/span>\n        <span>Ras Al Khaimah<\/span>\n      <\/nav>\n\n      <div class=\"rak-hero-grid\">\n\n        <div class=\"rak-hero-content\">\n          <span class=\"rak-badge\">\ud83d\udd4c Ras Al Khaimah Salah Timings<\/span>\n\n          <h1>Ras Al Khaimah Prayer Times Today<\/h1>\n\n          <p>\n            Check today\u2019s Fajr, Sunrise, Dhuhr, Asr, Maghrib and Isha prayer\n            times in Ras Al Khaimah, United Arab Emirates. View the next prayer\n            and complete monthly Salah timetable.\n          <\/p>\n\n          <div class=\"rak-location\">\n            <span aria-hidden=\"true\">\ud83d\udccd<\/span>\n            Ras Al Khaimah, United Arab Emirates\n          <\/div>\n        <\/div>\n\n        <div class=\"rak-next-card\">\n          <span class=\"rak-next-label\">Next prayer<\/span>\n\n          <div class=\"rak-next-main\">\n            <div>\n              <strong id=\"rak-next-name\">Loading...<\/strong>\n              <span id=\"rak-next-time\">--:--<\/span>\n            <\/div>\n\n            <div class=\"rak-countdown-wrap\">\n              <span>Time remaining<\/span>\n              <strong id=\"rak-countdown\">--:--:--<\/strong>\n            <\/div>\n          <\/div>\n\n          <p id=\"rak-next-note\">\n            Calculating the next prayer in Ras Al Khaimah.\n          <\/p>\n        <\/div>\n\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"rak-today-section\">\n    <div class=\"rak-wrap\">\n\n      <div class=\"rak-section-heading\">\n        <div>\n          <span class=\"rak-eyebrow\">Today\u2019s schedule<\/span>\n          <h2>Prayer Times in Ras Al Khaimah Today<\/h2>\n        <\/div>\n\n        <div class=\"rak-date-display\">\n          <strong id=\"rak-gregorian-date\">Loading date...<\/strong>\n          <span id=\"rak-hijri-date\">Loading Hijri date...<\/span>\n        <\/div>\n      <\/div>\n\n      <div\n        id=\"rak-status\"\n        class=\"rak-status\"\n        role=\"status\"\n        aria-live=\"polite\"\n      >\n        Loading today\u2019s Ras Al Khaimah prayer times...\n      <\/div>\n\n      <div id=\"rak-error\" class=\"rak-error\" role=\"alert\" hidden><\/div>\n\n      <div class=\"rak-prayer-grid\">\n\n        <article class=\"rak-prayer-card\">\n          <span class=\"rak-prayer-icon\" aria-hidden=\"true\">\ud83c\udf0c<\/span>\n          <span class=\"rak-prayer-name\">Fajr<\/span>\n          <time id=\"rak-Fajr\">--:--<\/time>\n          <small>Dawn prayer<\/small>\n        <\/article>\n\n        <article class=\"rak-prayer-card rak-sunrise\">\n          <span class=\"rak-prayer-icon\" aria-hidden=\"true\">\ud83c\udf05<\/span>\n          <span class=\"rak-prayer-name\">Sunrise<\/span>\n          <time id=\"rak-Sunrise\">--:--<\/time>\n          <small>Sunrise time<\/small>\n        <\/article>\n\n        <article class=\"rak-prayer-card\">\n          <span class=\"rak-prayer-icon\" aria-hidden=\"true\">\u2600\ufe0f<\/span>\n          <span class=\"rak-prayer-name\">Dhuhr<\/span>\n          <time id=\"rak-Dhuhr\">--:--<\/time>\n          <small>Midday prayer<\/small>\n        <\/article>\n\n        <article class=\"rak-prayer-card\">\n          <span class=\"rak-prayer-icon\" aria-hidden=\"true\">\ud83c\udf24\ufe0f<\/span>\n          <span class=\"rak-prayer-name\">Asr<\/span>\n          <time id=\"rak-Asr\">--:--<\/time>\n          <small>Afternoon prayer<\/small>\n        <\/article>\n\n        <article class=\"rak-prayer-card\">\n          <span class=\"rak-prayer-icon\" aria-hidden=\"true\">\ud83c\udf07<\/span>\n          <span class=\"rak-prayer-name\">Maghrib<\/span>\n          <time id=\"rak-Maghrib\">--:--<\/time>\n          <small>Sunset prayer<\/small>\n        <\/article>\n\n        <article class=\"rak-prayer-card\">\n          <span class=\"rak-prayer-icon\" aria-hidden=\"true\">\ud83c\udf19<\/span>\n          <span class=\"rak-prayer-name\">Isha<\/span>\n          <time id=\"rak-Isha\">--:--<\/time>\n          <small>Night prayer<\/small>\n        <\/article>\n\n      <\/div>\n\n      <div class=\"rak-settings\">\n        <div class=\"rak-settings-heading\">\n          <h3>Calculation Settings<\/h3>\n          <p>Change the settings if your mosque follows another method.<\/p>\n        <\/div>\n\n        <div class=\"rak-settings-grid\">\n\n          <div class=\"rak-field\">\n            <label for=\"rak-method\">Calculation method<\/label>\n\n            <select id=\"rak-method\">\n              <option value=\"16\">Dubai\/UAE preset \u2013 Experimental<\/option>\n              <option value=\"8\">Gulf Region<\/option>\n              <option value=\"3\">Muslim World League<\/option>\n              <option value=\"4\">Umm Al-Qura, Makkah<\/option>\n              <option value=\"1\">University of Karachi<\/option>\n            <\/select>\n          <\/div>\n\n          <div class=\"rak-field\">\n            <label for=\"rak-school\">Asr calculation<\/label>\n\n            <select id=\"rak-school\">\n              <option value=\"0\">Standard<\/option>\n              <option value=\"1\">Hanafi<\/option>\n            <\/select>\n          <\/div>\n\n          <button type=\"button\" id=\"rak-reload\" class=\"rak-button\">\n            Update Timings\n          <\/button>\n\n        <\/div>\n\n        <p class=\"rak-settings-note\">\n          These are calculated times. Official Ras Al Khaimah mosque timings\n          may include local adjustments.\n        <\/p>\n      <\/div>\n\n    <\/div>\n  <\/section>\n\n  <section class=\"rak-calendar-section\">\n    <div class=\"rak-wrap\">\n\n      <div class=\"rak-section-heading\">\n        <div>\n          <span class=\"rak-eyebrow\">Monthly calendar<\/span>\n          <h2>Ras Al Khaimah Monthly Prayer Timetable<\/h2>\n\n          <p>\n            Select a month to view the complete daily Salah timetable for\n            Ras Al Khaimah.\n          <\/p>\n        <\/div>\n\n        <div class=\"rak-calendar-controls\">\n          <div>\n            <label for=\"rak-month\">Month<\/label>\n\n            <select id=\"rak-month\">\n              <option value=\"1\">January<\/option>\n              <option value=\"2\">February<\/option>\n              <option value=\"3\">March<\/option>\n              <option value=\"4\">April<\/option>\n              <option value=\"5\">May<\/option>\n              <option value=\"6\">June<\/option>\n              <option value=\"7\">July<\/option>\n              <option value=\"8\">August<\/option>\n              <option value=\"9\">September<\/option>\n              <option value=\"10\">October<\/option>\n              <option value=\"11\">November<\/option>\n              <option value=\"12\">December<\/option>\n            <\/select>\n          <\/div>\n\n          <div>\n            <label for=\"rak-year\">Year<\/label>\n            <select id=\"rak-year\"><\/select>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <div\n        id=\"rak-calendar-status\"\n        class=\"rak-status\"\n        role=\"status\"\n        aria-live=\"polite\"\n      >\n        Loading monthly timetable...\n      <\/div>\n\n      <div class=\"rak-table-wrap\">\n        <table class=\"rak-calendar-table\">\n          <thead>\n            <tr>\n              <th>Date<\/th>\n              <th>Day<\/th>\n              <th>Fajr<\/th>\n              <th>Sunrise<\/th>\n              <th>Dhuhr<\/th>\n              <th>Asr<\/th>\n              <th>Maghrib<\/th>\n              <th>Isha<\/th>\n            <\/tr>\n          <\/thead>\n\n          <tbody id=\"rak-calendar-body\"><\/tbody>\n        <\/table>\n      <\/div>\n\n      <p class=\"rak-scroll-note\">\n        On mobile, move the table left or right to view all prayer times.\n      <\/p>\n\n    <\/div>\n  <\/section>\n\n  <section class=\"rak-content-section\">\n    <div class=\"rak-wrap\">\n\n      <div class=\"rak-content-grid\">\n\n        <article>\n          <span class=\"rak-eyebrow\">Daily Salah in Ras Al Khaimah<\/span>\n\n          <h2>About Ras Al Khaimah Prayer Times<\/h2>\n\n          <p>\n            Prayer times in Ras Al Khaimah change slightly every day because\n            they are connected to the position of the sun. Fajr begins before\n            sunrise, Dhuhr begins after midday, Asr is in the afternoon,\n            Maghrib begins after sunset and Isha begins at night.\n          <\/p>\n\n          <p>\n            This page helps residents, workers and visitors check Salah times\n            in areas including Al Nakheel, Al Dhait, Al Hamra, Mina Al Arab,\n            Khuzam, Julphar and central Ras Al Khaimah.\n          <\/p>\n\n          <p>\n            Ras Al Khaimah is located north of the other major UAE cities, so\n            its prayer times can differ by several minutes. Follow your local\n            mosque for congregational prayer.\n          <\/p>\n        <\/article>\n\n        <aside class=\"rak-information-card\">\n          <h3>RAK Prayer Information<\/h3>\n\n          <dl>\n            <div>\n              <dt>Location<\/dt>\n              <dd>Ras Al Khaimah, UAE<\/dd>\n            <\/div>\n\n            <div>\n              <dt>Timezone<\/dt>\n              <dd>Asia\/Dubai \u2013 UTC+4<\/dd>\n            <\/div>\n\n            <div>\n              <dt>Daily prayers<\/dt>\n              <dd>Fajr, Dhuhr, Asr, Maghrib and Isha<\/dd>\n            <\/div>\n\n            <div>\n              <dt>Short name<\/dt>\n              <dd>RAK<\/dd>\n            <\/div>\n          <\/dl>\n        <\/aside>\n\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"rak-content-section rak-soft-section\">\n    <div class=\"rak-wrap\">\n\n      <div class=\"rak-section-heading\">\n        <div>\n          <span class=\"rak-eyebrow\">Helpful guidance<\/span>\n          <h2>Understanding Ras Al Khaimah Salah Times<\/h2>\n        <\/div>\n      <\/div>\n\n      <div class=\"rak-explanation-grid\">\n\n        <article>\n          <h3>Fajr time in Ras Al Khaimah<\/h3>\n          <p>\n            Fajr begins at dawn before sunrise. Its calculated time depends\n            on the selected calculation method and Fajr angle.\n          <\/p>\n        <\/article>\n\n        <article>\n          <h3>Dhuhr time in Ras Al Khaimah<\/h3>\n          <p>\n            Dhuhr begins after the sun passes its highest point during the\n            middle of the day.\n          <\/p>\n        <\/article>\n\n        <article>\n          <h3>Asr time in Ras Al Khaimah<\/h3>\n          <p>\n            Asr is the afternoon prayer. Standard and Hanafi calculations may\n            show different starting times.\n          <\/p>\n        <\/article>\n\n        <article>\n          <h3>Maghrib time in Ras Al Khaimah<\/h3>\n          <p>\n            Maghrib begins shortly after sunset. During Ramadan, it marks the\n            beginning of the daily fasting break.\n          <\/p>\n        <\/article>\n\n        <article>\n          <h3>Isha time in Ras Al Khaimah<\/h3>\n          <p>\n            Isha begins after evening twilight and may differ according to the\n            selected calculation method.\n          <\/p>\n        <\/article>\n\n        <article>\n          <h3>Friday prayer in Ras Al Khaimah<\/h3>\n          <p>\n            Confirm Friday prayer arrangements with your local mosque or the\n            responsible UAE Islamic authority.\n          <\/p>\n        <\/article>\n\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"rak-content-section\">\n    <div class=\"rak-wrap\">\n\n      <div class=\"rak-section-heading\">\n        <div>\n          <span class=\"rak-eyebrow\">Common questions<\/span>\n          <h2>Ras Al Khaimah Prayer Times FAQs<\/h2>\n        <\/div>\n      <\/div>\n\n      <div class=\"rak-faq-list\">\n\n        <details class=\"rak-faq\">\n          <summary>What are today\u2019s prayer times in Ras Al Khaimah?<\/summary>\n          <p>\n            Today\u2019s Fajr, Sunrise, Dhuhr, Asr, Maghrib and Isha times are\n            displayed at the top of this page and updated daily.\n          <\/p>\n        <\/details>\n\n        <details class=\"rak-faq\">\n          <summary>Are RAK and Dubai prayer times the same?<\/summary>\n          <p>\n            Not always. Small differences occur because Ras Al Khaimah and\n            Dubai have different geographical locations.\n          <\/p>\n        <\/details>\n\n        <details class=\"rak-faq\">\n          <summary>Why are my mosque\u2019s times slightly different?<\/summary>\n          <p>\n            Your mosque may use official local adjustments or another\n            calculation method. Follow your mosque for congregational prayer.\n          <\/p>\n        <\/details>\n\n        <details class=\"rak-faq\">\n          <summary>What is Standard and Hanafi Asr?<\/summary>\n          <p>\n            These methods use different shadow-length calculations to\n            determine when Asr begins.\n          <\/p>\n        <\/details>\n\n      <\/div>\n\n      <div class=\"rak-official-note\">\n        <div class=\"rak-note-icon\" aria-hidden=\"true\">\u2139\ufe0f<\/div>\n\n        <div>\n          <h2>Important Accuracy Note<\/h2>\n\n          <p>\n            These are automatically calculated prayer times and may differ\n            slightly from official Ras Al Khaimah timings. Confirm important\n            times with your local mosque or the UAE Islamic authority.\n          <\/p>\n\n          <a href=\"https:\/\/www.awqaf.gov.ae\/prayer-times?lang=en\" target=\"_blank\" rel=\"noopener noreferrer\">\n            Check official UAE prayer timings \u2192\n          <\/a>\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/section>\n\n<\/main>\n","protected":false},"excerpt":{"rendered":"<p>Home \u203a Prayer Times \u203a Ras Al Khaimah \ud83d\udd4c Ras Al Khaimah Salah Timings Ras Al Khaimah Prayer Times Today Check today\u2019s Fajr, Sunrise, Dhuhr, Asr, Maghrib and Isha prayer times in Ras Al Khaimah, United Arab Emirates. View the next prayer and complete monthly Salah timetable. \ud83d\udccd Ras Al Khaimah, United Arab Emirates Next&#8230;<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-222","page","type-page","status-publish","hentry"],"taxonomy_info":[],"featured_image_src_large":false,"author_info":{"display_name":"kashi883@gmail.com","author_link":"https:\/\/oks.digital\/ar\/author\/kashi883gmail-com\/"},"comment_info":0,"_links":{"self":[{"href":"https:\/\/oks.digital\/ar\/wp-json\/wp\/v2\/pages\/222","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oks.digital\/ar\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/oks.digital\/ar\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/oks.digital\/ar\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oks.digital\/ar\/wp-json\/wp\/v2\/comments?post=222"}],"version-history":[{"count":1,"href":"https:\/\/oks.digital\/ar\/wp-json\/wp\/v2\/pages\/222\/revisions"}],"predecessor-version":[{"id":223,"href":"https:\/\/oks.digital\/ar\/wp-json\/wp\/v2\/pages\/222\/revisions\/223"}],"wp:attachment":[{"href":"https:\/\/oks.digital\/ar\/wp-json\/wp\/v2\/media?parent=222"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}