{"title":"Aloha Shirt Collection","description":"\u003cp\u003eWe are thrilled to announce our partnership with Kahala, one of the original creators of the Aloha shirt. For this collaboration, we delved into Kahala’s rich archives to find a pattern representing the ocean’s significant role in Hawai‘i's culture. This special pattern features names of iconic beaches, surf and outrigger illustrations, and the famous jumping rock at Waimea Bay. Our collaboration weaves these elements into a timeless design, celebrating an ocean lifestyle deeply cherished across generations. \u003c\/p\u003e\n\u003cdiv id=\"shopify-section-template--15892072693895__cafbfa81-872c-44a1-a4e1-8f6f36d6f4bd\" class=\"shopify-section section--content-carousel carousel-outer\"\u003e\n\u003csection id=\"carousel-template--15892072693895__cafbfa81-872c-44a1-a4e1-8f6f36d6f4bd\" class=\"section section--content-carousel  \n\t\tpy-xl px-xl lg:py-6xl lg:px-6xl\"\u003e\u003cmain class=\"section__container relative container--product\"\u003e\n\u003cdiv class=\"template--15892072693895__cafbfa81-872c-44a1-a4e1-8f6f36d6f4bd w-full\" data-config-key=\"template--15892072693895__cafbfa81-872c-44a1-a4e1-8f6f36d6f4bd_\" style=\"border: 0px solid rgb(229, 231, 235); box-sizing: border-box; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; width: 1220px;\" x-data=\"{\n    swiper: null,\n    \n    section: Alpine.reactive(window.sections.find(s=\u0026gt;s.id=='template--15892072693895__cafbfa81-872c-44a1-a4e1-8f6f36d6f4bd').data),\n    \n    setActiveSlides: (swiper) =\u0026gt; {\n      if (!swiper) return false\n      const visibleStart = swiper.activeIndex;\n      const visibleEnd = visibleStart + swiper.passedParams.breakpoints[swiper.currentBreakpoint].slidesPerView\n\n      swiper.slides.forEach((slide, i) =\u0026gt; {\n        let visible = false\n        if (i \u0026gt;= visibleStart \u0026amp;\u0026amp; i \u0026lt; visibleEnd) visible = true\n\n        \n        slide.setAttribute('carousel-visible', visible)\n        \n        slide.setAttribute('slide-visible', visible)\n      })\n    },\n    config: {\n      \n      loop: true,\n      \n      on: {\n      \n        afterInit: (swiper) =\u0026gt; { setTimeout(() =\u0026gt; $data.setActiveSlides(swiper), 1000) },\n        slideChange: (swiper) =\u0026gt; { $data.setActiveSlides(swiper) },\n      \n        sliderFirstMove: (swiper) =\u0026gt; {\n          swiper.el.querySelectorAll('img[loading=lazy]').forEach(img=\u0026gt;img.setAttribute('loading','eager'))\n        }\n\n      },\n      breakpoints: {\n        '1': {\n          simulateTouch:true,\n          cssMode:false,\n          \n          'spaceBetween': 16,\n          \n            'slidesPerView': 1.2,\n            'slidesPerGroup': 1\n        \n        },\n        '1025': {\n          cssMode:false,\n          mousewheel:true,\n          \n          'spaceBetween': 16,\n          'slidesPerView': 3,\n          'slidesPerGroup': 1.1\n        }\n      }\n    } \n  }\" x-init=\"() =\u0026gt; {\n\n    \n    \n    window.sections.find(s=\u0026gt;s.id=='template--15892072693895__cafbfa81-872c-44a1-a4e1-8f6f36d6f4bd').data = Alpine.reactive(window.sections.find(s=\u0026gt;s.id=='template--15892072693895__cafbfa81-872c-44a1-a4e1-8f6f36d6f4bd').data)\n\n    \n    \n    $nextTick(() =\u0026gt; {\n      $data.swiper = Carousels.create($el.querySelector('.swiper'), $data.config)\n      setTimeout(function(){\n        \/\/ removing mobile slide on desktop and vice versa\n        let autoplayEnabled = false\n        autoplayEnabled = $el.querySelector('.swiper').swiper?.autoplay?.running\n        window.innerWidth \u0026gt;= 1024 ?  $el.querySelector('.swiper').swiper?.removeSlide([...$el.querySelectorAll(`.swiper .swiper-wrapper .swiper-slide .lg\\\\:hidden`)].map(elm =\u0026gt; !isNaN(elm.parentElement.getAttribute('data-swiper-slide-index')) ? parseInt(elm.parentElement.getAttribute('data-swiper-slide-index')) : null)) : $el.querySelector('.swiper').swiper?.removeSlide([...$el.querySelectorAll(`.swiper .swiper-wrapper .swiper-slide .max-lg\\\\:hidden`)].map(elm =\u0026gt; !isNaN(elm.parentElement.getAttribute('data-swiper-slide-index')) ? parseInt(elm.parentElement.getAttribute('data-swiper-slide-index')) : null));\n        \/\/going to the first slide to avoid slide jumping bug\n        $el.querySelector('.swiper').swiper?.slideTo(0, 0, false);\n        if(autoplayEnabled){\n          $el.querySelector('.swiper').swiper?.autoplay.start();\n        }\n      }, 1);\n    })\n\n  }\"\u003e\n\u003carticle name=\"Content Item\" class=\"content-item relative flex \n content-item--carousel-header flex-col\"\u003e\n\u003cdiv name=\"Content\" class=\"content-item__content relative flex \n w-full justify-between\"\u003e\n\u003cdiv name=\"Text Stack\" class=\"content-item__text-stack flex \n self-end gap-2 flex-col\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/main\u003e\u003c\/section\u003e\n\u003c\/div\u003e\n\u003c!----\u003e","products":[{"product_id":"3140k0035r-olukai-ss-shirt","title":"Aloha Shirt - Sand","description":"\u003cp\u003eWe are thrilled to announce our partnership with Kahala, one of the original creators of the Aloha shirt. For this collaboration, we delved into Kahala’s rich archives to find a pattern representing the ocean’s significant role in Hawai‘i's culture. This special pattern features names of iconic beaches, surf and outrigger illustrations, and the famous jumping rock at Waimea Bay. Our collaboration weaves these elements into a timeless design, celebrating an ocean lifestyle deeply cherished across generations. \u003c\/p\u003e\n\u003cdiv id=\"shopify-section-template--15892072693895__cafbfa81-872c-44a1-a4e1-8f6f36d6f4bd\" class=\"shopify-section section--content-carousel carousel-outer\"\u003e\n\u003csection id=\"carousel-template--15892072693895__cafbfa81-872c-44a1-a4e1-8f6f36d6f4bd\" class=\"section section--content-carousel  \n\t\tpy-xl px-xl lg:py-6xl lg:px-6xl\"\u003e\u003cmain class=\"section__container relative container--product\"\u003e\n\u003cdiv class=\"template--15892072693895__cafbfa81-872c-44a1-a4e1-8f6f36d6f4bd w-full\" data-config-key=\"template--15892072693895__cafbfa81-872c-44a1-a4e1-8f6f36d6f4bd_\" style=\"border: 0px solid rgb(229, 231, 235); box-sizing: border-box; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; width: 1220px;\" x-data=\"{\n    swiper: null,\n    \n    section: Alpine.reactive(window.sections.find(s=\u0026gt;s.id=='template--15892072693895__cafbfa81-872c-44a1-a4e1-8f6f36d6f4bd').data),\n    \n    setActiveSlides: (swiper) =\u0026gt; {\n      if (!swiper) return false\n      const visibleStart = swiper.activeIndex;\n      const visibleEnd = visibleStart + swiper.passedParams.breakpoints[swiper.currentBreakpoint].slidesPerView\n\n      swiper.slides.forEach((slide, i) =\u0026gt; {\n        let visible = false\n        if (i \u0026gt;= visibleStart \u0026amp;\u0026amp; i \u0026lt; visibleEnd) visible = true\n\n        \n        slide.setAttribute('carousel-visible', visible)\n        \n        slide.setAttribute('slide-visible', visible)\n      })\n    },\n    config: {\n      \n      loop: true,\n      \n      on: {\n      \n        afterInit: (swiper) =\u0026gt; { setTimeout(() =\u0026gt; $data.setActiveSlides(swiper), 1000) },\n        slideChange: (swiper) =\u0026gt; { $data.setActiveSlides(swiper) },\n      \n        sliderFirstMove: (swiper) =\u0026gt; {\n          swiper.el.querySelectorAll('img[loading=lazy]').forEach(img=\u0026gt;img.setAttribute('loading','eager'))\n        }\n\n      },\n      breakpoints: {\n        '1': {\n          simulateTouch:true,\n          cssMode:false,\n          \n          'spaceBetween': 16,\n          \n            'slidesPerView': 1.2,\n            'slidesPerGroup': 1\n        \n        },\n        '1025': {\n          cssMode:false,\n          mousewheel:true,\n          \n          'spaceBetween': 16,\n          'slidesPerView': 3,\n          'slidesPerGroup': 1.1\n        }\n      }\n    } \n  }\" x-init=\"() =\u0026gt; {\n\n    \n    \n    window.sections.find(s=\u0026gt;s.id=='template--15892072693895__cafbfa81-872c-44a1-a4e1-8f6f36d6f4bd').data = Alpine.reactive(window.sections.find(s=\u0026gt;s.id=='template--15892072693895__cafbfa81-872c-44a1-a4e1-8f6f36d6f4bd').data)\n\n    \n    \n    $nextTick(() =\u0026gt; {\n      $data.swiper = Carousels.create($el.querySelector('.swiper'), $data.config)\n      setTimeout(function(){\n        \/\/ removing mobile slide on desktop and vice versa\n        let autoplayEnabled = false\n        autoplayEnabled = $el.querySelector('.swiper').swiper?.autoplay?.running\n        window.innerWidth \u0026gt;= 1024 ?  $el.querySelector('.swiper').swiper?.removeSlide([...$el.querySelectorAll(`.swiper .swiper-wrapper .swiper-slide .lg\\\\:hidden`)].map(elm =\u0026gt; !isNaN(elm.parentElement.getAttribute('data-swiper-slide-index')) ? parseInt(elm.parentElement.getAttribute('data-swiper-slide-index')) : null)) : $el.querySelector('.swiper').swiper?.removeSlide([...$el.querySelectorAll(`.swiper .swiper-wrapper .swiper-slide .max-lg\\\\:hidden`)].map(elm =\u0026gt; !isNaN(elm.parentElement.getAttribute('data-swiper-slide-index')) ? parseInt(elm.parentElement.getAttribute('data-swiper-slide-index')) : null));\n        \/\/going to the first slide to avoid slide jumping bug\n        $el.querySelector('.swiper').swiper?.slideTo(0, 0, false);\n        if(autoplayEnabled){\n          $el.querySelector('.swiper').swiper?.autoplay.start();\n        }\n      }, 1);\n    })\n\n  }\"\u003e\n\u003carticle name=\"Content Item\" class=\"content-item relative flex \n content-item--carousel-header flex-col\"\u003e\n\u003cdiv name=\"Content\" class=\"content-item__content relative flex \n w-full justify-between\"\u003e\n\u003cdiv name=\"Text Stack\" class=\"content-item__text-stack flex \n self-end gap-2 flex-col\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/main\u003e\u003c\/section\u003e\n\u003c\/div\u003e\n\u003c!----\u003e","brand":"TORI RICHARD, LTD","offers":[{"title":"Sand \/ XS","offer_id":40826092519499,"sku":"3140K0035R-285-XS","price":118.0,"currency_code":"USD","in_stock":false},{"title":"Sand \/ S","offer_id":40826092552267,"sku":"3140K0035R-285-S","price":118.0,"currency_code":"USD","in_stock":false},{"title":"Sand \/ M","offer_id":40826092585035,"sku":"3140K0035R-285-M","price":118.0,"currency_code":"USD","in_stock":false},{"title":"Sand \/ L","offer_id":40826092617803,"sku":"3140K0035R-285-L","price":118.0,"currency_code":"USD","in_stock":false},{"title":"Sand \/ XL","offer_id":40826092650571,"sku":"3140K0035R-285-XL","price":118.0,"currency_code":"USD","in_stock":false},{"title":"Sand \/ XXL","offer_id":40826092683339,"sku":"3140K0035R-285-XXL","price":118.0,"currency_code":"USD","in_stock":false},{"title":"Sand \/ 3XL","offer_id":40826092716107,"sku":"3140K0035R-285-3XL","price":118.0,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0018\/9903\/6747\/files\/Kahala-PDP-Shirt-Tan1_829d64e1-e0eb-45e3-93ef-992d83e31db6.jpg?v=1717696504"},{"product_id":"3140k0035r-olukai-ss-shirt-1","title":"Aloha Shirt - Blue","description":"\u003cp\u003eWe are thrilled to announce our partnership with Kahala, one of the original creators of the Aloha shirt. For this collaboration, we delved into Kahala’s rich archives to find a pattern representing the ocean’s significant role in Hawai‘i's culture. This special pattern features names of iconic beaches, surf and outrigger illustrations, and the famous jumping rock at Waimea Bay. Our collaboration weaves these elements into a timeless design, celebrating an ocean lifestyle deeply cherished across generations. \u003c\/p\u003e\n\u003cdiv id=\"shopify-section-template--15892072693895__cafbfa81-872c-44a1-a4e1-8f6f36d6f4bd\" class=\"shopify-section section--content-carousel carousel-outer\"\u003e\n\u003csection id=\"carousel-template--15892072693895__cafbfa81-872c-44a1-a4e1-8f6f36d6f4bd\" class=\"section section--content-carousel  \n\t\tpy-xl px-xl lg:py-6xl lg:px-6xl\"\u003e\u003cmain class=\"section__container relative container--product\"\u003e\n\u003cdiv class=\"template--15892072693895__cafbfa81-872c-44a1-a4e1-8f6f36d6f4bd w-full\" data-config-key=\"template--15892072693895__cafbfa81-872c-44a1-a4e1-8f6f36d6f4bd_\" style=\"border: 0px solid rgb(229, 231, 235); box-sizing: border-box; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; width: 1220px;\" x-data=\"{\n    swiper: null,\n    \n    section: Alpine.reactive(window.sections.find(s=\u0026gt;s.id=='template--15892072693895__cafbfa81-872c-44a1-a4e1-8f6f36d6f4bd').data),\n    \n    setActiveSlides: (swiper) =\u0026gt; {\n      if (!swiper) return false\n      const visibleStart = swiper.activeIndex;\n      const visibleEnd = visibleStart + swiper.passedParams.breakpoints[swiper.currentBreakpoint].slidesPerView\n\n      swiper.slides.forEach((slide, i) =\u0026gt; {\n        let visible = false\n        if (i \u0026gt;= visibleStart \u0026amp;\u0026amp; i \u0026lt; visibleEnd) visible = true\n\n        \n        slide.setAttribute('carousel-visible', visible)\n        \n        slide.setAttribute('slide-visible', visible)\n      })\n    },\n    config: {\n      \n      loop: true,\n      \n      on: {\n      \n        afterInit: (swiper) =\u0026gt; { setTimeout(() =\u0026gt; $data.setActiveSlides(swiper), 1000) },\n        slideChange: (swiper) =\u0026gt; { $data.setActiveSlides(swiper) },\n      \n        sliderFirstMove: (swiper) =\u0026gt; {\n          swiper.el.querySelectorAll('img[loading=lazy]').forEach(img=\u0026gt;img.setAttribute('loading','eager'))\n        }\n\n      },\n      breakpoints: {\n        '1': {\n          simulateTouch:true,\n          cssMode:false,\n          \n          'spaceBetween': 16,\n          \n            'slidesPerView': 1.2,\n            'slidesPerGroup': 1\n        \n        },\n        '1025': {\n          cssMode:false,\n          mousewheel:true,\n          \n          'spaceBetween': 16,\n          'slidesPerView': 3,\n          'slidesPerGroup': 1.1\n        }\n      }\n    } \n  }\" x-init=\"() =\u0026gt; {\n\n    \n    \n    window.sections.find(s=\u0026gt;s.id=='template--15892072693895__cafbfa81-872c-44a1-a4e1-8f6f36d6f4bd').data = Alpine.reactive(window.sections.find(s=\u0026gt;s.id=='template--15892072693895__cafbfa81-872c-44a1-a4e1-8f6f36d6f4bd').data)\n\n    \n    \n    $nextTick(() =\u0026gt; {\n      $data.swiper = Carousels.create($el.querySelector('.swiper'), $data.config)\n      setTimeout(function(){\n        \/\/ removing mobile slide on desktop and vice versa\n        let autoplayEnabled = false\n        autoplayEnabled = $el.querySelector('.swiper').swiper?.autoplay?.running\n        window.innerWidth \u0026gt;= 1024 ?  $el.querySelector('.swiper').swiper?.removeSlide([...$el.querySelectorAll(`.swiper .swiper-wrapper .swiper-slide .lg\\\\:hidden`)].map(elm =\u0026gt; !isNaN(elm.parentElement.getAttribute('data-swiper-slide-index')) ? parseInt(elm.parentElement.getAttribute('data-swiper-slide-index')) : null)) : $el.querySelector('.swiper').swiper?.removeSlide([...$el.querySelectorAll(`.swiper .swiper-wrapper .swiper-slide .max-lg\\\\:hidden`)].map(elm =\u0026gt; !isNaN(elm.parentElement.getAttribute('data-swiper-slide-index')) ? parseInt(elm.parentElement.getAttribute('data-swiper-slide-index')) : null));\n        \/\/going to the first slide to avoid slide jumping bug\n        $el.querySelector('.swiper').swiper?.slideTo(0, 0, false);\n        if(autoplayEnabled){\n          $el.querySelector('.swiper').swiper?.autoplay.start();\n        }\n      }, 1);\n    })\n\n  }\"\u003e\n\u003carticle name=\"Content Item\" class=\"content-item relative flex \n content-item--carousel-header flex-col\"\u003e\n\u003cdiv name=\"Content\" class=\"content-item__content relative flex \n w-full justify-between\"\u003e\n\u003cdiv name=\"Text Stack\" class=\"content-item__text-stack flex \n self-end gap-2 flex-col\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/main\u003e\u003c\/section\u003e\n\u003c\/div\u003e\n\u003c!----\u003e","brand":"TORI RICHARD, LTD","offers":[{"title":"Blue \/ XS","offer_id":40826092748875,"sku":"3140K0035R-409-XS","price":118.0,"currency_code":"USD","in_stock":false},{"title":"Blue \/ S","offer_id":40826092781643,"sku":"3140K0035R-409-S","price":118.0,"currency_code":"USD","in_stock":false},{"title":"Blue \/ M","offer_id":40826092814411,"sku":"3140K0035R-409-M","price":118.0,"currency_code":"USD","in_stock":false},{"title":"Blue \/ L","offer_id":40826092847179,"sku":"3140K0035R-409-L","price":118.0,"currency_code":"USD","in_stock":false},{"title":"Blue \/ XL","offer_id":40826092879947,"sku":"3140K0035R-409-XL","price":118.0,"currency_code":"USD","in_stock":true},{"title":"Blue \/ XXL","offer_id":40826092912715,"sku":"3140K0035R-409-XXL","price":118.0,"currency_code":"USD","in_stock":true},{"title":"Blue \/ 3XL","offer_id":40826092945483,"sku":"3140K0035R-409-3XL","price":118.0,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0018\/9903\/6747\/files\/Kahala-PDP-Shirt-Blue1_e7c50923-3f2c-4aad-8f2c-817163f9b595.jpg?v=1717696505"}],"url":"https:\/\/vip-olukai.myshopify.com\/collections\/aloha-shirt-collection.oembed","provider":"OluKai ‘Ohana Program","version":"1.0","type":"link"}