Overwater bungalows have long been synonymous with luxury tropical getaways, offering a unique blend of privacy, comfort, and breathtaking views. Whilst traditionally associated with destinations like the Maldives or Bora Bora, these architectural marvels have found their way to the crystal-clear waters of the Caribbean. This rising trend has transformed the landscape of Caribbean luxury tourism, providing travellers with an unparalleled experience that combines the region's natural beauty with world-class amenities.
The allure of stepping from your private terrace directly into warm, turquoise waters is undeniable. Caribbean overwater bungalows offer this experience alongside the rich cultural tapestry and diverse ecosystems that make the region so captivating. From Jamaica to Belize, these exclusive accommodations are redefining tropical luxury, offering a perfect blend of seclusion and adventure for discerning travellers.
Caribbean overwater bungalow destinations: top resorts and islands
The Caribbean boasts several stunning locations where you can experience the magic of overwater living. Each destination offers its own unique charm, from the vibrant culture of Jamaica to the secluded beauty of Belize. Let's explore some of the most notable resorts and islands that have embraced this luxurious accommodation style.
Sandals royal caribbean resort: montego bay, jamaica
Sandals Royal Caribbean Resort in Montego Bay, Jamaica, stands out as a pioneer in bringing overwater bungalows to the Caribbean. These exquisite accommodations feature glass floor panels, allowing you to observe marine life from the comfort of your room. The resort's over-the-water villas boast private infinity pools, outdoor showers, and hammocks suspended over the Caribbean Sea.
What sets Sandals Royal Caribbean apart is its private offshore island, accessible only to resort guests. This creates an exclusive retreat within a retreat, offering an unparalleled level of privacy and luxury. The resort's commitment to all-inclusive luxury means that every aspect of your stay, from gourmet dining to water sports, is covered in your booking.
Aruba ocean villas: savaneta, aruba
Aruba Ocean Villas in Savaneta offers a more intimate overwater experience. This boutique property features a handful of carefully designed villas that blend Aruban charm with modern luxury. Unlike larger resorts, Aruba Ocean Villas provides a personalised experience, with each villa offering direct access to the calm waters of the Caribbean.
The villas are equipped with private terraces, perfect for sunbathing or stargazing. Guests can enjoy in-room spa treatments, private dining experiences, and easy access to some of Aruba's best snorkelling spots. The resort's location in Savaneta, away from the busier tourist areas, allows for a more authentic Aruban experience.
Royalton antigua: deep bay, antigua
Royalton Antigua, located in Deep Bay, has made waves with its introduction of the first overwater bungalows in Antigua. These adults-only Chairman's Overwater Bungalows offer an exclusive experience with unparalleled views of the Caribbean Sea. Each bungalow features a private infinity plunge pool, over-water hammocks, and butler service.
What distinguishes Royalton Antigua is its commitment to modern luxury. The bungalows are equipped with state-of-the-art technology, including smart TVs and Bluetooth speakers. The resort's location on a secluded bay provides a tranquil setting, while still offering easy access to Antigua's historic sites and natural wonders.
Cayo espanto: san pedro, belize
Cayo Espanto, a private island resort near San Pedro, Belize, offers an exclusive overwater bungalow experience. The resort's Casa Ventanas is a standalone overwater bungalow that provides 360-degree views of the Caribbean. This one-bedroom villa sits at the end of a private dock, offering unparalleled privacy and immersion in nature.
What makes Cayo Espanto unique is its emphasis on personalised service. With only seven villas on the entire island, guests receive attentive, tailored experiences. The resort's proximity to the Belize Barrier Reef, the second-largest in the world, makes it an ideal base for snorkelling and diving adventures.
Architectural features of caribbean overwater bungalows
The design of Caribbean overwater bungalows seamlessly blends traditional tropical architecture with modern luxury. These structures are not merely accommodations; they are marvels of engineering and design that enhance the natural beauty of their surroundings while providing unparalleled comfort.
Palafitte construction: adapting to tropical waters
Overwater bungalows in the Caribbean employ palafitte construction , a technique that has been used for centuries in coastal and lakeside areas around the world. This method involves building structures on stilts or piles, elevating them above the water. In the Caribbean context, this construction style serves multiple purposes:
- Minimises environmental impact on marine ecosystems
- Provides stability in varying water levels and weather conditions
- Allows for natural water circulation underneath the structures
- Creates a sense of floating above the water for guests
The use of durable, weather-resistant materials is crucial in palafitte construction. Many Caribbean resorts utilise treated hardwoods and composite materials that can withstand the harsh marine environment while maintaining their aesthetic appeal.
Thatched roofs and indigenous materials
Many Caribbean overwater bungalows feature thatched roofs, a nod to traditional Caribbean and Polynesian architecture. These roofs are not just visually appealing; they serve practical purposes as well:
- Provide excellent insulation against heat
- Allow for natural ventilation
- Blend seamlessly with the natural surroundings
- Offer a sustainable roofing option
The use of indigenous materials extends beyond the roof. Many resorts incorporate local woods, stones, and textiles into their designs, creating a sense of place and supporting local artisans. This approach not only enhances the authenticity of the experience but also contributes to the sustainability of local communities.
Glass floor panels: underwater viewing experience
One of the most captivating features of Caribbean overwater bungalows is the inclusion of glass floor panels. These transparent sections provide guests with a unique underwater viewing experience, allowing them to observe marine life from the comfort of their accommodation. The glass floor panels
serve multiple purposes:
- Create a constant connection with the marine environment
- Provide natural light to the interiors
- Offer a unique architectural feature that sets these bungalows apart
- Enhance the overall sense of luxury and exclusivity
The design and placement of these panels require careful consideration to ensure privacy and structural integrity while maximising the viewing experience. Many resorts use specially treated glass that prevents algae growth and maintains clarity even in saltwater environments.
Private terraces and infinity pools
Caribbean overwater bungalows often feature expansive private terraces that blur the line between indoor and outdoor living. These terraces typically include:
- Direct access to the water via steps or ladders
- Comfortable lounge furniture for sunbathing and relaxation
- Outdoor showers or bathtubs for a unique bathing experience
- Over-water hammocks for ultimate relaxation
Many luxury overwater bungalows in the Caribbean also boast private infinity pools. These pools create a visual illusion of merging with the sea, offering a seamless transition between the man-made and natural environments. The inclusion of private pools provides guests with an additional layer of luxury and privacy, allowing for intimate moments and breathtaking views.
Environmental considerations for overwater structures in the caribbean
While overwater bungalows offer an unparalleled luxury experience, their construction and operation in delicate marine ecosystems require careful environmental consideration. Caribbean resorts are increasingly adopting sustainable practices to minimise their impact on the surrounding environment.
Coral reef protection measures
The Caribbean is home to some of the world's most diverse coral reef ecosystems. Protecting these fragile environments is paramount in the development and operation of overwater structures. Resorts implement various measures to safeguard coral reefs:
- Careful placement of stilts to avoid damaging existing coral formations
- Implementation of coral restoration programmes
- Guest education on responsible snorkelling and diving practices
- Use of reef-safe sunscreens and environmentally friendly cleaning products
Many resorts partner with marine biologists and conservation organisations to monitor and protect the health of surrounding coral reefs. These efforts not only preserve the natural beauty that attracts visitors but also contribute to the overall health of the Caribbean's marine ecosystems.
Sustainable water and waste management systems
Overwater bungalows present unique challenges in terms of water and waste management. Caribbean resorts are implementing innovative solutions to address these challenges:
- Advanced wastewater treatment systems to prevent pollution
- Rainwater harvesting for non-potable uses
- Use of biodegradable and eco-friendly products
- Comprehensive recycling and waste reduction programmes
Some resorts are going a step further by implementing closed-loop systems that recycle and reuse water, significantly reducing their environmental footprint. These systems not only conserve water but also protect the delicate marine ecosystems surrounding the bungalows.
Hurricane-resistant design techniques
The Caribbean region is prone to hurricanes, making storm-resistant design crucial for overwater structures. Architects and engineers employ various techniques to ensure the safety and durability of these bungalows:
- Use of flexible connections between structures to absorb shock
- Implementation of aerodynamic designs to reduce wind resistance
- Installation of storm shutters and impact-resistant glass
- Elevation of structures above potential storm surge levels
Additionally, many resorts have comprehensive evacuation plans and robust insurance policies to protect guests and investments in the event of severe weather. The resilience of these structures is a testament to modern engineering and a commitment to guest safety.
Unique experiences in caribbean overwater bungalows
Staying in an overwater bungalow in the Caribbean offers more than just luxurious accommodation; it provides a gateway to unique experiences that blend natural beauty with unparalleled comfort. These distinctive offerings set Caribbean overwater bungalows apart from traditional resort stays.
In-room spa treatments with ocean views
Many Caribbean overwater bungalows offer in-room spa treatments, allowing guests to indulge in relaxation while enjoying breathtaking ocean views. This unique service brings the spa experience directly to your private sanctuary, often incorporating local ingredients and traditional techniques.
Imagine receiving a massage as gentle waves lap beneath you, the sea breeze carrying the scent of tropical flowers through your bungalow. This is the epitome of Caribbean luxury.
Resorts often offer a menu of treatments tailored to the overwater bungalow experience, such as couples' massages on private terraces or aromatherapy sessions timed to coincide with the sunset. These bespoke spa experiences create lasting memories and deep relaxation in a setting unlike any other.
Bioluminescent bay night kayaking: vieques, puerto rico
While not directly related to overwater bungalows, the experience of night kayaking in a bioluminescent bay is a must-do activity for many Caribbean visitors. Vieques, Puerto Rico, is home to one of the world's brightest bioluminescent bays, offering a magical nighttime adventure.
Kayaking through waters that glow with every movement creates an otherworldly experience. The bioluminescence is caused by tiny organisms called dinoflagellates, which emit light when disturbed. This natural phenomenon creates a starry effect in the water, complementing the night sky above.
Many resorts offering overwater bungalows can arrange excursions to bioluminescent bays, providing a perfect complement to the already unique experience of staying above the water.
Underwater photography: capturing marine life from your deck
The clear waters of the Caribbean, combined with the unique vantage point of an overwater bungalow, create perfect conditions for underwater photography. Many guests find joy in capturing the vibrant marine life directly from their private decks or through glass floor panels.
Resorts often provide underwater cameras or housings for smartphones, allowing guests to document their marine encounters. From colourful tropical fish to graceful rays, the opportunities for underwater photography are endless. Some resorts even offer photography workshops or guided snorkelling tours to help guests make the most of this unique opportunity.
The ability to capture stunning underwater images without leaving your accommodation is a truly unique aspect of staying in a Caribbean overwater bungalow.
Comparing caribbean overwater bungalows to polynesian counterparts
While overwater bungalows are often associated with Polynesian destinations like Bora Bora or the Maldives, the Caribbean offers its own unique take on this luxurious accommodation style. Understanding the differences can help travellers make informed decisions about their tropical getaway.
Water clarity and marine biodiversity differences
The Caribbean Sea is known for its exceptional water clarity, often rivalling that of Polynesian lagoons. However, there are some notable differences in marine biodiversity:
Caribbean | Polynesia |
---|---|
Rich coral reef ecosystems | Extensive coral atolls |
Diverse tropical fish species | Larger pelagic species more common |
Seasonal migrations of whales and turtles | Year-round presence of manta rays |
The Caribbean's marine life is characterised by its vibrant coral reefs and the abundance of tropical fish species. Snorkelling and diving experiences often focus on exploring these diverse ecosystems, which are easily accessible from many overwater bungalows.
Cultural influences on bungalow design and amenities
Caribbean overwater bungalows often incorporate elements of local culture and history into their design and offerings:
- Use of colonial architectural influences in some resorts
- Incorporation of vibrant Caribbean colours and patterns
- Inclusion of local art and crafts in interior design
- Menus featuring Caribbean cuisine and rum-based cocktails
In contrast, Polynesian overwater bungalows typically showcase traditional Polynesian architecture and design elements, such as thatched roofs and outrigger canoe motifs. The cultural experiences offered also differ, with Caribbean resorts often providing opportunities to engage with local music, dance, and culinary traditions.
Accessibility and travel logistics for UK tourists
For UK tourists, Caribbean destinations offering overwater bungalows are often more accessible than their Polynesian counterparts:
- Shorter flight times from the UK to Caribbean destinations
- More direct flight options available
- Potential for combining overwater stays with other Caribbean experiences
Time zone differences and currency considerations also play a role in planning a Caribbean overwater bungalow holiday. Many Caribbean destinations use currencies pegged to the US dollar, which can simplify budgeting for UK travellers.
Additionally, the Caribbean offers a diverse range of islands and cultures within relatively close proximity, allowing for island-hopping itineraries that can include overwater bungalow stays. This variety is less readily available in more remote Polynesian destinations.
The Caribbean's proximity to the UK, combined with its rich cultural tapestry and diverse marine ecosystems, makes it an increasingly attractive alternative to traditional Polynesian overwater bungalow destinations.
As the popularity of Caribbean overwater bungalows continues to grow, we can expect to see further innovations in design, sustainability practices, and guest experiences. These unique accommodations not only offer an unparalleled luxury experience but also serve as gateways to the rich natural and cultural heritage of the Caribbean region.
For UK travellers seeking a balance of exotic luxury, cultural immersion, and relative convenience, Caribbean overwater bungalows present a compelling option. As you plan your next tropical getaway, consider the unique experiences and perspectives offered by these remarkable accommodations set against the backdrop of the Caribbean's turquoise waters and vibrant island cultures.
End File# jmooring/hugo-sites# resources/_gen/assets/js/js/modules/anim.js_d11fe7b62c27961c87ecd0f2490357b9.contentclass Anim{constructor(el,options){this.el=el;this.options=options;this.startOnScroll=this.options.startOnScroll||false;this.startOnScrollOffset=this.options.startOnScrollOffset||0;this.repeat=this.options.repeat||false;this.started=false;if(!this.startOnScroll){this.start();}else{this.isOnViewportHandler=this.isOnViewportHandler.bind(this);this.isOnViewport();}if(!this.repeat){document.addEventListener("animationend",(event)=>{if(event.animationName===this.options.name){this.el.classList.remove(this.options.name);}});}}isOnViewport(){window.addEventListener("scroll",this.isOnViewportHandler);window.addEventListener("resize",this.isOnViewportHandler);window.addEventListener("orientationchange",this.isOnViewportHandler);}isOnViewportHandler(){if(this.el.getBoundingClientRect().top-window.innerHeight<=-this.startOnScrollOffset){if(!this.started){this.start();}}else{if(this.repeat){this.el.classList.remove(this.options.name);}}}start(){this.started=true;this.el.classList.add(this.options.name);if(!this.repeat&&this.startOnScroll){window.removeEventListener("scroll",this.isOnViewportHandler);window.removeEventListener("resize",this.isOnViewportHandler);window.removeEventListener("orientationchange",this.isOnViewportHandler);}}}End File# jmooring/hugo-sites# resources/_gen/assets/js/js/app.js_d11fe7b62c27961c87ecd0f2490357b9.content(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&requireif(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){"use strict";Object.defineProperty(exports, "__esModule", { value: true});exports["default"] = void 0;function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }var Anim = /*#__PURE__*/function () { function Anim(el, options) { _classCallCheck(this, Anim); this.el = el; this.options = options; this.startOnScroll = this.options.startOnScroll || false; this.startOnScrollOffset = this.options.startOnScrollOffset || 0; this.repeat = this.options.repeat || false; this.started = false; if (!this.startOnScroll) { this.start(); } else { this.isOnViewportHandler = this.isOnViewportHandler.bind(this); this.isOnViewport(); } if (!this.repeat) { document.addEventListener("animationend", function (event) { if (event.animationName === _this.options.name) { _this.el.classList.remove(_this.options.name); } }); } } _createClass(Anim, [{ key: "isOnViewport", value: function isOnViewport() { window.addEventListener("scroll", this.isOnViewportHandler); window.addEventListener("resize", this.isOnViewportHandler); window.addEventListener("orientationchange", this.isOnViewportHandler); } }, { key: "isOnViewportHandler", value: function isOnViewportHandler() { if (this.el.getBoundingClientRect().top - window.innerHeight <= -this.startOnScrollOffset) { if (!this.started) { this.start(); } } else { if (this.repeat) { this.el.classList.remove(this.options.name); } } } }, { key: "start", value: function start() { this.started = true; this.el.classList.add(this.options.name); if (!this.repeat && this.startOnScroll) { window.removeEventListener("scroll", this.isOnViewportHandler); window.removeEventListener("resize", this.isOnViewportHandler); window.removeEventListener("orientationchange", this.isOnViewportHandler); } } }]); return Anim;}();var _default = Anim;exports["default"] = _default;},{}],2:[function(require,module,exports){"use strict";Object.defineProperty(exports, "__esModule", { value: true});exports["default"] = void 0;function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }var ScrollReveal = /*#__PURE__*/function () { function ScrollReveal(el, options) { _classCallCheck(this, ScrollReveal); this.el = el; this.options = options; this.startOnScrollOffset = this.options.startOnScrollOffset || 0; this.once = this.options.once || false; this.delay = this.options.delay * 1000 || 0; this.started = false; this.isOnViewportHandler = this.isOnViewportHandler.bind(this); this.isOnViewport(); } _createClass(ScrollReveal, [{ key: "isOnViewport", value: function isOnViewport() { window.addEventListener("scroll", this.isOnViewportHandler); window.addEventListener("resize", this.isOnViewportHandler); window.addEventListener("orientationchange", this.isOnViewportHandler); } }, { key: "isOnViewportHandler", value: function isOnViewportHandler() { var _this = this; if (this.el.getBoundingClientRect().top - window.innerHeight <= -this.startOnScrollOffset) { if (!this.started) { setTimeout(function () { _this.start(); }, this.delay); } } else { if (!this.once) { this.el.classList.remove("revealed"); } } } }, { key: "start", value: function start() { this.started = true; this.el.classList.add("revealed"); if (this.once) { window.removeEventListener("scroll", this.isOnViewportHandler); window.removeEventListener("resize", this.isOnViewportHandler); window.removeEventListener("orientationchange", this.isOnViewportHandler); } } }]); return ScrollReveal;}();var _default = ScrollReveal;exports["default"] = _default;},{}],3:[function(require,module,exports){"use strict";Object.defineProperty(exports, "__esModule", { value: true});exports["default"] = void 0;function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }var Typewriter = /*#__PURE__*/function () { function Typewriter(el, options) { _classCallCheck(this, Typewriter); this.el = el; this.options = options; this.startOnScroll = this.options.startOnScroll || false; this.startOnScrollOffset = this.options.startOnScrollOffset || 0; this.typeSpeed = this.options.typeSpeed || 50; this.typeSpeedRandom = this.options.typeSpeedRandom || false; this.text = this.options.text || this.el.textContent || ""; this.loop = this.options.loop || false; this.reverse = this.options.reverse || false; this.loopDelay = this.options.loopDelay || 2000; this.count = 0; this.started = false; if (!this.startOnScroll) { this.start(); } else { this.isOnViewportHandler = this.isOnViewportHandler.bind(this); this.isOnViewport(); } } _createClass(Typewriter, [{ key: "isOnViewport", value: function isOnViewport() { window.addEventListener("scroll", this.isOnViewportHandler); window.addEventListener("resize", this.isOnViewportHandler); window.addEventListener("orientationchange", this.isOnViewportHandler); } }, { key: "isOnViewportHandler", value: function isOnViewportHandler() { if (this.el.getBoundingClientRect().top - window.innerHeight <= -this.startOnScrollOffset) { if (!this.started) { this.start(); } } else { if (this.loop) { this.count = 0; this.el.textContent = ""; } } } }, { key: "start", value: function start() { var _this = this; this.started = true; if (this.reverse) { this.count = this.text.length; this