1<!DOCTYPE html> 2<html lang="en"> 3 4<head> 5 <meta charset="UTF-8"> 6 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 7 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 8 <title>Radisson Blu Islamabad</title> 9<meta name='robots' content='max-image-preview:large' /> 10<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://radissonbluislamabad.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fradissonbluislamabad.com%2F" /> 11<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://radissonbluislamabad.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fradissonbluislamabad.com%2F&format=xml" /> 12<style id="wp-img-auto-sizes-contain-inline-css"> 13img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 14/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 15</style> 16<style id="wp-emoji-styles-inline-css"> 17 18 img.wp-smiley, img.emoji { 19 display: inline !important; 20 border: none !important; 21 box-shadow: none !important; 22 height: 1em !important; 23 width: 1em !important; 24 margin: 0 0.07em !important; 25 vertical-align: -0.1em !important; 26 background: none !important; 27 padding: 0 !important; 28 } 29/*# sourceURL=wp-emoji-styles-inline-css */ 30</style> 31<style id="wp-block-library-inline-css"> 32:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
32--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}} 33 34/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */ 35</style> 36<style id="classic-theme-styles-inline-css"> 37/*! This file is auto-generated */ 38.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} 39/*# sourceURL=/wp-includes/css/classic-themes.min.css */ 40</style> 41 42<style id="global-styles-inline-css"> 43:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,
430) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
43.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} 44/*# sourceURL=global-styles-inline-css */ 45</style> 46 47<link rel="https://api.w.org/" href="https://radissonbluislamabad.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://radissonbluislamabad.com/wp-json/wp/v2/pages/8" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://radissonbluislamabad.com/xmlrpc.php?rsd" /> 48<meta name="generator" content="WordPress 7.1.2" /> 49<link rel="canonical" href="https://radissonbluislamabad.com/" /> 50<link rel='shortlink' href='https://radissonbluislamabad.com/' /> 51<link rel="icon" href="https://radissonbluislamabad.com/wp-content/uploads/2026/09/cropped-BLU.jpg-32x32.jpeg" sizes="32x32" /> 52<link rel="icon" href="https://radissonbluislamabad.com/wp-content/uploads/2026/09/cropped-BLU.jpg-192x192.jpeg" sizes="192x192" /> 53<link rel="apple-touch-icon" href="https://radissonbluislamabad.com/wp-content/uploads/2026/09/cropped-BLU.jpg-180x180.jpeg" /> 54<meta name="msapplication-TileImage" content="https://radissonbluislamabad.com/wp-content/uploads/2026/09/cropped-BLU.jpg-270x270.jpeg" /> 55 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> 56 <link rel="preconnect" href="https://fonts.googleapis.com"> 57 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 58 <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700&display=swap" 59 rel="stylesheet"> 60 <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;700;800;900&display=swap" 61 rel="stylesheet"> 62 63 <link rel="preconnect" href="https://fonts.googleapis.com"> 64 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 65 <link href="https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&display=swap" rel="stylesheet"> 66 67 <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet"> 68 <link rel="stylesheet" href="https://radissonbluislamabad.com/wp-content/themes/radisson/assets/css/style.css?v=1790902472"> 69 <!-- Owl Carousel CSS --> 70 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/assets/owl.carousel.min.css"> 71 <link rel="stylesheet" 72 href="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/assets/owl.theme.default.min.css"> 73 <!-- intl-tel-input CSS --> 74 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.8/css/intlTelInput.min.css" /> 75 76 <!-- jQuery FIRST --> 77
77<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
77 78 79 <!-- Owl Carousel --> 80
80<script src="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/owl.carousel.min.js"></script>
80 81 82 <!-- Bootstrap (needs Popper) --> 83
83<script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js"></script>
83 84
84<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js"></script>
84 85 86 <!-- Other plugins --> 87
87<script src="https://apps.elfsight.com/p/platform.js" defer></script>
87 88
88<script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/jquery.validate.min.js"></script>
88 89
89<script src="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.8/js/intlTelInput.min.js"></script>
89 90
90<script src="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.8/js/utils.js"></script>
90 91 <header class="fixed-header" data-speed="0"> 92 <div class="container-fluid px-md-12 py-xxl-3 py-md-2 px-0"> 93 <div class="row"> 94 <div class="col-md-12"> 95 <nav class="navbar navbar-expand-lg custom-nav"> 96 <div class="container-fluid"> 97 <div class="w-100"> 98 <div class="row align-items-center"> 99 <div class="col-4"> 100 <ul class="navbar-nav justify-content-start mb-lg-0"> 101 <li class="nav-item text-start"> 102 <a 103 class="nav-link menu" 104 data-bs-toggle="offcanvas" 105 href="#offcanvasExample" 106 role="button" 107 aria-controls="offcanvasExample"> 108 <svg 109 xmlns="http://www.w3.org/2000/svg" 110 width="29"
111 viewBox="0 0 38 16" 112 fill="black" 113 stroke-width="0.7"> 114 <path 115 d="M15.0044 7.00071C19.567 7.00071 24.1281 7.00071 28.6908 7.00071C29.5187 7.00071 30.0366 7.42295 29.998 8.05694C29.9713 8.49725 29.5988 8.87429 29.0944 8.95564C28.9133 8.98534 28.7264 8.99825 28.5424 8.99825C19.5166 9.00083 10.4907 9.00213 1.46636 8.99051C1.12658 8.99051 0.751183 8.90528 0.457394 8.76067C0.0449031 8.55665 -0.0841858 8.09439 0.052322 7.70702C0.191797 7.31061 0.57758 7.03945 1.05833 7.00717C1.20522 6.99684 1.35508 7.00071 1.50346 7.00071C6.00377 7.00071 10.5041 7.00071 15.0044 7.00071Z" 116 fill="black" /> 117 <path 118 d="M10.0029 14.0007C13.0447 14.0007 16.0854 14.0007 19.1272 14.0007C19.6791 14.0007 20.0244 14.4229 19.9987 15.0569C19.9809 15.4973 19.7326 15.8743 19.3962 15.9556C19.2756 15.9853 19.1509 15.9983 19.0283 15.9983C13.011 16.0008 6.99381 16.0021 0.977577 15.9905C0.751053 15.9905 0.500788 15.9053 0.304929 15.7607C0.0299354 15.5567 -0.0561239 15.0944 0.0348813 14.707C0.127865 14.3106 0.385054 14.0394 0.70555 14.0072C0.80348 13.9968 0.903388 14.0007 1.00231 14.0007C4.00251 14.0007 7.00272 14.0007 10.0029 14.0007Z" 119 fill="black" /> 120 <path 121 d="M19.0055 0.000711342C24.7849 0.000711342 30.5623 0.000711342 36.3416 0.000711342C37.3904 0.000711342 38.0463 0.422945 37.9974 1.05694C37.9636 1.49725 37.4919 1.87429 36.8529 1.95564C36.6236 1.98534 36.3868 1.99825 36.1537 1.99825C24.721 2.00083 13.2882 2.00213 1.8574 1.99051C1.427 1.99051 0.951498 1.90528 0.579366 1.76067C0.0568772 1.55665 -0.106635 1.09439 0.0662745 0.707017C0.242943 0.310608 0.731602 0.0394488 1.34055 0.00716791C1.52661 -0.00316197 1.71644 0.000711342 1.90438 0.000711342C7.60477 0.000711342 13.3052 0.000711342 19.0055 0.000711342Z" 122 fill="black" /> 123 </svg> 124 </a> 125 <!-- Trigger Button --> 126 </li> 127 </ul> 128 </div> 129 <div class="col-4"> 130 <ul class="navbar-nav mb-lg-0 justify-content-center"> 131 <li class="nav-item"> 132 <a 133 class="navbar-brand main-grid justify-content-center" 134 href="https://radissonbluislamabad.com/"> 135 <img 136 src="https://radissonbluislamabad.com/wp-content/uploads/2026/08/Radisson-BLU-Islamabad-White-Logo.svg" 137 alt="img" 138 class="logo-img logo-1" /> 139 <img 140 src="https://radissonbluislamabad.com/wp-content/uploads/2026/08/Radisson-BLU-Islamabad-Black-Logo.svg" 141 alt="img" 142 class="logo-img logo-2 d-none" /> 143 </a> 144 </li> 145 </ul> 146 </div> 147 <div class="col-4"> 148 <ul class="ps-0 mb-0 d-flex justify-content-end mb-lg-0 align-items-center"> 149 <li class="nav-item text-end d-block"> 150 <a 151 class="contact contact-btn bg-none text-dark s-ui-font" 152 style="text-transform: uppercase" 153 href="https://radissonbluislamabad.com/contact-us">Contact</a> 154 </li> 155 <li class="nav-item dropdown text-end ms-3 d-block"> 156 <button 157 class="contact contact-btn bg-none text-dark s-ui-font account-menu-toggle" 158 type="button" 159 data-bs-toggle="dropdown" 160 aria-expanded="false" 161 aria-label="Open account menu"> 162 <svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 28 28" fill="none" aria-hidden="true" focusable="false"> 163 <circle cx="14" cy="14" r="14" fill="#081a3a"></circle> 164 <path fill-rule="evenodd" clip-rule="evenodd" d="M10.7185 9.71553C10.7202 11.7588 12.3811 13.4149 14.4292 13.4149H14.43C16.4797 13.4149 18.1366 11.762 18.1366 9.71553C18.1374 7.66903 16.487 6.00972 14.4397 6.00004C12.3964 5.99036 10.7169 7.66741 10.7185 9.71553ZM8 20.7442H20.813V20.7434C20.8168 20.7319 20.8203 20.7231 20.8231 20.7159C20.8274 20.7048 20.8303 20.6975 20.8308 20.6901C20.8332 20.6635 20.834 20.6361 20.8332 20.6095C20.7945 19.3454 20.4726 18.1661 19.7297 17.1295C18.852 15.9042 17.6856 15.2282 16.1376 15.2605C15.2926 15.2784 14.4468 15.2742 13.601 15.2699C13.2301 15.268 12.8591 15.2661 12.4883 15.2661C11.588 15.2669 10.7854 15.5557 10.086 16.1156C8.98413 16.9972 8.39042 18.1758 8.13713 19.5398C8.08748 19.808 8.06273 20.0806 8.03759 20.3576C8.02598 20.4855 8.01428 20.6144 8 20.7442Z" fill="white"></path> 165 </svg> 166 </button> 167 <ul class="dropdown-menu dropdown-menu-end ps-2 ps-md-0"> 168 <li><a class="dropdown-item text-black" href="https://radissonbluislamabad.com/login/">Customer Login</a></li> 169 <li><a class="dropdown-item text-black" href="https://global.konnectops.com/login">Employee Login</a></li> 170 </ul> 171 </li> 172 </ul> 173 </div> 174 </div> 175 </div> 176 </div> 177 </nav> 178 </div> 179 </div> 180 </div> 181 </header> 182 183 184 <!-- Offcanvas Menu --> 185 <div 186 class="offcanvas offcanvas-start custom-offcanvas-transition" 187 tabindex="-1" 188 id="offcanvasExample" 189 aria-labelledby="offcanvasExampleLabel" 190 data-bs-scroll="false" 191 data-bs-backdrop="true" 192 > 193 <div class="offcanvas-header pe-3" style="right: 17px;position: absolute;top: 19px;"> 194 <button 195 type="button" 196 class="btn-close text-reset" 197 data-bs-dismiss="offcanvas" 198 aria-label="Close" 199 id="sideMenuClosBtn" 200 ></button> 201 </div> 202 203 <div 204 class="offcanvas-body text-center d-grid align-items-center justify-content-center" 205 > 206 <ul class="list-unstyled sidebar-ul text-center"> 207 <!-- <li class="pb-md-8 pb-12"> 208 <a 209 class="contact blod-a bg-none text-dark s-ui-font active" 210 href="index.html" 211 > 212 <img 213 class="img-fluid" 214 src="https://radissonbluislamabad.com/wp-content/uploads/2026/08/Radisson-BLU-Islamabad-Black-Logo.svg" 215 alt="img" 216 /></a> 217 </li> --> 218 <li> 219 <a 220 class="contact blod-a bg-none text-dark s-ui-font active" 221 href="https://radissonbluislamabad.com/" 222 aria-current="page" >Home</a 223 > 224 </li> 225 <li> 226 <a 227 class="contact blod-a bg-none text-dark s-ui-font" 228 href="https://radissonbluislamabad.com/about-us" 229 >About Us</a 230 > 231 </li> 232 <li> 233 <a 234 class="contact blod-a bg-none text-dark s-ui-font" 235 href="https://radissonbluislamabad.com/one-bed-residential-suite" 236 >Residential Suite</a 237 > 238 </li> 239 <li> 240 <a 241 class="contact blod-a bg-none text-dark s-ui-font" 242 href="https://radissonbluislamabad.com/deluxe-suite" 243 >Deluxe Suite</a 244 > 245 </li> 246 <li> 247 <a 248 class="contact blod-a bg-none text-dark s-ui-font" 249 href="https://radissonbluislamabad.com/branded-shops" 250 >Branded Shops</a 251 > 252 </li> 253 254 <li> 255 <a 256 class="contact blod-a bg-none text-dark s-ui-font" 257 href="https://radissonbluislamabad.com/news" 258 >News</a 259 > 260 </li> 261 <!-- <li> 262 <a 263 class="contact blod-a bg-none text-dark s-ui-font" 264 href="https://radissonbluislamabad.com/blog" 265 >Blogs</a 266 > 267 </li> --> 268 <li> 269 <a 270 class="contact blod-a bg-none text-dark s-ui-font" 271 href="https://radissonbluislamabad.com/events" 272 >Events</a 273 > 274 </li> 275 <!-- <li> 276 <a 277 class="contact blod-a bg-none text-dark s-ui-font" 278 href="https://radissonbluislamabad.com/contact-us" 279 >Contact Us</a 280 > 281 </li> --> 282 <li> 283 <a 284 class="contact blod-a bg-none text-dark s-ui-font" 285 href="https://radissonbluislamabad.com/careers" 286 >Careers</a 287 > 288 </li> 289 290 <li class="pt-md-7 pt-11"> 291 <a 292 class="contact btn sign-in-btn blod-a bg-none text-dark s-ui-font" 293 href="https://radissonbluislamabad.com/contact-us" 294 >CONTACT US 295 <div class="submit_btn_overlay h-100"></div 296 ></a> 297 </li> 298 </ul> 299 </div> 300 </div> 301 302 <!-- modal --> 303 304 <style> 305 .book_now_modal { 306 z-index: 99999999999999; 307 } 308 309 .book_now_modal .modal-header, 310 .book_now_modal label { 311 color: #000000; 312 } 313 314 .btn-close { 315 background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%17479E'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center / 1em auto
315no-repeat; 316 /* box-shadow: 0 0 4px 1px rgba(0, 0, 0, 0.274) !important; */ 317 } 318 319 .menu_model { 320 position: absolute; 321 top: 7px; 322 right: 7px; 323 } 324 325 #exampleModalToggle22 .live-cctv-modal-close { 326 width: 34px; 327 height: 34px; 328 padding: 0; 329 opacity: 1; 330 border-radius: 50%; 331 background-color: #ffffff; 332 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3E%3C/svg%3E"); 333 background-size: 14px; 334 background-position: center; 335 background-image: none; 336 color: #17479e; 337 font-size: 28px; 338 line-height: 34px; 339 text-align: center; 340 } 341 342 #exampleModalToggle22 .live-cctv-modal-close::before { 343 content: "Ã"; 344 } 345 </style> 346 347 <div class="modal fade book_now_modal" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" 348 aria-hidden="true"> 349 <div class="modal-dialog h-100 align-items-center m-auto mb-0 mt-0 d-grid"> 350 <div class="modal-content"> 351 <div class="modal-header"> 352 <span class="modal-title ps-md-3" id="exampleModalToggleLabel"><b style="font-size: 22px;">Book 353 Now</b></span> 354 <button type="button" class="btn-close shadow-sm menu_model" data-bs-dismiss="modal" 355 aria-label="Close"></button> 356 </div> 357 <div class="modal-body"> 358 <form method="post" action="/thank-you" class="px-md-3 request_acall needs-validation" id="crmForm" 359 validate> 360 361 <div class="form-group mb-3"> 362 <label for="full_name" style="display: block;">Full Name:</label> 363 <input type="text" placeholder="Enter Your Name" id="full_name" 364 class="form-control mb-3 ps-3 rounded-0" name="full_name" required> 365 </div> 366 <div class="form-group d-grid mb-3"> 367 <label for="full_name" style="display: block;">Phone:</label> 368 <input type="hidden" name="phone" id="mobile"> 369 <input size="40" id="mobile_contact" class="rounded-0 form-control mb-4 ps-3 ContactNoError" type="tel" required> 370 </div> 371 <div class="form-group d-grid mb-3"> 372 <label style="display: block;">Email Address:</label> 373 <input type="email" placeholder="Enter Your Email" id="email" class="rounded-0 form-control mb-0 ps-3" 374 name="email" required> 375 </div> 376 <div class="form-group mb-3"> 377 <label style="display: block;">Project Interest:</label> 378 <select class="form-control rounded-0" name="project-interest"> 379 <option value="--None--">--None--</option> 380 <option value="Hotel Suite Residences">Hotel Suite Residences</option> 381 <option value="Branded Luxury Shops">Branded Luxury Shops</option> 382 <option value="Any other">Any other</option> 383 </select> 384 </div> 385 <div class="form-group mb-3"> 386 <label style="display: block;">Primary Address City:</label> 387 <input size="40" id="address" class="form-control rounded-0" type="text" name="address"> 388 </div> 389 <div class="form-group mt-2 mb-3"> 390 <button id="submitCrmData1" class="btn button1_1" type="submit"> 391 Send 392 </button> 393 </div> 394 </form> 395 </div> 396 </div> 397 </div> 398 </div> 399 400 <!-- Modal --> 401 402 <!-- Live CCTV --> 403 <div class="modal fade" style="z-index: 1212121221" id="exampleModalToggle22" aria-hidden="true" aria-labelledby="exampleModalToggleLabel" 404 tabindex="-1"> 405 <div class="modal-dialog modal-lg modal-dialog-centered"> 406 <div class="modal-content"> 407 <div class="modal-header">
408 <span class="modal-title ps-md-3 text-center text-dark" id="exampleModalToggleLabel"><b style="font-size: 22px;">Live Construction</b></span> 409 <button type="button" class="btn-close shadow-sm menu_model live-cctv-modal-close" data-bs-dismiss="modal" aria-label="Close"></button> 410 </div> 411 <div class="modal-body"> 412 <iframe width="100%" height="480" class="liv_cctv_cm" src="https://rtsp.me/embed/r76r3hRt/" frameborder="0" allowfullscreen></iframe> 413 </div> 414 415 </div> 416 </div> 417 </div> 418 419 <!-- Live CCTV --> 420 421 422 423<style> 424 .iti__selected-flag { 425 height: 25px !important; 426 } 427 428 .play_bbtn { 429 position: absolute; 430 top: 43%; 431 left: 0; 432 right: 0; 433 margin: auto; 434 background: white; 435 color: black; 436 width: 130px; 437 height: 130px; 438 margin: auto; 439 align-items: center; 440 display: grid; 441 border-radius: 100%; 442 text-decoration: none; 443 font-size: 21px; 444 transition: 0.9s; 445 font-weight: 500; 446 } 447 448 .play_bbtn:hover { 449 background: #0165FC; 450 color: white; 451 } 452 453 .logo_main { 454 top: 0; 455 bottom: 0; 456 width: fit-content !important; 457 height: fit-content !important; 458 margin: auto; 459 left: 0; 460 right: 0; 461 } 462 463 .zoom-effect { 464 transition: 0.9s ease-in-out; 465 } 466 467 .zoom-effect:hover .logo_main { 468 display: none !important; 469 transition: 0.9s ease-in-out; 470 } 471 472 .link_main_div { 473 display: none; 474 transition: 0.5s ease-in-out; 475 } 476 477 .zoom-effect:hover .link_main_div { 478 display: block; 479 transition: 0.9s ease-in-out; 480 } 481 482 .expreso-color { 483 color: #372115 !important; 484 fill: #372115 !important; 485 } 486 487 @media (max-width: 767px) { 488 .link_main_div>div>div img { 489 width: 100px !important; 490 } 491 492 .link_main_div>div>div .news_first_btn2 { 493 font-size: 12px; 494 } 495 496 .logo_main img { 497 width: 100px; 498 } 499 500 .logo_main { 501 display: block; 502 } 503 504 .link_main_div { 505 display: none; 506 } 507 508 .c_br_block br { 509 display: block !important; 510 } 511 } 512 513 .ui-autocomplete { 514 z-index: 99999; 515 background: #fff; 516 border: 1px solid #ccc; 517 } 518 519 .grecaptcha-badge { 520 visibility: hidden; 521 } 522 523 .btn-whatsapp-pulse { 524 position: fixed; 525 right: 26px; 526 bottom: 20px; 527 z-index: 121212; 528 } 529 530 .telegram-icon img { 531 width: 53px !important; 532 } 533 534 .telegram-icon { 535 bottom: 100px !important; 536 } 537 538 .custom_bottom_cta { 539 position: fixed; 540 right: 26px; 541 bottom: 99px; 542 z-index: 121212; 543 display: grid; 544 gap: 20px; 545 } 546 547 @media (max-width: 767px) { 548 549 .btn-whatsapp-pulse svg { 550 width: 57px !important; 551 } 552 553 .telegram-icon { 554 bottom: 100px !important; 555 } 556 557 .cx-messenger-1p7cjad { 558 right: 7px !important; 559 width: 45px !important; 560 height: 45px !important; 561 } 562 563 .btn-whatsapp-pulse { 564 right: 23px; 565 bottom: 80px; 566 } 567 568 .telegram-icon img { 569 width: 54px !important; 570 } 571 572 .custom_bottom_cta { 573 position: fixed; 574 right: 26px; 575 bottom: 99px; 576 z-index: 121212; 577 display: grid; 578 gap: 20px; 579 } 580 } 581</style> 582<style> 583 .residence-carousel { 584 position: relative; 585 overflow: hidden; 586 /* box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.6); */ 587 } 588 589 .slide-frame { 590 position: relative; 591 width: 100%; 592 aspect-ratio: 21 / 9.2; 593 overflow: hidden; 594 } 595 596 .slide-frame img { 597 width: 100%; 598 height: 90vh; 599 object-fit: cover; 600 filter: saturate(1.02) contrast(1.02); 601 } 602 603 .slide-frame::after { 604 content: ""; 605 position: absolute; 606 inset: 0; 607 background: linear-gradient(90deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.15) 38%, rgba(0, 0, 0, 0) 60%); 608 pointer-events: none; 609 } 610 611 .info-card { 612 position: absolute; 613 top: 0%; 614 bottom: 0%; 615 margin: auto; 616 left: 4%; 617 height: fit-content; 618 max-width: 420px; 619 padding: 3.5rem 2rem; 620 background: rgb(21 19 17 / 2%); 621 border: 1px solid #ffffff69; 622 border-radius: 16px; 623 backdrop-filter: blur(5px) saturate(140%); 624 -webkit-backdrop-filter: blur(14px) saturate(140%); 625 color: var(--cream); 626 z-index: 5; 627 } 628 629 .info-card .eyebrow { 630 display: inline-block; 631 font-family: 'Inter', sans-serif; 632 font-size: 0.68rem; 633 letter-spacing: 0.22em; 634 text-transform: uppercase; 635 color: var(--copper-light); 636 margin-bottom: 0.85rem; 637 font-weight: 600; 638 } 639 640 .info-card h2 { 641 font-family: 'lato-Bold' !important; 642 font-weight: 700; 643 font-size: 1.4rem; 644 line-height: 1.15; 645 margin-bottom: 1rem; 646 letter-spacing: 0.01em; 647 } 648 649 .info-card .divider { 650 width: 46px; 651 height: 2px;
652 background: var(--divider); 653 margin-bottom: 1rem; 654 border: none; 655 } 656 657 .info-card p { 658 font-family: 'lato-regular' !important; 659 font-size: 0.93rem; 660 line-height: 1.65; 661 color: rgba(243, 238, 230, 0.86); 662 margin-bottom: 0; 663 font-weight: 400; 664 } 665 666 @media (prefers-reduced-motion: no-preference) { 667 .info-card.residence-card--animated { 668 animation: residence-card-enter 0.7s cubic-bezier(.22, .8, .25, 1) 0.45s both; 669 } 670 671 .info-card.residence-card--animated>h2, 672 .info-card.residence-card--animated>p, 673 .info-card.residence-card--animated>a { 674 animation: residence-card-content-enter 0.5s ease-out both; 675 } 676 677 .info-card.residence-card--animated>h2 { 678 animation-delay: 0.85s; 679 } 680 681 .info-card.residence-card--animated>p { 682 animation-delay: 0.98s; 683 } 684 685 .info-card.residence-card--animated>a { 686 animation-delay: 1.11s; 687 } 688 689 /* Make the image movement clear when the slide is changed by scroll or swipe. */ 690 .carousel-item.residence-slide--enter-next .slide-frame img { 691 animation: residence-slide-enter-next 1.05s cubic-bezier(.22, .8, .25, 1) both; 692 } 693 694 .carousel-item.residence-slide--enter-prev .slide-frame img { 695 animation: residence-slide-enter-prev 1.05s cubic-bezier(.22, .8, .25, 1) both; 696 } 697 698 @keyframes residence-card-enter { 699 from { 700 opacity: 0; 701 transform: translateY(58px); 702 } 703 704 to { 705 opacity: 1; 706 transform: translateY(0); 707 } 708 } 709 710 @keyframes residence-card-content-enter { 711 from { 712 opacity: 0; 713 transform: translateX(-34px); 714 } 715 716 to { 717 opacity: 1; 718 transform: translateX(0); 719 } 720 } 721 722 @keyframes residence-slide-enter-next { 723 from { 724 opacity: .18; 725 transform: translateX(16%) scale(1.18); 726 } 727 728 to { 729 opacity: 1; 730 transform: translateX(0) scale(1); 731 } 732 } 733 734 @keyframes residence-slide-enter-prev { 735 from { 736 opacity: .18; 737 transform: translateX(-16%) scale(1.18); 738 } 739 740 to { 741 opacity: 1; 742 transform: translateX(0) scale(1); 743 } 744 } 745 } 746 747 /* Carousel controls restyle */ 748 749 750 .residence-carousel .carousel-indicators { 751 margin-bottom: 1.1rem; 752 gap: 8px; 753 } 754 755 .residence-carousel .carousel-indicators [data-bs-target] { 756 width: 8px; 757 height: 8px; 758 border-radius: 50%; 759 background-color: white; 760 border: none; 761 opacity: 1; 762 transition: all 0.25s ease; 763 } 764 765 .residence-carousel .carousel-indicators .active { 766 background-color: white; 767 width: 26px; 768 border-radius: 5px; 769 } 770 771 .residence-caption { 772 text-align: center; 773 max-width: 640px; 774 margin: 0 auto 2.4rem; 775 } 776 777 .residence-caption .kicker { 778 font-size: 0.72rem; 779 letter-spacing: 0.24em; 780 text-transform: uppercase; 781 color: white; 782 font-weight: 600; 783 } 784 785 .residence-caption h1 { 786 font-family: 'Cormorant Garamond', serif; 787 color: black; 788 font-weight: 700; 789 font-size: 2.6rem; 790 margin-top: 0.6rem; 791 } 792 793 /* ===== Mobile ===== */ 794 @media (max-width: 767.98px) { 795 .residence-section { 796 padding: 2.5rem 0; 797 } 798 799 .residence-carousel { 800 touch-action: pan-y; 801 } 802 803 .slide-frame { 804 aspect-ratio: 1 / 0.8; 805 } 806 807 .info-card { 808 top: 10%; 809 bottom: 10%; 810 margin: auto; 811 left: 5%; 812 right: 5%; 813 max-width: none; 814 width: 90%; 815 height: fit-content; 816 border-radius: 4; 817 padding: 1.6rem 1.4rem 1.8rem; 818 background: linear-gradient(180deg, rgba(21, 19, 17, 0.15) 0%, rgba(21, 19, 17, 0.78) 40%, rgb(15 13 12 / 34%) 100%); 819 backdrop-filter: blur(1px); 820 } 821 822 .info-card h2 { 823 font-size: 16px; 824 margin-bottom: 8px; 825 } 826 .slide-frame img { 827 height: 46vh;
828 filter: saturate(1.02) contrast(1.02); 829} 830 831 .info-card p { 832 font-size: 0.85rem; 833 display: -webkit-box; 834 -webkit-box-orient: vertical; 835 -webkit-line-clamp: 2; 836 overflow: hidden; 837 } 838 .info-card .button-lg2 { 839 padding: 5px 13px 5px 13px; 840 font-size: 12px; 841 width: fit-content !important; 842 margin-bottom: 12px !important 843} 844 845 .slide-frame::after { 846 background: linear-gradient(180deg, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.05) 45%, rgba(0, 0, 0, 0.35) 100%); 847 } 848 849 850 .residence-caption h1 { 851 font-size: 1.9rem; 852 } 853 } 854</style> 855<style> 856 .arch-grid-container { 857 display: grid; 858 grid-template-columns: repeat(4, 1fr); 859 gap: 8px; 860 padding: 1vw; 861 align-items: start; 862 overflow: hidden; 863 } 864 865 .grid-col { 866 display: flex; 867 flex-direction: column; 868 gap: 10px; 869 overflow: hidden; 870 } 871 872 /* Keep the second and fourth columns on the same 10px image gap as columns one and three. */ 873 .center-col .grid-item, 874 .far-right-col .grid-item { 875 margin-top: 0 !important; 876 padding-top: 0 !important; 877 padding-bottom: 0 !important; 878 } 879 880 .center-col, 881 .far-right-col { 882 gap: 0; 883 } 884 885 .center-col .grid-item+.grid-item, 886 .far-right-col .grid-item+.grid-item { 887 border-top: 11px solid #fff; 888 } 889 890 .grid-item { 891 position: relative; 892 overflow: hidden; 893 background: none; 894 } 895 896 .grid-item img { 897 width: 100%; 898 height: auto; 899 object-fit: cover; 900 display: block; 901 transform: scale(1); 902 transition: transform 0.5s ease; 903 } 904 905 .grid-item__overlay { 906 position: absolute; 907 inset: 0; 908 display: flex; 909 flex-direction: column; 910 justify-content: center; 911 text-align: center; 912 padding: clamp(14px, 2vw, 28px); 913 color: #fff; 914 background: linear-gradient(to top, rgba(0, 0, 0, 0.82), rgba(0, 0, 0, 0.22) 70%); 915 opacity: 0; 916 transition: opacity 0.35s ease; 917 pointer-events: none; 918 } 919 920 .grid-item__overlay h3 { 921 margin: 0 0 8px; 922 color: inherit; 923 font-size: clamp(16px, 1.5vw, 24px); 924 text-transform: uppercase; 925 } 926 927 .grid-item__overlay p { 928 margin: 0; 929 font-size: clamp(12px, 1vw, 15px); 930 line-height: 1.45; 931 } 932 933 @media (hover: hover) { 934 .grid-item:hover img { 935 transform: scale(1.10); 936 } 937 938 .grid-item:hover .grid-item__overlay { 939 opacity: 1; 940 } 941 } 942 943 @media (max-width: 767.98px) { 944 .arch-grid-container { 945 grid-template-columns: repeat(3, minmax(0, 1fr)); 946 } 947 948 /* Flatten the four desktop stacks so mobile cards fill a true three-column grid. */ 949 .arch-grid-container .grid-col { 950 display: contents; 951 } 952 953 .arch-grid-container .grid-item { 954 min-width: 0; 955 width: 100%; 956 } 957 958 .center-col .grid-item+.grid-item, 959 .far-right-col .grid-item+.grid-item { 960 border-top: 0; 961 } 962 } 963</style> 964
965<script src="../player.vimeo.com/api/player.js"></script>
965 966<div class="clear_div"></div> 967 968<div class="main-bb2" id="smooth-wrapper"> 969 <div id="smooth-content"> 970 971 <section id="main-banner2" 972 class="d-md-block d-none main-banner mb-6 panel overflow-hidden position-relative d-md-block d-non" 973 style="background-image: url('https://radissonbluislamabad.com/wp-content/uploads/2026/08/video-capture-t0000.00seg-6273-1.png'); transform: translate(0px, 0px); translate: none; rotate: none; scale: none; will-change: transform; height: 100vh;background-repeat: no-repeat;background-size: cover;width: 100%;"> 974 <ul 975 class="list-unstyled socail-icon-ul position-absolute p-0 m-0 d-flex align-items-center justify-content-center flex-column gap-3"> 976 977 </ul> 978 979 980 <iframe 981 src="https://player.vimeo.com/video/1221743200??h=369b23c39f&badge=0&autopause=0&player_id=0&app_id=58479&autoplay=1&loop=1&muted=1&controls=0" 982 frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media" 983 style="position:absolute; top:0%; left:0; width:100%; height:100vh; transform:scale(1.3);" 984 title="2478388-uhd_3840_2160_25fps" data-ready="true"> 985 </iframe> 986
986<script src="https://player.vimeo.com/api/player.js"></script>
986 987 988 <div class="bg-banner-overlay position-absolute w-100 h-100 top-0 start-0"> 989 <div class="container container_width h-100"> 990 <div class="row h-100 align-items-end"> 991 <div class="col-md-7"> 992 <div class="home-banner-text w-100"> 993 <!-- <h1> </h1> 994 <p class="me-xl-5 mb-0 pt-md-2 text-white"></p> --> 995 </div> 996 </div> 997 <div class="col-md-5 text-end"> 998 999 1000 </div> 1001 </div> 1002 </div> 1003 </div> 1004 </section> 1005 1006 1007<!-- Mobile screen --> 1008 <section id="main-banner2" 1009 class="d-md-none d-block main-banner mb-6 panel overflow-hidden position-relative d-md-block d-non" 1010 style="background-image: url('https://radissonbluislamabad.com/wp-content/uploads/2026/08/video-capture-t0000.00seg-6273-1.png'); transform: translate(0px, 0px); translate: none; rotate: none; scale: none; will-change: transform; height: 74vw;background-repeat: no-repeat;background-size: cover;width: 100%;"> 1011 <ul 1012 class="list-unstyled socail-icon-ul position-absolute p-0 m-0 d-flex align-items-center justify-content-center flex-column gap-3"> 1013 1014 </ul> 1015 1016 1017 <iframe 1018 src="https://player.vimeo.com/video/1221743200??h=369b23c39f&badge=0&autopause=0&player_id=0&app_id=58479&autoplay=1&loop=1&muted=1&controls=0" 1019 frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media" 1020 style="position:absolute; top:0%; left:0; width:100%; height:33vh; transform:scale(1.5) !important;" 1021 title="2478388-uhd_3840_2160_25fps" data-ready="true"> 1022 </iframe> 1023
1023<script src="https://player.vimeo.com/api/player.js"></script>
1023 1024 1025 <div class="bg-banner-overlay position-absolute w-100 h-100 top-0 start-0"> 1026 <div class="container container_width h-100"> 1027 <div class="row h-100 align-items-end"> 1028 <div class="col-md-7"> 1029 <div class="home-banner-text w-100"> 1030 <!-- <h1> </h1> 1031 <p class="me-xl-5 mb-0 pt-md-2 text-white"></p> --> 1032 </div> 1033 </div> 1034 <div class="col-md-5 text-end"> 1035 1036 1037 </div> 1038 </div> 1039 </div> 1040 </div> 1041 </section> 1042 1043 1044 <section class="bg-white about-section mt-md-5 pt-5 mb-md-5 pb-4 pb-md-3"> 1045 <div class="container"> 1046 <div class="row align-items-center gy-5"> 1047 1048 <div class="col-lg-6 order-2 order-lg-1 order_1 pe-md-5"> 1049 <div class="about-text"> 1050 <h2 class="title-2 f400 pt-2 pb-4">Pakistan’s 1st 5-Star<br>Radisson BLU Hotel</h2> 1051 <p class="main-text"> 1052 Radisson BLU Hotel & Residences Islamabad brings a new standard of luxury to the capital. Elegant interiors, premium comfort, and impeccable service come together to create an unmatched hospitality experience. 1053 </p> 1054 <a type="button" href="https://www.radissonhotels.com/en-us/hotels/radisson-blu-residences-islamabad" rel="noopener noreferrer" class="btn button12 f600 button-lg2 mt-4 button-width"> 1055 Read More 1056 </a> 1057 </div> 1058 </div> 1059 1060 <div class="col-lg-6 order-1 order-lg-2 order_2 d-none d-md-block"> 1061 <div class="about-image"> 1062 <img style="aspect-ratio: 1 / 0.9; object-fit: cover;" src="https://radissonbluislamabad.com/wp-content/uploads/2026/08/rbi-1.png" alt="Radisson BLU Islamabad exterior at sunset"> 1063 </div> 1064 </div> 1065 1066 </div> 1067 </div> 1068 </section> 1069 1070 1071 1072 1073 1074 1075 1076 <section class="residence-section pb-0"> 1077 <div class="contain text-center"> 1078 <h2 class="title-2 f400 pt-0 mt-0 mb-5 text-center">INVESTMENT OPTIONS 1079 </h2> 1080 </div> 1081 <div class="container222"> 1082 1083 <div id="residenceCarousel" class="carousel slide residence-carousel" data-bs-touch="false"> 1084 1085 <div class="carousel-indicators"> 1086 <button type="button" data-bs-target="#residenceCarousel" data-bs-slide-to="0" class="active" aria-current="true" aria-label="Slide 1"></button> 1087 <button type="button" data-bs-target="#residenceCarousel" data-bs-slide-to="1" aria-label="Slide 2"></button> 1088 <button type="button" data-bs-target="#residenceCarousel" data-bs-slide-to="2" aria-label="Slide 3"></button> 1089 </div> 1090 1091 <div class="carousel-inner"> 1092 1093 1094 <!-- Slide 1 --> 1095 <div class="carousel-item active"> 1096 <div class="slide-frame"> 1097 <img src="https://radissonbluislamabad.com/wp-content/uploads/2026/09/Presidential-Suite-2.jpg.jpeg" alt="One Bed Residence"> 1098 </div> 1099 <div class="info-card"> 1100 <h2>RESIDENTIAL SUITE</h2> 1101 <p>1,2 or 3 beds Residences offer a true home away from home. A fully equipped kitchenette facility makes extended stays effortless, while two washrooms add everyday convenience for families. The space unfolds across a separate bedroom and a distinct TV lounge, giving you room to live, relax, and entertain. Wake up to sweeping cityscape views that redefine everyday living. Spacious, private, and built for long-term comfort, it's residence living redefined.</p> 1102 <a href="https://radissonbluislamabad.com/one-bed-residential-suite" class="btn button11 f600 button-lg2 mt-4 button-width"> 1103 EXPLORE MORE 1104 </a> 1105 </div> 1106 </div> 1107 1108 <!-- Slide 2 --> 1109 <div class="carousel-item"> 1110 <div class="slide-frame"> 1111 <img src="https://radissonbluislamabad.com/wp-content/uploads/2026/08/10-1-1.png" alt="Two Bed Residence"> 1112 </div> 1113 <div class="info-card"> 1114 <h2>DELUXE SUITE</h2> 1115 <p>Perfect for a short stay with every comfort in place. The Deluxe Suite offers a cozy, peaceful ambiance true to 5-star living; complete with a tea and coffee setup, in-room refrigerator, and TV. Wake up to a beautiful view that makes every moment feel like a getaway. Compact, comfortable, and effortlessly elegant.</p> 1116 <a href="https://radissonbluislamabad.com/deluxe-suite" class="btn button11 f600 button-lg2 mt-4 button-width"> 1117 EXPLORE MORE 1118 </a> 1119 </div> 1120 </div> 1121 1122 <!-- Slide 3 --> 1123 <div class="carousel-item"> 1124 <div class="slide-frame"> 1125 <img src="https://radissonbluislamabad.com/wp-content/uploads/2026/08/5-1-1.png" alt="Presidential Suite"> 1126 </div> 1127 <div class="info-card"> 1128 <h2>
1128BRANDED SHOPS</h2> 1129 <p>Step into a retail space designed to perform. Our commercial shops bring high street brands together in one address, seamlessly connected to a 5-star hotel for constant footfall and visibility. Built to international standards with an elegant ambiance throughout, it's a space where prestige meets opportunity; perfect for brands that want to be seen.</p> 1130 <a href="https://radissonbluislamabad.com/branded-shops" class="btn button11 f600 button-lg2 mt-4 button-width"> 1131 EXPLORE MORE 1132 </a> 1133 </div> 1134 </div> 1135 1136 </div> 1137 1138 1139 </div> 1140 1141 </div> 1142 1143
1143<script> 1144 (function() { 1145 var section = document.querySelector('.residence-section'); 1146 var carousel = document.querySelector('#residenceCarousel'); 1147 if (!section || !carousel) return; 1148 1149 var TOTAL = carousel.querySelectorAll('.carousel-item').length; 1150 1151 /* ââ Card entrance animation ââ */ 1152 function animateCard() { 1153 var card = carousel.querySelector('.carousel-item.active .info-card'); 1154 if (!card) return; 1155 card.classList.remove('residence-card--animated'); 1156 void card.offsetWidth; 1157 card.classList.add('residence-card--animated'); 1158 } 1159 1160 /* Animate card on first view */ 1161 var firstViewObserver = new IntersectionObserver(function(entries) { 1162 if (entries[0].isIntersecting) { 1163 animateCard(); 1164 firstViewObserver.disconnect(); 1165 } 1166 }, { 1167 threshold: 0.3 1168 }); 1169 firstViewObserver.observe(section); 1170 1171 /* Animate card on every slide change */ 1172 carousel.addEventListener('slid.bs.carousel', animateCard); 1173 1174 /* ââ Change slides with the page scroll. ââ */ 1175 var carouselItems = carousel.querySelectorAll('.carousel-item'); 1176 var carouselInstance = window.bootstrap && window.bootstrap.Carousel ? 1177 window.bootstrap.Carousel.getOrCreateInstance(carou
1177sel, { 1178 interval: false, 1179 touch: false, 1180 wrap: true 1181 }) : 1182 null; 1183 1184 if (carouselInstance && carouselInstance._config) { 1185 /* Enforce these options if another script initialized it first. */ 1186 carouselInstance._config.touch = false; 1187 carouselInstance._config.wrap = true; 1188 } 1189 var requestedSlide = -1; 1190 var scrollTicking = false; 1191 var usesScrollTrigger = false; 1192 var swipeLocked = false; 1193 var desktopSlideLocked = false; 1194 var desktopScrollTrigger = null; 1195 1196 function goToSlide(targetSlide) { 1197 if (targetSlide !== requestedSlide) { 1198 requestedSlide = targetSlide; 1199 if (carouselInstance) { 1200 carouselInstance.to(targetSlide); 1201 } else { 1202 activateSlide(targetSlide); 1203 } 1204 } 1205 } 1206 1207 function activateSlide(targetSlide, direction) { 1208 var activeIndex = 0; 1209 carouselItems.forEach(function(item, index) { 1210 if (item.classList.contains('active')) activeIndex = index; 1211 }); 1212 1213 if (!direction) direction = targetSlide > activeIndex ? 1 : -1; 1214 1215 carouselItems.forEach(function(item, index) { 1216 item.classList.remove('active', 'carousel-item-next', 'carousel-item-prev', 'carousel-item-start', 'carousel-item-end', 'residence-slide--enter-next', 'residence-slide--enter-prev'); 1217 if (index === targetSlide) item.classList.add('active'); 1218 }); 1219 carousel.querySelectorAll('[data-bs-slide-to]').forEach(function(indicator, index) { 1220 var isActive = index === targetSlide; 1221 indicator.classList.toggle('active', isActive); 1222 indicator.toggleAttribute('aria-current', isActive); 1223 }); 1224 1225 var activeItem = carouselItems[targetSlide]; 1226 if (activeItem && window.matchMedia('(prefers-reduced-motion: no-preference)').matches) { 1227 void activeItem.offsetWidth; 1228 activeItem.classList.add(direction > 0 ? 'residence-slide--enter-next' : 'residence-slide--enter-prev'); 1229 } 1230 animateCard(); 1231 } 1232 1233 function moveOneSlide(direction) { 1234 var activeIndex = 0; 1235 carouselItems.forEach(function(item, index) { 1236 if (item.classList.contains('active')) activeIndex = index; 1237 }); 1238 var targetSlide = (activeIndex + direction + TOTAL) % TOTAL; 1239 1240 /* Mobile uses a direct class switch so a swipe can never be 1241 * processed by the carousel twice. */ 1242 requestedSlide = targetSlide; 1243 activateSlide(targetSlide, direction); 1244 } 1245 1246 /* Keep scroll control in sync if a visitor uses an indicator or swipes. */ 1247 carousel.addEventListener('slid.bs.carousel', function() { 1248 requestedSlide = -1; 1249 swipeLocked = false; 1250 if (!usesScrollTrigger) handleScroll(); 1251 }); 1252 1253 function setSlideFromScroll() { 1254 scrollTicking = false; 1255 var rect = section.getBoundingClientRect(); 1256 var viewportHeight = window.innerHeight || document.documentElement.clientHeight; 1257 var scrollRange = rect.height + (viewportHe
1257ight * 0.6); 1258 var progress = ((viewportHeight * 0.8) - rect.top) / scrollRange; 1259 progress = Math.max(0, Math.min(0.9999, progress)); 1260 var targetSlide = Math.min(TOTAL - 1, Math.floor(progress * TOTAL)); 1261 goToSlide(targetSlide); 1262 } 1263 1264 function handleScroll() { 1265 if (!scrollTicking) { 1266 scrollTicking = true; 1267 window.requestAnimationFrame(setSlideFromScroll); 1268 } 1269 } 1270 1271 function setupScrollTrigger() { 1272 /* Mobile keeps the normal swipe/indicator carousel. */ 1273 if (window.innerWidth <= 767) return; 1274 1275 if (!window.ScrollTrigger) { 1276 window.addEventListener('scroll', handleScroll, { 1277 passive: true 1278 }); 1279 window.addEventListener('resize', handleScroll); 1280 handleScroll(); 1281 return; 1282 } 1283 1284 /* Pin the section. Individual wheel gestures below control the 1285 * slides, rather than mapping a fast scroll to several slides. */ 1286 usesScrollTrigger = true; 1287 desktopScrollTrigger = window.ScrollTrigger.create({ 1288 trigger: section, 1289 start: 'top top', 1290 end: function() { 1291 return '+=' + (window.innerHeight * (TOTAL - 1)); 1292 }, 1293 pin: true, 1294 anticipatePin: 1 1295 }); 1296 1297 window.addEventListener('wheel', function(event) { 1298 if (!desktopScrollTrigger || !desktopScrollTrigger.isActive || !event.deltaY) return; 1299 1300 var direction = event.deltaY > 0 ? 1 : -1; 1301 var activeIndex = 0; 1302 carouselItems.forEach(function(item, index) { 1303 if (item.classList.contains('active')) activeIndex = index; 1304 }); 1305 1306 /* At either end, release the page so the visitor can leave the section. */ 1307 if ((direction > 0 && activeIndex === TOTAL - 1) || (direction < 0 && activeIndex === 0)) return; 1308 1309 /* Consume every wheel event during a transition. This prevents a 1310 * fast wheel/trackpad movement from skipping slides. */ 1311 event.preventDefault(); 1312 event.stopImmediatePropagation(); 1313 if (desktopSlideLocked) return; 1314 1315 desktopSlideLocked = true; 1316 moveOneSlide(direction); 1317 window.setTimeout(function() { 1318 desktopSlideLocked = false; 1319 }, 650); 1320 }, { 1321 passive: false, 1322 capture: true 1323 }); 1324 } 1325 1326 /* GSAP and ScrollTrigger are loaded in the footer. Waiting one task 1327 * lets the site's smooth-scroll setup finish first. */ 1328 window.addEventListener('DOMContentLoaded', function() { 1329 window.setTimeout(setupScrollTrigger, 0); 1330 }); 1331 1332 /* Mobile: use a small, explicit swipe handler. Bootstrap's touch 1333 * handling is disabled above so one gesture always moves one slide. */ 1334 var touchStartX = 0; 1335 var touchStartY = 0; 1336 1337 function saveSwipeStart(x, y) { 1338 touchStartX = x; 1339 touchStartY = y; 1340 } 1341 1342 function finishSwipe(x, y, event) { 1343 if (window.innerWidth > 767) return; 1344 1345 var deltaX = x - touchStartX; 1346 var deltaY = y - touchStartY; 1347 var minimumSwipe = 50; 1348 1349 /* Ignore vertical gestures so normal page scrolling is unaffected. */ 1350 if (Math.abs(deltaX) < minimumSwipe || Math.abs(deltaX) <= Math.abs(deltaY)) return; 1351 if (swipeLocked) return; 1352 1353 /* Prevent any other carousel touch listener from handling this gesture. */ 1354 event.stopImmediatePropagation(); 1355 swipeLocked = true; 1356 1357 if (deltaX < 0) { 1358 moveOneSlide(1); 1359 } else { 1360 moveOneSlide(-1); 1361 } 1362 1363 /* Safety release if a slide transition is interrupted. */ 1364 window.setTimeout(function() { 1365 swipeLocked = false;
1366 }, 800); 1367 } 1368 1369 /* Some mobile browsers expose Pointer Events but dispatch swipe input 1370 * through Touch Events. Listen for both; swipeLocked de-duplicates them. */ 1371 if (window.PointerEvent) { 1372 carousel.addEventListener('pointerdown', function(event) { 1373 if (event.pointerType !== 'touch') return; 1374 saveSwipeStart(event.clientX, event.clientY); 1375 }, true); 1376 1377 carousel.addEventListener('pointerup', function(event) { 1378 if (event.pointerType !== 'touch') return; 1379 finishSwipe(event.clientX, event.clientY, event); 1380 }, true); 1381 } 1382 1383 carousel.addEventListener('touchstart', function(event) { 1384 if (!event.touches.length) return; 1385 saveSwipeStart(event.touches[0].clientX, event.touches[0].clientY); 1386 }, { 1387 passive: true 1388 }); 1389 1390 carousel.addEventListener('touchend', function(event) { 1391 if (!event.changedTouches.length) return; 1392 finishSwipe(event.changedTouches[0].clientX, event.changedTouches[0].clientY, event); 1393 }, { 1394 passive: true, 1395 capture: true 1396 }); 1397 1398 /* On mobile, dots use the same direct slide switch as swipes. */ 1399 carousel.querySelectorAll('[data-bs-slide-to]').forEach(function(indicator, index) { 1400 indicator.addEventListener('click', function(event) { 1401 if (window.innerWidth > 767) return; 1402 event.preventDefault(); 1403 event.stopImmediatePropagation(); 1404 swipeLocked = false; 1405 requestedSlide = index; 1406 activateSlide(index); 1407 }, true); 1408 }); 1409 })(); 1410 </script>
1410 1411 1412 <section class="pb-md-5 pt-2" style="background:white;"> 1413 <!-- Smooth Scroll Wrapper --> 1414 <div class="contain text-center"> 1415 <h2 class="title-2 f400 pt-2 mt-5 text-center">EXPLORE WORLD CLASS AMENETIES 1416 </h2> 1417 </div> 1418 1419 <!-- Hero Section / Architecture Grid Container --> 1420 <main class="arch-grid-container my-5"> 1421 <div class="grid-col left-col"> 1422 <div class="grid-item amenity-popup-trigger" 1423 data-speed="1" 1424 data-title="Yoga Centre" 1425 data-content="Elevate your wellness journey at the premium Yoga Center on the 14th floor of Radisson Blu Islamabad. Designed as a peaceful retreat above the city, this sophisticated wellness space offers an inspiring environment for yoga, mindfulness, relaxation, and personal well-being." 1426 data-image="https://radissonbluislamabad.com/wp-content/uploads/2026/08/Yoga-Centre-1-1.jpg" 1427 data-images="[]" 1428 role="button" tabindex="0" 1429 style="cursor:pointer;"> 1430 <img class="" src="https://radissonbluislamabad.com/wp-content/uploads/2026/08/Yoga-Centre-1-1.jpg" alt="Yoga Centre"> 1431 <div class="grid-item__overlay"> 1432 <h3>Yoga Centre</h3> 1433 <p>Elevate your wellness journey at the premium Yoga Center on the 14th floor of Radisson Blu Islamabad. Designed as a peaceful retreat above the city, this sophisticated wellness space offers…</p> 1434 </div> 1435 </div> 1436 <div class="grid-item amenity-popup-trigger" 1437 data-speed="1" 1438 data-title="Sauna & Spa" 1439 data-content="Discover a sanctuary of relaxation at the luxury Sauna & Spa on the 14th floor. Created for rejuvenation and well-being, this premium wellness destination provides a tranquil atmosphere where guests can escape the demands of the day and experience a more refined approach to relaxation." 1440 data-image="https://radissonbluislamabad.com/wp-content/uploads/2026/08/Sauna-Spa-1-1.jpg" 1441 data-images="[]" 1442 role="button" tabindex="0" 1443 style="cursor:pointer;"> 1444 <img class="" src="https://radissonbluislamabad.com/wp-content/uploads/2026/08/Sauna-Spa-1-1.jpg" alt="Sauna & Spa"> 1445 <div class="grid-item__overlay"> 1446 <h3>Sauna & Spa</h3> 1447 <p>Discover a sanctuary of relaxation at the luxury Sauna & Spa on the 14th floor. Created for rejuvenation and well-being, this premium wellness destination provides a tranquil atmosphere where guests…</p> 1448 </div> 1449 </div> 1450 <div class="grid-item amenity-popup-trigger" 1451 data-speed="1" 1452 data-title="Indoor Pool" 1453 data-content="Relax above the city at the luxury Indoor Pool on the 14th floor. Designed as an exclusive wellness retreat, the pool offers guests and residents a serene environment for swimming, relaxation, and rejuvenation throughout the year." 1454 data-image="https://radissonbluislamabad.com/wp-content/uploads/2026/08/Swimming-pool-1-1.jpg" 1455 data-images="["https:\/\/radissonbluislamabad.com\/wp-content\/uploads\/2025\/07\/5.jpg","https:\/\/radissonbluislamabad.com\/wp-content\/uploads\/2025\/07\/6.jpg","https:\/\/radissonbluislamabad.com\/wp-content\/uploads\/2025\/07\/7.jpg"]" 1456 role="button" tabindex="0" 1457 style="cursor:pointer;"> 1458 <img class="" src="https://radissonbluislamabad.com/wp-content/uploads/2026/08/Swimming-pool-1-1.jpg" alt="Indoor Pool"> 1459 <div class="grid-item__overlay"> 1460 <h3>Indoor Pool</h3> 1461 <p>Relax above the city at the luxury Indoor Pool on the 14th floor. Designed as an exclusive wellness retreat, the pool offers guests and residents a serene environment for swimming,…</p> 1462 </div> 1463 </div> 1464 </div> 1465 <div class="grid-col center-col"> 1466 <div class="grid-item amenity-popup-trigger pb-5" 1467 data-speed="0.7" 1468 data-title="Conference Hall" 1469 data-content="The luxury Conference Hall on the 2nd floor brings together contemporary elegance and a professional business environment. Designed for c
1469orporate meetings, conferences, presentations, and executive gatherings, it creates a premium setting where productivity meets world-class hospitality." 1470 data-image="https://radissonbluislamabad.com/wp-content/uploads/2025/07/conference-hall.jpg.jpeg" 1471 data-images="["https:\/\/radissonbluislamabad.com\/wp-content\/uploads\/2025\/07\/Scene-65_2.png","https:\/\/radissonbluislamabad.com\/wp-content\/uploads\/2025\/07\/Scene-77.png","https:\/\/radissonbluislamabad.com\/wp-content\/uploads\/2025\/07\/Scene-66_1.png"]" 1472 role="button" tabindex="0" 1473 style="cursor:pointer;"> 1474 <img class="mb-0" src="https://radissonbluislamabad.com/wp-content/uploads/2025/07/conference-hall.jpg.jpeg" alt="Conference Hall"> 1475 <div class="grid-item__overlay"> 1476 <h3>Conference Hall</h3> 1477 <p>The luxury Conference Hall on the 2nd floor brings together contemporary elegance and a professional business environment. Designed for corporate meetings, conferences, presentations, and executive gatherings, it creates a premium…</p> 1478 </div> 1479 </div> 1480 <div class="grid-item amenity-popup-trigger mt-5 pt-5" 1481 data-speed="0.7" 1482 data-title="Gymnasium" 1483 data-content="Stay active in style at the premium Gymnasium on the 14th floor. Featuring a sophisticated fitness environment designed for modern lifestyles, the gym combines wellness, comfort, and an elevated luxury experience for hotel guests and residents." 1484 data-image="https://radissonbluislamabad.com/wp-content/uploads/2026/08/Gymnesium-1-1.jpg" 1485 data-images="["https:\/\/radissonbluislamabad.com\/wp-content\/uploads\/2025\/07\/75-scaled.png","https:\/\/radissonbluislamabad.com\/wp-content\/uploads\/2025\/07\/79-scaled.png","https:\/\/radissonbluislamabad.com\/wp-content\/uploads\/2025\/07\/81-scaled.png"]" 1486 role="button" tabindex="0" 1487 style="cursor:pointer;"> 1488 <img class="" src="https://radissonbluislamabad.com/wp-content/uploads/2026/08/Gymnesium-1-1.jpg" alt="Gymnasium"> 1489 <div class="grid-item__overlay"> 1490 <h3>Gymnasium</h3> 1491 <p>Stay active in style at the premium Gymnasium on the 14th floor. Featuring a sophisticated fitness environment designed for modern lifestyles, the gym combines wellness, comfort, and an elevated luxury…</p> 1492 </div> 1493 </div> 1494 <div class="grid-item amenity-popup-trigger pb-5" 1495 data-speed="0.7" 1496 data-title="Co-working Space" 1497 data-content="The premium Co-Working Space on the 2nd floor introduces a contemporary way to work within a luxury hospitality environment. Designed for entrepreneurs, professionals, and modern businesses, it provides an inspiring setting for productivity, collaboration, networking, and creativity." 1498 data-image="https://radissonbluislamabad.com/wp-content/uploads/2026/08/Co-Working-space-1.jpg" 1499 data-images="[]" 1500 role="button" tabindex="0" 1501 style="cursor:pointer;"> 1502 <img class="mb-0" src="https://radissonbluislamabad.com/wp-content/uploads/2026/08/Co-Working-space-1.jpg" alt="Co-working Space"> 1503 <div class="grid-item__overlay"> 1504 <h3>Co-working Space</h3> 1505 <p>The premium Co-Working Space on the 2nd floor introduces a contemporary way to work within a luxury hospital
1505ity environment. Designed for entrepreneurs, professionals, and modern businesses, it provides an inspiring…</p> 1506 </div> 1507 </div> 1508 </div> 1509 <div class="grid-col right-col"> 1510 <div class="grid-item amenity-popup-trigger" 1511 data-speed="1" 1512 data-title="Rooftop Restaurant" 1513 data-content="Experience elevated dining at the Rooftop Restaurants, where premium Turkish & Pakistani cuisine meets an exclusive rooftop atmosphere. Designed to become a premium dining destination at Radisson Blu Islamabad, the restaurant combines sophistication, exceptional hospitality, and an unforgettable elevated setting. 1514 1515 " 1516 data-image="https://radissonbluislamabad.com/wp-content/uploads/2026/08/Rooftop-Restaurant-1-2.jpg" 1517 data-images="[]" 1518 role="button" tabindex="0" 1519 style="cursor:pointer;"> 1520 <img class="" src="https://radissonbluislamabad.com/wp-content/uploads/2026/08/Rooftop-Restaurant-1-2.jpg" alt="Rooftop Restaurant"> 1521 <div class="grid-item__overlay"> 1522 <h3>Rooftop Restaurant</h3> 1523 <p>Experience elevated dining at the Rooftop Restaurants, where premium Turkish & Pakistani cuisine meets an exclusive rooftop atmosphere. Designed to become a premium dining destination at Radisson Blu Islamabad, the…</p> 1524 </div> 1525 </div> 1526 <div class="grid-item amenity-popup-trigger" 1527 data-speed="1" 1528 data-title="Retail Area" 1529 data-content="Discover a sophisticated shopping experience across the Lower Ground, Ground, and 1st floors. The premium retail area is designed to accommodate high-end brands and contemporary shopping concepts within an elegant hospitality environment, bringing luxury, lifestyle, and convenience together under one roof." 1530 data-image="https://radissonbluislamabad.com/wp-content/uploads/2026/08/Retail-Area-1.jpg" 1531 data-images="[]" 1532 role="button" tabindex="0" 1533 style="cursor:pointer;"> 1534 <img class="" src="https://radissonbluislamabad.com/wp-content/uploads/2026/08/Retail-Area-1.jpg" alt="Retail Area"> 1535 <div class="grid-item__overlay"> 1536 <h3>Retail Area</h3> 1537 <p>Discover a sophisticated shopping experience across the Lower Ground, Ground, and 1st floors. The premium retail area is designed to accommodate high-end brands and contemporary shopping concepts within an elegant…</p> 1538 </div> 1539 </div> 1540 <div class="grid-item amenity-popup-trigger" 1541 data-speed="1" 1542 data-title="Executive Lounge" 1543 data-content="Experience privacy and sophistication at the Executive Lounge on the 2nd floor. Created for executives and discerning guests, this premium lounge provides an elegant environment for informal meetings, focused work, networking, or simply unwinding in comfort." 1544 data-image="https://radissonbluislamabad.com/wp-content/uploads/2026/08/Executive-Lounge-1-1.jpg" 1545 data-images="[]" 1546 role="button" tabindex="0" 1547 style="cursor:pointer;"> 1548 <img class="" src="https://radissonbluislamabad.com/wp-content/uploads/2026/08/Executive-Lounge-1-1.jpg" alt="Executive Lounge"> 1549 <div class="grid-item__overlay"> 1550 <h3>Executive Lounge</h3> 1551 <p>Experience privacy and sophistication at the Executive Lounge on the 2nd floor. Created for executives and discerning guests, this premium lounge provides an elegant environment for informal meetings, focused work,…</p> 1552 </div> 1553 </div> 1554 </div> 1555 <div class="grid-col far-right-col"> 1556 <div class="grid-item amenity-popup-trigger pb-5" 1557 data-speed="0.7" 1558 data-title="Airline Crew Lounge" 1559 data-content="The Airline Crew Lounge on the 4th floor provides a private and premium environment created around the comfort of av
1559iation professionals. Its refined setting offers airline crews a relaxing space to unwind, recharge, and enjoy the convenience of luxury hospitality near Islamabad International Airport." 1560 data-image="https://radissonbluislamabad.com/wp-content/uploads/2025/07/Airline-Crew-Lounge.jpg.jpeg" 1561 data-images="["https:\/\/radissonbluislamabad.com\/wp-content\/uploads\/2025\/07\/8.png","https:\/\/radissonbluislamabad.com\/wp-content\/uploads\/2025\/07\/5.png","https:\/\/radissonbluislamabad.com\/wp-content\/uploads\/2025\/07\/6.png"]" 1562 role="button" tabindex="0" 1563 style="cursor:pointer;"> 1564 <img class="mb-0" src="https://radissonbluislamabad.com/wp-content/uploads/2025/07/Airline-Crew-Lounge.jpg.jpeg" alt="Airline Crew Lounge"> 1565 <div class="grid-item__overlay"> 1566 <h3>Airline Crew Lounge</h3> 1567 <p>The Airline Crew Lounge on the 4th floor provides a private and premium environment created around the comfort of aviation professionals. Its refined setting offers airline crews a relaxing space…</p> 1568 </div> 1569 </div> 1570 <div class="grid-item amenity-popup-trigger mt-5 pt-5" 1571 data-speed="0.7" 1572 data-title="Banquet Hall" 1573 data-content="Celebrate extraordinary occasions at the premium Banquet Hall on the 3rd floor. Designed for weddings, corporate functions, celebrations, and prestigious social gatherings, the elegant venue combines grandeur, sophisticated surroundings, and the signature hospitality experience of Radisson Blu Islamabad." 1574 data-image="https://radissonbluislamabad.com/wp-content/uploads/2026/08/Banquet-hall-1-1.jpg" 1575 data-images="["https:\/\/radissonbluislamabad.com\/wp-content\/uploads\/2025\/07\/p10_21.png","https:\/\/radissonbluislamabad.com\/wp-content\/uploads\/2025\/07\/p9_19.png","https:\/\/radissonbluislamabad.com\/wp-content\/uploads\/2025\/07\/p5_11.png"]" 1576 role="button" tabindex="0" 1577 style="cursor:pointer;"> 1578 <img class="" src="https://radissonbluislamabad.com/wp-content/uploads/2026/08/Banquet-hall-1-1.jpg" alt="Banquet Hall"> 1579 <div class="grid-item__overlay"> 1580 <h3>Banquet Hall</h3> 1581 <p>Celebrate extraordinary occasions at the premium Banquet Hall on the 3rd floor. Designed for weddings, corporate functions, celebrations, and prestigious social gatherings, the elegant venue combines grandeur, sophisticated surroundings, and…</p> 1582 </div> 1583 </div> 1584 <div class="grid-item amenity-popup-trigger pb-5" 1585 data-speed="0.7" 1586 data-title="Business Lounge" 1587 data-content="The luxury Business Lounge on the 2nd floor combines professional functionality with premium hospitality. Ideal for business discussions, executive meetings, and productive work sessions, it offers a sophisticated setting designed around the needs of today's corporate traveler." 1588 data-image="https://radissonbluislamabad.com/wp-content/uploads/2026/08/Business-Lounge-1-2.jpg" 1589 data-images="[]" 1590 role="button" tabindex="0" 1591 style="cursor:pointer;"> 1592 <img class="mb-0" src="https://radissonbluislamabad.com/wp-content/uploads/2026/08/Business-Lounge-1-2.jpg" alt="Bu
1592siness Lounge"> 1593 <div class="grid-item__overlay"> 1594 <h3>Business Lounge</h3> 1595 <p>The luxury Business Lounge on the 2nd floor combines professional functionality with premium hospitality. Ideal for business discussions, executive meetings, and productive work sessions, it offers a sophisticated setting designed…</p> 1596 </div> 1597 </div> 1598 </div> 1599 </main> 1600 </section> 1601 1602 <!-- ââ Amenity Modal ââ --> 1603 <style> 1604 #amenityModal { 1605 box-sizing: border-box; 1606 align-items: center; 1607 justify-content: center; 1608 padding: 10vh 10vw; 1609 background: rgba(12, 24, 34, .38) !important; 1610 -webkit-backdrop-filter: blur(16px) saturate(125%); 1611 backdrop-filter: blur(16px) saturate(125%); 1612 } 1613 1614 #amenityModalImgWrap, 1615 #amenityModalContentWrap { 1616 height: 100% !important; 1617 } 1618 1619 #amenityModalImgWrap { 1620 border-radius: 0px 0 0 0px; 1621 } 1622 1623 #amenityModalContentWrap { 1624 border-radius: 0 0px 0px 0; 1625 box-shadow: 0 20px 55px rgba(0, 0, 0, .25); 1626 } 1627 1628 #amenityModalClose { 1629 position: absolute !important; 1630 top: 1rem !important; 1631 right: 1rem !important; 1632 } 1633 1634 @media (max-width: 767px) { 1635 .logo-img{ 1636 transform: translate(0%, -1.4569%) scale(0.8, 0.8) !important; 1637 margin-top: 1vh !important 1638 } 1639 #amenityModal { 1640 flex-direction: column !important; 1641 overflow-y: auto; 1642 padding: 4vh 4vw; 1643 align-items: start; 1644 justify-content: start; 1645 height: 100% !important; 1646 } 1647 1648 #amenityModalImgWrap { 1649 flex: 0 0 auto !important; 1650 width: 100%; 1651 height: 38dvh !important; 1652 min-height: 220px; 1653 border-radius: 0; 1654 /* margin-top: 290px; */ 1655 } 1656 1657 #amenityModalContentWrap { 1658 flex: 0 0 auto !important; 1659 width: 100%; 1660 height: auto !important; 1661 min-height: calc(62dvh - 0px); 1662 overflow: visible !important; 1663 padding: 3.75rem 1.5rem 2rem !important; 1664 border-radius: 0; 1665 } 1666 1667 #amenityModalClose { 1668 position: fixed !important; 1669 top: 10px !important; 1670 right: 10px !important; 1671 width: 30px !important; 1672 height: 29px !important; 1673 font-size: 18px !important; 1674 } 1675 } 1676 </style> 1677 <div id="amenityModal" role="dialog" aria-modal="true" aria-labelledby="amenityModalTitle" aria-hidden="true" style="display:none; position:fixed; inset:0; width:100vw; width:100dvw; height:100vh; height:100dvh; z-index:2147483647; flex-direction:row; isolation:isolate;"> 1678 <!-- Left: image --> 1679 <div id="amenityModalImgWrap" style="flex:0 0 50%; overflow:hidden;"> 1680 <img id="amenityModalHeroImg" src="" alt="" style="width:100%; height:100%; object-fit:cover; display:block;"> 1681 </div> 1682 <!-- Right: content --> 1683 <div id="amenityModalContentWrap" style="flex:1; overflow-y:auto; padding:4rem 3rem 3rem; position:relative; background:#fff;"> 1684 <button id="amenityModalClose" style="z-index:1000001; width:44px; height:44px; border-radius:50%; border:none; background:#024ea2; color:#fff; font-size:22px; cursor:pointer; display:flex; align-items:center; justify-content:center; line-height:1;">✕</button> 1685 <h2 id="amenityModalTitle" style="font-size:1.8rem; font-weight:400; letter-spacing:0.1em; text-transform:uppercase; margin-bottom:1.5rem;
1685 color:#1a1a1a;"></h2> 1686 <div id="amenityModalContent" style="font-size:14px; color:black; line-height:1.48; margin-bottom:2rem;font-family: 'lato-regular' !important;"></div> 1687 <div id="amenityModalGallery" style="display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:8px;"></div> 1688 </div> 1689 </div> 1690 1691
1691<script> 1692 (function() { 1693 var modal = document.getElementById('amenityModal'); 1694 var closeBtn = document.getElementById('amenityModalClose'); 1695 var heroImg = document.getElementById('amenityModalHeroImg'); 1696 var titleEl = document.getElementById('amenityModalTitle'); 1697 var contentEl = document.getElementById('amenityModalContent'); 1698 var galleryEl = document.getElementById('amenityModalGallery'); 1699 1700 if (!modal) { 1701 return; 1702 } 1703 1704 /* A transformed/overflow-hidden page wrapper can hide a fixed child. 1705 * Put the dialog directly under <body> so it always covers the viewport. */ 1706 document.body.appendChild(modal); 1707 1708 function openModal(trigger) { 1709 titleEl.textContent = trigger.getAttribute('data-title') || ''; 1710 contentEl.textContent = trigger.getAttribute('data-content') || ''; 1711 heroImg.src = trigger.getAttribute('data-image') || ''; 1712 heroImg.alt = trigger.getAttribute('data-title') || ''; 1713 1714 /* Gallery */ 1715 galleryEl.innerHTML = ''; 1716 var images = []; 1717 try { 1718 images = JSON.parse(trigger.getAttribute('data-images') || '[]'); 1719 } catch (e) {} 1720 var heroSrc = heroImg.src; 1721 images.forEach(function(src) { 1722 if (src && src !== heroSrc) { 1723 var img = document.createElement('img'); 1724 img.src = src; 1725 img.alt = titleEl.textContent; 1726 img.style.cssText = 'width:100%; aspect-ratio:4/3; object-fit:cover; display:block; border-radius:2px;'; 1727 galleryEl.appendChild(img); 1728 } 1729 }); 1730 1731 /* Show modal */ 1732 modal.style.display = 'flex'; 1733 modal.setAttribute('aria-hidden', 'false'); 1734 document.documentElement.style.overflow = 'hidden'; 1735 document.body.style.overflow = 'hidden'; 1736 } 1737 1738 function closeModal() { 1739 modal.style.display = 'none'; 1740 modal.setAttribute('aria-hidden', 'true'); 1741 document.documentElement.style.overflow = ''; 1742 document.body.style.overflow = ''; 1743 } 1744 1745 /* Attach click to every grid item */ 1746 var triggers = document.querySelectorAll('.amenity-popup-trigger'); 1747 triggers.forEach(function(el) { 1748 el.addEventListener('click', function(e) { 1749 e.stopPropagation(); 1750 openModal(el); 1751 }); 1752 el.addEventListener('keydown', function(e) { 1753 if (e.key === 'Enter' || e.key === ' ') { 1754 e.preventDefault(); 1755 openModal(el); 1756 } 1757 }); 1758 }); 1759 1760 if (closeBtn) closeBtn.addEventListener('click', closeModal); 1761 1762 document.addEventListener('keydown', function(e) { 1763 if (e.key === 'Escape') closeModal(); 1764 }); 1765 })(); 1766 </script>
1766 1767 1768 1769 1770 <!-- slider --> 1771 <div class="spotlight-scroll-wrapper"> 1772 <section class="spotlight-slider-section" aria-label="Featured amenities"> 1773 <div class="container text-center pt-0"> 1774 <h2 class="title-2 f400 pt-0 pb-2 mb-5 text-center">BLUEPRINT TO BRILLIANCE</h2> 1775 </div> 1776 <div class="owl-carousel spotlight-slider"> 1777 <article class="spotlight-card"> 1778 <img src="https://radissonbluislamabad.com/wp-content/uploads/2026/04/2027-Project-Delivery.jpg.jpeg" alt=""> 1779 <div class="spotlight-card__shade"></div> 1780 <!-- <span class="spotlight-card__rating">2027</span> --> 1781 <div class="spotlight-card__content"> 1782 <h3>2027</h3> 1783 <p class="w-100 text-center">Project Delivery</p> 1784 </div> 1785 </article> 1786 <article class="spotlight-card"> 1787 <img src="https://radissonbluislamabad.com/wp-content/uploads/2026/09/2026.jpg" alt=""> 1788 <div class="spotlight-card__shade"></div> 1789 <!-- <span class="spotlight-card__rating">2026</span> --> 1790 <div class="spotlight-card__content"> 1791 <h3>2026</h3> 1792 <p class="w-100 text-center">Interior Finishing</p> 1793 </div> 1794 </article> 1795 <article class="spotlight-card"> 1796 <img src="https://radissonbluislamabad.com/wp-content/uploads/2026/04/2025-Grey-Structure-Completion.jpg.jpeg" alt=""> 1797 <div class="spotlight-card__shade"></div> 1798 <!-- <span class="spotlight-card__rating">2025</span> --> 1799 <div class="spotlight-card__content"> 1800 <h3>2025</h3> 1801 <p class="w-100 text-center">Grey Structure Completion</p> 1802 </div> 1803 </article> 1804 <article class="spotlight-card"> 1805 <img src="https://radissonbluislamabad.com/wp-content/uploads/2026/04/2023-Grey-Structure-Initiation.jpg.jpeg" alt=""> 1806 <div class="spotlight-card__shade"></div> 1807 <!-- <span class="spotlight-card__rating">2024</span> --> 1808 <div class="spotlight-card__content"> 1809 <h3>2024</h3> 1810 <p class="w-100 text-center">Grey Structure Initiation</p> 1811 </div> 1812 </article> 1813 <article class="spotlight-card"> 1814 <img src="https://radissonbluislamabad.com/wp-content/uploads/2026/04/2023-Ground-Breaking.jpg.jpeg" alt=""> 1815 <div class="spotlight-card__shade"></div> 1816 <!-- <span class="spotlight-card__rating">2023</span> --> 1817 <div class="spotlight-card__content"> 1818 <h3>2023</h3> 1819 <p class="w-100 text-center">Ground Breaking</p> 1820 </div> 1821 </article> 1822 </div> 1823 <div class="w-100 text-center pt-4">
1824 <a id="constructionVideoButton" type="button" style="width: fit-content;" href="https://www.youtube.com/embed/G8uQ89VSx-Q" data-video-url="https://www.youtube.com/embed/G8uQ89VSx-Q" class="btn button12 f600 button-lg2 mt-4 button-width"> 1825 Construction Updates 1826 </a> 1827 </div> 1828 1829 <style> 1830 .construction-video-popup { 1831 position: fixed; 1832 inset: 0; 1833 z-index: 2147483647; 1834 display: none; 1835 align-items: center; 1836 justify-content: center; 1837 padding: 6vh 7vw; 1838 background: rgba(9, 17, 25, .68); 1839 -webkit-backdrop-filter: blur(12px); 1840 backdrop-filter: blur(12px); 1841 } 1842 1843 .construction-video-popup.is-open { 1844 display: flex; 1845 } 1846 1847 .construction-video-popup__dialog { 1848 position: relative; 1849 width: min(100%, 1120px); 1850 aspect-ratio: 16 / 9; 1851 background: #000; 1852 box-shadow: 0 24px 65px rgba(0, 0, 0, .45); 1853 } 1854 1855 .construction-video-popup iframe { 1856 display: block; 1857 width: 100%; 1858 height: 100%; 1859 border: 0; 1860 } 1861 1862 .construction-video-popup__close { 1863 position: absolute; 1864 top: -3rem; 1865 right: 0; 1866 width: 2.5rem; 1867 height: 2.5rem; 1868 border: 0; 1869 border-radius: 50%; 1870 color: #fff; 1871 background: #024ea2; 1872 font-size: 1.8rem; 1873 line-height: 1; 1874 cursor: pointer; 1875 } 1876 1877 @media (max-width: 767px) { 1878 .construction-video-popup { 1879 padding: 4rem 1rem 1rem; 1880 } 1881 1882 .construction-video-popup__close { 1883 top: -2.8rem; 1884 } 1885 } 1886 </style> 1887 <div class="construction-video-popup" id="constructionVideoPopup" aria-hidden="true"> 1888 <div class="construction-video-popup__dialog" role="dialog" aria-modal="true" aria-label="Latest construction updates video"> 1889 <button class="construction-video-popup__close" type="button" aria-label="Close video">×</button> 1890 <iframe id="constructionVideoFrame" title="Latest Construction Updates" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe> 1891 </div> 1892 </div> 1893 1894
1894<script> 1895 (function() { 1896 function initialiseConstructionVideoPopup() { 1897 var button = document.getElementById('constructionVideoButton'); 1898 var popup = document.getElementById('constructionVideoPopup'); 1899 var frame = document.getElementById('constructionVideoFrame'); 1900 if (!button || !popup || !frame) return; 1901 1902 document.body.appendChild(popup); 1903 var closeButton = popup.querySelector('.construction-video-popup__close'); 1904 1905 function videoEmbedUrl(url) { 1906 if (!url) return ''; 1907 var youtubeMatch = url.match(/(?:youtube\.com\/watch\?v=|youtu\.be\/)([^&?/]+)/); 1908 return youtubeMatch ? 'https://www.youtube.com/embed/' + youtubeMatch[1] : url; 1909 } 1910 1911 function closePopup() { 1912 popup.classList.remove('is-open'); 1913 popup.setAttribute('aria-hidden', 'true'); 1914 frame.src = ''; 1915 document.body.classList.remove('construction-video-popup-open'); 1916 } 1917 1918 button.addEventListener('click', function(event) { 1919 event.preventDefault(); 1920 var videoUrl = videoEmbedUrl(button.getAttribute('data-video-url')); 1921 if (!videoUrl) return; 1922 frame.src = videoUrl; 1923 popup.classList.add('is-open'); 1924 popup.setAttribute('aria-hidden', 'false'); 1925 document.body.classList.add('construction-video-popup-open'); 1926 }); 1927 1928 closeButton.addEventListener('click', closePopup); 1929 popup.addEventListener('click', function(event) { 1930 if (event.target === popup) closePopup(); 1931 }); 1932 document.addEventListener('keydown', function(event) { 1933 if (event.key === 'Escape' && popup.classList.contains('is-open')) closePopup(); 1934 }); 1935 } 1936 1937 if (document.readyState === 'loading') { 1938 document.addEventListener('DOMContentLoaded', initialiseConstructionVideoPopup); 1939 } else { 1940 initialiseConstructionVideoPopup(); 1941 } 1942 })(); 1943 </script>
1943 1944 </section> 1945 </div> 1946 <!-- slider --> 1947 1948 1949 1950 1951 <section class="pt-5 bg-white" style="margin-bottom: -1rem;"> 1952 <div class="row pb-md-5"> 1953 <div class="col-md-12 text-center"> 1954 1955 <h2 class="title-2 f400 pt-3 pb-2 text-uppercase pb-3"> 1956 NEARBY LOCATIONS 1957 </h2> 1958 1959 </div> 1960 </div> 1961 1962 <div class="row position-relative"> 1963 <div class="col-md-12 col-lg-12 mt-lg-0 mt-4"> 1964 <div class="map-location-wrapper position-relative d-inline-block w-100"> 1965 <img class="w-100 d-block" src="https://radissonbluislamabad.com/wp-content/uploads/2026/08/Map-04.jpg-1-scaled.jpeg" alt="Map Location Image"> 1966 <a class="map-location-pin" href="https://maps.app.goo.gl/TQb9gA5mLvVzdzcD8" target="_blank" rel="noopener" aria-label="Open Radisson BLU location on Google Maps" title="Open Radisson BLU location on Google Maps"> 1967 <span class="ringring"></span> 1968 <span class="circle"></span> 1969 </a> 1970 </div> 1971 </div> 1972 </div> 1973 1974 </section> 1975 1976 1977 <!-- Start Form --> 1978 <section class="consultation-form-section" aria-labelledby="consultation-form-title"> 1979 <div class="container"> 1980 <div class="consultation-form-wrap"> 1981 <h2 class="title-2 f400 pt-0 pb-4 mb-5 text-center">BOOK A FREE CONSULTATION</h2> 1982 <form method="post" action="/thank-you" class="request_acall needs-validation consultation-form" id="consultationForm" novalidate> 1983 <div class="consultation-form__grid"> 1984 <div class="form-group"> 1985 <label for="consultation_full_name">Full Name <span aria-hidden="true">*</span></label> 1986 <input type="text" id="consultation_full_name" name="full_name" autocomplete="name" required> 1987 </div> 1988 <div class="form-group"> 1989 <label for="consultation_mobile_contact">Phone <span aria-hidden="true">*</span></label> 1990 <input type="hidden" name="phone" id="consultation_mobile"> 1991 <input type="tel" id="consultation_mobile_contact" class="ConsultationContactNoError" autocomplete="tel" required> 1992 </div> 1993 <div class="form-group"> 1994 <label for="consultation_email">Email Address <span aria-hidden="true">*</span></label> 1995 <input type="email" id="consultation_email" name="email" autocomplete="email" required> 1996 </div> 1997 <div class="form-group"> 1998 <label for="consultation_project_interest">Project Interest</label> 1999 <select id="consultation_project_interest" name="project-interest"> 2000 <option value="--None--">--None--</option> 2001 <option value="Hotel Suite Residences">Hotel Suite Residences</option> 2002 <option value="Branded Luxury Shops">Branded Luxury Shops</option> 2003 <option value="Any other">Any other</option> 2004 </select> 2005 </div> 2006 <div class="form-group consultation-form__address"> 2007 <label for="consultation_address">Primary Address City</label> 2008 <input type="text" id="consultation_address" name="address" autocomplete="address-level2"> 2009 </div> 2010 </div> 2011 <div class="consultation-form__submit"> 2012 <button class="btn button12 f600 button-lg2 mt-4 button-width" id="submitConsultationForm" type="submit">Submit</button> 2013 </div> 2014 </form> 2015 </div> 2016 </div> 2017 </section> 2018 <!-- End Form --> 2019 2020 <style> 2021 /* Home-page contact popup */ 2022 .home-contact-popup { 2023 position: fixed; 2024 inset: 0; 2025 z-index: 99999; 2026 display: flex; 2027 align-items: center; 2028 justify-content: center; 2029 padding: 1.5rem; 2030 background: rgba(0, 0, 0, .68); 2031 opacity: 0; 2032 visibility: hidden; 2033 transition: opacity .25s ease, visibility .25s ease; 2034 } 2035 2036 .home-contact-popup.is-open { 2037 opacity: 1; 2038 visibility: visible; 2039 } 2040 2041 .home-contact-popup__dialog { 2042 position: relative; 2043 width: min(100%, 760px); 2044 max-height: calc(100vh - 3rem); 2045 overflow-y: auto; 2046 padding: clamp(2rem, 4vw, 3.25rem); 2047 background-color: #f7f7f6; 2048 background-image: url("https://radissonbluislamabad.com/wp-content/uploads/2026/08/Gray-Ground-03-1.png"); 2049 background-position: center; 2050 background-repeat: no-repeat; 2051 background-size: cover; 2052 box-shadow: 0 24px 60px rgba(0, 0, 0, .32); 2053 transform: translateY(16px); 2054 transition: transform .25s ease; 2055 } 2056 2057 .home-contact-popup.is-open .home-contact-popup__dialog { 2058 transform: translateY(0); 2059 } 2060 2061 .home-contact-popup__close { 2062 position: absolute; 2063 top: .85rem; 2064 right: .85rem; 2065 width: 2.5rem; 2066 height: 2.5rem; 2067 padding: 0; 2068 border: 0; 2069 color: #555; 2070 background: transparent; 2071 font-size: 2.2rem; 2072 font-weight: 300; 2073 line-height: 1; 2074 cursor: pointer; 2075 } 2076 2077 .home-contact-popup .consultation-form-wrap { 2078 max-width: none; 2079 } 2080 2081 .home-contact-popup .consultation-form-wrap h2 { 2082 margin: 0 0 2.5rem; 2083 color: #555; 2084 font-size: clamp(1.5rem, 3vw, 2rem); 2085 } 2086 2087 .home-contact-popup .consultation-form__grid { 2088 row-gap: 1.75rem; 2089 } 2090 2091 .home-contact-popup .consultation-form label { 2092 margin-bottom: .85rem; 2093 } 2094 2095 .home-contact-popup .consultation-form__submit { 2096 margin-top: 2.25rem; 2097 } 2098 2099 body.home-contact-popup-open { 2100 overflow: hidden; 2101 } 2102 2103 @media (max-width: 767.98px) { 2104 .home-contact-popup { 2105 align-items: flex-start; 2106 padding: .75rem; 2107 } 2108 2109 .home-contact-popup__dialog { 2110 max-height: calc(100vh - 1.5rem);
2111 padding: 2.75rem 1.25rem 1.5rem; 2112 } 2113 } 2114 </style> 2115 2116 <div class="home-contact-popup" id="homeContactPopup" aria-hidden="true"> 2117 <div class="home-contact-popup__dialog" role="dialog" aria-modal="true" aria-labelledby="homeContactPopupTitle"> 2118 <button class="home-contact-popup__close" type="button" aria-label="Close contact form">×</button> 2119 <div class="consultation-form-wrap"> 2120 <h2 class="title-2 f400 text-center" id="homeContactPopupTitle">REQUEST A CALL</h2> 2121 <form method="post" action="https://radissonbluislamabad.com/thank-you/" class="request_acall needs-validation consultation-form" id="homeContactPopupForm" novalidate> 2122 <div class="consultation-form__grid"> 2123 <div class="form-group"> 2124 <label for="popup_full_name">Full Name <span aria-hidden="true">*</span></label> 2125 <input type="text" id="popup_full_name" name="full_name" autocomplete="name" required> 2126 </div> 2127 <div class="form-group"> 2128 <label for="popup_mobile_contact">Phone <span aria-hidden="true">*</span></label> 2129 <input type="hidden" name="phone" id="popup_mobile"> 2130 <input type="tel" id="popup_mobile_contact" name="popup_phone" autocomplete="tel" required> 2131 </div> 2132 <div class="form-group"> 2133 <label for="popup_email">Email Address <span aria-hidden="true">*</span></label> 2134 <input type="email" id="popup_email" name="email" autocomplete="email" required> 2135 </div> 2136 <div class="form-group"> 2137 <label for="popup_project_interest">Project Interest</label> 2138 <select id="popup_project_interest" name="project-interest"> 2139 <option value="--None--">--None--</option> 2140 <option value="Hotel Suite Residences">Hotel Suite Residences</option> 2141 <option value="Branded Luxury Shops">Branded Luxury Shops</option> 2142 <option value="Any other">Any other</option> 2143 </select> 2144 </div> 2145 <div class="form-group consultation-form__address"> 2146 <label for="popup_address">Primary Address City</label> 2147 <input type="text" id="popup_address" name="address" autocomplete="address-level2"> 2148 </div> 2149 </div> 2150 <div class="consultation-form__submit"> 2151 <button class="btn button12 f600 button-lg2 mt-4 button-width" id="submitHomeContactPopupForm" type="submit">Submit</button> 2152 </div> 2153 </form> 2154 </div> 2155 </div> 2156 </div> 2157 2158
2158<script> 2159 (function() { 2160 function initialiseHomeContactPopup() { 2161 var popup = document.getElementById('homeContactPopup'); 2162 if (!popup) return; 2163 2164 /* The home page uses GSAP's transformed smooth-scroll container. 2165 * Move the modal outside it so fixed positioning is truly viewport-based. */ 2166 document.body.appendChild(popup); 2167 2168 var closeButton = popup.querySelector('.home-contact-popup__close'); 2169 var popupForm = document.getElementById('homeContactPopupForm'); 2170 var popupPhone = document.getElementById('popup_mobile_contact'); 2171 var popupPhoneValue = document.getElementById('popup_mobile'); 2172 var popupSubmitButton = document.getElementById('submitHomeContactPopupForm'); 2173 var popupPhoneInstance = window.intlTelInput ? window.intlTelInput(popupPhone, window.intlOptions || {}) : null; 2174 2175 function closePopup() { 2176 popup.classList.remove('is-open'); 2177 popup.setAttribute('aria-hidden', 'true'); 2178 document.body.classList.remove('home-contact-popup-open'); 2179 } 2180 2181 function openPopup() { 2182 popup.classList.add('is-open'); 2183 popup.setAttribute('aria-hidden', 'false'); 2184 document.body.classList.add('home-contact-popup-open'); 2185 document.getElementById('popup_full_name').focus(); 2186 } 2187 2188 function startPopupTimer() { 2189 window.setTimeout(openPopup, 4000); 2190 } 2191 2192 /* Start the four-second delay only after the site's opening loader 2193 * has completed, so the modal cannot appear behind it. */ 2194 if (document.readyState === 'complete') { 2195 startPopupTimer(); 2196 } else { 2197 window.addEventListener('load', startPopupTimer, { 2198 once: true 2199 }); 2200 } 2201 2202 closeButton.addEventListener('click', closePopup); 2203 popup.addEventListener('click', function(event) { 2204 if (event.target === popup) closePopup(); 2205 }); 2206 document.addEventListener('keydown', function(event) { 2207 if (event.key === 'Escape' && popup.classList.contains('is-open')) closePopup(); 2208 }); 2209 2210 /* Match the validation used by the existing consultation form, 2211 * including validation and international formatting of the phone number. */ 2212 if (window.jQuery && jQuery.fn.validate) { 2213 jQuery.validator.addMethod('popupValidPhone', function() { 2214 return popupPhoneInstance ? popupPhoneInstance.isValidNumber() : popupPhone.value.trim().length > 0; 2215 }, 'Please enter a valid phone number'); 2216 2217 jQuery(popupForm).validate({ 2218 rules: { 2219 full_name: { 2220 required: true 2221 }, 2222 email: { 2223 required: true, 2224 email: true 2225 }, 2226 popup_phone: { 2227 required: true, 2228 popupValidPhone: true 2229 } 2230 }, 2231 messages: { 2232 full_name: 'Please enter your full name', 2233 email: 'Please enter a valid email address' 2234 }, 2235 errorClass: 'is-invalid text-danger', 2236 errorElement: 'span', 2237 wrapper: 'div', 2238 submitHandler: function(form) { 2239 popupPhoneValue.value = popupPhoneInstance ? popupPhoneInstance.getNumber() : popupPhone.value; 2240 popupSubmitButton.disabled = true; 2241 popupSubmitButton.innerHTML = '<span class="spinner-border spinner-border-sm me-2"></span> Please wait...'; 2242 form.submit(); 2243 } 2244 }); 2245 } else { 2246 popupForm.addEventListener('submit', function(event) { 2247 if (!popupForm.checkValidity()) { 2248 event.preventDefault(); 2249 popupForm.reportValidity(); 2250 return; 2251 } 2252 if (popupPhoneInstance && !popupPhoneInstance.isValidNumber()) { 2253 event.preventDefault(); 2254 popupPhone.setCustomValidity('Please enter a valid phone number'); 2255 popupPhone.reportValidity(); 2256 return; 2257 } 2258 popupPhone.setCustomValidity(''); 2259 popupPhoneValue.value = popupPhoneInstance ? popupPhoneInstance.getNumber() : popupPhone.value; 2260 }); 2261 } 2262 } 2263 2264 if (document.readyState === 'loading') { 2265 document.addEventListener('DOMContentLoaded', initialiseHomeContactPopup); 2266 } else { 2267 initialiseHomeContactPopup(); 2268 } 2269 })(); 2270 </script>
2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 <!-- Modal --> 2281 2282
2282<script> 2283 document.addEventListener('DOMContentLoaded', function() { 2284 gsap.registerPlugin(ScrollSmoother, ScrollTrigger); 2285 2286 if (window.innerWidth > 768) { 2287 ScrollSmoother.create({ 2288 wrapper: '#smooth-wrapper', 2289 content: '#smooth-content', 2290 smooth: 1.3, 2291 effects: true, 2292 normalizeScroll: false, 2293 smoothTouch: 0 2294 }); 2295 } 2296 2297 2298 /* Fade in the logo */ 2299 gsap.fromTo( 2300 '.logo-img', { 2301 opacity: 0, 2302 yPercent: 50 2303 }, { 2304 yPercent: -50, 2305 opacity: 1, 2306 duration: 1, 2307 ease: 'power3.out' 2308 } 2309 ); 2310 2311 /* logo-img to header animation */ 2312 let logoTl = gsap.timeline({ 2313 scrollTrigger: { 2314 trigger: document.body, 2315 start: 0, 2316 end: () => window.innerHeight * 0.2, 2317 scrub: 1, 2318 } 2319 }); 2320 logoTl.fromTo( 2321 '.logo-img', { 2322 marginTop: '20vh', 2323 scale: 5, 2324 textShadow: '0 0 2px rgba(0,0,0,0.3)', 2325 ease: 'slow(0.7,0.7,false)' 2326 }, { 2327 top: 50, 2328 marginTop: '0px', 2329 yPercent: 0, 2330 scale: 1, 2331 textShadow: '0 0 2px rgba(0,0,0,0)', 2332 ease: 'slow(0.7,0.7,false)', 2333 duration: 1, 2334 delay: 0, 2335 onUpdate: function() { 2336 const logoImg = document.querySelector('.logo-img'); 2337 const logo2 = document.querySelector('.logo-2'); 2338 if (parseFloat(logoImg.style.marginTop) === 0) { 2339 logoImg.classList.add('d-none'); 2340 logo2.classList.remove('d-none'); 2341 } else { 2342 logoImg.classList.remove('d-none'); 2343 logo2.classList.add('d-none'); 2344 } 2345 } 2346 } 2347 ); 2348 2349 logoTl.fromTo( 2350 'header', { 2351 boxShadow: '0px 0px 10px rgba(0,0,0,0)' 2352 }, { 2353 boxShadow: '0px 0px 10px rgba(0,0,0,.15)', 2354 // backgroundColor: 'white', 2355 delay: 1, 2356 // duration: 1, 2357 ease: 'slow(0.7,0.7,false)', 2358 stagger: 0 2359 }, 2360 0 2361 ); 2362 2363 logoTl.fromTo( 2364 '.menu', { 2365 opacity: 0 2366 }, { 2367 opacity: 1, 2368 delay: 1 2369 }, 2370 0.1 2371 ); 2372 2373 logoTl.fromTo( 2374 '.contact', { 2375 opacity: 0 2376 }, { 2377 opacity: 1, 2378 // duration: 1, 2379 delay: 1 2380 }, 2381 0.1 2382 ); 2383 }); 2384 </script>
2384 2385 <footer class="site-footer"> 2386 <div class="container container_width"> 2387 <div class="site-footer__grid"> 2388 <div class="site-footer__brand"> 2389 <a href="https://radissonbluislamabad.com/" class="site-footer__logo"> 2390 <img src="https://radissonbluislamabad.com/wp-content/uploads/2026/08/Radisson-BLU-Islamabad-Black-Logo.svg" alt="Radisson Blu Hotel & Residences Islamabad"> 2391 </a> 2392 <ul class="footer-social" aria-label="Social media links"> 2393 <li> 2394 <a href="https://www.instagram.com/radissonbluislamabad" target="_blank" rel="noopener"> 2395 <i class="fa fa-instagram" aria-hidden="true"></i> 2396 <span class="screen-reader-text">Instagram</span> 2397 </a> 2398 </li> 2399 <li> 2400 <a href="https://web.facebook.com/RadissonBLUIslamabad?_rdc=1&_rdr#" target="_blank" rel="noopener"> 2401 <i class="fa fa-facebook" aria-hidden="true"></i> 2402 <span class="screen-reader-text">Facebook</span> 2403 </a> 2404 </li> 2405 <li> 2406 <a href="https://www.tiktok.com/@radissonbluislamabad" target="_blank" rel="noopener"> 2407 <svg 2408 xmlns="http://www.w3.org/2000/svg" width="17" height="19" viewBox="0 0 22 26" 2409 fill="currentColor" aria-hidden="true"> 2410 <path 2411 d="M15.1102 18.6269V7.66826C15.1102 7.66826 16.3466 9.71957 20.8143 9.86006C21.0391 9.86006 21.2357 9.6633 21.2357 9.43851V6.34769C21.2357 6.12289 21.0391 5.92613 20.8143 5.92613C17.3582 5.72944 15.7002 3.08812 15.5597 0.6435C15.5597 0.418708 15.3349 0.250244 15.1102 0.250244H11.5696C11.3449 0.250244 11.1483 0.446834 11.1483 0.671627V18.0931C11.1483 19.9757 9.71521 21.6335 7.80448 21.7178C5.64085 21.8302 3.89857 19.9757 4.15146 17.784C4.34816 16.2386 5.58451 14.9741 7.12995 14.7493C7.43904 14.6931 7.74815 14.6931 8.02914 14.7493C8.28204 14.7774 8.50695 14.5806 8.50695 14.3277V11.2369C8.50695 11.0121 8.33832 10.8153 8.11352 10.8153C7.66394 10.7872 7.21441 10.8154 6.76482 10.8435C3.36484 11.2368 0.611117 13.9906 0.245829 17.3906C-0.259953 21.8864 3.25244 25.6798 7.63589 25.6798C11.7383 25.6798 15.082 22.336 15.082 18.2335" 2412 fill="currentColor" /> 2413 </svg> 2414 <span class="screen-reader-text">Tiktok</span> 2415 </a> 2416 </li> 2417 <li> 2418 <a href="http://linkedin.com/company/radissonbluislamabad" target="_blank" rel="noopener"> 2419 <i class="fa fa-linkedin" aria-hidden="true"></i> 2420 <sp
2420an class="screen-reader-text">Linkedin</span> 2421 </a> 2422 </li> 2423 <li> 2424 <a href="https://www.youtube.com/@RadissonBluIslamabad" target="_blank" rel="noopener"> 2425 <svg xmlns="http://www.w3.org/2000/svg" width="19" height="15" viewBox="0 0 26 19" fill="currentColor" aria-hidden="true"> 2426 <path d="M22.1591 0.0551758H3.58569C1.75925 0.0551758 0.27002 1.5444 0.27002 3.37084V14.9758C0.27002 16.8022 1.75925 18.2914 3.58569 18.2914H22.1591C23.9855 18.2914 25.4748 16.8022 25.4748 14.9758V3.37084C25.4748 1.5444 23.9855 0.0551758 22.1591 0.0551758ZM15.8368 9.97422L10.6667 12.5593C10.0766 12.8684 9.37408 12.4189 9.37408 11.7726V6.6023C9.37408 5.92792 10.0766 5.5065 10.6667 5.78749L15.8368 8.37255C16.4831 8.70974 16.4831 9.63703 15.8368 9.97422Z" fill="currentColor" /> 2427 </svg> 2428 <span class="screen-reader-text">Youtube</span> 2429 </a> 2430 </li> 2431 </ul> 2432 <div class="site-footer__stores"> 2433 <a href="https://play.google.com/store/apps/details?id=com.islootech.j7global" target="_blank" rel="noopener"><img src="https://radissonbluislamabad.com/wp-content/themes/radisson/assets/images/google-play.svg" alt="Get it on Google Play"></a> <a href="https://apps.apple.com/us/app/radisson-blu-islamabad/id6448700226" target="_blank" rel="noopener"><img src="https://radissonbluislamabad.com/wp-content/themes/radisson/assets/images/app-store.svg" alt="Download on the App Store"></a> </div> 2434 </div> 2435 <div class="site-footer__column"> 2436 <h2 style="font-family: 'Fabyen-regular' !important;">Contact Us</h2> 2437 <p>Main Srinagar Highway, Near Islamabad International Airport</p> 2438 <a href="tel:+923311111033">+92 (331) 1111 033</a> <a href="mailto:info@radissonbluislamabad.com">info@radissonbluislamabad.com</a> </div> 2439 <div class="site-footer__column"> 2440 <h2 style="font-family: 'Fabyen-regular' !important;">Menu</h2> 2441 <a href="https://radissonbluislamabad.com/">Home</a> 2442 <a href="https://radissonbluislamabad.com/about-us">About Us</a> 2443 <a href="https://radissonbluislamabad.com/news">News</a> 2444 <a href="https://radissonbluislamabad.com/events">Events</a> 2445 <a href="https://radissonbluislamabad.com/careers">Careers</a> 2446 </div> 2447 <div class="site-footer__column"> 2448 <h2 style="font-family: 'Fabyen-regular' !important;">What To Buy?</h2> 2449 <a href="https://radissonbluislamabad.com/one-bed-residential-suite">Residential Suites</a> 2450 <a href="https://radissonbluislamabad.com/deluxe-suite/">Deluxe Suites</a> 2451 <a href="https://radissonbluislamabad.com/branded-shops/">Branded Shops</a> 2452 </div> 2453 </div> 2454 </div> 2455 <p class="site-footer__copyright">Radisson Blu Islamabad © 2026</p> 2456 2457</footer> 2458</div> 2459</div> 2460<!-- WhatsApp floating ring button --> 2461<a class="whatsapp-ring-container" href="https://wa.me/923311111033" target="_blank" rel="noopener noreferrer" role="button" aria-label="Chat with us on WhatsApp"> 2462 <span class="whatsapp-ringring"></span> 2463 <span class="whatsapp-circle"> 2464 <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" fill="#ffffff" viewBox="0 0 16 16" aria-hidden="true"> 2465 <path d="M13.601 2.326A7.854 7.854 0 0 0 7.994 0C3.627 0 .068 3.558.064 7.926c0 1.399.366 2.76 1.057 3.965L0 16l4.204-1.102a7.933 7.933 0 0 0 3.79.965h.004c4.368 0 7.926-3.558 7.93-7.93A7.898 7.898 0 0 0 13.6 2.326zM7.994 14.521a6.573 6.573 0 0 1-3.356-.92l-.24-.144-2.494.654.666-2.433-.156-.251a6.56 6.56 0 0 1-1.007-3.505c0-3.626 2.957-6.584 6.591-6.584a6.56 6.56 0 0 1 4.66 1.931 6.557 6.557 0 0 1 1.928 4.66c-.004 3.639-2.961 6.592-6.592 6.592zm3.615-4.934c-.197-.099-1.17-.578-1.353-.646-.182-.065-.315-.099-.445.099-.133.197-.513.646-.627.775-.114.133-.232.148-.43.05-.197-.1-.836-.308-1.592-.985-.59-.525-.985-1.175-1.103-1.372-.114-.198-.011-.304.088-.403.087-.088.197-.232.296-.346.099-.114.133-.198.198-.33.065-.134.034-.248-.015-.347-.05-.099-.445-1.076-.612-1.47-.16-.389-.323-.335-.445-.34-.114-.007-.247-.007-.38-.007a.729.729 0 0 0-.529.247c-.182.198-.691.677-.691 1.654 0 .977.71 1.916.81 2.049.098.133 1.394 2.132 3.383 2.992.47.205.84.326 1.129.418.475.152.904.129 1.246.08.38-.058
24651.171-.48 1.338-.943.164-.464.164-.86.114-.943-.049-.084-.182-.133-.38-.232z"/> 2466 </svg> 2467 </span> 2468</a> 2469<!-- Kept outside the smooth-scroll wrapper so position: fixed stays viewport-fixed. --> 2470<a class="ring-container" data-bs-toggle="modal" href="#exampleModalToggle22" role="button" aria-label="Contact us"> 2471 <span class="ringring"></span> 2472 <span class="circle">LIVE</span> 2473</a>
2474<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/gsap.min.js"></script>
2474 2475
2476<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/ScrollTrigger.min.js"></script>
2476 2477<!-- ScrollSmoother requires ScrollTrigger -->
2478<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/ScrollSmoother.min.js"></script>
vendor: 1 bytes, line 2478
2478
2479<script> 2480 document.addEventListener('DOMContentLoaded', function() { 2481 gsap.registerPlugin(ScrollSmoother, ScrollTrigger); 2482 2483 if (window.innerWidth > 768) { 2484 ScrollSmoother.create({ 2485 wrapper: '#smooth-wrapper', 2486 content: '#smooth-content', 2487 smooth: 0.5, 2488 effects: true, 2489 normalizeScroll: false, 2490 smoothTouch: 0 2491 }); 2492 } 2493 2494 2495 2496 2497 /* Fade in the logo */ 2498 gsap.fromTo( 2499 '.logo-img', { 2500 opacity: 0, 2501 yPercent: 50 2502 }, { 2503 yPercent: -50, 2504 opacity: 1, 2505 duration: 1, 2506 ease: 'power3.out' 2507 } 2508 ); 2509 2510 /* logo-img to header animation */ 2511 let logoTl = gsap.timeline({ 2512 scrollTrigger: { 2513 trigger: document.body, 2514 start: 0, 2515 end: () => window.innerHeight * 0.2, 2516 scrub: 1, 2517 } 2518 }); 2519 logoTl.fromTo( 2520 '.logo-img', { 2521 marginTop: '12vh', 2522 scale: 1.5, 2523 textShadow: '0 0 2px rgba(0,0,0,0.3)', 2524 ease: 'slow(0.7,0.7,false)' 2525 }, { 2526 top: 50, 2527 marginTop: '0px', 2528 yPercent: 0, 2529 scale: 1, 2530 textShadow: '0 0 2px rgba(0,0,0,0)', 2531 ease: 'slow(0.7,0.7,false)', 2532 duration: 1, 2533 delay: 0, 2534 onUpdate: function() { 2535 const logoImg = document.querySelector('.logo-img'); 2536 const logo2 = document.querySelector('.logo-2'); 2537 if (parseFloat(logoImg.style.marginTop) === 0) { 2538 logoImg.classList.add('d-none'); 2539 logo2.classList.remove('d-none'); 2540 } else { 2541 logoImg.classList.remove('d-none'); 2542 logo2.classList.add('d-none'); 2543 } 2544 } 2545 } 2546 ); 2547 2548 logoTl.fromTo( 2549 'header', { 2550 boxShadow: '0px 0px 10px rgba(0,0,0,0)' 2551 }, { 2552 boxShadow: '0px 0px 10px rgba(0,0,0,.15)', 2553 backgroundColor: 'white', 2554 delay: 1, 2555 // duration: 1, 2556 ease: 'slow(0.7,0.7,false)', 2557 stagger: 0 2558 }, 2559 0 2560 ); 2561 2562 logoTl.fromTo( 2563 '.menu', { 2564 opacity: 0 2565 }, { 2566 opacity: 1, 2567 delay: 1 2568 }, 2569 0.1 2570 ); 2571 2572 logoTl.fromTo( 2573 '.contact', { 2574 opacity: 0 2575 }, { 2576 opacity: 1, 2577 delay: 1 2578 }, 2579 0.1 2580 ); 2581 }); 2582</script>
2582 2583 2584 2585 2586
2587<script> 2588 $(document).ready(function() { 2589 $('.slider-style').owlCarousel({ 2590 loop: true, 2591 margin: 20, 2592 nav: true, 2593 dots: false, 2594 autoplay: false, 2595 center: true, // This ensures the current item is shown in the center 2596 // navText: ["<div class='nav-btn prev-slide'></div>", "<div class='nav-btn next-slide'></div>"], 2597 autoplayTimeout: 7000, 2598 responsive: { 2599 0: { 2600 items: 1 2601 }, 2602 600: { 2603 items: 2 2604 }, 2605 1000: { 2606 items: 3 2607 } 2608 } 2609 }); 2610 2611 $('.hide_section').hide(); 2612 $('.hide_section').first().show(); 2613 2614 $('.slider-style').on('changed.owl.carousel', function(event) { 2615 var currentIndex = event.item.index; 2616 var totalItems = event.item.count; 2617 2618 var adjustedIndex = (currentIndex - event.relatedTarget._clones.length / 2) % totalItems; 2619 if (adjustedIndex < 0) { 2620 adjustedIndex = totalItems + adjustedIndex; 2621 } 2622 2623 $('.hide_section').hide(); 2624 $('.hide_section').eq(adjustedIndex).fadeIn(); 2625 }); 2626 2627 // Highlight the center item 2628 $('.slider-style').on('initialized.owl.carousel changed.owl.carousel resized.owl.carousel', function(event) { 2629 let $carousel = $(this); 2630 setTimeout(function() { 2631 $carousel.find('.item').removeClass('center-active'); 2632 let $center = $carousel.find('.owl-item.center .item'); 2633 $center.addClass('center-active'); 2634 }); 2635 }); 2636 2637 2638 2639 2640 $('.slider-style2').owlCarousel({ 2641 loop: true, 2642 margin: 20, 2643 nav: false, 2644 dots: true, 2645 autoplay: false, 2646 2647 navText: ["<div class='nav-btn prev-slide'></div>", "<div class='nav-btn next-slide'></div>"], 2648 2649 autoplayTimeout: 7000, 2650 responsive: { 2651 0: { 2652 items: 1 2653 }, 2654 600: { 2655 items: 1 2656 }, 2657 1000: { 2658 items: 1 2659 } 2660 } 2661 }); 2662 2663 $('.slider-style3').owlCarousel({ 2664 loop: true, 2665 margin: 20, 2666 autoplay: true, 2667 nav: false, 2668 dots: true, 2669 //navText: ["<div class='nav-btn prev-slide'></div>", "<div class='nav-btn next-slide'></div>"], 2670 autoplayTimeout: 75000, 2671 responsive: { 2672 0: { 2673 items: 1.5 2674 }, 2675 600: { 2676 items: 2.7 2677 } 2678 2679 } 2680 }); 2681 2682 $('.slider-style4').owlCarousel({ 2683 loop: true, 2684 margin: 20, 2685 nav: false, 2686 dots: false, 2687 autoplay: false, 2688 navText: ["<div class='nav-btn prev-slide'></div>", "<div class='nav-btn next-slide'></div>"], 2689 2690 autoplayTimeout: 5000, 2691 responsive: { 2692 0: { 2693 items: 1 2694 }, 2695 600: { 2696 items: 1 2697 }, 2698 1000: { 2699 items: 1 2700 } 2701 } 2702 }); 2703 2704 $('.spotlight-slider').owlCarousel({ 2705 loop: true, 2706 center: true, 2707 margin: 20, 2708 nav: false, 2709 dots: false, 2710 autoplay: true, 2711 autoplayTimeout: 5000, 2712 autoplayHoverPause: false, 2713 smartSpeed: 400, 2714 slideBy: 1, 2715 dragEndSpeed: 400, 2716 mouseDrag: false, 2717 touchDrag: true, 2718 responsive: { 2719 0: { 2720 items: 1.7, 2721 margin: 14, 2722 mouseDrag: true, 2723 touchDrag: true 2724 }, 2725 768: { 2726 items: 3.65, 2727 mouseDrag: false, 2728 touchDrag: false 2729 }, 2730 1200: { 2731 items: 4.15, 2732 mouseDrag: false, 2733 touchDrag: false 2734 } 2735 } 2736 }); 2737 2738 $('.spotlight-slider').on('click', '.owl-item:not(.center)', function() { 2739 $(this).closest('.spotlight-slider').trigger('to.owl.carousel', [$(this).index(), 650]); 2740 }); 2741 2742 // Keep a drag to a single step, even when the visitor pulls the carousel a long distance. 2743 $('.spotlight-slider').on('drag.owl.carousel', function(event) { 2744 const $slider = $(this); 2745 const carousel = event.relatedTarget; 2746 const startIndex = carousel.relative(carousel.current()); 2747 const startEvent = event.originalEvent; 2748 const startPoint = startEvent && startEvent.touches ? startEvent.touches[0] : startEvent; 2749 2750 if (!startPoint || typeof startPoint.pageX !== 'number') { 2751 return; 2752 } 2753 2754 const startX = startPoint.pageX; 2755 2756 $(document).one('mouseup.spotlightOneStep touchend.spotlightOneStep', function(en
2756dEvent) { 2757 const originalEndEvent = endEvent.originalEvent; 2758 const endPoint = originalEndEvent && originalEndEvent.changedTouches ? originalEndEvent.changedTouches[0] : originalEndEvent; 2759 2760 if (!endPoint || typeof endPoint.pageX !== 'number' || Math.abs(endPoint.pageX - startX) < 10) { 2761 return; 2762 } 2763 2764 const direction = endPoint.pageX < startX ? 1 : -1; 2765 window.setTimeout(function() { 2766 $slider.trigger('to.owl.carousel', [startIndex + direction, 400]); 2767 }, 0); 2768 }); 2769 }); 2770 2771 const marqueeViewport = document.querySelector('.building-details-marquee__viewport'); 2772 const marqueeTrack = document.querySelector('.building-details-marquee__track'); 2773 2774 if (marqueeViewport && marqueeTrack && !window.matchMedia('(prefers-reduced-motion: reduce)').matches) { 2775 let marqueeGroupWidth = 0; 2776 let marqueePosition = 0; 2777 let marqueeDirection = -1; 2778 let marqueePaused = false; 2779 let lastScrollPosition = window.scrollY; 2780 let lastFrameTime = performance.now(); 2781 2782 const resetMarquee = () => { 2783 marqueeGroupWidth = marqueeTrack.querySelector('.building-details-marquee__group').offsetWidth; 2784 marqueePosition = -marqueeGroupWidth; 2785 marqueeTrack.style.transform = `translate3d(${marqueePosition}px, 0, 0)`; 2786 }; 2787 2788 const moveMarquee = (time) => { 2789 const elapsed = Math.min(time - lastFrameTime, 50); 2790 lastFrameTime = time; 2791 2792 if (!marqueePaused && marqueeGroupWidth) { 2793 marqueePosition += marqueeDirection * (elapsed * 0.035); 2794 2795 if (marqueePosition <= marqueeGroupWidth * -2) { 2796 marqueePosition += marqueeGroupWidth; 2797 } else if (marqueePosition >= 0) { 2798 marqueePosition -= marqueeGroupWidth; 2799 } 2800 2801 marqueeTrack.style.transform = `translate3d(${marqueePosition}px, 0, 0)`; 2802 } 2803 2804 window.requestAnimationFrame(moveMarquee); 2805 }; 2806 2807 marqueeViewport.addEventListener('mouseenter', () => marqueePaused = true); 2808 marqueeViewport.addEventListener('mouseleave', () => marqueePaused = false); 2809 window.addEventListener('scroll', () => { 2810 marqueeDirection = window.scrollY < lastScrollPosition ? 1 : -1; 2811 lastScrollPosition = window.scrollY; 2812 }, { passive: true }); 2813 window.addEventListener('resize', resetMarquee); 2814 2815 resetMarquee(); 2816 window.requestAnimationFrame(moveMarquee); 2817 } 2818 2819 2820 2821 //main_header 2822 $(window).scroll(function() { 2823 if ($(this).scrollTop() > 200) { 2824 $('.main_header').addClass('sticky_header'); 2825 } else if ($(this).scrollTop() < 200) { 2826 $('.main_header').removeClass('sticky_header'); 2827 } 2828 }); 2829 2830 //tabs 2831 $('.timelineClick').first().addClass('active'); 2832 $('.tab_1').first().addClass('d-block'); 2833 $('.timelineClick').on('click', function(e) { 2834 e.preventDefault(); 2835 2836 const selectedTab = $(this).data('name'); 2837 2838 // Remove active class from all 2839 $('.timelineClick').removeClass('active'); 2840 2841 // Add active class to the clicked one 2842 $(this).addClass('active'); 2843 2844 // Hide all tabs and show only the selected one 2845 $('.tab_1').addClass('d-none').removeClass('d-block'); 2846 $('.tab_1[data-tab="' + selectedTab + '"]').removeClass('d-none').addClass('d-block'); 2847 }); 2848 2849 //navbar menu 2850 $('.main_header .mimu_ul').children().children().each(function() { 2851 $(this).click(function() { 2852 $('.main_header .mimu_ul').children().children().removeClass('active'); 2853 $(this).addClass('active'); 2854 }); 2855 }); 2856 }); 2857</script>
2857 2858
2859<script> 2860 var intlOptions = { 2861 utilsScript: "https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.8/js/utils.js", 2862 preferredCountries: ["pk"], 2863 separateDialCode: true, 2864 autoPlaceholder: 'polite', 2865 formatOnDisplay: true, 2866 nationalMode: true 2867 }; 2868 2869 // --------------------------------------- 2870 // Safe initializer function 2871 // --------------------------------------- 2872 function initIntlTel(inputId) { 2873 var input = document.querySelector(inputId); 2874 if (input) { 2875 return window.intlTelInput(input, intlOptions); 2876 } 2877 return null; 2878 } 2879 2880 // --------------------------------------- 2881 // Initialize ALL phone fields 2882 // --------------------------------------- 2883 var intlMobileContact = initIntlTel("#mobile_contact"); 2884 var intlMobileContact1 = initIntlTel("#mobile_contact1"); 2885 var intlMobileContactCarrer = initIntlTel("#mobile_contact_carrer"); 2886 var intlConsultation = initIntlTel("#consultation_mobile_contact"); 2887 2888 2889 // --------------------------------------- 2890 // VALIDATION (All forms â untouched) 2891 // --------------------------------------- 2892 var validator = $("#crmForm").validate({ 2893 rules: { 2894 'full_name': { 2895 required: true 2896 }, 2897 }, 2898 messages: { 2899 full_name: "Please enter your full name" 2900 }, 2901 errorClass: 'is-invalid text-danger', 2902 errorElement: "span", 2903 wrapper: "div", 2904 2905 submitHandler: function(form) { 2906 $("#submitCrmData1") 2907 .prop("disabled", true) 2908 .html('<span class="spinner-border spinner-border-sm me-2"></span> Please wait...'); 2909 form.submit(); 2910 } 2911 }); 2912 // var validator = $("#careerForm").validate({ 2913 // rules: { 2914 // 'full_name': { required: true }, 2915 // }, 2916 // messages: { full_name: "Please enter your full name" }, 2917 // errorClass: 'is-invalid text-danger', 2918 // errorElement: "span", 2919 // wrapper: "div", 2920 2921 // submitHandler: function (form) { 2922 // $("#submitCrmData2") 2923 // .prop("disabled", true) 2924 // .html('<span class="spinner-border spinner-border-sm me-2"></span> Please wait...'); 2925 // form.submit(); 2926 // } 2927 // }); 2928 2929 var validator = $("#crmForm1").validate({ 2930 rules: { 2931 'full_name': { 2932 required: true 2933 }, 2934 'message': { 2935 required: true 2936 } 2937 }, 2938 messages: { 2939 full_name: "Please enter your full name", 2940 message: "Please enter your message", 2941 }, 2942 errorClass: 'is-invalid text-danger', 2943 errorElement: "span", 2944 wrapper: "div", 2945 2946 submitHandler: function(form) { 2947 $("#submitCrmData01") 2948 .prop("disabled", true) 2949 .html('<span class="spinner-border spinner-border-sm me-2"></span> Sending...'); 2950 form.submit(); 2951 } 2952 }); 2953 2954 var consultationFormValidator = $("#consultationForm").validate({ 2955 rules: { 2956 'full_name': { required: true }, 2957 'email': { required: true, email: true } 2958 }, 2959 messages: { 2960 full_name: "Please enter your full name", 2961 email: "Please enter a valid email address" 2962 }, 2963 errorClass: 'is-invalid text-danger', 2964 errorElement: "span", 2965 wrapper: "div", 2966 submitHandler: function(form) { 2967 $("#consultation_mobile").val(intlConsultation ? intlConsultation.getNumber() : ''); 2968 $("#submitConsultationForm") 2969 .prop("disabled", true) 2970 .html('<span class="spinner-border spinner-border-sm me-2"></span> Please wait...'); 2971 form.submit(); 2972 } 2973 }); 2974 2975 var validator = $("#crmFormrequest").validate({ 2976 rules: { 2977 'full_name': { 2978 required: true 2979 }, 2980 }, 2981 messages: { 2982 full_name: "Please enter your full name" 2983 }, 2984 errorClass: 'is-invalid text-danger', 2985 errorElement: "span", 2986 wrapper: "div", 2987 submitHandler: function(form) { 2988 form.submit(); 2989 } 2990 }); 2991
2992 var validator = $("#crmForm2").validate({ 2993 rules: { 2994 'full_name': { 2995 required: true 2996 }, 2997 }, 2998 messages: { 2999 full_name: "Please enter your full name" 3000 }, 3001 errorClass: 'is-invalid text-danger', 3002 errorElement: "span", 3003 wrapper: "div", 3004 submitHandler: function(form) { 3005 form.submit(); 3006 } 3007 }); 3008 3009 3010 // --------------------------------------- 3011 // CAREER FORM VALIDATION 3012 // --------------------------------------- 3013 var careerFormValidator = $("#careerForm").validate({ 3014 rules: { 3015 'full_name': { 3016 required: true 3017 }, 3018 'f_name': { 3019 required: true 3020 }, 3021 'email': { 3022 required: true, 3023 email: true 3024 }, 3025 'cnic': { 3026 required: true, 3027 minlength: 13, 3028 maxlength: 14 3029 }, 3030 'job_status': { 3031 required: true 3032 }, 3033 'resume': { 3034 required: true 3035 }, 3036 }, 3037 messages: { 3038 full_name: "Full Name Field Is Required.", 3039 father_name: 'Father Name Field Is Required', 3040 email: "Enter Valid Email Address", 3041 cnic: "Enter Valid CNIC", 3042 job_status: 'Select Job Status', 3043 resume: 'Upload Resume', 3044 }, 3045 3046 errorClass: 'is-invalid text-danger', 3047 errorElement: "span", 3048 wrapper: "div", 3049 3050 submitHandler: function(form, event) { 3051 event.preventDefault(); 3052 3053 let mobile_numbe_3 = document.getElementById('mobile_contact_carrer'); 3054 mobile_numbe_3.value = intlMobileContactCarrer.getNumber(); 3055 3056 let formData = new FormData(form); 3057 console.log(formData); 3058 3059 3060 careerFormError = document.getElementById('careerFormError'); 3061 careerFormError.style.display = 'none'; 3062 // Access-Control-Allow-Origin 3063 $.ajax({ 3064 method: "POST", 3065 url: "https://global.konnectops.com/api/apply-job", 3066 data: formData, 3067 processData: false, 3068 contentType: false, 3069 success: function(response) { 3070 if (response.success) { 3071 location.href = 'https://radissonbluislamabad.com/thank-you/'; 3072 } else { 3073 careerFormError.innerHTML = response.error ?? 'An Error Occured !'; 3074 careerFormError.style.display = 'block'; 3075 } 3076 }, 3077 error: function(xhr, status, error) { 3078 careerFormError.innerHTML = xhr.responseText.error ?? 'An Error Occured !'; 3079 careerFormError.style.display = 'block'; 3080 } 3081 }); 3082 } 3083 }); 3084 3085 3086 // --------------------------------------- 3087 // VALID MOBILE NUMBER METHODS (Fixed) 3088 // --------------------------------------- 3089 3090 // crmForm phone (intlMobileContact) 3091 $.validator.addMethod("ContactNoError", function(value, element) { 3092 $('#mobile_number').val(intlMobileContact.getNumber()); 3093 return intlMobileContact.isValidNumber(); 3094 }, "In Valid number"); 3095 3096 $.validator.addMethod("ConsultationContactNoError", function(value, element) { 3097 if (!intlConsultation) { 3098 return false; 3099 } 3100 $('#consultation_mobile').val(intlConsultation.getNumber()); 3101 return intlConsultation.isValidNumber(); 3102 }, "Please enter a valid phone number"); 3103 3104 // crmForm1 phone (intlMobileContact1) â FIXED CODE HERE 3105 $.validator.addMethod("ContactNoError01", function(value, element) { 3106 $('#mobile_number01').val(intlMobileContact1.getNumber()); 3107 return intlMobileContact1.isValidNumber(); 3108 }, "In Valid number"); 3109 3110 // crmForm phone (intlMobileContact1) 3111 $.validator.addMethod("ContactNoError1", function(value, element) { 3112 $('#mobile_number1').val(intlMobileContact1.getNumber()); 3113 return intlMobileContact1.isValidNumber(); 3114 }, "In Valid number"); 3115 3116 // Other validators you already had 3117 $.validator.addMethod("ContactNoError2", function(value, element) { 3118 $('#mobile_number2').val(intlMobileContact2.getNumber()); 3119 return intlMobileContact2.isValidNumber(); 3120 }, "In Valid number"); 3121 3122 $.validator.addMethod("ContactNoErrorNew", function(value, element) { 3123 $('#mobile_number3').val(intlMobileContactNew.getNumber()); 3124 return intlMobileContactNew.isValidNumber(); 3125 }, "In Valid number"); 3126 3127 // Career form phone 3128 $.validator.addMethod("CarrerContactNoError", function(value, element) { 3129 $('#mobile_contact_carrer_input').val(intlMobileContactCarrer.getNumber()); 3130 return intlMobileContactCarrer.isValidNumber(); 3131 }, "In Valid number"); 3132 3133 3134 // --------------------------------------- 3135 // Ensure All Submit Buttons Are Active 3136 // --------------------------------------- 3137 $(document).ready(function() { 3138 $('#crmFormBtn1').attr('disabled', false); 3139 $('#crmFormBtn2').attr('disabled', false); 3140 $('#submitCrmData1').attr('disabled', false); 3141 $('#submitCrmData3').attr('disabled', false); 3142 $('#submitCrmData2').attr('disabled', false); 3143 }); 3144</script>
3144 3145 3146<!-- Payment gateway scripts -->
3147<script> 3148 $("#select_unit_id").change(function() { 3149 var due_amount = $('option:selected', this).attr('due_amount'); 3150 due_amount = due_amount.replaceAll(",", ""); 3151 var remaining_amount = $('option:selected', this).attr('remaining_amount'); 3152 remaining_amount = remaining_amount.replaceAll(",", ""); 3153 3154 if (remaining_amount == 0) { 3155 $("#paymentSubmitButton").hide(); 3156 $("#amountDiv").hide(); 3157 $("#amount").hide(); 3158 } else { 3159 $("#paymentSubmitButton").show(); 3160 $("#amountDiv").show(); 3161 $("#amount").show(); 3162 } 3163 3164 $("#amount").prop('max', remaining_amount); 3165 $("#amount").val(due_amount); 3166 3167 }); 3168</script>
3168 3169
3170<script type="speculationrules"> 3171{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/radisson/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 3172</script>
vendor: 1 bytes, line 3172
3172
3173<script id="wp-emoji-settings" type="application/json"> 3174{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://radissonbluislamabad.com/wp-includes/js/wp-emoji-release.min.js?ver=7.1.2"}} 3175</script>
vendor: 1 bytes, line 3175
3175
3176<script type="module"> 3177/*! This file is auto-generated */ 3178var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))}); 3179//# sourceURL=https://radissonbluislamabad.com/wp-includes/js/wp-emoji-loader.min.js 3180</script>
3180 3181 3182</body> 3183 3184</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.