Last week’s article received a comment on a private Facebook group that amounted to “just use JavaScript’s built-in formatting.” So what would that look like?

sub ($c) { $c->render( template => ‘index’, date => DateTime->today ) };

helper localize_date => sub ( $c, $date = DateTime->today, $style = ‘full’ ) {
my $date_params = join ‘,’ => $date->year, $date->month_0, $date->day;
return
qq;
};

app->start;
__DATA__

@@ index.html.ep
% layout ‘default’;
% title ‘Today’;

  • % for my $style ( qw(long medium short) ) {

  • % }

@@ layouts/default.html.ep

</p> <p>” data-lang=”text/x-perl”></p> <p> </new></div></div></div> <p>It’s structured much like the <a href="https://phoenixtrap.com/2021/04/20/localizing-dates-in-a-perl-web-application/" rel="noopener noreferrer" target="_blank">Perl-only solution</a>, with a default <code>"https://dzone.com/"</code> route and a <code>localize_date</code> <a href="https://docs.mojolicious.org/Mojolicious/Lite#helper" rel="noopener noreferrer" target="_blank">Mojolicious helper</a> to do the formatting. I opted to output a piece of JavaScript from the helper on <strong>lines 11 through 14</strong> since it could be repeated several times in a document. You could instead declare a function in the default layout’s HTML <code><head></code> on line 38 that would receive a date and a formatting style, outputting the resulting formatted date.</p> <p>In the template’s list from <strong>lines 22 through 31</strong> I decided to use JavaScript <a href="https://developer.mozilla.org/en-US/docs/Web/API/Document/write" target="_blank" rel="noopener"><code>document.write</code></a> method calls to add our generated code. This has a <a href="https://developer.mozilla.org/en-US/docs/Web/API/Document/write#notes" rel="noopener noreferrer" target="_blank">slew of caveats</a> but works for our example here.</p> <p>Worth noting is the double equals sign (<code><%== %></code>) when <a href="https://docs.mojolicious.org/Mojolicious/Guides/Rendering#Embedded-Perl" rel="noopener noreferrer" target="_blank">embedding a Perl expression</a>. This prevents Mojolicious from XML-escaping special characters, e.g., replacing <code>"</code>quotes<code>"</code> with <code>&quot;</code>, <code><</code>angle brackets<code>></code> with <code>&lt;</code> and <code>&gt;</code>, etc. This is important when returning HTML and JavaScript code.</p> <p>I also chose to use the JavaScript <code>Date</code> object’s <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString" target="_blank" rel="noopener"><code>toLocaleString()</code></a> method for my formatting on <strong>line 12</strong>. There are other ways to do this:</p> <ul> <li>Date objects also have a <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString" target="_blank" rel="noopener"><code>toLocaleDateString</code></a> method. However, Mozilla has a <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString#performance" rel="noopener noreferrer" target="_blank">performance note</a> that states it’s better to use the <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat" target="_blank" rel="noopener"><code>Intl.DateTimeFormat</code></a> object’s property.</li> <li>But <code>Intl.DateTimeFormat</code>‘s <a href="https://caniuse.com/mdn-javascript_builtins_intl_datetimeformat_datetimeformat_datestyle" rel="noopener noreferrer" target="_blank">browser support</a> stands at about 70%, leaving out Safari (that’s Mac, iPhone, and iPad) and Internet Explorer users.</li> <li>There are JavaScript libraries and <a href="https://javascript.info/polyfills" rel="noopener noreferrer" target="_blank">polyfills</a> to address these issues, but I’m trying to keep this example simple.</li> </ul> <p>Note that <strong>line 10</strong> builds the parameters for JavaScript’s <code>Date</code> constructor using the , <code>_0</code>, and methods of our Perl object; <code>month_0</code> because the <code>Date</code> constructor takes its month as an integer from 0 to 11 rather than 1 to 12. JavaScript <code>Date</code>s can be <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date#parameters" rel="noopener noreferrer" target="_blank">constructed in many ways</a>; this seemed the simplest without having to explain things like epochs and inconsistent parsing.</p> <p>Why are we using Perl <code>DateTime</code>s and a helper anyway? I’m assuming that our dates are coming from the backend of our application, possibly <a href="https://metacpan.org/pod/DBIx::Class::InflateColumn::DateTime" rel="noopener noreferrer" target="_blank">inflated from a database column</a>. If your dates are strictly on the frontend, you might decide to put your formatting code there in a JavaScript function, perhaps using a JavaScript-based templating library.</p> <p>The bottom line is to do whatever makes sense for your situation. I prefer the Perl solution because I like the language and its ecosystem and perhaps have acclimated to its quirks. The complications of JavaScript browser support, competing frameworks, and layers of tooling make my head hurt. Despite this, I’m still learning; if you have any comments or suggestions, please leave them below.</p> </div> </div> <p><br /> <br /><a href="https://dzone.com/articles/localizing-dates-in-a-perl-web-application-with-ja" target="_blank" rel="noopener">Source link </a></p> </div> <div class="post-meta"> <div class="social-share"> <span>Share:</span> <a class="facebook" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https://graphicdon.com/2021/05/16/localizing-dates-in-a-perl-web-app-with-javascript/"> <i class="fab fa-facebook-square"></i> </a> <a class="twitter" target="_blank" href="https://twitter.com/home?status=Check+out+this+article%3A+Localizing+Dates+in+a+Perl+Web+App+With+JavaScript+-+https%3A%2F%2Fgraphicdon.com%2F2021%2F05%2F16%2Flocalizing-dates-in-a-perl-web-app-with-javascript%2F"> <i class="fab fa-twitter-square"></i> </a> <a class="reddit" target="_blank" href="https://reddit.com/submit?url="> <i class="fab fa-reddit-square"></i> </a> <a class="pinterest" target="_blank" href="https://pinterest.com/pin/create/button/?url=https://graphicdon.com/2021/05/16/localizing-dates-in-a-perl-web-app-with-javascript/&media=https://graphicdon.com/wp-content/uploads/2021/05/Localizing-Dates-in-a-Perl-Web-App-With-JavaScript.jpeg&description=Localizing%20Dates%20in%20a%20Perl%20Web%20App%20With%20JavaScript"> <i class="fab fa-pinterest-square"></i> </a> </div> </div> </div> </div> </div> <nav class="navigation post-navigation" role="navigation"> <ul class="nav-links"> <li class="prev-post"> <a href="https://graphicdon.com/2021/05/16/c9-0-is-here-dealing-with-record-keyword-errors/"> <img src="https://graphicdon.com/wp-content/uploads/2021/05/C9.0-Is-Here-Dealing-With-Record-Keyword-Errors-150x150.jpg" alt="C#9.0 Is Here: Dealing With Record Keyword Errors" /> </a> <div class="post-nav-text-wrapper"> <div class="post-nav-link"> <a href="https://graphicdon.com/2021/05/16/c9-0-is-here-dealing-with-record-keyword-errors/"> Prev Post </a> </div> <a href="https://graphicdon.com/2021/05/16/c9-0-is-here-dealing-with-record-keyword-errors/"> <span class="post-title">C#9.0 Is Here: Dealing With Record Keyword Errors</span> </a> </div> </li> <li class="next-post"> <div class="post-nav-text-wrapper"> <div class="post-nav-link"> <a href="https://graphicdon.com/2021/05/16/mobile-app-architecture-design-and-development/"> Next Post </a> </div> <a href="https://graphicdon.com/2021/05/16/mobile-app-architecture-design-and-development/"> <span class="post-title">Mobile App Architecture Design and Development</span> </a> </div> <a href="https://graphicdon.com/2021/05/16/mobile-app-architecture-design-and-development/"> <img src="https://graphicdon.com/wp-content/uploads/2021/05/Mobile-App-Architecture-Design-and-Development-150x150.png" alt="Mobile App Architecture Design and Development" /> </a> </li> </ul> </nav> <div id="comments" class="comments-area"> <div id="respond" class="comment-respond"> <h3 id="reply-title" class="single-content-title comment-reply-title h2">Write A Comment <span class="cancel-reply"><a rel="nofollow" id="cancel-comment-reply-link" href="/2021/05/16/localizing-dates-in-a-perl-web-app-with-javascript/#respond" style="display:none;">Cancel Reply</a></span></h3> <form action="https://graphicdon.com/wp-comments-post.php" method="post" id="commentform" class="comment-form"> <p class="comment-form-author"><label for="author">Name <span class="required">*</span></label> <input id="author" name="author" type="text" value="" size="30" placeholder="Your Name" maxlength="245" required /></p> <p class="comment-form-email"><label for="email">Email <span class="required">*</span></label> <input id="email" name="email" type="email" value="" size="30" maxlength="100" placeholder="Your Email" required /></p> <p class="comment-form-comment"><label for="comment">Comment<span class="required"> *</span></label> <textarea id="comment" name="comment" cols="45" rows="8" maxlength="65525" placeholder="Your Comment" required="required"></textarea></p><p class="form-submit"><input name="submit" type="submit" id="submit" class="submit rb_button medium" value="Post Comment" /> <input type='hidden' name='comment_post_ID' value='19277' id='comment_post_ID' /> <input type='hidden' name='comment_parent' id='comment_parent' value='0' /> </p><input type="hidden" id="ak_js" name="ak_js" value="161"/><textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100" style="display: none !important;"></textarea> </form> </div><!-- #respond --> </div><!-- #comments --> </div> </div> <!-- /.main-content-inner-wrap --> </div> <!-- /.main-content-inner --> </main> <!-- /.main-content --> </div> <!-- /.site-content --> <div class='rb_footer_template'><div class='container'><div id="rb_content_60c90328b55a3" class="rb_content_60c90328b55a3 rb-content background_no_hover" ><div data-vc-full-width="true" data-vc-full-width-init="false" class="vc_row wpb_row vc_row-fluid vc_custom_1566906525171 vc_row-has-fill"><div class="row_hover_effect"></div><div id='rb_column_60c90328b5921' class='rb_column_wrapper vc_col-sm-12 '><div class="wpb_column vc_column_container vc_col-sm-12"><div class="vc_column-inner"><div class="wpb_wrapper"><div id='rb_inner_row_60c90328b5bb3' class='rb_inner_row_wrapper'><div class="vc_row wpb_row vc_inner vc_row-fluid vc_custom_1571904008626 vc_row-has-fill vc_row-o-content-middle vc_row-flex"><div id='rb_column_60c90328b5e0d' class='rb_column_wrapper vc_col-sm-9 '><div class="wpb_column vc_column_container vc_col-sm-9"><div class="vc_column-inner vc_custom_1571904128747"><div class="wpb_wrapper"><div id='rb_logo_60c90328b5f65' class='site_logotype'><a href='https://graphicdon.com/'><img src='https://graphicdon.com/wp-content/uploads/2020/01/GD-LOGO-e1578950439963.png' alt='graphic don logo small' style='width:150px;height:34px;'></a></div><div class='rb_textmodule_60c90328b5fa0 rb_textmodule subtitle_default align_left'><div class='rb_textmodule_content_wrapper'><p>Shaping your ideas into products</p> </div></div></div></div></div></div><div id='rb_column_60c90328b607e' class='rb_column_wrapper vc_col-sm-3 '><div class="wpb_column vc_column_container vc_col-sm-3"><div class="vc_column-inner vc_custom_1571904146914"><div class="wpb_wrapper"><div class='rb_gallery_60c90328b618f rb_gallery_wrapper'><div class='rb_gallery_images columns_3 masonry'><div class='rb_gallery_image'><img src='https://graphicdon.com/wp-content/uploads/2019/06/800x1316_06-150x150.jpg' alt='800x1316_06' /><div class='rb_gallery_overlay'><div class='text_wrapper'></div></div></div><div class='rb_gallery_image'><img src='https://graphicdon.com/wp-content/uploads/2019/06/1000x1000_06-150x150.jpg' alt='1000x1000_06' /><div class='rb_gallery_overlay'><div class='text_wrapper'></div></div></div><div class='rb_gallery_image'><img src='https://graphicdon.com/wp-content/uploads/2019/07/s1064280686_square-150x150.jpg' alt='s1064280686_square' /><div class='rb_gallery_overlay'><div class='text_wrapper'></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="vc_row-full-width vc_clearfix"></div></div><div id="rb_content_60c90328b6473" class="rb_content_60c90328b6473 rb-content background_no_hover" ><div data-vc-full-width="true" data-vc-full-width-init="false" class="vc_row wpb_row vc_row-fluid vc_custom_1571904245056 vc_row-has-fill"><div class="row_hover_effect"></div><div id='rb_column_60c90328b66b5' class='rb_column_wrapper vc_col-sm-4 vc_col-lg-4 vc_col-md-4 '><div class="wpb_column vc_column_container vc_col-sm-4 vc_col-lg-4 vc_col-md-4"><div class="vc_column-inner vc_custom_1572430668458"><div class="wpb_wrapper"><div class='rb_textmodule_60c90328b68ab rb_textmodule subtitle_default align_left'><h4 class='rb_textmodule_title'>We are working with the objective of empowering and transforming businesses digitally. Go ahead and contact us now to get more information about the amazing services that we can offer. Our services are result oriented and you will be able to get the best possible returns at the end of the day. You will fall in love with them as well.</h4><div class='rb_textmodule_content_wrapper'><p><span style="color: #0fe0ba;">A:</span>    Renton, WA, USA<br /> <span style="color: #0fe0ba;">P:</span>    1206 981 0317<br /> <span style="color: #0fe0ba;">E: </span>   contact@graphicdon.com</p> </div></div></div></div></div></div><div class="row_hover_effect"></div><div id='rb_column_60c90328b69e5' class='rb_column_wrapper vc_col-sm-4 vc_col-lg-5 vc_col-md-5 '><div class="wpb_column vc_column_container vc_col-sm-4 vc_col-lg-5 vc_col-md-5"><div class="vc_column-inner"><div class="wpb_wrapper"><div id='rb_inner_row_60c90328b6bce' class='rb_inner_row_wrapper'><div class="vc_row wpb_row vc_inner vc_row-fluid"><div id='rb_column_60c90328b6d75' class='rb_column_wrapper vc_col-sm-6 '><div class="wpb_column vc_column_container vc_col-sm-6"><div class="vc_column-inner"><div class="wpb_wrapper"><div class='rb_textmodule_60c90328b6f37 rb_textmodule subtitle_default align_left'><h3 class='rb_textmodule_title'>Our Services</h3><div class='rb_textmodule_content_wrapper'><ul> <li><a href="https://graphicdon.com/logo-design-creation/">Creative logo Design</a></li> <li><a href="https://graphicdon.com/wordpress-websites-design/">Custom WordPress</a></li> <li><a href="https://graphicdon.com/ebook-design-writing/">eBook Design & Writing</a></li> <li><a href="https://graphicdon.com/on-page-optimization/">On page Optimization</a></li> <li><a href="https://graphicdon.com/advanced-seo-service/">Advanced SEO</a></li> <li><a href="https://graphicdon.com/backlinks-building-service/">Backlinks Building</a></li> <li><a href="https://graphicdon.com/content-writing-services/">SEO Content Writing</a></li> <li><a href="https://graphicdon.com/t-shirts-merchandise-packages/">T-Shirts & Merchandise</a></li> <li><a href="https://graphicdon.com/video-and-animation/">Video and Animation</a></li> <li><a href="https://graphicdon.com/web-design-programming-service/">Programming</a></li> </ul> </div></div></div></div></div></div><div id='rb_column_60c90328b7172' class='rb_column_wrapper vc_col-sm-6 '><div class="wpb_column vc_column_container vc_col-sm-6"><div class="vc_column-inner vc_custom_1572431059251"><div class="wpb_wrapper"><div class='rb_textmodule_60c90328b7314 rb_textmodule subtitle_default align_left'><div class='rb_textmodule_content_wrapper'><ul> <li><a href="https://graphicdon.com/about-us/">About</a></li> <li><a href="https://graphicdon.com/blog/">Blog</a></li> <li><a href="https://graphicdon.com/terms-and-conditions/">Terms And Conditions</a></li> </ul> </div></div></div></div></div></div></div></div></div></div></div></div><div class="row_hover_effect"></div><div id='rb_column_60c90328b74bc' class='rb_column_wrapper vc_col-sm-4 vc_col-lg-3 vc_col-md-3 '><div class="wpb_column vc_column_container vc_col-sm-4 vc_col-lg-3 vc_col-md-3"><div class="vc_column-inner"><div class="wpb_wrapper"><div class='rb_textmodule_60c90328b76b5 rb_textmodule subtitle_default align_left'><h3 class='rb_textmodule_title'>Subscribe</h3></div><div class="wpforms-container wpforms-container-full" id="wpforms-6181"><form id="wpforms-form-6181" class="wpforms-validate wpforms-form" data-formid="6181" method="post" enctype="multipart/form-data" action="/2021/05/16/localizing-dates-in-a-perl-web-app-with-javascript/" data-token="32d32383c4b677444e1a08e47321692d"><noscript class="wpforms-error-noscript">Please enable JavaScript in your browser to complete this form.</noscript><div class="wpforms-field-container"><div id="wpforms-6181-field_1-container" class="wpforms-field wpforms-field-email" data-field-id="1"><input type="email" id="wpforms-6181-field_1" class="wpforms-field-medium" name="wpforms[fields][1]" placeholder="Enter Your Email" ></div></div><div class="wpforms-submit-container" ><input type="hidden" name="wpforms[id]" value="6181"><input type="hidden" name="wpforms[author]" value="1"><input type="hidden" name="wpforms[post_id]" value="19277"><button type="submit" name="wpforms[submit]" class="wpforms-submit " id="wpforms-submit-6181" value="wpforms-submit" aria-live="assertive" >Submit</button></div></form></div> <!-- .wpforms-container --></div></div></div></div></div><div class="vc_row-full-width vc_clearfix"></div></div><div id="rb_content_60c90328b7a08" class="rb_content_60c90328b7a08 rb-content background_no_hover" ><div data-vc-full-width="true" data-vc-full-width-init="false" class="vc_row wpb_row vc_row-fluid vc_custom_1571903575428 vc_row-has-fill vc_row-o-content-middle vc_row-flex"><div class="row_hover_effect"></div><div id='rb_column_60c90328b7c20' class='rb_column_wrapper vc_col-sm-6 '><div class="wpb_column vc_column_container vc_col-sm-6"><div class="vc_column-inner"><div class="wpb_wrapper"><div class='rb_textmodule_60c90328b7e23 rb_textmodule subtitle_default align_left'><div class='rb_textmodule_content_wrapper'><p>©2017 Graphic Don. All Right Reserved.</p> </div></div></div></div></div></div><div class="row_hover_effect"></div><div id='rb_column_60c90328b7f2e' class='rb_column_wrapper vc_col-sm-6 '><div class="wpb_column vc_column_container vc_col-sm-6"><div class="vc_column-inner"><div class="wpb_wrapper"><div id='rb_icon_list_60c90328b8108' class='rb_icon_list_module header_icons direction_line icon_bg'><a href='https://www.facebook.com/Graphic-Don-109634927151287/' class='custom_url'><i class='flaticon-facebook'></i><span class='title'></span></a><a href='https://www.instagram.com/graphic.don/' class='custom_url'><i class='flaticon-instagram-social-network-logo-of-photo-camera'></i><span class='title'></span></a><a href='https://twitter.com/DonGraphic' class='custom_url'><i class='flaticon-twitter-logo-silhouette'></i><span class='title'></span></a><a href='https://www.pinterest.com/graphicdon/' class='custom_url'><i class='flaticon-pinterest'></i><span class='title'></span></a></div></div></div></div></div></div><div class="vc_row-full-width vc_clearfix"></div></div></div></div> <div class="ajax_preloader body_loader"> <div class="dots-wrapper"> <span></span> <span></span> <span></span> </div> </div> <div class="button-up"></div> </div> <!-- /.site-wrapper --> <div id="frame"> <span class="frame_top"></span> <span class="frame_right"></span> <span class="frame_bottom"></span> <span class="frame_left"></span> </div> <script type="text/javascript"> (function () { var c = document.body.className; c = c.replace(/woocommerce-no-js/, 'woocommerce-js'); document.body.className = c; })(); </script> <link rel='stylesheet' id='flaticons-css' href='https://graphicdon.com/wp-content/themes/ogo/assets/fonts/flaticons/style.css?ver=1.0.0' type='text/css' media='all' /> <link rel='stylesheet' id='rbicons-css' href='https://graphicdon.com/wp-content/themes/ogo/assets/fonts/rbicons/style.css?ver=1.0.0' type='text/css' media='all' /> <link rel='stylesheet' id='font-awesome-css' href='https://graphicdon.com/wp-content/themes/ogo/assets/fonts/fa/font-awesome.min.css?ver=5.12.1' type='text/css' media='all' /> <link rel='stylesheet' id='ogo-fonts-css' href='//fonts.googleapis.com/css?family=Montserrat%3A500%2Cregular%2C700%7CYeseva+One%3A400&ver=5.7.2' type='text/css' media='all' /> <style id='rb-footer-inline-css' type='text/css'> .vc_custom_1566906525171{padding-top: 100px !important;background-color: #202020 !important;}.vc_custom_1571904245056{padding-top: 44px !important;padding-bottom: 39px !important;background-color: #202020 !important;}.vc_custom_1571903575428{border-top-width: 1px !important;padding-top: 10px !important;padding-bottom: 10px !important;background-color: #202020 !important;border-top-color: #414141 !important;border-top-style: solid !important;}.vc_custom_1571904008626{margin-right: 0px !important;margin-left: 0px !important;border-bottom-width: 1px !important;padding-bottom: 33px !important;border-bottom-color: #414141 !important;border-bottom-style: solid !important;}.vc_custom_1571904128747{padding-left: 0px !important;}.vc_custom_1571904146914{padding-right: 0px !important;}.vc_custom_1578964059915{padding-top: 20px !important;}.vc_custom_1571904380790{margin-top: 7px !important;}.vc_custom_1572430668458{padding-right: 50px !important;}.vc_custom_1572430668462{padding-bottom: 20px !important;}.vc_custom_1572430674640{padding-top: 30px !important;}.vc_custom_1572431059251{padding-top: 55px !important;}.vc_custom_1572431059254{padding-top: 80px !important;} .rb_content_60c90328b55a3 > .vc_row{ background-attachment: scroll !important; background-repeat: no-repeat !important; } .rb_content_60c90328b55a3 > .vc_row{ background-size: cover !important; } .rb_content_60c90328b55a3 > .vc_row{ background-position: center !important; } #rb_column_60c90328b5921 > .wpb_column > .vc_column-inner{ background-attachment: scroll !important; background-repeat: no-repeat !important; } #rb_column_60c90328b5921 > .wpb_column > .vc_column-inner{ background-size: cover !important; } #rb_column_60c90328b5921 > .wpb_column > .vc_column-inner{ background-position: center !important; } #rb_inner_row_60c90328b5bb3 > .vc_row{ background-attachment: scroll !important; background-repeat: no-repeat !important; } #rb_inner_row_60c90328b5bb3 > .vc_row{ background-size: cover !important; } #rb_inner_row_60c90328b5bb3 > .vc_row{ background-position: center !important; } #rb_column_60c90328b5e0d > .wpb_column > .vc_column-inner{ background-attachment: scroll !important; background-repeat: no-repeat !important; } #rb_column_60c90328b5e0d > .wpb_column > .vc_column-inner{ background-size: cover !important; } #rb_column_60c90328b5e0d > .wpb_column > .vc_column-inner{ background-position: center !important; } #rb_logo_60c90328b5f65{ padding-top: 20px !important;; } .rb_textmodule_60c90328b5fa0{ margin-top: 7px !important;; } .rb_textmodule_60c90328b5fa0 .rb_textmodule_title, .rb_textmodule_60c90328b5fa0 .rb_textmodule_button.simple{ color: #3e4a59; } .rb_textmodule_60c90328b5fa0 .rb_textmodule_subtitle{ color: #ff6849; } .rb_textmodule_60c90328b5fa0{ color: #ffffff; } .rb_footer_template .rb_textmodule_60c90328b5fa0 a{ color: #ffffff; } @media screen and (min-width: 1367px), screen and (min-width: 1200px) and (any-hover: hover), screen and (min-width: 1200px) and (min--moz-device-pixel-ratio:0), screen and (min-width: 1200px) and (-ms-high-contrast: none), screen and (min-width: 1200px) and (-ms-high-contrast: active) { .rb_textmodule_60c90328b5fa0 .rb_textmodule_content_wrapper a:hover{ color: #ff6849; } } .rb_textmodule_60c90328b5fa0 .rb_textmodule_content_wrapper ul li:before{ background-color: #ff6849; } .rb_textmodule_60c90328b5fa0.subtitle_aside .subtitle-wrapper p:before, .rb_textmodule_60c90328b5fa0.subtitle_dashed_divider .rb_textmodule_subtitle .dashed_divider, .rb_textmodule_60c90328b5fa0.subtitle_border_divider .rb_textmodule_subtitle:after{ background-color: #ffeb00; } .rb_textmodule_60c90328b5fa0 .rb_button_wrapper .rb_button{ color: #ffeb00; } .rb_textmodule_60c90328b5fa0 .rb_button_wrapper .rb_button{ background-color: #353535; } .rb_textmodule_60c90328b5fa0 .rb_button_wrapper .rb_button:after{ background-color: #ffeb00; } @media screen and (min-width: 1367px), screen and (min-width: 1200px) and (any-hover: hover), screen and (min-width: 1200px) and (min--moz-device-pixel-ratio:0), screen and (min-width: 1200px) and (-ms-high-contrast: none), screen and (min-width: 1200px) and (-ms-high-contrast: active) { .rb_textmodule_60c90328b5fa0 .rb_button_wrapper .rb_button:hover{ color: #ffeb00; } } .rb_textmodule_60c90328b5fa0 .rb_textmodule_subtitle{ font-size: 22px; } .rb_textmodule_60c90328b5fa0 .rb_textmodule_subtitle{ line-height: 22px; } .rb_textmodule_60c90328b5fa0 .rb_textmodule_title{ font-size: 60px; } .rb_textmodule_60c90328b5fa0 .rb_textmodule_title{ line-height: 1.18em; } .rb_textmodule_60c90328b5fa0 .rb_textmodule_title{ margin: 0px 0px 32px 0px; } .rb_textmodule_60c90328b5fa0 .rb_textmodule_content_wrapper{ font-size: 16px; } .rb_textmodule_60c90328b5fa0 .rb_textmodule_content_wrapper{ line-height: 34px; } .rb_textmodule_60c90328b5fa0 .rb_button_wrapper{ margin-top: 50px; } #rb_column_60c90328b607e > .wpb_column > .vc_column-inner{ background-attachment: scroll !important; background-repeat: no-repeat !important; } #rb_column_60c90328b607e > .wpb_column > .vc_column-inner{ background-size: cover !important; } #rb_column_60c90328b607e > .wpb_column > .vc_column-inner{ background-position: center !important; } .rb_gallery_60c90328b618f .text_wrapper h5, .rb_gallery_60c90328b618f .text_wrapper p{ color: #ffffff; } .rb_gallery_60c90328b618f .text_wrapper h5:before{ background-color: #ffffff; } .rb_gallery_60c90328b618f .rb_gallery_image .rb_gallery_overlay{ background: -webkit-linear-gradient(to bottom, rgba(255,175,0,0.75), rgba(255,104,73,0.75)); background: linear-gradient(to bottom, rgba(255,175,0,0.75), rgba(255,104,73,0.75)); } .rb_content_60c90328b6473 > .vc_row{ background-attachment: scroll !important; background-repeat: no-repeat !important; } .rb_content_60c90328b6473 > .vc_row{ background-size: cover !important; } .rb_content_60c90328b6473 > .vc_row{ background-position: center !important; } #rb_column_60c90328b66b5 > .wpb_column > .vc_column-inner{ background-attachment: scroll !important; background-repeat: no-repeat !important; } #rb_column_60c90328b66b5 > .wpb_column > .vc_column-inner{ background-size: cover !important; } #rb_column_60c90328b66b5 > .wpb_column > .vc_column-inner{ background-position: center !important; } @media screen and (max-width: 767px){ #rb_column_60c90328b66b5 > .wpb_column > .vc_column-inner{ padding-bottom: 20px !important; } } .rb_textmodule_60c90328b68ab .rb_textmodule_title, .rb_textmodule_60c90328b68ab .rb_textmodule_button.simple{ color: #0fe0ba; } .rb_textmodule_60c90328b68ab .rb_textmodule_subtitle{ color: #353535; } .rb_textmodule_60c90328b68ab{ color: #ffffff; } .rb_footer_template .rb_textmodule_60c90328b68ab a{ color: #ffffff; } @media screen and (min-width: 1367px), screen and (min-width: 1200px) and (any-hover: hover), screen and (min-width: 1200px) and (min--moz-device-pixel-ratio:0), screen and (min-width: 1200px) and (-ms-high-contrast: none), screen and (min-width: 1200px) and (-ms-high-contrast: active) { .rb_textmodule_60c90328b68ab .rb_textmodule_content_wrapper a:hover{ color: #0fe0ba; } } .rb_textmodule_60c90328b68ab .rb_textmodule_content_wrapper ul li:before{ background-color: #0fe0ba; } .rb_textmodule_60c90328b68ab.subtitle_aside .subtitle-wrapper p:before, .rb_textmodule_60c90328b68ab.subtitle_dashed_divider .rb_textmodule_subtitle .dashed_divider, .rb_textmodule_60c90328b68ab.subtitle_border_divider .rb_textmodule_subtitle:after{ background-color: #0fe0ba; } .rb_textmodule_60c90328b68ab .rb_button_wrapper .rb_button{ color: #0fe0ba; } .rb_textmodule_60c90328b68ab .rb_button_wrapper .rb_button{ background-color: #353535; } .rb_textmodule_60c90328b68ab .rb_button_wrapper .rb_button:after{ background-color: #0fe0ba; } @media screen and (min-width: 1367px), screen and (min-width: 1200px) and (any-hover: hover), screen and (min-width: 1200px) and (min--moz-device-pixel-ratio:0), screen and (min-width: 1200px) and (-ms-high-contrast: none), screen and (min-width: 1200px) and (-ms-high-contrast: active) { .rb_textmodule_60c90328b68ab .rb_button_wrapper .rb_button:hover{ color: #0fe0ba; } } .rb_textmodule_60c90328b68ab .rb_textmodule_subtitle{ font-size: 22px; } .rb_textmodule_60c90328b68ab .rb_textmodule_subtitle{ line-height: 22px; } .rb_textmodule_60c90328b68ab .rb_textmodule_title{ font-size: 20px; } .rb_textmodule_60c90328b68ab .rb_textmodule_title{ line-height: 1.18em; } .rb_textmodule_60c90328b68ab .rb_textmodule_title{ margin: 0px 0px 32px 0px; } .rb_textmodule_60c90328b68ab .rb_textmodule_content_wrapper{ font-size: 18px; } .rb_textmodule_60c90328b68ab .rb_textmodule_content_wrapper{ line-height: 34px; } .rb_textmodule_60c90328b68ab .rb_button_wrapper{ margin-top: 50px; } #rb_column_60c90328b69e5 > .wpb_column > .vc_column-inner{ background-attachment: scroll !important; background-repeat: no-repeat !important; } #rb_column_60c90328b69e5 > .wpb_column > .vc_column-inner{ background-size: cover !important; } #rb_column_60c90328b69e5 > .wpb_column > .vc_column-inner{ background-position: center !important; } #rb_inner_row_60c90328b6bce > .vc_row{ background-attachment: scroll !important; background-repeat: no-repeat !important; } #rb_inner_row_60c90328b6bce > .vc_row{ background-size: cover !important; } #rb_inner_row_60c90328b6bce > .vc_row{ background-position: center !important; } #rb_column_60c90328b6d75 > .wpb_column > .vc_column-inner{ background-attachment: scroll !important; background-repeat: no-repeat !important; } #rb_column_60c90328b6d75 > .wpb_column > .vc_column-inner{ background-size: cover !important; } #rb_column_60c90328b6d75 > .wpb_column > .vc_column-inner{ background-position: center !important; } .rb_textmodule_60c90328b6f37 .rb_textmodule_title, .rb_textmodule_60c90328b6f37 .rb_textmodule_button.simple{ color: #0fe0ba; } .rb_textmodule_60c90328b6f37 .rb_textmodule_subtitle{ color: #353535; } .rb_textmodule_60c90328b6f37{ color: #ffffff; } .rb_footer_template .rb_textmodule_60c90328b6f37 a{ color: #ffffff; } @media screen and (min-width: 1367px), screen and (min-width: 1200px) and (any-hover: hover), screen and (min-width: 1200px) and (min--moz-device-pixel-ratio:0), screen and (min-width: 1200px) and (-ms-high-contrast: none), screen and (min-width: 1200px) and (-ms-high-contrast: active) { .rb_textmodule_60c90328b6f37 .rb_textmodule_content_wrapper a:hover{ color: #ffeb00; } } .rb_textmodule_60c90328b6f37 .rb_textmodule_content_wrapper ul li:before{ background-color: #ffeb00; } .rb_textmodule_60c90328b6f37.subtitle_aside .subtitle-wrapper p:before, .rb_textmodule_60c90328b6f37.subtitle_dashed_divider .rb_textmodule_subtitle .dashed_divider, .rb_textmodule_60c90328b6f37.subtitle_border_divider .rb_textmodule_subtitle:after{ background-color: #ffeb00; } .rb_textmodule_60c90328b6f37 .rb_button_wrapper .rb_button{ color: #ffeb00; } .rb_textmodule_60c90328b6f37 .rb_button_wrapper .rb_button{ background-color: #353535; } .rb_textmodule_60c90328b6f37 .rb_button_wrapper .rb_button:after{ background-color: #ffeb00; } @media screen and (min-width: 1367px), screen and (min-width: 1200px) and (any-hover: hover), screen and (min-width: 1200px) and (min--moz-device-pixel-ratio:0), screen and (min-width: 1200px) and (-ms-high-contrast: none), screen and (min-width: 1200px) and (-ms-high-contrast: active) { .rb_textmodule_60c90328b6f37 .rb_button_wrapper .rb_button:hover{ color: #ffeb00; } } .rb_textmodule_60c90328b6f37 .rb_textmodule_subtitle{ font-size: 22px; } .rb_textmodule_60c90328b6f37 .rb_textmodule_subtitle{ line-height: 22px; } .rb_textmodule_60c90328b6f37 .rb_textmodule_title{ font-size: 20px; } .rb_textmodule_60c90328b6f37 .rb_textmodule_title{ line-height: 1.18em; } .rb_textmodule_60c90328b6f37 .rb_textmodule_title{ margin: 0px 0px 32px 0px; } .rb_textmodule_60c90328b6f37 .rb_textmodule_content_wrapper{ font-size: 18px; } .rb_textmodule_60c90328b6f37 .rb_textmodule_content_wrapper{ line-height: 34px; } .rb_textmodule_60c90328b6f37 .rb_button_wrapper{ margin-top: 50px; } #rb_column_60c90328b7172 > .wpb_column > .vc_column-inner{ background-attachment: scroll !important; background-repeat: no-repeat !important; } #rb_column_60c90328b7172 > .wpb_column > .vc_column-inner{ background-size: cover !important; } #rb_column_60c90328b7172 > .wpb_column > .vc_column-inner{ background-position: center !important; } @media screen and (max-width: 991px){ #rb_column_60c90328b7172 > .wpb_column > .vc_column-inner{ padding-top: 80px !important; } } .rb_textmodule_60c90328b7314 .rb_textmodule_title, .rb_textmodule_60c90328b7314 .rb_textmodule_button.simple{ color: #feeb25; } .rb_textmodule_60c90328b7314 .rb_textmodule_subtitle{ color: #353535; } .rb_textmodule_60c90328b7314{ color: #ffffff; } .rb_footer_template .rb_textmodule_60c90328b7314 a{ color: #ffffff; } @media screen and (min-width: 1367px), screen and (min-width: 1200px) and (any-hover: hover), screen and (min-width: 1200px) and (min--moz-device-pixel-ratio:0), screen and (min-width: 1200px) and (-ms-high-contrast: none), screen and (min-width: 1200px) and (-ms-high-contrast: active) { .rb_textmodule_60c90328b7314 .rb_textmodule_content_wrapper a:hover{ color: #ffeb00; } } .rb_textmodule_60c90328b7314 .rb_textmodule_content_wrapper ul li:before{ background-color: #ffeb00; } .rb_textmodule_60c90328b7314.subtitle_aside .subtitle-wrapper p:before, .rb_textmodule_60c90328b7314.subtitle_dashed_divider .rb_textmodule_subtitle .dashed_divider, .rb_textmodule_60c90328b7314.subtitle_border_divider .rb_textmodule_subtitle:after{ background-color: #ffeb00; } .rb_textmodule_60c90328b7314 .rb_button_wrapper .rb_button{ color: #ffeb00; } .rb_textmodule_60c90328b7314 .rb_button_wrapper .rb_button{ background-color: #353535; } .rb_textmodule_60c90328b7314 .rb_button_wrapper .rb_button:after{ background-color: #ffeb00; } @media screen and (min-width: 1367px), screen and (min-width: 1200px) and (any-hover: hover), screen and (min-width: 1200px) and (min--moz-device-pixel-ratio:0), screen and (min-width: 1200px) and (-ms-high-contrast: none), screen and (min-width: 1200px) and (-ms-high-contrast: active) { .rb_textmodule_60c90328b7314 .rb_button_wrapper .rb_button:hover{ color: #ffeb00; } } .rb_textmodule_60c90328b7314 .rb_textmodule_subtitle{ font-size: 22px; } .rb_textmodule_60c90328b7314 .rb_textmodule_subtitle{ line-height: 22px; } .rb_textmodule_60c90328b7314 .rb_textmodule_title{ font-size: 20px; } .rb_textmodule_60c90328b7314 .rb_textmodule_title{ line-height: 1.18em; } .rb_textmodule_60c90328b7314 .rb_textmodule_title{ margin: 0px 0px 32px 0px; } .rb_textmodule_60c90328b7314 .rb_textmodule_content_wrapper{ font-size: 18px; } .rb_textmodule_60c90328b7314 .rb_textmodule_content_wrapper{ line-height: 34px; } .rb_textmodule_60c90328b7314 .rb_button_wrapper{ margin-top: 50px; } #rb_column_60c90328b74bc > .wpb_column > .vc_column-inner{ background-attachment: scroll !important; background-repeat: no-repeat !important; } #rb_column_60c90328b74bc > .wpb_column > .vc_column-inner{ background-size: cover !important; } #rb_column_60c90328b74bc > .wpb_column > .vc_column-inner{ background-position: center !important; } @media screen and (max-width: 991px){ #rb_column_60c90328b74bc > .wpb_column > .vc_column-inner{ padding-top: 30px !important; } } .rb_textmodule_60c90328b76b5 .rb_textmodule_title, .rb_textmodule_60c90328b76b5 .rb_textmodule_button.simple{ color: #0fe0ba; } .rb_textmodule_60c90328b76b5 .rb_textmodule_subtitle{ color: #ffffff; } .rb_textmodule_60c90328b76b5{ color: rgba(255,255,255,0.6); } .rb_footer_template .rb_textmodule_60c90328b76b5 a{ color: rgba(255,255,255,0.6); } @media screen and (min-width: 1367px), screen and (min-width: 1200px) and (any-hover: hover), screen and (min-width: 1200px) and (min--moz-device-pixel-ratio:0), screen and (min-width: 1200px) and (-ms-high-contrast: none), screen and (min-width: 1200px) and (-ms-high-contrast: active) { .rb_textmodule_60c90328b76b5 .rb_textmodule_content_wrapper a:hover{ color: #ff6849; } } .rb_textmodule_60c90328b76b5 .rb_textmodule_content_wrapper ul li:before{ background-color: #ff6849; } .rb_textmodule_60c90328b76b5.subtitle_aside .subtitle-wrapper p:before, .rb_textmodule_60c90328b76b5.subtitle_dashed_divider .rb_textmodule_subtitle .dashed_divider, .rb_textmodule_60c90328b76b5.subtitle_border_divider .rb_textmodule_subtitle:after{ background-color: #ffeb00; } .rb_textmodule_60c90328b76b5 .rb_button_wrapper .rb_button{ color: #ffeb00; } .rb_textmodule_60c90328b76b5 .rb_button_wrapper .rb_button{ background-color: #353535; } .rb_textmodule_60c90328b76b5 .rb_button_wrapper .rb_button:after{ background-color: #ffeb00; } @media screen and (min-width: 1367px), screen and (min-width: 1200px) and (any-hover: hover), screen and (min-width: 1200px) and (min--moz-device-pixel-ratio:0), screen and (min-width: 1200px) and (-ms-high-contrast: none), screen and (min-width: 1200px) and (-ms-high-contrast: active) { .rb_textmodule_60c90328b76b5 .rb_button_wrapper .rb_button:hover{ color: #ffeb00; } } .rb_textmodule_60c90328b76b5 .rb_textmodule_subtitle{ font-size: 22px; } .rb_textmodule_60c90328b76b5 .rb_textmodule_subtitle{ line-height: 22px; } .rb_textmodule_60c90328b76b5 .rb_textmodule_title{ font-size: 20px; } .rb_textmodule_60c90328b76b5 .rb_textmodule_title{ line-height: 1.18em; } .rb_textmodule_60c90328b76b5 .rb_textmodule_title{ margin: 0px 0px 32px 0px; } .rb_textmodule_60c90328b76b5 .rb_textmodule_content_wrapper{ font-size: 19px; } .rb_textmodule_60c90328b76b5 .rb_textmodule_content_wrapper{ line-height: 34px; } .rb_textmodule_60c90328b76b5 .rb_button_wrapper{ margin-top: 50px; } .rb_content_60c90328b7a08 > .vc_row{ background-attachment: scroll !important; background-repeat: no-repeat !important; } .rb_content_60c90328b7a08 > .vc_row{ background-size: cover !important; } .rb_content_60c90328b7a08 > .vc_row{ background-position: center !important; } #rb_column_60c90328b7c20 > .wpb_column > .vc_column-inner{ background-attachment: scroll !important; background-repeat: no-repeat !important; } #rb_column_60c90328b7c20 > .wpb_column > .vc_column-inner{ background-size: cover !important; } #rb_column_60c90328b7c20 > .wpb_column > .vc_column-inner{ background-position: center !important; } .rb_textmodule_60c90328b7e23{ text-align: left; } .rb_textmodule_60c90328b7e23 .rb_textmodule_title, .rb_textmodule_60c90328b7e23 .rb_textmodule_button.simple{ color: #3e4a59; } .rb_textmodule_60c90328b7e23 .rb_textmodule_subtitle{ color: #ff6849; } .rb_textmodule_60c90328b7e23{ color: #ffffff; } .rb_footer_template .rb_textmodule_60c90328b7e23 a{ color: #ffffff; } @media screen and (min-width: 1367px), screen and (min-width: 1200px) and (any-hover: hover), screen and (min-width: 1200px) and (min--moz-device-pixel-ratio:0), screen and (min-width: 1200px) and (-ms-high-contrast: none), screen and (min-width: 1200px) and (-ms-high-contrast: active) { .rb_textmodule_60c90328b7e23 .rb_textmodule_content_wrapper a:hover{ color: #ff6849; } } .rb_textmodule_60c90328b7e23 .rb_textmodule_content_wrapper ul li:before{ background-color: #ff6849; } .rb_textmodule_60c90328b7e23.subtitle_aside .subtitle-wrapper p:before, .rb_textmodule_60c90328b7e23.subtitle_dashed_divider .rb_textmodule_subtitle .dashed_divider, .rb_textmodule_60c90328b7e23.subtitle_border_divider .rb_textmodule_subtitle:after{ background-color: #ffeb00; } .rb_textmodule_60c90328b7e23 .rb_button_wrapper .rb_button{ color: #ffeb00; } .rb_textmodule_60c90328b7e23 .rb_button_wrapper .rb_button{ background-color: #353535; } .rb_textmodule_60c90328b7e23 .rb_button_wrapper .rb_button:after{ background-color: #ffeb00; } @media screen and (min-width: 1367px), screen and (min-width: 1200px) and (any-hover: hover), screen and (min-width: 1200px) and (min--moz-device-pixel-ratio:0), screen and (min-width: 1200px) and (-ms-high-contrast: none), screen and (min-width: 1200px) and (-ms-high-contrast: active) { .rb_textmodule_60c90328b7e23 .rb_button_wrapper .rb_button:hover{ color: #ffeb00; } } .rb_textmodule_60c90328b7e23 .rb_textmodule_subtitle{ font-size: 22px; } .rb_textmodule_60c90328b7e23 .rb_textmodule_subtitle{ line-height: 22px; } .rb_textmodule_60c90328b7e23 .rb_textmodule_title{ font-size: 60px; } .rb_textmodule_60c90328b7e23 .rb_textmodule_title{ line-height: 1.18em; } .rb_textmodule_60c90328b7e23 .rb_textmodule_title{ margin: 0px 0px 32px 0px; } .rb_textmodule_60c90328b7e23 .rb_textmodule_content_wrapper{ font-size: 14px; } .rb_textmodule_60c90328b7e23 .rb_textmodule_content_wrapper{ line-height: 34px; } .rb_textmodule_60c90328b7e23 .rb_button_wrapper{ margin-top: 50px; } #rb_column_60c90328b7f2e > .wpb_column > .vc_column-inner{ background-attachment: scroll !important; background-repeat: no-repeat !important; } #rb_column_60c90328b7f2e > .wpb_column > .vc_column-inner{ background-size: cover !important; } #rb_column_60c90328b7f2e > .wpb_column > .vc_column-inner{ background-position: center !important; } #rb_icon_list_60c90328b8108{ text-align: right; } #rb_icon_list_60c90328b8108 > a, #rb_icon_list_60c90328b8108 > .mini-cart > a, #rb_icon_list_60c90328b8108 .wpml-ls-statics-shortcode_actions .wpml-ls-current-language > a{ color: #ffffff; } @media screen and (min-width: 1367px), /*Disable this styles for iPad Pro 1024-1366*/ screen and (min-width: 1200px) and (any-hover: hover), /*Check, is device a desktop (Not working on IE & FireFox)*/ screen and (min-width: 1200px) and (min--moz-device-pixel-ratio:0), /*Check, is device a desktop with firefox*/ screen and (min-width: 1200px) and (-ms-high-contrast: none), /*Check, is device a desktop with IE 10 or above*/ screen and (min-width: 1200px) and (-ms-high-contrast: active) /*Check, is device a desktop with IE 10 or above*/ { #rb_icon_list_60c90328b8108 > a:hover, #rb_icon_list_60c90328b8108 > .mini-cart > a:hover, #rb_icon_list_60c90328b8108 .wpml-ls-statics-shortcode_actions .wpml-ls-current-language > a:hover{ color: #feeb25; } } </style> <link rel='stylesheet' id='js_composer_front-css' href='https://graphicdon.com/wp-content/plugins/js_composer/assets/css/js_composer.min.css?ver=6.5.0' type='text/css' media='all' /> <link rel='stylesheet' id='wpforms-full-css' href='https://graphicdon.com/wp-content/plugins/wpforms-lite/assets/css/wpforms-full.min.css?ver=1.6.6' type='text/css' media='all' /> <script type='text/javascript' src='https://graphicdon.com/wp-content/themes/ogo/assets/js/magnific-popup.min.js?ver=1.1.0' id='rb-magnific-popup-js'></script> <script type='text/javascript' src='https://graphicdon.com/wp-content/themes/ogo/assets/js/waypoints.min.js?ver=1.6.2' id='rb-waypoints-js'></script> <script type='text/javascript' src='https://graphicdon.com/wp-content/themes/ogo/assets/js/counterup.min.js?ver=1.0.0' id='rb-counterup-js'></script> <script type='text/javascript' src='https://graphicdon.com/wp-content/themes/ogo/assets/js/particles.min.js?ver=2.0.0' id='rb-particles-js'></script> <script type='text/javascript' src='https://graphicdon.com/wp-content/themes/ogo/assets/js/jquery.sticky-sidebar.min.js?ver=3.3.1' id='rb-sticky-js'></script> <script type='text/javascript' src='https://graphicdon.com/wp-content/themes/ogo/assets/js/tilt.jquery.js?ver=1.0.0' id='rb-tilt-js'></script> <script type='text/javascript' src='https://graphicdon.com/wp-content/themes/ogo/assets/js/isotope.min.js?ver=3.0.6' id='rb-isotope-js'></script> <script type='text/javascript' src='https://graphicdon.com/wp-content/themes/ogo/assets/js/theme.js?ver=1.0.0' id='ogo-theme-js'></script> <script type='text/javascript' src='https://graphicdon.com/wp-includes/js/imagesloaded.min.js?ver=4.1.4' id='imagesloaded-js'></script> <script type='text/javascript' src='https://graphicdon.com/wp-includes/js/masonry.min.js?ver=4.2.2' id='masonry-js'></script> <script type='text/javascript' src='https://graphicdon.com/wp-includes/js/comment-reply.min.js?ver=5.7.2' id='comment-reply-js'></script> <script type='text/javascript' src='https://graphicdon.com/wp-includes/js/dist/vendor/wp-polyfill.min.js?ver=7.4.4' id='wp-polyfill-js'></script> <script type='text/javascript' id='wp-polyfill-js-after'> ( 'fetch' in window ) || document.write( '<script src="https://graphicdon.com/wp-includes/js/dist/vendor/wp-polyfill-fetch.min.js?ver=3.0.0"></scr' + 'ipt>' );( document.contains ) || document.write( '<script src="https://graphicdon.com/wp-includes/js/dist/vendor/wp-polyfill-node-contains.min.js?ver=3.42.0"></scr' + 'ipt>' );( window.DOMRect ) || document.write( '<script src="https://graphicdon.com/wp-includes/js/dist/vendor/wp-polyfill-dom-rect.min.js?ver=3.42.0"></scr' + 'ipt>' );( window.URL && window.URL.prototype && window.URLSearchParams ) || document.write( '<script src="https://graphicdon.com/wp-includes/js/dist/vendor/wp-polyfill-url.min.js?ver=3.6.4"></scr' + 'ipt>' );( window.FormData && window.FormData.prototype.keys ) || document.write( '<script src="https://graphicdon.com/wp-includes/js/dist/vendor/wp-polyfill-formdata.min.js?ver=3.0.12"></scr' + 'ipt>' );( Element.prototype.matches && Element.prototype.closest ) || document.write( '<script src="https://graphicdon.com/wp-includes/js/dist/vendor/wp-polyfill-element-closest.min.js?ver=2.0.2"></scr' + 'ipt>' );( 'objectFit' in document.documentElement.style ) || document.write( '<script src="https://graphicdon.com/wp-includes/js/dist/vendor/wp-polyfill-object-fit.min.js?ver=2.3.4"></scr' + 'ipt>' ); </script> <script type='text/javascript' src='https://graphicdon.com/wp-includes/js/dist/hooks.min.js?ver=50e23bed88bcb9e6e14023e9961698c1' id='wp-hooks-js'></script> <script type='text/javascript' src='https://graphicdon.com/wp-includes/js/dist/i18n.min.js?ver=db9a9a37da262883343e941c3731bc67' id='wp-i18n-js'></script> <script type='text/javascript' id='wp-i18n-js-after'> wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); </script> <script type='text/javascript' src='https://graphicdon.com/wp-includes/js/dist/vendor/lodash.min.js?ver=4.17.19' id='lodash-js'></script> <script type='text/javascript' id='lodash-js-after'> window.lodash = _.noConflict(); </script> <script type='text/javascript' src='https://graphicdon.com/wp-includes/js/dist/url.min.js?ver=0ac7e0472c46121366e7ce07244be1ac' id='wp-url-js'></script> <script type='text/javascript' id='wp-api-fetch-js-translations'> ( function( domain, translations ) { var localeData = translations.locale_data[ domain ] || translations.locale_data.messages; localeData[""].domain = domain; wp.i18n.setLocaleData( localeData, domain ); } )( "default", { "locale_data": { "messages": { "": {} } } } ); </script> <script type='text/javascript' src='https://graphicdon.com/wp-includes/js/dist/api-fetch.min.js?ver=a783d1f442d2abefc7d6dbd156a44561' id='wp-api-fetch-js'></script> <script type='text/javascript' id='wp-api-fetch-js-after'> wp.apiFetch.use( wp.apiFetch.createRootURLMiddleware( "https://graphicdon.com/wp-json/" ) ); wp.apiFetch.nonceMiddleware = wp.apiFetch.createNonceMiddleware( "bef2f1f635" ); wp.apiFetch.use( wp.apiFetch.nonceMiddleware ); wp.apiFetch.use( wp.apiFetch.mediaUploadMiddleware ); wp.apiFetch.nonceEndpoint = "https://graphicdon.com/wp-admin/admin-ajax.php?action=rest-nonce"; </script> <script type='text/javascript' id='contact-form-7-js-extra'> /* <![CDATA[ */ var wpcf7 = {"cached":"1"}; /* ]]> */ </script> <script type='text/javascript' src='https://graphicdon.com/wp-content/plugins/contact-form-7/includes/js/index.js?ver=5.4' id='contact-form-7-js'></script> <script type='text/javascript' src='https://graphicdon.com/wp-content/plugins/woocommerce/assets/js/js-cookie/js.cookie.min.js?ver=2.1.4' id='js-cookie-js'></script> <script type='text/javascript' id='woocommerce-js-extra'> /* <![CDATA[ */ var woocommerce_params = {"ajax_url":"\/wp-admin\/admin-ajax.php","wc_ajax_url":"\/?wc-ajax=%%endpoint%%"}; /* ]]> */ </script> <script type='text/javascript' src='https://graphicdon.com/wp-content/plugins/woocommerce/assets/js/frontend/woocommerce.min.js?ver=5.2.0' id='woocommerce-js'></script> <script type='text/javascript' id='wc-cart-fragments-js-extra'> /* <![CDATA[ */ var wc_cart_fragments_params = {"ajax_url":"\/wp-admin\/admin-ajax.php","wc_ajax_url":"\/?wc-ajax=%%endpoint%%","cart_hash_key":"wc_cart_hash_e33a41bd55b9acf9dece18128fc3803d","fragment_name":"wc_fragments_e33a41bd55b9acf9dece18128fc3803d","request_timeout":"5000"}; /* ]]> */ </script> <script type='text/javascript' src='https://graphicdon.com/wp-content/plugins/woocommerce/assets/js/frontend/cart-fragments.min.js?ver=5.2.0' id='wc-cart-fragments-js'></script> <script type='text/javascript' id='woo-scripts-js-extra'> /* <![CDATA[ */ var woo_script_load_more_params = {"posts":"{\"page\":0,\"year\":2021,\"monthnum\":5,\"day\":16,\"name\":\"localizing-dates-in-a-perl-web-app-with-javascript\",\"error\":\"\",\"m\":\"\",\"p\":0,\"post_parent\":\"\",\"subpost\":\"\",\"subpost_id\":\"\",\"attachment\":\"\",\"attachment_id\":0,\"pagename\":\"\",\"page_id\":0,\"second\":\"\",\"minute\":\"\",\"hour\":\"\",\"w\":0,\"category_name\":\"\",\"tag\":\"\",\"cat\":\"\",\"tag_id\":\"\",\"author\":\"\",\"author_name\":\"\",\"feed\":\"\",\"tb\":\"\",\"paged\":0,\"meta_key\":\"\",\"meta_value\":\"\",\"preview\":\"\",\"s\":\"\",\"sentence\":\"\",\"title\":\"\",\"fields\":\"\",\"menu_order\":\"\",\"embed\":\"\",\"category__in\":[],\"category__not_in\":[],\"category__and\":[],\"post__in\":[],\"post__not_in\":[],\"post_name__in\":[],\"tag__in\":[],\"tag__not_in\":[],\"tag__and\":[],\"tag_slug__in\":[],\"tag_slug__and\":[],\"post_parent__in\":[],\"post_parent__not_in\":[],\"author__in\":[],\"author__not_in\":[],\"ignore_sticky_posts\":false,\"suppress_filters\":false,\"cache_results\":true,\"update_post_term_cache\":true,\"lazy_load_term_meta\":true,\"update_post_meta_cache\":true,\"post_type\":\"\",\"posts_per_page\":10,\"nopaging\":false,\"comments_per_page\":\"50\",\"no_found_rows\":false,\"order\":\"DESC\"}","current_page":"1","max_page":"0"}; /* ]]> */ </script> <script type='text/javascript' src='https://graphicdon.com/wp-content/themes/ogo/woocommerce/assets/js/woo.js?ver=1.0.0' id='woo-scripts-js'></script> <script type='text/javascript' src='https://graphicdon.com/wp-content/plugins/rb-essentials/render_vc_shortcodes/../assets/js/rb-portfolio.js?ver=1.0.0' id='rb-portfolio-js'></script> <script type='text/javascript' src='https://graphicdon.com/wp-includes/js/wp-embed.min.js?ver=5.7.2' id='wp-embed-js'></script> <script type='text/javascript' src='https://graphicdon.com/wp-content/plugins/js_composer/assets/js/dist/js_composer_front.min.js?ver=6.5.0' id='wpb_composer_front_js-js'></script> <script type='text/javascript' src='https://graphicdon.com/wp-content/plugins/wpforms-lite/assets/js/jquery.validate.min.js?ver=1.19.0' id='wpforms-validation-js'></script> <script type='text/javascript' src='https://graphicdon.com/wp-content/plugins/wpforms-lite/assets/js/mailcheck.min.js?ver=1.1.2' id='wpforms-mailcheck-js'></script> <script type='text/javascript' src='https://graphicdon.com/wp-content/plugins/wpforms-lite/assets/js/wpforms.js?ver=1.6.6' id='wpforms-js'></script> <script type='text/javascript'> /* <![CDATA[ */ var wpforms_settings = {"val_required":"This field is required.","val_email":"Please enter a valid email address.","val_email_suggestion":"Did you mean {suggestion}?","val_email_suggestion_title":"Click to accept this suggestion.","val_email_restricted":"This email address is not allowed.","val_number":"Please enter a valid number.","val_number_positive":"Please enter a valid positive number.","val_confirm":"Field values do not match.","val_checklimit":"You have exceeded the number of allowed selections: {#}.","val_limit_characters":"{count} of {limit} max characters.","val_limit_words":"{count} of {limit} max words.","val_recaptcha_fail_msg":"Google reCAPTCHA verification failed, please try again later.","val_empty_blanks":"Please fill out all blanks.","uuid_cookie":"","locale":"en","wpforms_plugin_url":"https:\/\/graphicdon.com\/wp-content\/plugins\/wpforms-lite\/","gdpr":"","ajaxurl":"https:\/\/graphicdon.com\/wp-admin\/admin-ajax.php","mailcheck_enabled":"1","mailcheck_domains":[],"mailcheck_toplevel_domains":["dev"],"is_ssl":"1"} /* ]]> */ </script> </body> </html>